Hi,
I got an issue when I render with XPU that seems to be related to udims.
On huge assets(building) it seems that the UDIM workflow doesn't work properly and break the render with some artifacts.
The asset has a mtlxStandardSurface and everything is working fine in houdini GL or CPU but as soon I used XPU render, the mesh disappears and create some artifacts in all the scene.
After some tests it seems to be a UDIM problem as it only happen when I used <UDIM> token in my texture path otherwise if I used the texture path "1001" the XPU work correctly.
I'm not seeing any errors in the logs.
Is there any solution or update that would fix that issue?
Found 62 posts.
Search results Show results as topic list.
Solaris and Karma » Artifacts appears in Houdini XPU - UDIM Issues
- Tukifri
- 4 posts
- Offline
Technical Discussion » How to dynamic load custom "Dynamic Simulations" plugins?
- DlPF
- 1 posts
- Online
Hi all,
I wrote a plugin. The plugin's code referenced houdini HDK, Dynamic Simulations plugin example, see this page: https://www.sidefx.com/docs/hdk/_h_d_k__intro__creating_plugins.html [www.sidefx.com]
Now I want to implement dynamic loading for this plugin. But there were some problems.
First, I tried to use python API to load it.
Since its registration function is initializeSIM () and not newDopOperator (). Therefore the load fails.
Then, I tried to use _ctypes to load it.
The handle is not None. But I can't create the node in Dop Network. I think I missed some operations like registering it in houdini. But I don't know how to do it.
Due to my SOP plugins can be loaded by
Maybe I can use a SOP to load Dynamic Simulations plugins! I made the following attempts in a SOP plugin C++ code.
I think the dll is loaded, but it still not create node in dop network.
Another idea is to dynamic update the HOUDINI_DSO_PATH, and rescan this path.
The python code like:
But I can't find the rescan command.
My expectation is that when this plugin is not in the dso folder, it can be loaded and used without restarting houdini.
Is there any solution for this problem?
Thank you very much!
I wrote a plugin. The plugin's code referenced houdini HDK, Dynamic Simulations plugin example, see this page: https://www.sidefx.com/docs/hdk/_h_d_k__intro__creating_plugins.html [www.sidefx.com]
Now I want to implement dynamic loading for this plugin. But there were some problems.
First, I tried to use python API to load it.
hou.nodeTypeCategories()['Dop'].loadDSO('--dll path--')
Then, I tried to use _ctypes to load it.
import _ctypes handle = _ctypes.LoadLibrary('--dll path--')
Due to my SOP plugins can be loaded by
hou.nodeTypeCategories()['Sop'].loadDSO('--dll path--')
static UT_DSOHandle* dsoHandle; UT_DSO dso; UT_String* errorOutput = NULL; const char dsoFile[] = "--dll path--"; dsoHandle = dso.loadDSO(dsoFile, false, errorOutput ); const char symbolName[] = "initializeSIM"; UT_StringHolder* errorOutput1 = NULL; UT_StringHolder fileName = dso.getFilePath(dsoHandle, *errorOutput1); bool result = dso.run(dsoFile, symbolName);
Another idea is to dynamic update the HOUDINI_DSO_PATH, and rescan this path.
The python code like:
import hou current_dso_path = hou.getenv("HOUDINI_DSO_PATH") my_plugin_path = "/path/to/my/custom/plugins" new_dso_path = current_dso_path + ";" + my_plugin_path hou.putenv("HOUDINI_DSO_PATH", new_dso_path)
My expectation is that when this plugin is not in the dso folder, it can be loaded and used without restarting houdini.
Is there any solution for this problem?
Thank you very much!
Technical Discussion » @pos1 to parameter doesn't work?
- jackdon4682
- 6 posts
- Offline
I create a attribution called "pos1", which valued 0.2
Then I wanna use it to drive the Distance of the node peak,
but it doesn't work? why?
Is that I should use the function point() ? or something else? but I dont know how to use...
please help me!
Then I wanna use it to drive the Distance of the node peak,
but it doesn't work? why?
Is that I should use the function point() ? or something else? but I dont know how to use...
please help me!
Houdini Indie and Apprentice » Texture look like Premultiplied
- TaoChen
- 2 posts
- Offline
Technical Discussion » @pos1 to parameter doesn't work?
- animatrix_
- 4512 posts
- Offline
Hi,
Yes you have to use the point expression:
https://www.sidefx.com/docs/houdini/expressions/point.html [www.sidefx.com]
Yes you have to use the point expression:
https://www.sidefx.com/docs/houdini/expressions/point.html [www.sidefx.com]
point(-1, 0, "pos1", 0)
Houdini Engine for Maya » LOP based HDA not working in Houdini Engine Maya
- MarXindia
- 34 posts
- Offline
Technical Discussion » Find geometry symmetrize plane
- Aizatulin
- 475 posts
- Offline
If your geometry is quite symmetric, you can calculate the covariance matrix from the points (which can be used for calculating an oriented bounding box), to get candidates for the plane. Once you have the box (or the eigenvectors of the matrix) you can check each plane, if it is a symmetrize plane. Problem is, if an object is not 100% symmetric you have to define some tolerances.
Here is a modification of an example (calculating an oriented bounding box) which uses the center and the normal of each face to count the number of symmetric points and take the face (normal) with the highest count. This example is more a first start and may fail some situations.
Here is a modification of an example (calculating an oriented bounding box) which uses the center and the normal of each face to count the number of symmetric points and take the face (normal) with the highest count. This example is more a first start and may fail some situations.
Technical Discussion » [libpng error] Karma | Substance Painter - Houdini [SOLVED]
- AnimGraphLab
- 49 posts
- Offline
This is a solved issue. I want to document it for someone who possibly encounters it in the future.
SideFX team, if there's an option to improve the error message, it would be a blessing
Context:
- Substance Painter to Houdini USD workflow
- UDIMs
- Karma render
Error messages:
- libpng error: bad adaptive filter value
- libpng error: IDAT: invalid block type
Writing error message and a picture since it will better be indexed in Google search.
Solution:
- delete exported textures from Substance Painter
- export textures again
- optional: Render menu at the top -> update textures [www.sidefx.com] | Perspective -> Reset Karma XPU (or Shift+P)
I somehow understood that it's related to textures after reading through this and searching occurrences of libpng: https://www.sidefx.com/docs/hdk/png_8h_source.html [www.sidefx.com]
Why it happened (my guess)
Substance Painter exported 1 UDIM tile texture cropped i.e. half of the texture was black and only half of the top part was with texture. And Karma didn't know what to do about it. Although the Painter export message said, "export finished successfully".
All the best
SideFX team, if there's an option to improve the error message, it would be a blessing
Context:
- Substance Painter to Houdini USD workflow
- UDIMs
- Karma render
Error messages:
- libpng error: bad adaptive filter value
- libpng error: IDAT: invalid block type
Writing error message and a picture since it will better be indexed in Google search.
Solution:
- delete exported textures from Substance Painter
- export textures again
- optional: Render menu at the top -> update textures [www.sidefx.com] | Perspective -> Reset Karma XPU (or Shift+P)
I somehow understood that it's related to textures after reading through this and searching occurrences of libpng: https://www.sidefx.com/docs/hdk/png_8h_source.html [www.sidefx.com]
Why it happened (my guess)
Substance Painter exported 1 UDIM tile texture cropped i.e. half of the texture was black and only half of the top part was with texture. And Karma didn't know what to do about it. Although the Painter export message said, "export finished successfully".
All the best
Edited by AnimGraphLab - today 01:25:12
Houdini Indie and Apprentice » How to use distance for effect fall off ?
- animatrix_
- 4512 posts
- Offline
Hi,
You can also compute the geodesic distance (surface distance) to measure the shortest path between points which follows the natural curve of the surface rather than Euclidean distance which measures the straight line between two points:
Falloff:
Blend:
You can also compute the geodesic distance (surface distance) to measure the shortest path between points which follows the natural curve of the surface rather than Euclidean distance which measures the straight line between two points:
Falloff:
vector origin = point ( 1, "P", 0 ); vector p = minpos ( 0, origin ); int pts [ ] = pcfind ( 0, "P", p, 1000, 1 ); int ptclosest = pts [ 0 ]; float sdist = surfacedist ( 0, itoa ( ptclosest ), "P", @ptnum, -1, "surface" ); @sdist = sdist;
Blend:
vector p = point ( 1, "P", @ptnum ); float sdist = fit ( @sdist, ch("dist_min"), ch("dist_max"), 0, 1 ); sdist = chramp("dist", sdist); @sdist = sdist; @P = lerp ( @P, p, sdist );
Technical Discussion » @pos1 to parameter doesn't work?
- jackdon4682
- 6 posts
- Offline
animatrix_Oh, it works~!
point(-1, 0, "pos1", 0)
But to point itself,it seems the first parameter of point("") should be 0 instead of -1.
It confused me a long time because there aren't the description on how to use 0 to point to itselt in the official website .
I've successfully solve it,
thanks a lot!
Houdini Indie and Apprentice » Heightfield tile split with for loop
- animatrix_
- 4512 posts
- Offline
Hi,
You can reference the for loop iteration inside the Tile Number parameter like this:
You can reference the for loop iteration inside the Tile Number parameter like this:
Technical Discussion » @pos1 to parameter doesn't work?
- animatrix_
- 4512 posts
- Offline
-1 is for when you use spare parms so that you don't have to type which node you are referencing. If you just want to use the first input 0 is perfectly valid.
But if you need to reference the current point's attribute for each point for the Peak node, you will have to write your own peak operation in VEX.
But if you need to reference the current point's attribute for each point for the Peak node, you will have to write your own peak operation in VEX.
Technical Discussion » @pos1 to parameter doesn't work?
- jackdon4682
- 6 posts
- Offline
animatrix_
-1 is for when you use spare parms so that you don't have to type which node you are referencing. If you just want to use the first input 0 is perfectly valid.
But if you need to reference the current point's attribute for each point for the Peak node, you will have to write your own peak operation in VEX.
Unfortunately,when I type -1 ,Error occured...
I seem to understand what you said.In generally, number 0 refer to the first input. And maybe it's enough.
Technical Discussion » @pos1 to parameter doesn't work?
- jackdon4682
- 6 posts
- Offline
And I'm thinking about solving more complex situation,(as a houdini beginner)
such as pushing small spheres to the surface that is just tangent to the big ball.
the node Peak works well,
and I've found a more simple way which uses Vop to solve it.
thanks a lot for you to help me understand the node and how to use point()
such as pushing small spheres to the surface that is just tangent to the big ball.
the node Peak works well,
and I've found a more simple way which uses Vop to solve it.
thanks a lot for you to help me understand the node and how to use point()
Technical Discussion » Error Black Boxing HDAs with Material VOPs or Material X
- sharanvaswani93
- 13 posts
- Offline
Hi everyone,
I am getting an error whenever I try to blackbox HDAs.
--------------------------
Traceback (most recent call last):
File "<stdin>", line 17, in <module>
File "C:\PROGRA~1/SIDEEF~1/Houdini 20.0.625/houdini/python3.10libs\digitalassetsupport.py", line 39, in create_instance return _create_vop_instance(node_type)
File "C:\PROGRA~1/SIDEEF~1/Houdini 20.0.625/houdini/python3.10libs\digitalassetsupport.py", line 105, in _create_vop_instance
assert not "Could not determine the VOP context for this VOP asset"
AssertionError
--------------------------
This happens for some HDAs and some blackbox correctly. I am not sure if it is because these HDAs are Material X nodes & Material VOPs (guess I saw the same thing happen randomly with Vex VOPs in shaders as well) or is it because I had previously saved the HDAs as a different name and did a "Save As" to rename the HDAs and format the names correctly or is it some other issue?
Any information or help would be really helpful!
Thanks!
I am getting an error whenever I try to blackbox HDAs.
--------------------------
Traceback (most recent call last):
File "<stdin>", line 17, in <module>
File "C:\PROGRA~1/SIDEEF~1/Houdini 20.0.625/houdini/python3.10libs\digitalassetsupport.py", line 39, in create_instance return _create_vop_instance(node_type)
File "C:\PROGRA~1/SIDEEF~1/Houdini 20.0.625/houdini/python3.10libs\digitalassetsupport.py", line 105, in _create_vop_instance
assert not "Could not determine the VOP context for this VOP asset"
AssertionError
--------------------------
This happens for some HDAs and some blackbox correctly. I am not sure if it is because these HDAs are Material X nodes & Material VOPs (guess I saw the same thing happen randomly with Vex VOPs in shaders as well) or is it because I had previously saved the HDAs as a different name and did a "Save As" to rename the HDAs and format the names correctly or is it some other issue?
Any information or help would be really helpful!
Thanks!
Technical Discussion » Questions about the future development of the KARMA renderer
- fmz123123
- 1 posts
- Offline
Does XPU rendering have plans to support AMD Gpus in the future?
I am now using AMD 7900XTX graphics card, does not support XPU rendering, will there be future development plans, support AMD GPU?
I am now using AMD 7900XTX graphics card, does not support XPU rendering, will there be future development plans, support AMD GPU?
Work in Progress » My First APEX Character
- Mirko Jankovic
- 97 posts
- Online
It is good to see some people even trying to get this to work. As animator I took an look into APEX and run away screaming.
We need simple tools that will enable us to get to 90% of task done, fast. Think mgear for maya or similar riggers in blender. We need tools like that that will get us to rigged usable characters fast. Until that point is reached I don't think you will see too many animators switching to Houdini.
I would be first in line to ditch maya in an instance! But beside not being able to get understandable tools for myself.. it is mission impossible to find even Houdini riggers too.
So until this is reached and polished... I would love to see Houdini taking over character animation as well but I'm afraid it will take too long. And taking things too long was part of what ended up killing Softimage as well....I mean not that not being character animation software will kill Houdini, but character animation part of it will never become standard.
We need simple tools that will enable us to get to 90% of task done, fast. Think mgear for maya or similar riggers in blender. We need tools like that that will get us to rigged usable characters fast. Until that point is reached I don't think you will see too many animators switching to Houdini.
I would be first in line to ditch maya in an instance! But beside not being able to get understandable tools for myself.. it is mission impossible to find even Houdini riggers too.
So until this is reached and polished... I would love to see Houdini taking over character animation as well but I'm afraid it will take too long. And taking things too long was part of what ended up killing Softimage as well....I mean not that not being character animation software will kill Houdini, but character animation part of it will never become standard.
Rigging » Houdini 20 Rigging Pipeline and Tools
- danfitz82
- 24 posts
- Offline
I'd love some of these additions as well, for your point 5 there are some APEX biped characters in the content library I've learned a lot from:
Electra: https://www.sidefx.com/contentlibrary/electra-rig/ [www.sidefx.com]
Luchador and Chicken: https://www.sidefx.com/contentlibrary/luchador-chicken/ [www.sidefx.com]
Electra: https://www.sidefx.com/contentlibrary/electra-rig/ [www.sidefx.com]
Luchador and Chicken: https://www.sidefx.com/contentlibrary/luchador-chicken/ [www.sidefx.com]
Rigging » Houdini 20 Rigging Pipeline and Tools
- sanaldeep1996
- 3 posts
- Offline
Yeah the Electra and Luchador and Chicken rig's are really amazing, I have also learned from it alot.
my point is as a other artist's perspective and point of view if someone is not fimilar with houdini rigging at all, he or she can have a apex rigged character as test geometry by default to understand some basics, fundamentals of it.
my point is as a other artist's perspective and point of view if someone is not fimilar with houdini rigging at all, he or she can have a apex rigged character as test geometry by default to understand some basics, fundamentals of it.
PDG/TOPs » How to access current cook value of an attribute in Python?
- alexmajewski
- 3 posts
- Offline
I would like to check current cook value of a wedge attribute in a Python expression.
The same way that we use `@pdg_index` in string parameters etc. but this time we'd like to grab that value in a script. How can I do that?
The same way that we use `@pdg_index` in string parameters etc. but this time we'd like to grab that value in a script. How can I do that?
-
- Quick Links