Python Startup Script Help

   1402   0   1
User Avatar
Member
45 posts
Joined: 3月 2017
Offline
Hello

Just took a crash course in some simple startup script using python, basically a cut and paste job with some minor tweaks. When I install my script and open Houdini the camera node and geo node open up on top of each other, making it that I have to move them around every time I open a new file. I want them to open up like the Redshift ROP and IPR using “moveToGoodPosition” but I am not sure how to do this. I do what I think makes sense but then get an error when opening Houdini. Again, I know very little of python.

#!/usr/bin/env python

# Create Camera - 1920
def create_camera():
node = hou.node('/obj').createNode('cam', ‘cam_1920’)
node.setParms({'resx': 1920, ‘resy’: 1080})
node.setDisplayFlag(False)

# Create Geo Node - Geo
obj = hou.node(“/obj”)
geo = obj.createNode(“geo”, node_name=“Geo”)

# Create Mantra - PBR driver
def mantra_driver():
node = hou.node('/out')
out = node.createNode('ifd')
out.setParms({'vm_renderengine': ‘pbrraytrace’, ‘override_camerares’: True, ‘camera’: ‘/obj/cam_1920’})

def redshift_driver():
node = hou.node('/out')
node.createNode('Redshift_ROP').moveToGoodPosition()
node.createNode('Redshift_IPR').moveToGoodPosition()

def main():
# Check for camera node
nodes = hou.node('/obj').glob('*')
cam_exists = False

for node in nodes:
if node.type().name() == ‘cam’:
cam_exists = True
break

if not cam_exists:
create_camera()

# Check for Mantra or Redshift ROPS
rops = hou.node('/out').glob('*')
rrop_exists = False
mrop_exists = False

for node in rops:
if node.type().name() == ‘ifd’:
mrop_exists = True

if node.type().name() == ‘Redshift_ROP’:
rrop_exists = True

try:
if not rrop_exists:
redshift_driver()
except:
hou.ui.displayMessage('Oops! Something went wrong. Unable to create Redshift ROP.')
if not mrop_exists:
mantra_driver()
  • Quick Links