記事一覧

LSystem


HoudiniのLSystemの覚書。

Lsystem1_0.jpg


シェルフからLSystemを実行すると、デフォで木の枝状のものがワイヤーで配置されます。

Lsystem1_01_.jpg


○ワイヤーをチューブにする

ワイヤー状の木をオブジェクト化します。

Lsystem1_03_.jpg

GeometryタブのTypeを「Tube」にすると、枝がポリゴン化されます。


○Rules

Lsystemノードの「Rules」タブに暗号みたいな構文を書くことで、枝伸ばしたり花を咲かせたりします。
最初は意味不明ですが、解ればそんなに難しくはないです。

Lsystem1_05.jpg

とりあえずデフォでRuleが入ってますが、消してゼロからやってみます。

○基本

「Premise」は根本、幹にあたる部分。ここからスタートしてRuleで指定した「A」やら「B]やらにつなげていきますが、ここだけでも枝とか作ることはできる。

Lsystem1_06.jpg

基本になるのが「F」。これが枝の長さ1単位になる。Fと入れると1本の枝ができる。

 F  :枝を1のばす
 H   :半分のばす
 f  :枝1つ分の空白
 h   :半分空白

Lsystem1_07.jpg

+  枝が曲がる。(正面から見て横に曲がる)
-  枝が+の逆方向に曲がる

&  これも枝が曲がるが、前後の方向に曲がる。( ^で逆方向)

曲がる角度は設定のValues→Angleの角度。

Lsystem1_08.jpg

/ 軸が回転する(¥で逆方向)

軸回転もValue→Angleの角度で回転する。


○分岐

Lsystem1_09.jpg

[]で囲まれた部分がそれぞれ分岐する。

例) [+F][F][-F]

3つに分岐する。それぞれ頭に+など入れて角度を変えないと枝が重なってしまう。

○Leaf

葉っぱや花を付ける場合は、それ用のオブジェクトを用意し、
L-systemノードの上の「J」「K」「M」に接続。
接続しただけでは表示されない。それぞれの記号をRuleに書くことで表示される。

Lsystem1_11.jpg

例えば「F+FJ」と記述した場合、F+Fの後、「J」に接続されたオブジェクトが表示される。

Lsystem1_12.jpg


○RuleとGenerations

Ruleの項目に A=FF+F とか B=H-HH とiいう感じで定義する。
最初のPremiseに「FA」と書くと、Fで枝を1つ伸ばした後、Aの「FF+F」を実行する。

Lsystem1_10_.jpg

例)
Premise  FA
Rule 1   A=+F-F


Lsystem1_10.jpg

Premise  FA
Rule 1   A=+F-FA

Rule Aの最後にAがある。
「+F-F」の後Aを繰り返す。Generationsの回数だけ「+F-F」を実行することになる。

Lsystem1_13.jpg

Generationsの回数はGeometoryタブで指定する。


○Generationによって、Ruleを変える

5世代まで枝を生やし、6世代で花を咲かすとかそういう場合に。重要。

A: t<5 =+F-FA
A: t>=5 =J


generation=4まで枝が伸び、generation=5でJに指定しているオブジェクト(花など)が付きます。

Lsystem1_14.jpg


○その他オプション

T  重力の影響を受ける。設定のgravityの数値で変化。

 世代が進むほど長さが短く(長く)なる。Value→Step Size Scaleの数値で変化。


○チュートリアル

https://vimeo.com/51771303

丁寧に細かく説明されているのでオススメですが、ある程度知識を付けてから見た方がいいと思う。

コメント

コメントの投稿

非公開コメント

月別アーカイブ

FC2カウンター