LSystem
- 2016/06/22
- 21:35
HoudiniのLSystemの覚書。
シェルフからLSystemを実行すると、デフォで木の枝状のものがワイヤーで配置されます。
○ワイヤーをチューブにする
ワイヤー状の木をオブジェクト化します。
GeometryタブのTypeを「Tube」にすると、枝がポリゴン化されます。
○Rules
Lsystemノードの「Rules」タブに暗号みたいな構文を書くことで、枝伸ばしたり花を咲かせたりします。
最初は意味不明ですが、解ればそんなに難しくはないです。
とりあえずデフォでRuleが入ってますが、消してゼロからやってみます。
○基本
「Premise」は根本、幹にあたる部分。ここからスタートしてRuleで指定した「A」やら「B]やらにつなげていきますが、ここだけでも枝とか作ることはできる。
基本になるのが「F」。これが枝の長さ1単位になる。Fと入れると1本の枝ができる。
F :枝を1のばす
H :半分のばす
f :枝1つ分の空白
h :半分空白
+ 枝が曲がる。(正面から見て横に曲がる)
- 枝が+の逆方向に曲がる
& これも枝が曲がるが、前後の方向に曲がる。( ^で逆方向)
曲がる角度は設定のValues→Angleの角度。
/ 軸が回転する(¥で逆方向)
軸回転もValue→Angleの角度で回転する。
○分岐
[]で囲まれた部分がそれぞれ分岐する。
例) [+F][F][-F]
3つに分岐する。それぞれ頭に+など入れて角度を変えないと枝が重なってしまう。
○Leaf
葉っぱや花を付ける場合は、それ用のオブジェクトを用意し、
L-systemノードの上の「J」「K」「M」に接続。
接続しただけでは表示されない。それぞれの記号をRuleに書くことで表示される。
例えば「F+FJ」と記述した場合、F+Fの後、「J」に接続されたオブジェクトが表示される。
○RuleとGenerations
Ruleの項目に A=FF+F とか B=H-HH とiいう感じで定義する。
最初のPremiseに「FA」と書くと、Fで枝を1つ伸ばした後、Aの「FF+F」を実行する。
例)
Premise FA
Rule 1 A=+F-F
Premise FA
Rule 1 A=+F-FA
Rule Aの最後にAがある。
「+F-F」の後Aを繰り返す。Generationsの回数だけ「+F-F」を実行することになる。
Generationsの回数はGeometoryタブで指定する。
○Generationによって、Ruleを変える
5世代まで枝を生やし、6世代で花を咲かすとかそういう場合に。重要。
A: t<5 =+F-FA
A: t>=5 =J
generation=4まで枝が伸び、generation=5でJに指定しているオブジェクト(花など)が付きます。
○その他オプション
T 重力の影響を受ける。設定のgravityの数値で変化。
” 世代が進むほど長さが短く(長く)なる。Value→Step Size Scaleの数値で変化。
○チュートリアル
https://vimeo.com/51771303
丁寧に細かく説明されているのでオススメですが、ある程度知識を付けてから見た方がいいと思う。