Hi all.
Is it possible to use the new SceneDoctor LOP to check is there are any missing textures within the LOP network? Thanks in advance. Best. Mark
Found 14530 posts.
Search results Show results as topic list.
Technical Discussion » Houdini 20 Scene Doctor LOP
-
- Mark Wallman
- 736 posts
- Offline
BYOC + Illume » Nov 13: APEX
-
- chrishebert
- 95 posts
- Offline
Today's BYOC will focus on APEX - joining us will be Edward Lam (SideFX R&D character team lead)...
Nov 13 @ 12 pm EST
REGISTRATION: https://sidefx.co/houdini-byoc-register [sidefx.co]
SCHEDULE: https://sidefx.co/byoc-schedule [sidefx.co]
Nov 13 @ 12 pm EST
REGISTRATION: https://sidefx.co/houdini-byoc-register [sidefx.co]
SCHEDULE: https://sidefx.co/byoc-schedule [sidefx.co]
Technical Discussion » Setting up AOV passes of pyro explosion in Nuke?
-
- litote
- 255 posts
- Offline
Would anyone have a node diagram or a good tutorial for how to combine the passes extracted from a .exr file of a pyro explosion exported from Houdini and brought in to Nuke for compositing?
I am unsure of how to set the operation on Merge nodes for each type of pass. I am not sure when I should use over, plus, screen, etc.
I am unsure of how to set the operation on Merge nodes for each type of pass. I am not sure when I should use over, plus, screen, etc.
Solaris and Karma » Layer names
-
- HristoVelev
- 90 posts
- Offline
Hi guys,
Can the layers have names? I haven't found anything on the topic. In the layer view the filenames or source nodes that are now naming the layers can be confusing, wouldn't it be nice to have a name of the layer?
Thanks
Can the layers have names? I haven't found anything on the topic. In the layer view the filenames or source nodes that are now naming the layers can be confusing, wouldn't it be nice to have a name of the layer?
Thanks
Solaris and Karma » What's the intended workflow prepping .abc's for instancing?
-
- MCJamZam
- 14 posts
- Offline
If there is such a thing that is. To give an example of what I mean: I have, for example, three models on disk in .abc format - tree1, tree2 and tree3. Each of the models use the same PBR textures in the same materials. I want to prepare the tree models as variants for future use, mainly randomly instancing on points, in Solaris/USD.
What is the intended workflow here? It's been a very confusing experience so far trying to figure it out. Every single forum thread or discussion I'm seeing on the topic is filled with confusion, completely different ways of accomplishing the same task, and quite often custom python tools to get the job done. Tutorials on the topic run sometimes over an hour in length, at least the ones I've found.
Surely such a basic task isn't intended to be so complicated? Is there something seemingly everyone is missing here, maybe something new in Houdini 20 that can make the task easier or more artist friendly? Or maybe I've misunderstood something and variants isn't at all what I should be looking at?
Any clarification or help would be greatly appreciated!
What is the intended workflow here? It's been a very confusing experience so far trying to figure it out. Every single forum thread or discussion I'm seeing on the topic is filled with confusion, completely different ways of accomplishing the same task, and quite often custom python tools to get the job done. Tutorials on the topic run sometimes over an hour in length, at least the ones I've found.
Surely such a basic task isn't intended to be so complicated? Is there something seemingly everyone is missing here, maybe something new in Houdini 20 that can make the task easier or more artist friendly? Or maybe I've misunderstood something and variants isn't at all what I should be looking at?
Any clarification or help would be greatly appreciated!
Technical Discussion » SOLARIS instancer and timeshifting proxies
-
- hugoaboab
- 4 posts
- Offline
Hello guys, I'm scattering animated grass proxies in SOLARIS with an instancer node, in the instancer I have a frame attribute that I need to use when calling for the proxy files (outside the instancer). I'm not sure it's clear so here are some screens :
The stage graph :

