フォルダ内のFBXファイルを一括で読み込む

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を押せば整列する。

タイトルとURLをコピーしました