Houdiniで植物を育てる

Sep 13, 2025
操作方法

Houdiniの強い点は常にその手続き的な性質でした。いくつかのノードと小さい表現のセットを使用すると、複雑で自然主義的な結果を作成することができます。

長期的には、Houdiniは視覚効果業界で多くの大規模なプロダクションのバックボーンでした。しかしながら、その手続き的なアプローチのために、学ぶのが難しいと主張することが多い。

これは数年後に真実だったかもしれませんが、物事は変わりました。より多くのアクセス可能なライセンススキームとHoudiniのインタフェースの完全な復上では、それは小さなスタジオ、アーティスト、そして愛好家まで開かれ続けています。他のパッケージから来て、それはまだ非常に違う考え方です。

  • 30無料の3Dモデル

このチュートリアルでは、プログラムの概要を説明します。葉や草の基本的なモデリング技術で始まります。プラントの成長を分配するために、サンプリングVDBボリュームをカバーし、最終的にはVEXコードと除外ノードを使用してその場でジオメトリを生成します。

私たちはHoudiniについて誰が言っているかどうかを見るつもりです:あなたが手続き型上訴されると、あなたは戻ることは決してないだろう!

ファイルをダウンロードしてください このチュートリアルのために。

01.組織化されます

Make life easier for your future self by giving your shapes meaningful names

あなたの形を意味のある名前を与えることによってあなたの将来の自己のために人生を楽にする

葉を覆いたい破滅のモデルから始めます。あなたの形を意味のある方法であなたの形に名前を付けてください。これにより、後で異なる目的のためのジオメトリのグループ化が簡単になります。それを壁、板、レンガ、窓、ガラスに分割します。 Houdini Alembic Importはインポート時にパス属性を設定します。その後、スプリットノードまたはBLASTノードを簡単に使用して、必要な部分を選択できます。

02.葉を作成します

Make your leaves single-sided with a low poly count

あなたの葉を低ポリカウントで片面にする

破滅が施されていると、後で瞬時に使用するために個々の葉の作成を始める時が来ました。より現実的な結果が望まれる場合は、必ず本質からの参照画像を処理してください。葉が片面で、かなり低いポリカウントに必要です。カーブを外側の葉の形状に似せることで始まります。いくつかの表面テッセレーションを追加するために、リムシュノードを使用してください。柔らかい変換で、茎の中心を少し持ち上げます。緑色の色合いの色属性を追加します。

03.グラスストランド

Put as much variety into your grass strands as you can

あなたができるようにあなたの草のストランドに多種多様性を置く

床を覆うために草の個々の鎖も必要です。やはり、幅が変わる単純な片面多角形ストランドで十分である。一般的に言えば、より多くのバリエーションは常に良いです。しかし、5つの異なる形でさえ、あなたは非常に現実的な結果を達成するでしょう。私たちのセットアップが手続き的なので、後で簡単に追加することができます。すべてのメッシュが自分の足のピボットで原点を中心としていることを確認することが重要です。このようにして、私たちはそれらをまっすぐに使うことができます。

04.自然分布

Find a rule that will make your grass grow in a natural-looking way

あなたの草が自然のような方法で成長するようになるルールを見つける

草がどこに成長する場所を決めるのに多くの方法があります。自然配信に似たルールを見つけます。建物や瓦礫の覆われていない地面の至る所で草が成長します。成長は壁や岩に沿ってより密度が高く長くなる必要があります。地面をジオメトリから分離し、リムーシュノードを使用してかなり高いレベルの細分化を得ます。

05. AttributeTransfer

Use white points for the walls and grey for the ground

地面に壁や灰色のための白い点を使う

壁に白い点の色を加え、グレーのグラウンドに灰色を付けます。壁の色を地面にマッピングするには、AttributeTransferを使用してください。壁のベースの周りに合うように、ノード上のブレンド半径を微調整します。壁をVdbfrompolygonsでVDBに回します。 AttributeWrangleでは、VolumeSample関数を使用して各ポイントでVDB値を取得します。負の値で点を取り除きます。

06.属性を準備します

With some random settings you'll quickly have some great-looking grass

いくつかのランダムな設定を使えば、すぐにいくつかの素晴らしい草があります

コピースタンプを使用する前に、いくつかの属性が準備を必要とします。 vexでは、乱数のランプを駆動するために乱数を使用します。これはスケール分布を制御する視覚的方法です。同様に、色をランダムな緑に設定します。ストランドをわずかに異なる方向に点)するには、x方向とz方向にランダムなオフセットを追加することによって法線を変えます。 Voila、あなたは草を育てました!

07.登山植物

You'll need to write a solver for climbing plants

あなたは植物を登るためのソルバーを書く必要があるでしょう

登山植物のために、私たちは成長機構を模倣するためにvexで私たち自身のソルバーを書く必要があります。それは厄介に聞こえるかもしれませんが、私たちは一歩ずつステップで進みます。 vexのHoudiniリファレンスを使用することを忘れないでください。根の点を見つけるには私たちが草の上で使ったのと同じメカニズムで行く。地面の数ポイントで、壁の近くに始まります。

08.植物力

These are the three forces that govern the plants' growth

これらは植物の成長を統治する3つの軍隊です

仕事に3つの軍隊があります。最初に呼びかけて、地上から重力引出しに向けて指しています。 2つ目は、壁に沿ってランダムな方向を向くように、Wanderという名前のベクトルです。 3番目の力は壁と呼ばれ、最も近い障害物を向いています。これは植物の登山の欲求をエミュレートします。各成長反復で3つの力をすべて使用します。

