It's definitely a popular request. For meshes, one way is to use the “Mesh -> Combine” tool to combine the meshes into one mesh, and use the result as an input. This uses the polyUnite node behind the scene, so it's also fairly possible to script this.
However, one issue with this approach is that the transformation for each object is lost, because all the meshes are essentially baked into one. Depending on the usage, this may or may not be acceptable. Another issue is that if the number of objects changes, the connections need to be updated.
Instead of relying on attribute connections for getting geometries, maybe another way is to setup hooks to monitor node changes directly. But since this bypasses the DG, it feels like it'd be quite tricky to have things update correctly at the right time.
Maybe just using the polyUnite node is enough to satisfy most cases.
Found 569 posts.
Search results Show results as topic list.
Houdini Engine for Maya » Multiple curves input
- awong
- 818 posts
- Offline
Houdini Engine for Maya » Support for Maya sets
- awong
- 818 posts
- Offline
IskanderI'm not sure what kind of example you're looking for. I put together something quick showing a Maya set going into a Houdini asset, and the asset outputs a group back into Maya. The example doesn't do anything useful, but it shows how the Maya sets work.
Welcome! You can attach an example of a working file and h m, if not too much trouble? I would be very grateful!
Also, this thread is pretty old. So please start a new thread if you have more questions.
Houdini Engine for Maya » Houdini Normals to Maya
- awong
- 818 posts
- Offline
Yup, I thought about doing pretty much that before. Storing the edge information on the vertex is probably the best way right now. But unfortunately, I haven't had the chance to get to that yet.
Houdini Engine for Maya » Multiple curves input
- awong
- 818 posts
- Offline
There's a way to do it right now. It's not very robust, but it might give you what you want.
There's some support for using Maya's hair system, the hairSystem node. This is done by connecting hairSystem.outputHair into a utility node called houdiniCurveMeshInput. This utility node is then connected to the houdiniAsset node. Take a look at the attached Maya scene file to see how the network is setup.
You're probably not using Maya's hair system, but you could still make use of the houdiniCurveMeshInput node. The houdiniCurveMeshInput node doesn't actually require the hairSystem node. So what you could do is:
1. Manually create the houdiniCurveMeshInput node
2. Connect your curves to houdiniCurveMeshInput.inputCurves attribute
3. Connect houdiniCurveMeshInput.outputObjectMetaData to the houdiniAsset.input.inputGeo
A limitation is that all the curves have to have the same periodicity. If the number of curves need to change, you also have to manually adjust the houdiniCurveMeshInput.inputCurves connections.
There's some support for using Maya's hair system, the hairSystem node. This is done by connecting hairSystem.outputHair into a utility node called houdiniCurveMeshInput. This utility node is then connected to the houdiniAsset node. Take a look at the attached Maya scene file to see how the network is setup.
You're probably not using Maya's hair system, but you could still make use of the houdiniCurveMeshInput node. The houdiniCurveMeshInput node doesn't actually require the hairSystem node. So what you could do is:
1. Manually create the houdiniCurveMeshInput node
2. Connect your curves to houdiniCurveMeshInput.inputCurves attribute
3. Connect houdiniCurveMeshInput.outputObjectMetaData to the houdiniAsset.input.inputGeo
A limitation is that all the curves have to have the same periodicity. If the number of curves need to change, you also have to manually adjust the houdiniCurveMeshInput.inputCurves connections.
Houdini Engine for Maya » Omit Houdini Engine for Asset ?
- awong
- 818 posts
- Offline
Not sure if I understand the question correctly. Without using Houdini Engine, there isn't really a way to load a Houdini asset into Maya. It's technically possible to write your own Maya plugin that uses Houdini's HDK directly. You can then use HDK to load Houdini assets into Maya. But you'd basically be writing your own Houdini Engine at that point, which is probably not what you want to do.
Houdini Engine for Maya » Rest update for scatter
- awong
- 818 posts
- Offline
If I understand correctly, the input curve is animated, and you're trying to use both the curve from the current frame and the initial frame.
The issue is that whenever an asset is evaluated through Houdini Engine, The Houdini world only gets a snap shot of the host application world. So from the Houdini side, the mesh would appear static. So the asset only has access to geometry from the current frame. Unfortunately, this is a currently limitation of Houdini Engine.
Maybe a workaround is to have a second input for the initial curve?
The issue is that whenever an asset is evaluated through Houdini Engine, The Houdini world only gets a snap shot of the host application world. So from the Houdini side, the mesh would appear static. So the asset only has access to geometry from the current frame. Unfortunately, this is a currently limitation of Houdini Engine.
Maybe a workaround is to have a second input for the initial curve?
Edited by awong - Sept. 9, 2016 18:27:00
Houdini Engine for Maya » Show textures in Maya
- awong
- 818 posts
- Offline
One asset can have multiple materials. Like you said, the asset would have to have multiple geometry containers, each using a different material. One geometry container for the lamp shade, which uses one material. And another geometry container for the lamp base, which uses another material.
Houdini Engine for Maya » Show textures in Maya
- awong
- 818 posts
- Offline
Texture can indeed be outputted from the asset into Maya. The problem with the HauntedDoors asset is that the “WallSlice” object uses multiple Houdini materials. The Maya plugin doesn't support multiple Houdini materials on one object yet. So all the faces are assumed to be using the same material. The workaround is to split up the geometry by material, so that each object only has one material assigned.
The limitation only applies if the materials are outputted from the asset. If a Maya geometry that originally has multiple materials is inputted into Houdini, the materials are preserved when the geometry is outputted from the asset back into Maya.
The limitation only applies if the materials are outputted from the asset. If a Maya geometry that originally has multiple materials is inputted into Houdini, the materials are preserved when the geometry is outputted from the asset back into Maya.
Houdini Engine for Maya » Houdini Normals to Maya
- awong
- 818 posts
- Offline
Sorry for the late reply. Outputting vertex normals is supported. However, in Houdini, once the “N” attribute exists, all the normals are read from the attribute. So when geometries are outputted into Maya, if the “N” attribute exists, then all the normals become locked. If the “N” attribute doesn't exist, then all the normals become unlocked.
See the attached HDA for an example of outputting normals.
Also, Houdini doesn't have the concept of soft/hard edges. In Houdini, you can set the normals so that they _look_ soft or _look_ hard. However, since normals are outputted into Maya, the normals are now locked. And when the points are moved around, the normals are not updated.
See the attached HDA for an example of outputting normals.
Also, Houdini doesn't have the concept of soft/hard edges. In Houdini, you can set the normals so that they _look_ soft or _look_ hard. However, since normals are outputted into Maya, the normals are now locked. And when the points are moved around, the normals are not updated.
Houdini Engine for Maya » Particle sim not starting????
- awong
- 818 posts
- Offline
Sorry for the late reply. I was able to load your asset into Maya, and it seems to work. Which Houdini Engine version are you using? Also, which Maya version?
Houdini Engine for Maya » Double-precision
- awong
- 818 posts
- Offline
Yes, in Houdini 15.5.522 and up, the Maya plugin started supporting outputting double precisions. There's a recent bug fix in 15.5.562 that's important, so I recommend 15.5.562 and up.
Houdini Engine for Maya » Fluidshape settings lost when houdini asset is synced
- awong
- 818 posts
- Offline
Whenever a sync happens, all the nodes in Maya under the asset node are deleted, and then recreated. So all the settings are lost. Perhaps a workaround is to unparent the fluidShape node. This would keep the sync from deleting it.
However, there's a downside. If some changes are made to the asset that require updating the asset's outgoing connections to the output nodes (e.g. fluidShape), the connection to the unparented fluidShape would not be updated. For example, if a new object is added into the asset, the connections on the Maya side may need to be rearranged.
However, there's a downside. If some changes are made to the asset that require updating the asset's outgoing connections to the output nodes (e.g. fluidShape), the connection to the unparented fluidShape would not be updated. For example, if a new object is added into the asset, the connections on the Maya side may need to be rearranged.
Houdini Engine for Maya » ROPs ignoring keyframes
- awong
- 818 posts
- Offline
This is happening because when the output ROP is running, the Maya frame is not actually changing. When the output ROP is running, the Houdini world only gets a single frame snapshot of the Maya world. So from Houdini's point of view, it looks like the emission is not actually changing.
It's possible to workaround this with a bit of work. Instead of letting output ROP run for the entire frame range, the idea is to do one frame at a time. You'd need a script on the Maya side that steps through the Maya frame one at a time. And on each Maya frame, run the ROP for that one frame. This way, the Maya state would be reflected inside Houdini for each frame.
It's possible to workaround this with a bit of work. Instead of letting output ROP run for the entire frame range, the idea is to do one frame at a time. You'd need a script on the Maya side that steps through the Maya frame one at a time. And on each Maya frame, run the ROP for that one frame. This way, the Maya state would be reflected inside Houdini for each frame.
Houdini Engine for Maya » Inter-Asset connections
- awong
- 818 posts
- Offline
Houdini Engine supports Object and SOP assets. And those assets can be interconnected. When the assets are connected, geometry data is passed from one asset to the next. So it's not possible to connect DOP assets together.
If your emitter and collision asset can be made as an Object or SOP asset, then it should be possible to do what you want. This means your emission data and collision data have to be in the form of some kind of geometry. The pyro sim would also have to be a Object or SOP asset.
You'd then expose two inputs from the pyro asset, which is typically done through Object Merge. Through Houdini Engine, connect emitter asset to one input, and collision asset to another input. This gives you access to the emission and collision geometries inside the pyro asset. You can then use those geometries to affect your pyro sim.
If your emitter and collision asset can be made as an Object or SOP asset, then it should be possible to do what you want. This means your emission data and collision data have to be in the form of some kind of geometry. The pyro sim would also have to be a Object or SOP asset.
You'd then expose two inputs from the pyro asset, which is typically done through Object Merge. Through Houdini Engine, connect emitter asset to one input, and collision asset to another input. This gives you access to the emission and collision geometries inside the pyro asset. You can then use those geometries to affect your pyro sim.
Houdini Engine for Maya » Asset input DAG path
- awong
- 818 posts
- Offline
Yup, you seemed to have found the attribute already. The “maya_source_dag” attribute stores the full DAG path of the input geometry.
Houdini Engine for Maya » Hiding and Disabling Parameters in Maya
- awong
- 818 posts
- Offline
Sorry, “hide” and “disable” are not implemented in the Maya plugin at the moment. The “hide” property does get used. However, it doesn't take effect until the next time the node is “sync'd”. So it's not exactly usable.
Edited by awong - July 15, 2016 09:41:02
Houdini Engine for Maya » Closed curve surface
- awong
- 818 posts
- Offline
Sorry for the late reply. Give it another try in 15.5.523 or later. The output geometry should no longer be green, and should have a proper material assigned.
Though one difference is that the top and bottom of the extrude is filled in inside Houdini, but not in Maya. This is because the top and bottom are actually closed curves in Houdini. And closed curves are shaded. However, inside Maya, curves are never shaded.
Though one difference is that the top and bottom of the extrude is filled in inside Houdini, but not in Maya. This is because the top and bottom are actually closed curves in Houdini. And closed curves are shaded. However, inside Maya, curves are never shaded.
Houdini Indie and Apprentice » Houdini To Maya
- awong
- 818 posts
- Offline
nachiketkadhe
I tried that Gerbrand but in Maya its showing no geometry generated when i import .otl file .. can you please tell me which process you prefer..
and yes its for rendering purpose only
In the file path inside the asset, are you using $HIP? $HIP doesn't work well through Houdini Engine.
Besides hardcoding the file path inside the asset, you could also promote the file path parameter to the asset. Then select the actual .bgeo file when inside Maya. This way, you don't have to make an asset for each .bgeo file that you're trying to load.
Houdini Engine for Maya » support for packed primitives
- awong
- 818 posts
- Offline
They are represented as particle instancer, or transform instances. So the way packed prims are outputted is quite similar to the old instancing mechanism.
It's also possible to output packed prim of a packed prim. When using particle instancer, the nested packed prims will be flattened. So that each geometry will get its own instancer. This is because particle instancer doesn't support instancing another particle instancer. With transform instancing, it's possible to instance another transform instance. So the nested packed geometry can be represented exactly.
It's also possible to output packed prim of a packed prim. When using particle instancer, the nested packed prims will be flattened. So that each geometry will get its own instancer. This is because particle instancer doesn't support instancing another particle instancer. With transform instancing, it's possible to instance another transform instance. So the nested packed geometry can be represented exactly.
Houdini Engine for Maya » Closed curve surface
- awong
- 818 posts
- Offline
Oh, this is a different issue than what I thought you were having. I thought you were trying to output NURBS curves back into Maya. But outputting NURBS surface is entirely a different issue.
Yes, I can reproduce this too. There seems to be some issue with outputting NURBS surface. For now, you should be able to workaround the issue by using a convert SOP to manually it convert the NURBS surface into polygon.
Yes, I can reproduce this too. There seems to be some issue with outputting NURBS surface. For now, you should be able to workaround the issue by using a convert SOP to manually it convert the NURBS surface into polygon.
-
- Quick Links