What is Houdini's equivalent to Maya's objExists()

   3504   3   1
User Avatar
Member
10 posts
Joined: 1月 2015
オフライン
Converting some Maya scripts to Houdini, but can't seem to find Houdini's equivalent to Maya's objExists(). Anyone here know what i can use to replace objExist()? Thanks
User Avatar
Member
1390 posts
Joined: 7月 2005
オフライン
Since Houdini scene has a structure of (nested) directories you have to rely on recursive search to find object in any of subdirectories (subnets in Houdini lingua) similarly to searching files on disk.

So instead of usual:
hou.node(“/obj”).glob(“box*”) –> for multi /obj/box1 /obj/box2
you would rather use:
hou.node(“/”).recursiveGlob(“box*”, filter=hou.nodeTypeFilter.NoFilter) –> /obj/box1 /obj/geo/box1 /shop/box_material etc

More help:
http://www.sidefx.com/docs/houdini15.0/hom/hou/Node [sidefx.com]

hope this helps,
skk.
User Avatar
Member
10 posts
Joined: 1月 2015
オフライン
Thanks SYmek I tried what you said and a few others from the link you gave me,but did not work. Here is the last piece at the end of code that I need to convert out of the 1998 lines. I did not write the code just converting it.Symek can you take a look please?





mc = hou

if mc.objExists('HDR_IMG'):
renderResolutionValue = mc.getAttr('HDR_IMG.renderResolution')
else:
renderResolutionValue = 2
if mc.objExists('HDR_IMG'):
renderQualityValue = mc.getAttr('HDR_IMG.qualityPreset')
else:
renderQualityValue = 2
if mc.objExists('HDR_IMG'):
plateModeValue = mc.getAttr('HDR_IMG.plateMode')
else:
plateModeValue = 1
if mc.objExists('HDR_IMG'):
envModeValue = mc.getAttr('HDR_IMG.envMode')
else:
envModeValue = 1
if mc.objExists('HDR_IMG'):
colorMappingModeValue = mc.getAttr('HDR_IMG.cmMode')
else:
colorMappingModeValue = 2
User Avatar
Member
1807 posts
Joined: 10月 2010
オフライン
If you know the actual full name of your object, you can use this

If hou.node(“someNodePath”) != None:

Do something….

Which is a bit more pythonesque
-G
  • Quick Links