Edward Jaworenko

EJaworenko

About Me

専門知識
Technical Director
業界:
Film/TV

Connect

LOCATION
Calgary, Canada
ウェブサイト

Houdini Engine

ADVANCED
プロシージャルワークフロー  | Environments  | Digital Assets  | Solaris  | VEX
INTERMEDIATE
Hair & Fur  | Cloth  | Mantra  | Karma  | Lighting  | PDG  | Python
BEGINNER
キャラクタ & アニメーション  | Animation  | Fluids  | 説明

Availability

Not Specified

Recent Forum Posts

Mtlx PBR Texture Set Node - Where is it Supported? 2024年10月22日20:51

Pretty straightforward, but where can I expect this node to be supported? If I needed to use Arnold or Renderman in Houdini and wanted to use materialX, would this work? I imagine that it's a Houdini-specific node but I wanted to see if it's also Karma-specific.
Also, am I right in assuming that it's not doing 4 texture samples to account for 1 UV and 3 triplanar samples? Because if so, that definitely makes it more appealing to use.

Mixing USD MaterialX Builder Subnets 2024年8月21日21:39

I'm familiar with the limit of 2 surface shaders max that you can mix in Materialx, at least with Karma. And I think when people are talking about doing that, they're talking about doing the mixing within a single MaterialX Builder subnet. I wanted to create a single "degradation" material that I could actually mix with several other materials like you can see in the attached screenshot, but it immediately crashes the materialx shader.

Is this possible in any way? The reason I can see for it crashing would actually be a fantastic strength if it worked: It would at least suggest that you could swap the degradation material via referencing in USD. Love the idea of being able to keep it as a stand-in, then maybe replacing via referencing with a shader that has snow or moss or rust in it down the line.

Any help is appreciated!

How to quickly move pivot to object center in LOP? 2024年4月26日17:22

This definitely seems a bit cumbersome, but for the example of a transform node pivot specifically, the following python function placed in the "px" parm will set the pivot to the center of a selected primitive (py and pz too).
Note that I haven't tested it with multiple prims selected, but it at least fits a few use cases.
I may add a variation of it to a right-click menu just for easy setting vs worrying about adding a python script directly to a parm expression.
from pxr import UsdGeom
node = hou.pwd()
# Get the stage of the input node to avoid recursion
stage = node.input(0).stage()
if stage is not None:
        # Other nodes might need "primpath", but you could functionally add any prim path you want here
        focusprim = stage.GetPrimAtPath(node.evalParm("primpattern"))
        if focusprim is not None:
                cache = UsdGeom.BBoxCache(1.0, ['default', 'proxy', 'render', 'guide'])
                bounds = cache.ComputeLocalBound(focusprim).ComputeCentroid()
                # node.parmTuple("p").set(bounds) crashed Houdini via recursion, but this seems to work.
                node.parm("py").set(bounds[1])
                node.parm("pz").set(bounds[2])
                return bounds[0]