別メンバーがHoudiniで演出を作っており、プレビューのし易さを加味したい。
エフェクトで利用するスプラインをHoudiniで作成→Unreal Engineに持っていくというワークフロー
P
,N
,tangentu
)をcsvでエクスポートimport csv
file_name = 'spiral.csv'
node_path = '/obj/geo1/OUT'
node = hou.node(node_path)
def attribute_to_csv_format(attr_name, point):
"""指定されたアトリビュートの値をフォーマットします。"""
attr_value = point.attribValue(attr_name)
return '(X={}, Y={}, Z={})'.format(attr_value[0], attr_value[1], attr_value[2])
lines = []
lines.append("---,N,P,tangentu")
def Export():
for point in node.geometry().points():
N = attribute_to_csv_format('N', point)
P = attribute_to_csv_format('P', point)
tangentu = attribute_to_csv_format('tangentu', point)
line = 'p{0},"{1}","{2}","{3}"'.format(point.number(), N, P, tangentu)
lines.append(line)
with open(f'D:/_WorkingSpace/{file_name}', 'w') as f:
for line in lines:
f.write(line + '\\n')
---,N,P,tangentu
p0,"(X=-0.0009425273747183383, Y=-0.9994012117385864, Z=0.0345878079533577)","(X=400.0, Y=0.0, Z=0.0)","(X=23.64675521850586, Y=-7.744760990142822, Z=198.4460906982422)"
p1,"(X=-0.0009425273747183383, Y=-0.9994012117385864, Z=0.0345878079533577)","(X=394.0679626464844, Y=1.9428571462631226, Z=-49.782352447509766)","(X=36.055419921875, Y=-7.787370681762695, Z=196.56898498535156)"
p2,"(X=-0.0009425273747183383, Y=-0.9994012117385864, Z=0.0345878079533577)","(X=382.0091857910156, Y=3.885714292526245, Z=-98.08329010009766)","(X=60.482322692871094, Y=-7.842398643493652, Z=190.47409057617188)"
.
.
.
ボタンを追加。ボタンを押すたびにExport関数を実行するように設定
参考 http://nomoreretake.net/2020/01/15/houdinipythonsopandbutton/