Is the hairprocedural broken in the current daily builds? I get a couple of warnings and errors with the example scene in 19.5.441. The hair isn't visible in Karma even after adding a rest attribute.
Are there any additional steps needed to make the example scene work?
Found 15 posts.
Search results Show results as topic list.
Solaris and Karma » Husk Procedural hair example
- RichardFr
- 15 posts
- Offline
Solaris and Karma » USD workflow Maya anim to Houdini
- RichardFr
- 15 posts
- Offline
NMVHS
Hi Richard, thanks for the tutorial video on Prism and I wonder when you export the animation by selecting only geo from the rig, how did you keep the hierarchy the same as asset.usd ? File > Export seems always keeping additional parent transform nodes from the rig. Not sure how to drive the shaded asset.usd with that.
You mean you have some additional parent objects at the top of your rig hierarchy, which are not in the asset.usd?
The exported animation doesn't get layered on top of the asset.usd. It get's layered on top of the shot.usd. If your rig requires these parent objects, then you have to modify the hierarchy in your shot.usd file to match that. You'd do that by adding some xforms in your layout scene, where you reference in the asset.usd into your shot hierarchy.
Solaris and Karma » USD workflow Maya anim to Houdini
- RichardFr
- 15 posts
- Offline
inkiRichardFrI am bit confusing this part.
- the animated geometry gets published as anim.usdc and added as a sublayer in the scene.usd, which can be loaded by downstream departments
"- the animated geometry gets published as anim.usdc and added as a sublayer in the scene.usd, which can be loaded by downstream departments"
what this means?
Should I use traditional way caching out animated geo as usdc? like file>export>
Or is there other way?
Yes you can save out your animated geometry as .usdc from the file->export menu. Then you have a file, which contains only your animated geometry and nothing else (no shaders, no camera, no props...).
This file can be added now as a new layer in the scene.usd file. In my video that happens automatically in a post-export process. If you are exporting it manually from the file menu, you can layer the scene.usd and the anim.usd in Solaris with 2 sublayer nodes.
Solaris and Karma » USD workflow Maya anim to Houdini
- RichardFr
- 15 posts
- Offline
Yes you are right, you cannot rig or even animate USD objects in Maya. Also as far as I know there is no easy way to convert USD objects to native Maya objects. The objects, which will be animated need to be imported as Maya geometry unfortunately.
I went through an example USD workflow, which also brings Maya animation into Houdini:
https://vimeo.com/551545616#t=1070s [vimeo.com]
The way it works in this example:
- rigging imports the asset geo as native Maya geometry so it can be rigged
- the rigged asset gets published as .mb
- animation loads the scene.usd as USD data, which contains the shot camera, the set and character assets for reference
- animation also brings in the rigs from the .mb file and animates them
- the animated geometry gets published as anim.usdc and added as a sublayer in the scene.usd, which can be loaded by downstream departments
So the Maya stages are used in animation only for bringing in static assets and the camera for reference and playblasts. The Maya USD workflow is much more limited than in Houdini for sure, but at least downstream departments can load the scene.usd and have everything they need from the upstream departments.
I went through an example USD workflow, which also brings Maya animation into Houdini:
https://vimeo.com/551545616#t=1070s [vimeo.com]
The way it works in this example:
- rigging imports the asset geo as native Maya geometry so it can be rigged
- the rigged asset gets published as .mb
- animation loads the scene.usd as USD data, which contains the shot camera, the set and character assets for reference
- animation also brings in the rigs from the .mb file and animates them
- the animated geometry gets published as anim.usdc and added as a sublayer in the scene.usd, which can be loaded by downstream departments
So the Maya stages are used in animation only for bringing in static assets and the camera for reference and playblasts. The Maya USD workflow is much more limited than in Houdini for sure, but at least downstream departments can load the scene.usd and have everything they need from the upstream departments.
Solaris and Karma » USD workflow Maya anim to Houdini
- RichardFr
- 15 posts
- Offline
You don't have to export the whole scene geometry in animation.
When you bring in the scene.usd you can rig and animate a single asset and publish only this asset as anim.usd. In a post process you update the scene.usd to add the anim.usd as a sublayer. The anim.usd contains only a single animated asset, but when lighting imports the scene.usd it will have the whole scene with all the other static assets.
When you bring in the scene.usd you can rig and animate a single asset and publish only this asset as anim.usd. In a post process you update the scene.usd to add the anim.usd as a sublayer. The anim.usd contains only a single animated asset, but when lighting imports the scene.usd it will have the whole scene with all the other static assets.
PDG/TOPs » "Single" flag on scheduler does not work
- RichardFr
- 15 posts
- Offline
PDG/TOPs » "Single" flag on scheduler does not work
- RichardFr
- 15 posts
- Offline
Are there any updates about the progress or the priority of this RFE?
I have multiple in-process python scripts nodes in my setup, which should not be executed simultaneously. The for loop solution doesn't work in this case.
I have multiple in-process python scripts nodes in my setup, which should not be executed simultaneously. The for loop solution doesn't work in this case.
Technical Discussion » PyQt/PySide QTableView, Houdini UI Palette and row colors
- RichardFr
- 15 posts
- Offline
You can simplify it even more. You don't need to subclass anything. Here is an example with a QTableWidget but it works similar for QTableView:
from PySide2 import QtGui, QtCore, QtWidgets tableWidget = QtWidgets.QTableWidget() tableWidget.setItemDelegate(QtWidgets.QItemDelegate()) tableWidget.setColumnCount(1) for i in range(5): tableWidget.insertRow(i) item = QtWidgets.QTableWidgetItem("Item %02d" % (i+1)) item.setBackground(QtGui.QColor(255, 25+30*i, 75)) tableWidget.setItem(i, 0, item) try: import hou tableWidget.setParent(hou.ui.mainQtWindow(), QtCore.Qt.Window) except: pass tableWidget.show()
Edited by RichardFr - 2019年6月17日 20:08:48
PDG/TOPs » Running Houdiniservers in sequence
- RichardFr
- 15 posts
- Offline
I just tested it in my actual scene at home, but I had problems with the attributes again. After some more tests I noticed that the result changed even if I didn't change any settings. I made a quick screen recording from a test scene, where I cooked the TOPs in a random order. Sometimes the attribute exists in the loop but when cooking the graph from the top, the attribute doesn't exist in the loop.
https://www.dropbox.com/s/uxet4th5ti6rkfb/2019-04-10%2023-29-28.mp4?dl=0 [www.dropbox.com]
When I create the attribute with a wedge or an attribute create node, everything works fine. Looks like there is a problem when creating attributes in the pythonscript node.
https://www.dropbox.com/s/uxet4th5ti6rkfb/2019-04-10%2023-29-28.mp4?dl=0 [www.dropbox.com]
When I create the attribute with a wedge or an attribute create node, everything works fine. Looks like there is a problem when creating attributes in the pythonscript node.
PDG/TOPs » Sequential DOPs workflow
- RichardFr
- 15 posts
- Offline
PDG/TOPs » Running Houdiniservers in sequence
- RichardFr
- 15 posts
- Offline
Thanks, I found the problem. I had a pythonscript node before the loop, which created dynamic workitems and then the attributes were not available inside the loop.
I also noticed that the execution order in the houdiniserver loop is how I want it when the “Session Count from Upstream Items” is enabled. But I prefer to have a new server for every scene to be sure that the ram is cleared and don't add up when processing a large amount of files. For that case I can use the houdiniserver in a for loop with static workitems as input. In a quick test that seems to work. I'll try it later with more scenes.
Here's a .hip to summarize it. I guess these behaviors are all intended and it was not exactly clear to me.
I also noticed that the execution order in the houdiniserver loop is how I want it when the “Session Count from Upstream Items” is enabled. But I prefer to have a new server for every scene to be sure that the ram is cleared and don't add up when processing a large amount of files. For that case I can use the houdiniserver in a for loop with static workitems as input. In a quick test that seems to work. I'll try it later with more scenes.
Here's a .hip to summarize it. I guess these behaviors are all intended and it was not exactly clear to me.
PDG/TOPs » Running Houdiniservers in sequence
- RichardFr
- 15 posts
- Offline
jason_iversen
Sequential Blocks, maybe?
Do you mean the “Block Begin Feedback”/Feedback loop nodes?
I tried that and the execution order looks correct when I enable “Iterations from Upstream Items”. But then all the data on the workitems seem to be lost inside the loop, which I added to the workitems before the loop.
PDG/TOPs » Running Houdiniservers in sequence
- RichardFr
- 15 posts
- Offline
I have a few scenefiles and one work item for each. Now I want to open them after each other with the houdiniserver node and send a few commands. I have my scheduler already set to single. By default PDG starts the houdiniserver for each incoming scenefile, then it processes the first command_send node for all scenefiles then the second command_send node for all files and so on.
How can I tell PDG to wait for the first server to finish before starting the second one?
I tried to do it with priorities, but that doesn't seem to work. Any ideas what's the best way to do this?
Thanks
How can I tell PDG to wait for the first server to finish before starting the second one?
I tried to do it with priorities, but that doesn't seem to work. Any ideas what's the best way to do this?
Thanks
Houdini Lounge » Prism Pipeline release
- RichardFr
- 15 posts
- Offline
Hello everyone,
I just released my Pipeline called Prism, which I developed over the last few years.
Prism is an artist-friendly Pipeline, mainly for animation and VFX projects, but it can help anyone who works within the CG industry. Prism does not only manage your scenefiles, exports and imports, but it also takes care of your playblasts, renderings and more.
Prism works with many industry standard tools out of the box. This includes Houdini, Maya, 3ds Max, Blender and Nuke.
And finally, Prism is free to use!
Here is a short introduction video of Prism: https://vimeo.com/265003976 [vimeo.com]
You can download it for free on the website: https://prism-pipeline.com [prism-pipeline.com]
I just released my Pipeline called Prism, which I developed over the last few years.
Prism is an artist-friendly Pipeline, mainly for animation and VFX projects, but it can help anyone who works within the CG industry. Prism does not only manage your scenefiles, exports and imports, but it also takes care of your playblasts, renderings and more.
Prism works with many industry standard tools out of the box. This includes Houdini, Maya, 3ds Max, Blender and Nuke.
And finally, Prism is free to use!
Here is a short introduction video of Prism: https://vimeo.com/265003976 [vimeo.com]
You can download it for free on the website: https://prism-pipeline.com [prism-pipeline.com]
Technical Discussion » using VEX functions (SOPs context)
- RichardFr
- 15 posts
- Offline
Hello,
the attribute wrangle can´t use VEX functions like “ingroup” and the point wrangle node isn´t accessible in houdini 14. I don´t understand why it is hidden.
What´s the best way to run a few lines VEX code with functions like “ingroup”?
Thanks.
the attribute wrangle can´t use VEX functions like “ingroup” and the point wrangle node isn´t accessible in houdini 14. I don´t understand why it is hidden.
What´s the best way to run a few lines VEX code with functions like “ingroup”?
Thanks.
-
- Quick Links