
Yunus Balcioglu
animatrix_
About Me
Senior FX Technical Director @ Industrial Light & Magic | Feature film credits include The Lord of the Rings: The Rings of Power, Marvel's Eternals, Star Wars: The Rise of Skywalker, X-Men: Dark Phoenix, X-Men: Apocalypse, Aquaman, Alien: Covenant, Pirates of the Caribbean, Justice League and many m... more
Senior FX Technical Director @ Industrial Light & Magic | Feature film credits include The Lord of the Rings: The Rings of Power, Marvel's Eternals, Star Wars: The Rise of Skywalker, X-Men: Dark Phoenix, X-Men: Apocalypse, Aquaman, Alien: Covenant, Pirates of the Caribbean, Justice League and many more. less
専門知識
Technical Director
業界:
Film/TV
Houdini Engine
ADVANCED
プロシージャルワークフロー | Digital Assets | Mantra | Pyro FX | Fluids | 説明 | VEX | Python
INTERMEDIATE
Realtime FX
Availability
Not Specified
My Gallery
My Talks
Recent Forum Posts
The value of point attribute when running over primitives? 2025年5月5日4:57
Yeah, @N is special in its own way, but in a different way. It gives you the geometric normal of the primitive, not the average of any point normals. So even if there's no N attribute, Houdini still provides it based on the primitive's shape.
That's what I meant by @Cd, @N and other attributes won't give you the same result, i.e. the average of the same attribute for all the points of the primitive.
That's what I meant by @Cd, @N and other attributes won't give you the same result, i.e. the average of the same attribute for all the points of the primitive.
The value of point attribute when running over primitives? 2025年5月5日3:44
@P is normally a point attribute, but in a Primitive Wrangle, Houdini binds it to the centroid of the primitive — the average of its points’ positions. It's a special case. Other attributes like @Cd or @N won’t behave this way.
Python: How to get the active Network Editor pane? 2025年5月4日6:22
Yes, that’s one way to do it — incrementing the index until it returns None.
In my code, I usually try to get the pane under the cursor first, and if it’s not the type I’m looking for, I fall back to getting the first instance like this:
In my code, I usually try to get the pane under the cursor first, and if it’s not the type I’m looking for, I fall back to getting the first instance like this:
def getPaneTabUnderCursorOrFirstInstance(paneType): """ Utility function to retrieve a pane tab of a specific type. Tries to get the pane tab under the cursor first. If none is found, falls back to the first instance of the specified pane type in the current desktop. Args: pane_type (hou.paneTabType): The type of pane tab to search for. Returns: hou.PaneTab or None: The found pane tab of the specified type or None if not available. """ desktop = hou.ui.curDesktop() paneTab = None # Try to get the pane tab under the cursor pane = hou.ui.paneTabUnderCursor() if pane and pane.type() == paneType: paneTab = pane else: # Fallback to the first instance of the specified type in the desktop paneTab = desktop.paneTabOfType(paneType) return paneTab