GeometryノードにUIをつくる。パスとコードとボタンを配置する。
Multi-Line Stringにチェック。
Callback Scriptにコードを書き込む
exec(hou.node(".").parm("code").eval())
ボタンを押すと実行されるPythonコードは以下。
import os
# Geometryをすべて消去
nodes = hou.node(".").children()
for node in nodes:
node.destroy()
folderPath = hou.node(".").parm("folderPath").eval()
# フォルダ内のファイル名をリスト
meshFiles = os.listdir(folderPath)
#print(meshFiles)
# マージノードを生成
mergeNode = hou.node(".").createNode("merge")
# 出力用のNULLノード生成
nullNode = hou.node(".").createNode("null", "OUT_Meshes")
nullNode.setFirstInput(mergeNode)
# ファイル読み込み
counter = 0
for file in meshFiles:
if(file.endswith('.fbx')):
fullPath = folderPath + file
fileNode = hou.node(".").createNode("file")
fileNode.parm("file").set(fullPath)
mergeNode.setInput(counter, fileNode)
counter += 1
フォルダの中身を見てfbxファイルを読み込んでfileノードに割り当てていく。
読み込んだ後はキーボードのLを押せば整列する。