09.苗を育てる

Grow the seedling in short segments

短いセグメントで苗を成長させる

現在、ポイント除去を使用してvexに飛び込む時間があります。 FORループでは、開始位置で初期化されている変数POSに加えて、短いセグメントの苗を成長させます。今のところ、アップベクトルに沿ってのみ成長してください。

パラメータをインターフェイスに公開するために、ch()およびchv()関数を利用することをお勧めします。その後、それらの値を対話的に変更することによってアルゴリズムの結果を簡単に実験することができます。

自然効果

The WANDER force gives your growth a more natural appearance

さまよう力はあなたの成長をもっと自然な外観を与えます

より自然な外観のために、さまよう力を加えます。各ステップでは、ノイズ関数に基づいてランダムな方向を計算します。このランダムベクトルは、シードが移動する方向を追加します。バランスを良くするために、2つの重み付け係数もインタフェースに導入し、強制的な強制を上下に拡大します。その結果、より多くのバリエーションでブドウが成長していますが、彼らは今会う障害物を浸透させています。これを回避するために、第3の種類の力は便利で壁の方向になる。

11.最終力

Finally, add the WALL force

最後に、壁の力を加えます

破滅の値と勾配VDBをサンプリングして、最後の力をVEXループに追加します。これはあなたにポイントと壁の間の距離、ならびに壁の法線方向を与えます。壁に向かって指す力を計算し、それを成長方向に加えます。 VDBを新しい位置に2回目の場合、点が壁の内側にあるかどうかを確認します。もしそうなら、ただ通常に沿って押し出します。

12.変化を和らげる

It's easy to fix things if your vines start looking unnatural

あなたのブドウが不自然に見え始めた場合、物事を修正するのは簡単です

ブドウはまだ自然には見えません。これは、各ステップで迅速に方向を変えることができるためです。前のステップと現在のステップの方向の間のソフトブレンドを滑らかにします。また、位置が壁から離れすぎると、成長を止めたいと思います。 VDBサンプルから取得した壁の距離が特定のしきい値を超えるかどうかを確認してください。そうであれば、ただのループから抜けてください。

13.分岐挙動

Getting your vines to branch is fairly straightforward

ブランチへのあなたのブランチを入手することはかなり簡単です

登山植物のもう一つの側面はまだ分岐する必要があります。しかし、これは達成するのに非常に簡単です。各成長工程には、特定の確率を分岐点にすることができます。次に、ポイント自体をルートとして使用して、マークされたポイントのそれぞれで再度成長アルゴリズムを実行します。

壁に沿ってエリアを埋めるために、より徘徊し、上向きになっているために、2回目のパスの成長パラメータを微調整することをお勧めします。

14.枝を終えてください

It's time to turn your points into real-looking branches

あなたのポイントを本物の枝に変える時が来ました

私たちは今、支店の成長に似たポイントのシーケンスを作成しました。ポイントのID属性を使用し、追加ノードを作成して個々の曲線に変換します。

UVテクスチャは、行とアンプに設定されます。列は曲線の長さに沿ってUVを提供します。これは、それから個々の長さに沿ってpscaleという属性に沿って傾斜します。多線ノードは、厚さに$ PSCALEを使用する管に曲線を回します。山とファセットを追加し、枝を確定します。

15.葉の場合

For the leaves, follow a similar technique to the one you used for the grass

葉のために、あなたが草のために使ったものと同様の技術に従ってください

instancing葉は早い草のストランドのように少し機能します。成長アルゴリズムから出てくる曲線に沿った配布属性を定義します。これは各ブランチの開始時にゼロ、次に先端の1です。その属性に基づいてカーブに沿ってポイントを配置するための散布を使用してください。 PSCALEを変えることをお勧めします。これらの点に準備された葉をインスタンスにインスタンスに使用します。

この記事は最初に登場しました 3D世界 問題225; ここで購入してください

関連記事:

  • 10トップHoudiniチュートリアル
  • Houdiniで始める方法
  • リアルな植物を映画4Dにする

操作方法 - 最も人気のある記事

グリッドとFlexboxでブログを構築する

操作方法 Sep 13, 2025

最後の2から3年のレイアウトが飛び越えて飛び越えて見たことがわかりました。これらの現代の�..


Redux Thunkを使い始める

操作方法 Sep 13, 2025

状態はReactアプリケーションの大部分です。そのため、REDUXとは一般的にペアになっています。�..


JavaScriptを使用したSVGをアニメートする

操作方法 Sep 13, 2025

JavaScriptでは、CSS3またはWebアニメーションAPIを使用しているブラウザでネイティブに実現できる�..


エルフメイデンのペイント方法

操作方法 Sep 13, 2025

このチュートリアルでは、エルフ乙女の魅惑的なファンタジーの肖像画を作成するための私のプ..


シンプルカラーチャートを作成する

操作方法 Sep 13, 2025

握る 色理論 数学や科学を学ぶことのように少し少し見えるように見えることができます。あなたはあなたがクリエイティブになり..


アーティストのためのコンセプトデザインのヒント

操作方法 Sep 13, 2025

ページ1/2: ページ1 ページ1 2ページ アニメーショ..


イラストレーターで完全に幾何学的ロゴデザインを作成する

操作方法 Sep 13, 2025

この短い イラストレーターチュートリアル 、 デザイナー パターソンになりま..


Mayaの爆発をシミュレートする方法

操作方法 Sep 13, 2025

ページ1/2: ページ1 ページ1 2�..


カテゴリ