投稿

5月, 2022の投稿を表示しています
選択したsopノードから、object merge nodeを作成するスクリプト import hou #get current selection sel = hou.selectedNodes() #create object merge nodes from selected nodes def create_om(): #check if node is selected if not len(sel)>0: msg = hou.ui.displayMessage("please chose a node", buttons=('OK',), severity=hou.severityType.Warning) return col = hou.Color(0.75,0.15,0.5) for i in sel: cat = hou.nodeType(i.path()).category().name() if(cat=="Sop"): pos = i.position() + hou.Vector2(0,-1) parent_path = i.parent().path() om = hou.node(parent_path).createNode("object_merge") om.setPosition(pos) om.setName("IN_"+i.name(),unique_name=True) om.setColor(col) hou.node(om.path()).parm("objpath1").set("../"+i.name()) else: pass #create single object merge node from selected nodes def create_om_combine(): #check if node is selected if not len(sel)>0: msg = hou.ui.displayMessage("please chos...

Toggle update mode

update modeを切り替えるスクリプト import hou #modes manual = hou.updateMode.Manual mouseup = hou.updateMode.OnMouseUp auto = hou.updateMode.AutoUpdate modes = [manual,mouseup,auto] #get current mode current_mode = hou.updateModeSetting() #find next mode for i,mode in enumerate(modes): if mode.name() == current_mode.name(): #print(i,mode) idx = (i+1)%3 #set the next mode hou.setUpdateMode(modes[idx]) break

Houdini起動時にcustomのscript/HDA用pathを設定するには?

Houdini起動時にcustomのscript/HDA用pathを設定するには、以下のスクリプトを123.pyとして、$HOME/houdiniX.Y/scriptsに保存する。 Houdiniは起動時にこの $HOME/houdiniX.Y/scripts を毎回チェックし、123.pyがあれば自動的に実行する。 まずスクリプト環境変数について: sys.path.append()で、まずスクリプト用のOS環境変数を設定している。これを実行するこどで、Houdiniでのpython scriptから、importでこの中にあるスクリプトを読み込むことができる。 次にHDA用のhoudini環境変数について: hou.putenv('HOUDINI_OTLSCAN_PATH',hda_path)の部分で、既存のHDAパスにさらにカスタムのHDAパスを加えている。これにより、特定のフォルダに保存したHDAを自動的に読み込ませることができる。 import sys import hou def set_custom_script_path(): #add custom script path #you can put any path in the array as much as you want. import_list = [ r'C:/hoge/hoge/scripts', ] #add the path ti the system environment path for i in import_list: sys.path.append(i) print('extra path is {}'.format(i)) def add_custom_HDA(): #add custom HDA path #$HH/otls/ is the path Houdini uses to load the default HDA #We need to keep that as it is, in addtion, we can add custom path. hda_paths =...