Null SOPなどを使い、ボタンを押すとPythonコードを実行できるようにする。
Pythonコードを実行するノードの作成
node = hou.pwd()
geo = node.geometry()
import hou
node = hou.node("../rop_fbx5")
for i in range(0, 24):
hou.setFrame(i)
node.render()
FBX出力ノードの出力が実行されるようになっている。ファイル名に$Fを入れてフレームごとに名前を変えて出力されるようになる。
複数の連番保存Null SOPを一括で実行する場合
各Null SOPのボタン名が”runScript”となっていると仮定し、同じようにNull SOPをつくり、スクリプトは以下のようにする。
node = hou.pwd()
geo = node.geometry()
import hou
# tree
node = hou.node("../export_trees")
node.parm("runScript").pressButton()
# rail
node = hou.node("../export_rail")
node.parm("runScript").pressButton()
0埋めして出力する場合
s@file_name = "SM_BlendMesh_" + sprintf("%02d", int(@Frame)) + ".fbx";
Detail Wrangleでsprintf()を使って0埋めした文字列をつくっておきます。
ROP FBXでの出力はこのようにしておきます。
Expressionに直接書き込む場合。
$HIP/file_`padzero(4, $F)`.bgeo