So in the grass instancer node I made a point attribute named frames. I'm working with redshift proxies so I bring one in the instancer and after it I need to call the proxy file in the geo render setting.
My goal is to use the frame attribute in the path of the render geometry setting :

And I have the primvar :

But I don't really know how to call the privar and actually it doesn't read it as you can see with the error..
Hope it's possible and someone will know how to do it!
The stage graph :
So in the grass instancer node I made a point attribute named frames. I'm working with redshift proxies so I bring one in the instancer and after it I need to call the proxy file in the geo render setting.
My goal is to use the frame attribute in the path of the render geometry setting :
And I have the primvar :
But I don't really know how to call the privar and actually it doesn't read it as you can see with the error..
Hope it's possible and someone will know how to do it!
Edited by hugoaboab - Nov. 11, 2023 18:40:46
Houdini Lounge » I love the scene animate controls and set up!
-
- Neil78
- 275 posts
- Offline
Really amazing and easy to use....
Apex rigging looks.... daunting.... BUT amazing.
Apex rigging looks.... daunting.... BUT amazing.
Edited by Neil78 - Nov. 10, 2023 15:06:58
Technical Discussion » Difference between Pyro Bake Volume and Pyro Shader?
-
- litote
- 255 posts
- Offline
I have see both the Pyro Bake Volume and Pyro Shader used in tutorials but it is not clear to me what the difference is between them since the Pyro Bake Volume has a Pyro Shader incorporated.
What is the advantage of using the Pyro Bake Volume? Does it have something to do with matcimg what is rendered with what is seen in the viewport?
What is the advantage of using the Pyro Bake Volume? Does it have something to do with matcimg what is rendered with what is seen in the viewport?
Technical Discussion » USD Stitch Clips "Clip Primitive Path"
-
- AnsonSavage
- 134 posts
- Offline
Hi!
I have been following this [vimeo.com] tutorial to try and stitch together a USD sequence. (I'm trying to do this because I have been having glitches where a material or piece of geometry will disappear on random frames, and I heard from other people that breaking the sequence into separate USDs per frame may alleviate some of this).
So, I have a USD sequence structured like this:
The scene graph looks like this:

I want to use the

However, when I click Render, I get this error:

Am I missing something? Am I using the Clip Primitive Path the way it's supposed to be used (the tutorial seemed to suggest that we should point it to the primitive that's changing, otherwise it won't have much advantage)?
What should I change to accomplish my goal of either getting more stable USD behavior across frames or efficiently stitching together a USD sequence?
Thanks!
Anson
I have been following this [vimeo.com] tutorial to try and stitch together a USD sequence. (I'm trying to do this because I have been having glitches where a material or piece of geometry will disappear on random frames, and I heard from other people that breaking the sequence into separate USDs per frame may alleviate some of this).
So, I have a USD sequence structured like this:
/.../USD_Tests/value_clip_tests/usd_sequence/trees.$F4.usd
The scene graph looks like this:
I want to use the
usdstitchclips
node to combine it into a single USD file. The animated trees are the heaviest part (and the only thing that's currently animated), so I figured that the Clip Primitive Path should be /scene/animated_trees
. However, when I click Render, I get this error:
Error Error rendering child: /stage/stitching_rops/usdstitchclips1/OUT Warning Python error: Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/opt/hfs19.5/houdini/python3.9libs/usdroputils.py", line 242, in postRenderStitchClips _runFunctionOnMultiparm(node,'stitchfiles',postRenderStitchClipsSingle) File "/opt/hfs19.5/houdini/python3.9libs/usdroputils.py", line 17, in _runFunctionOnMultiparm func(node, idx) File "/opt/hfs19.5/houdini/python3.9libs/usdroputils.py", line 207, in postRenderStitchClipsSingle UsdUtils.StitchClips(resultLayer = outtemplatelayer, pxr.Tf.ErrorException: Error in 'pxrInternal_v0_22__pxrReserved__::{anonymous}::_ClipLayersAreValid' at line 813 in file /home/prisms/builder-new/WeeklyDevTools19.5/dev_tools/src/usd/usd-22.05/USD-py3.9/pxr/usd/usdUtils/stitchClips.cpp : 'Invalid clip path specified </scene/animated_trees>'
Am I missing something? Am I using the Clip Primitive Path the way it's supposed to be used (the tutorial seemed to suggest that we should point it to the primitive that's changing, otherwise it won't have much advantage)?
What should I change to accomplish my goal of either getting more stable USD behavior across frames or efficiently stitching together a USD sequence?
Thanks!
Anson
Edited by AnsonSavage - Nov. 14, 2023 12:01:31
Technical Discussion » Details Function in Channel: Bake Result?
-
- olivierth
- 1144 posts
- Offline
Hi!
I'm using a details function to fill out a channel (file path for a texture in my shaders). I'm using something like this:
The result of it is "D:\TextureLibrary\myCoolTexture.tif"
Is there a shortcut to "bake" the result so I'm not using a details function anymore? Curently, my alternative is to middle-click on the channel, copy and paste the result but that takes too long for the amount of nodes I'm working with.
-Olivier
I'm using a details function to fill out a channel (file path for a texture in my shaders). I'm using something like this:
`details("/obj/myGeoNode/myWrangle", "myFilePath")`
The result of it is "D:\TextureLibrary\myCoolTexture.tif"
Is there a shortcut to "bake" the result so I'm not using a details function anymore? Curently, my alternative is to middle-click on the channel, copy and paste the result but that takes too long for the amount of nodes I'm working with.
-Olivier
Houdini Indie and Apprentice » Karma Room Lens is cool, but how do I use it?
-
- zisu666666
- 2 posts
- Offline
Is it possible to make an HDA, frame the scene that needs to be baked, and directly generate a RoomMap?
Technical Discussion » Vellum Solver inside a Solver geometry node -- a weird issue
-
- ThomasDeng
- 1 posts
- Offline
Dear Houdini community, I am currently working on a project where I want the geometry to grow procedurally over time. For that, I employed a Solver geometry node, and modifies my geometry in the loop, similar to this tutorial https://www.youtube.com/watch?v=NqdnTXuxn6k. [www.youtube.com]
In addition to modifying the geometry procedurally, I also wanted to run physical simulation in the loop. So for that, inside the Solver geometry node, I inserted a Vellum Solver which runs quasistatic simulation and drives my geometry in a physics-based manner. Luckily, in Houdini this works exactly as expected.
However, the issue arises when I try to add a POP Advect by Volumes node inside the Vellum solver node, in order to load an prespecified vector field as my external force for simulation. It seems there is some issue with Houdini finding the proper SOP for the vector field. In the project file attached, the test_solver geometry node can successfully run quasistatic simulation with my custom vector field. But the test_solver_inside_solver fails to do so, and the geometry disappears immediately. The only difference is that in the latter, the Vellum Solver is wrapped in another Solver, which I didn't expect to make a difference in this application.
This is my first post in this forum and my apologies for the long problem description. I am super grateful for any input on how this issue might be circumvented. Thank you all very much for your attention!
In addition to modifying the geometry procedurally, I also wanted to run physical simulation in the loop. So for that, inside the Solver geometry node, I inserted a Vellum Solver which runs quasistatic simulation and drives my geometry in a physics-based manner. Luckily, in Houdini this works exactly as expected.
However, the issue arises when I try to add a POP Advect by Volumes node inside the Vellum solver node, in order to load an prespecified vector field as my external force for simulation. It seems there is some issue with Houdini finding the proper SOP for the vector field. In the project file attached, the test_solver geometry node can successfully run quasistatic simulation with my custom vector field. But the test_solver_inside_solver fails to do so, and the geometry disappears immediately. The only difference is that in the latter, the Vellum Solver is wrapped in another Solver, which I didn't expect to make a difference in this application.
This is my first post in this forum and my apologies for the long problem description. I am super grateful for any input on how this issue might be circumvented. Thank you all very much for your attention!
Houdini Lounge » Flat UI theme compatible with H20?
-
- LukeP
- 395 posts
- Offline
Slightly disappointed that H20 didn’t get a UI facelift. With that said, any recommendations on 3rd party flat UI themes that are out there that will work with H20?
Thank you!
Thank you!
Houdini Indie and Apprentice » Problems with house explosion pyroburst
-
- marocchi.federico
- 1 posts
- Offline
Dears,
I ve recently started learning Houdini but I am encountering problems I can't find a solution to. I created a house model in maya and try to make it explode with pyroburst. I separated every part of the house with blast, fracture it and constrained it but when I blast it something weird happens (attached gif). The parts remain constraint in the air and they spin on themselves.
I ve been on it for days and I cannot pinpoint what the problem is. I really hope someone is able to explain me what I am doing wrong...Thanks a lot in advance.
I attach the link to my drive with the houdini and maya files:
HouseExplosion file
I ve recently started learning Houdini but I am encountering problems I can't find a solution to. I created a house model in maya and try to make it explode with pyroburst. I separated every part of the house with blast, fracture it and constrained it but when I blast it something weird happens (attached gif). The parts remain constraint in the air and they spin on themselves.
I ve been on it for days and I cannot pinpoint what the problem is. I really hope someone is able to explain me what I am doing wrong...Thanks a lot in advance.
I attach the link to my drive with the houdini and maya files:
HouseExplosion file
Solaris and Karma » usd_setattrib Doesn't Accept Generic Data Types
-
- nd_sliu
- 30 posts
- Offline
I'm trying to copy some USD attributes using a LOP Attribute Wrangle. I can use usd_addattrib and usd_attribtypename just fine. However, If I want to set the copied attributes, I HAVE to write a bunch of conditionals to check the typename before setting them.
This is the USD file content:
This is how I have to copy the attributes, which is not so ideal:
Is there some way I can just copy all the attributes without having to specify their type first?
This is the USD file content:
#usda 1.0
(
defaultPrim = "attribs"
)
def "attribs"{
custom string someString = "test"
custom float someFloat = 1
}
This is how I have to copy the attributes, which is not so ideal:
string attributes[] = usd_attribnames(0, @primpath); for(int i = 0; i < len(attributes); i++) { string attribName = attributes[i]; string attribType = usd_attribtypename(0, @primpath, attribName); string copiedAttribName = attribName + "Copy"; usd_addattrib(0, @primpath, copiedAttribName, attribType); if(attribType == "float") { float attribVal = usd_attrib(0, @primpath, attribName); usd_setattrib(0, @primpath, copiedAttribName, attribVal); } else if (attribType == "string") { string attribVal = usd_attrib(0, @primpath, attribName); usd_setattrib(0, @primpath, copiedAttribName, attribVal); } // THIS RESULTS IN AN ERROR //usd_setattrib(0, @primpath, copiedAttribName, usd_attrib(0, @primpath, attribName)); }
Is there some way I can just copy all the attributes without having to specify their type first?
Technical Discussion » Get Arguments to Husk in pre-render script
-
- blaven
- 21 posts
- Offline
Hello!
Is it possible to get the arguments passed to Husk from the script passed into the --prerender-script argument? I tried sys.argv but it appears empty. Thank you!
Is it possible to get the arguments passed to Husk from the script passed into the --prerender-script argument? I tried sys.argv but it appears empty. Thank you!
News » Houdini 20 is GOLD!
-
- chrism
- 2596 posts
- Offline
Technical Discussion » Placing square panels on faces without intersection
-
- britton97
- 1 posts
- Offline
I do not know how to approach this issue. I want to place multiple square panels on each face. I have a set list of aspect ratios for the square and I want them to be randomly placed on the faces without overlapping or intersecting with each other. Do anyone know how I would approach this?
Technical Discussion » RBD Spherical Glass to Maya ... Cracks are showing.
-
- moh98ame
- 3 posts
- Offline
So I did a whole workflow on Houdini for a fracture in a spherical glass.
This is the workflow I did.
This is the current problem at hand after a fellow advised to fix Normals from Houdini and export to Alembic instead.
Now I'm left with this.

Quality is better now with the Normals fixed, but the cracks are still showing.
Anyone has a clue how to export the Connected Faces / Disconnected Faces nodes to the Alembic to fix this issue... Or any other solution or workaround would do.
Thanks in advance.
This is the workflow I did.
Image Not Found
This is the current problem at hand after a fellow advised to fix Normals from Houdini and export to Alembic instead.
Now I'm left with this.
Image Not Found
Quality is better now with the Normals fixed, but the cracks are still showing.
Anyone has a clue how to export the Connected Faces / Disconnected Faces nodes to the Alembic to fix this issue... Or any other solution or workaround would do.
Thanks in advance.
Houdini Engine for Unity » VAT baking with C#
-
- d3cr1pt0r
- 1 posts
- Offline
I am currently working on a project where we rely on animating meshes using tha VAT technique (vertex animation textures). Since this is a mobile project, we need to take into consideration the performance, so in order to optimise this, we would like to bake the animation at the specific frame on specific meshes that need to be in a specific state.
The way I approached this was to "reverse engineer" the shader graph shader and extracted all the logic to C# for just the code that handles/manipulates vertex positions. I mostly succeeded in the task, except that the results seem to be off only at specific vertices. Notice on the edges, the vertices get that jagget shape and I also noticed some triangles just floating in empty space, detached from the mesh.
Here is the code I am using to bake the VAT position texture in C#
Attached in the post is the image of how the results look like. On the left is the VAT shader from Houdini, on the right is the C# bake.
The way I approached this was to "reverse engineer" the shader graph shader and extracted all the logic to C# for just the code that handles/manipulates vertex positions. I mostly succeeded in the task, except that the results seem to be off only at specific vertices. Notice on the edges, the vertices get that jagget shape and I also noticed some triangles just floating in empty space, detached from the mesh.
Here is the code I am using to bake the VAT position texture in C#
private void GenerateMesh()
{
var mesh = new Mesh();
var vertices = _mesh.vertices;
var uv1 = _mesh.uv2;
var textureWidth = _positions.width;
var textureHeight = _positions.height;
var tMin = _vatData.BoundsMin * 10.0f;
var tMax = _vatData.BoundsMax * -10.0f;
var pixelRatioX = 1.0f - (Mathf.Ceil(tMin.z) - tMin.z);
var pixelRatioY = 1.0f - (tMax.x - Mathf.Floor(tMax.x));
var a = (Mathf.Floor(_vatData.DisplayFrame) - 1f) % _vatData.FrameCount;
var b = a * (1.0f / _vatData.FrameCount) * pixelRatioY;
for (var i = 0; i < vertices.Length; i++)
{
var uv = uv1[i];
var c = b + (1.0f - uv.y) * pixelRatioY;
var sampleX = Mathf.FloorToInt(uv.x * pixelRatioX * textureWidth);
var sampleY = Mathf.CeilToInt(c * textureHeight);
var pixel = _positions.GetPixel(sampleX, sampleY);
var offset = new Vector3(pixel.r, pixel.g, pixel.b);
if (uv.y <= 0.1f)
offset = new Vector3(0, 0, 0);
vertices[i] += offset;
}
mesh.vertices = vertices;
mesh.triangles = _mesh.triangles;
mesh.tangents = _mesh.tangents;
mesh.uv = _mesh.uv;
mesh.uv2 = _mesh.uv2;
mesh.RecalculateNormals();
mesh.RecalculateTangents();
_meshFilter.sharedMesh = mesh;
}
Attached in the post is the image of how the results look like. On the left is the VAT shader from Houdini, on the right is the C# bake.
-
- Quick Links