Yeah, I’ve been adding it in every single studio I’ve been in, ahah
`nodegraphtitle.py` in pythonx.xlibs
Yeah, I’ve been adding it in every single studio I’ve been in, ahah
`nodegraphtitle.py` in pythonx.xlibs
“`import hou
def lock_hda(node_path): “”” Lock the HDA at the given node path. And then Unlock it now that it has been matched “”” # Get the node node = hou.node(node_path)
# Check if node exists if node is None: print(“Node does not exist.”) return
# Lock the HDA node.matchCurrentDefinition() # Unlock the HDA node.allowEditingOfContents()
# Example usage def otherDefinitions(node_path): ”’Given an HDADefinition object, return the other loaded definitions for the same node type.”’ # Look through all the loaded hda files for definitions providing # the same node type. node = hou.node(node_path) definition = node.type().definition() node_version = definition.nodeTypeName().split(‘::’)[0] result = [] result.append(definition) for hda_file in hou.hda.loadedFiles(): # Skip the hda file containing the definition that was passed in. if hda_file == definition.libraryFilePath(): continue for other_definition in hou.hda.definitionsInFile(hda_file): # print(other_definition) if node_version in other_definition.nodeTypeName().split(‘::’)[0]: result.append(other_definition) else: pass return result def getHighestVersion(node): node_path = node.path() otherDef = otherDefinitions(node_path) highest_version_def = sorted(otherDef, key=lambda x: x.nodeTypeName().split(“::”)[1])[-1] highest_version_name = highest_version_def.nodeTypeName() node.changeNodeType(highest_version_def.nodeTypeName(), keep_parms=True) print(f”Updated HDA {node_path} to version {highest_version_name}”) nodeM = hou.node(‘/path/to/your_node’) # replace path with actual node path node_path = nodeM.path() # get the node path since after we replace the type the direct reference will no longer exist
getHighestVersion(nodeM) # update the HDAs version type
lock_hda(node_path) # lock and unlock the HDA to match internal contents “`
justt got this guy done thought id share since i had to do some digging on how to do it! takes an input node and gets the highest version of that HDA and then updates it to that version and locks and unlocks the HDA to match contents!
Attachments in this post:
http://fx-td.com/houdiniandchill/wp-content/uploads/discord/20232909/17/23/paris.gif
trying out that fake volumetric shading thingy
Attachments in this post:
http://fx-td.com/houdiniandchill/wp-content/uploads/discord/20232509/13/23/vr.mp4
Pretty much everything I know about lighting/rendering in LOPS with Karma. Hot off the press: www.sidefx.com/solaris-essentials-lops-karma-matx/
yeah exactly π www.dgp.toronto.edu/projects/fast-winding-numbers/ in the original paper they use the point cloud with normals version to generate a simple SDF from a point cloud
how do i get the cameras uv space in a materialx shader? i want to do projective texturing in the shader.
This works half-assedly but only on CPUkarma. I load the hit position in worldspace. transform it to cameraspace (using space:camera in the transformpoint) then divide that with hit distance to get a projection. (using ray:hitPz in the mtlxdot) but the camera:space thing does not work in XPU.
I thought this would be the easiest thing ever. anyone having any better tricks?
generating precooked uv data on the geo from the camera is not as good as one tends to get projection errors over larger polygons and such.
ok after the longest time mucking about I found how it is actually done:
You use the coordsys node in LOP:s to define the coordinate system and reference the camera. Then use that coordsys in a mtlxposition and use myCoordinateSysName:ndc to get it in the camera projection space. Neat because then you can use any camera as a projector and so forth.
aw frekk. does not work in xpu.
Attachments in this post:
http://fx-td.com/houdiniandchill/wp-content/uploads/discord/20232109/07/23/image.png
Haha 1 min
since its gonna go online anyway, here’s a preview to play with
connect em like this
Good chat π
Attachments in this post:
http://fx-td.com/houdiniandchill/wp-content/uploads/discord/20231409/01/23/4d_tets_hdas.zip
http://fx-td.com/houdiniandchill/wp-content/uploads/discord/20231409/01/23/image.png
Ah. I deleted Tailor for a reason. π Always misses an image when stitching.
Instaweb works better, but itβs a PDF, which is silly. Regardless hereβs the full thread as PDF.
Attachments in this post:
http://fx-td.com/houdiniandchill/wp-content/uploads/discord/20230208/26/23/Paul_Ambrosiussen_ArgumentParser.pdf
thanks! π
weeeeee
too much fun
aww, froze houdini
flew too close to the sun
future matt: this was using ray:direction on the karma ray import node
oh it came back! hooray!
Attachments in this post:
http://fx-td.com/houdiniandchill/wp-content/uploads/discord/20230408/21/23/image.png