これはなに?
COMITIA115(2016/01/31 於:東京ビッグサイト)にて頒布された
Houdini実践ハンドブックWrangle×Python(サークル『魔法の蒸留水』)
http://majou.jp/archives/667/
の、Pythonの例文に取り組んでみたときのメモです。
p.10 「3 Wrangle x Python の実践」 3.1 Pointの移動
準備
中に入ったら(元からあるfile1は削除して)
gridを作成
pythonを作成
つなぎます
setPosition()
p.10にある例文を
Pythonノード内のPython Code欄に書いていきます
最初の2行はPythonノードを作成した時点で書き込まれているので、
そのあとの4行だけ。
(※この最初の2行については p.6 に記述アリ)
for point in geo.points():
pos = point.position()
pos += hou.Vector3(0,2,0)
point.setPosition(pos)
geo.points()
のpointsをpointにタイポしていて「あっれー」ってなったのはここだけのヒミツ
以下のように書き換えて遊んだりもします
for point in geo.points():
point.setPosition( point.position()+hou.Vector3(0,2,0) )
x = 0
y = 2
z = 0
pos = hou.Vector3(x,y,z)
for point in geo.points():
point.setPosition( point.position()+pos )
hmath.buildTranslate
p.10 二つ目の例文
for point in geo.points():
pos = point.position()
mtx = hou.hmath.buildTranslate((0,2,0))
pos = pos * mtx
point.setPosition(pos)
pos = pos * mtx
は代入演算子にしても可。pos *= mtx
まとめ
とりあえずp.10のPythonの例文だけ。
Wrangle x Python本、とらのあなで注文可能な模様
https://www.toranoana.jp/mailorder/article/04/0030/38/99/040030389986.html
僅少らしいです <[2]を書くタイミングで確認したら売り切れてました!
備考
サジェスト
hou.hmath.b
あたりとか、打ってる途中で入力補完が出ます
関数の説明
関数の引数を入力し始めると、関数の説明が出ます。
printやhelp
Python Code内にprint
やhelp()
を入れると
**「Houdini Console」**という別ウィンドウに表示されます。
行数が多すぎると流れちゃうので注意です。
例えば上図はhelp(hou.hmath)
したときの例ですが、冒頭部分は流れちゃって読めませんでした。(さすがにhelpはPython Shellで〜)
参考
setPosition
http://sidefx.jp/doc/hom/hou/Point.html#setPosition
公開されている日本語ドキュメントも意外と日本語化されてなかったりするのでおとなしく本家に行くのが早いことが多いです。
ちなみにHoudiniのPython環境については
こちらでもすこし触れています
Maya, Houdini, blender, Nuke でのPythonインタープリタ
http://qiita.com/it_ks/items/ae1d0ae01d831c2fc9ae#houdini