Mark Tucker

mtucker

About Me

専門知識
Developer

Connect

LOCATION
Canada
ウェブサイト

Houdini Skills

Availability

Not Specified

My Badges

SideFX Staff
Since 7月 2005
Houdini Academy Advisor
Since 1月 2024

My Talks

obj-image HIVE
The What and Why of Optimizing Solaris Performance

Recent Forum Posts

Relative paths not working for some assets 2026年7月7日14:42

When doing the conversion to relative paths, if you have to ".." your way all the way to the root of the drive before diving back down again, we throw away all the ".."s and just put in an absolute path. The "relativeness" of these paths is basically useless at this point and just makes it hard to see how to get from one file to another. That was the thinking anyway. Perhaps that's what is going on here?

If this is the problem, and you don't like this behavior, the "relativepaths" output processor is very easy to change so that it generates relative paths even in this case. Just change the `allow_relative_path_from_root` parameter from False to True in the call to `relpath`.

Copernicus and renderman 2026年6月1日16:02

The latest RfH builds do, I believe, allow COP-based texture maps. They are specified the same way you would do so for a karma shader using the "op:/path/to/cop" string in the "Texture File" parameter of a VOP, or Material Edit Properties LOP. This is something that needs to be implemented on the RenderMan side, so make sure you are using a version of RfH that claims to support this feature. Then build a simple hip file that gets it working with karma (using USD Preview Surface - a shader language understood by both Karma and RenderMan). Then switch to RenderMan. If it works in Karma, it should work in RenderMan too.

How to evaluate stage from hython 2026年4月7日0:46

I believe you are mistaken about the behavior of node.geometry(). It will not cook the SOP. If the SOP has already been cooked, then yes, it will return the geometry generated by this SOP the last time it cooked. But if the SOP has not been cooked, the geometry returned by node.geometry() will be empty.

LOPs is a little different from SOPs in regards to returning the last cooked result. This is because every SOP node keeps its own copy of the geometry it generated last time it cooked. LOPs do not keep a full USD stage for each LOP node. LOP nodes in a chain will generally share a USD stage, and edit and recompose this stage when you look at the cooked stage from one node then another in a chain. In Manual mode, even this recomposing is avoided, so the stage you get back from node.stage() may not be the same stage last cooked by that node. It may be the state of that shared stage as understood by some other node in the chain of LOP nodes.