チュートリアル / 3ds Max:プラグイン活用で表現の幅を拡げよう!
第9回:tyFlowで地形を作成してForest Packを絡めてみよう!前編

  • 3ds Max
  • コラム
  • チュートリアル
  • モデリング
  • 学生・初心者
  • 映画・TV
tyFlowで地形を作成してForest Packを絡めてみよう!前編

こんにちは!
株式会社DEFT、代表取締役の子安と申します。

今回は前回の告知通り、tyFlowとForest Packを活用してシーンを作成していく手順を紹介させて頂ければと思います!

早速ですがtyFlowで簡単に地形を作成出来るのをご存じでしたか?
地形作成は古くから色々なプラグインやツールを使用して作成してきましたが、昨今はtyFlowで地形を作成することが多くなりました。

それではtyFlowで地形を作成している様子をご覧くださいませ!

このような感じでサクサクと地形を作ることが出来ます!

昔は数値標高モデル(DEM:Digital Elevation Mode)からHeightMapを取得して標準機能のDisplaceに適用したり、Vray DisplacementModで地形を作成しておりましたが、tyFlowを使うと簡単に、かつ直感的に編集出来ることがお分かりいただけたかと思います。

今回はtyFlowを使用して地形を作成し、更には地形を利用してForest Packで樹木を生成出来ればと思っております。

まずtyFlowの地形作成に関してはオペレーターの特性をお伝えしたいので、前編はtyFlow の地形作成(Terrain系オペレーター)の紹介、後編でForest Packを絡めて行ければと思っております。

それでは早速tyFLowで地形作成のオペレーターを紹介していきます!

tyFlowの使い方やインストール方法は以前の記事を参考にして頂ければ幸いです。

今回はtyFlow FREE v1.131を使用していきます。

- tyFlowのTerrainオペレーターの紹介 -

tyFlowエディターを開くと下のオペレーターの中に”Terrain”が含まれるオペレーターが20個程あります。

tyFlowエディターを開くと下のオペレーターの中に”Terrain”が含まれるオペレーターが20個程あります。

それらが地形を作成するのに必要なオペレーターとなります。

ちなみに概ねアイコンのデザインで租借出来る箇所も御座いますが、公式サイトにも解説の無いオペレーターなどありますので紹介していければと思います。

1.Birth Terrain

Birthか

寝ても覚めてもtyFlowの基本はBirthから。

このオペレーターをtyFlowエディターのウィンドウにドラッグ&ドロップするだけで地形のベースが作成されます。

シーン内に地形の元となる平面が配置されます。

このようにシーン内に地形の元となる平面が配置されます。

加えて、地形ごとに名前を設定することができます。
この名称を「グリッド名」と呼びます。

2.Object to Terrain

Object to Terrain

1で作成した地形にさらにアレンジを加えたい時などに便利です。
別のオブジェクトの形を地形に合体させる事が出来ます。

スフィアを配置し、地形の平面に重なるように配置します

スフィアを配置し、地形の平面に重なるように配置します。

Object to Terrainを追加し、オブジェクトリストにSphereを追加すると指定したジオメトリを取り込む事ができます

Object to Terrainを追加し、オブジェクトリストにSphereを追加すると指定したジオメトリを取り込む事ができます。

3.Terrain Clear

Terrain Clear

フロー内の地形をピンポイントで削除する事が出来ます。

2つの地形をひとつのフローにまとめます

例えば、このように2つの地形をひとつのフローにまとめます。
Event001(黄色の平面)は”terrain”というグリッド名にします。
Event002(青い平面)は”terrain2”というグリッド名にします。

Terrain Copy Outオペレーターを追加してTerrain ClearのEventに接続します。

Terrain ClearオペレーターのClear GridsにあるGrid Names:のドロップダウンリストから、先ほどのグリッド名”terrain”(Event001(黄色の平面)を選択します。

Terrain ClearオペレーターのClear GridsにあるGrid Names:のドロップダウンリストから、先ほどのグリッド名”terrain”(Event001(黄色の平面)を選択します。

こちらの設定で黄色い平面だけ削除されます。
このようにグリッド名を管理することでピンポイントで削除することができます。

4.Terrain Color

Terrain Color

地形に色を加える事が出来ます。

オペレーターをフローに追加するとtyFlowEditorの右パネルに各パラメーターが表示されます

オペレーターをフローに追加するとtyFlowEditorの右パネルに各パラメーターが表示されます。

基本のプリセットはこのようなカラーになっておりますが、カスタムカラーを追加する事も出来ます。

テストでColor Layer PropertiesのColor項目でGradient(custom)を選び、高さによって色が変わる設定

こちらはテストでColor Layer PropertiesのColor項目でGradient(custom)を選び、高さによって色が変わる設定にしております。
高い場所はグラデーションの緑になる設定です。

このように地形に色を指定出来るオペレーターとなります。

5.Terrain Copy Out

Terrain Copy Out

こちらは3番目にご紹介したTerrain Clearですでに使用しておりましたが、次のEventに地形をコピーする役割を持っております。

6.Terrain Display

Terrain Display

こちらはBirth Terrainオペレーターを追加した際に、セットでEventに追加されるものです。

ビューポート上に表示する内容を様々選べるオペレーター

ビューポート上に表示する内容を様々選べるオペレーターとなります。

該当するグリッド名の表示、カラー、自己照明、スペキュラーの量などとなります。

7.Terrain Erosion

Terrain Erosion

こちらは浸食(雨によって山が削られる状態など)を作成するオペレーターとなります。

前段階まで使用していたシーンにTerrain Erosionを追加

前段階まで使用していたシーンにTerrain Erosionを追加してみます。
ディテールが入っているのが分かります。

山のような地形

少し分かりづらいので、山のような地形を用意してみました。

Terrain Erosionを追加

上の地形にTerrain Erosionを追加してみました。
雨により浸食された地形が表現され、リアルになってきますね!

追加したオペレーターはたったこれだけ

追加したオペレーターはたったこれだけです。
Terrain Noiseオペレーターはまだ紹介しておりませんので、後で説明させて頂きます。

設定パネル

設定パネルとなります。
雨による浸食の度合いなど様々な設定が出来ますが、今回はRain SettingsにPresetという項目があるのでこちらを紹介させて頂きます。

プリセット

プリセットを開いてみました。様々なプリセットがありますね!

今回はHeavy Rainというプリセットを試してみました。

Heavy Rainというプリセット

こちらも素晴らしい表現ですね。
地形を作る際は是非Erosionを追加してみてください。

8.Terrain Filter

Terrain Filter

名前の通り、様々な条件を元にフィルターを適用できます。

Terrain Filterのモード

このようなモードが用意されております。

試しにクランプを選んでみましょう。

モードをClampに設定し、高さ20の値を入れてみました

モードをClampに設定し、高さ20の値を入れてみました。
綺麗にクランプされました!

これはこれで面白いですね!
山を削ってあるエリアだけ整地されたような場所にはとても良い表現だと思います。

9.Terrain FX

Terrain FX

Terrain FXオペレーターは地形にいくつかの効果を与える事ができます。

プリセット

プリセットも用意されております。
Terrain ErosionやTerrain Filterに近い感じもしますが、やや抽象的な名前が多く見受けられます。
Pietted (穴あき)を適用してみましょう。

Pittedを適用

Pittedを適用してみました。
言わんとしているニュアンスは何となく伝わりますね(笑
シャープな尾根を表現する際など良さそうです。

10.Terrain Liquid

Terrain Liquid

地形に対して、水の表現を可能にします。

試しにTerrain Liquid内のInitial Liquid heightに20の値を入れて、Terrain Liquidを適用してみました。

しっかりと水が張られていました

しっかりと水が張られていました。

さらに水のシミュレーションも可能なので蒸発率に値を入れてテストしてみます。

水のシミュレーションも可能なので蒸発率に値を入れてテストしてみます

Evapolation(蒸発)Rateに0.002と入力します。
この数値は液体量に対する蒸発率となります。

小さなシーンでスタートしてしまったため、液体も少なく入力した数値はとても低い値となりましたが、しっかりとシミュレーションされました。

今後大きなシーンでテストしてみたいです。

11.Terrain Mesh

Terrain Mesh

通常のパーティクル表現に使用するMeshオペレーターと同じく、Terrain Meshオペレーターを追加しないと、レンダリング時にレンダリングが出来ないので注意してください。

Render Onlyのチェックでレンダリングのみ可能となり、オフにするとForest Packや他のシミュレーションツールなどでエミッターや衝突判定などに使用できます。

Render Onlyのチェックでレンダリングのみ可能となり、オフにするとForest Packや他のシミュレーションツールなどでエミッターや衝突判定などに使用できます。

また、他にもレンダリング以外のメッシュとして取り扱う場合や、MaterialIDのセットアップ、頂点カラーの割り当てやメッシュの書き出しなどが行えます。

12.Terrain Noise

Terrain Noise

Terrain Noiseはノイズマップで起伏を表現するオペレーターです。

Terrain Noise

ここまでのオペレーターの紹介の中で常に入れていたものとなります。

ノイズのパターンを選んで、表現したい起伏を作成

ノイズのパターンを選んで、表現したい起伏を作成していきます。

13.Terrain Resample

Terrain Resample

グリッドの再サンプルが可能となります。

Relative(+/-)の数値を入れる事で、グリッドを再サンプル

Relative(+/-)の数値を入れる事で、グリッドを再サンプルします。
グリッドが256の場合、-1を入れると128、-2を入れると64、+1を入れると512、+2を入れると1024となります。

Absoluteはグリッドの値を直接入力することで、設定した解像度に変更できます。

14.Terrain Scatter

Terrain Scatter

地形上にパーティクルを発生させることが出来ます。
このオペレーターはTerrain Scatterからパーティクルに接続する必要がある為、下の画像のように接続します。

このように接続することでパーティクルを配置出来ます。

このように接続することでパーティクルを配置出来ます。
ShapeオペレーターのMesh項目からReference nodeで任意のジオメトリを選択することで、様々なオブジェクトを地形から生やす事も出来ます。
※パーティクルの数とジオメトリのポリゴン数によって処理が相当重くなる可能性があります。

ShapeオペレーターのMeshでCillinderを選択し、地形に細長いシリンダーを配置

ShapeオペレーターのMeshでCillinderを選択し、地形に細長いシリンダーを配置してみました。

色々表現の幅が広がりそうですね!

15.Terrain Slope

Terrain Slope

地形の形状を直感的に表現出来るオペレーターです。

Terrain Slopeオペレーターを追加すると、パネルにはベジェ曲線が表示される。

Terrain Slopeオペレーターを追加すると、パネルにはベジェ曲線が表示されております。

地形がベジェ曲線に近い形状となっている

ビューポートを確認すると、地形がベジェ曲線に近い形状となっております。

ベジェを調整すると編集した曲線の通りに地形が変形する

ベジェを調整すると編集した曲線の通りに地形が変形している事が分かります。
このように直感的に山の形状を作る事が出来るので非常に扱いやすいオペレーターです。

ベジェを火山のように調整し、7項目目のTerrain Erosionと9項目目のTerrain FXを追加

ベジェを火山のように調整し、7項目目のTerrain Erosionと9項目目のTerrain FXを追加してみました。
わずか3分程度の調整時間で、このような火山を作成出来ました!

16.Terrain Snow

Terrain Snow

地形に雪を積もらせるオペレーターです。

オペレーターの設定パネル

オペレーターの設定パネルはこのような内容です。

Terrain Snowオペレーターを追加し、少し数値を調整

Terrain Snowオペレーターを追加し、少し数値を調整してみました。
簡単に雪を積もらせる事が出来る、とても便利なオペレーターです。

雪が積もる標高をSnow Lineで調整することで、尾根にだけ雪を積もらせたりする事ができます。

雪が積もる標高をSnow Lineで調整することで、尾根にだけ雪を積もらせたりする事ができます。

15項目目のTerrain Slopeで作成した火山にもTerrain Snowオペレーターを追加してみました。

15項目目のTerrain Slopeで作成した火山にもTerrain Snowオペレーターを追加してみました。
ここから更に詰めていくとよりリアルな表現が出来そうです。

17.Terrain Tile

Terrain Tile
Terrain Tileオペレーターはその名の通り、タイリングに必要な項目が揃っています。

Terrain Tileオペレーターはその名の通り、タイリングに必要な項目が揃っております。
特にエッジのブレンドが高度で、地形のシームレス化やループのブレンドなどが容易に設定出来ます。

Terrain Loop をEventに入れた状態

Terrain Loop をEventに入れた状態です。
ModeをLoop Terrain edgesに選択するとEdgesのfalloff設定が表示されます。
Loopのエッジ処理を距離で設定する事ができます。

Loop Edgeの設定が終わった状態で、Terrain Tile(Loop)をEvent内でオフにします。

Loop Edgeの設定が終わった状態で、Terrain Tile(Loop)をEvent内でオフにします。
この時のエッジはオフにしているので未調整状態となります。

Event内でTerrain Tile(Loop)をオンにします。

Event内でTerrain Tile(Loop)をオンにします。
エッジの処理が変わりました。
地形のエッジの両端を観察すると、形状がシームレス化されたようです。

もう1つ用意していたTerrain Tile(Copy)をオンにします。

もう1つ用意していたTerrain Tile(Copy)をオンにします。
このオペレーターはTerrain TileのModeをCopy terrain into tilesに設定し、Copyの種類をDiagonal (grid) expansion(対角線に拡張)にしました。

エッジが綺麗に繋がってるのが分かるかと思います。
これで最低限の地形で山を連ねる事が出来ます。

18.Terrain Tools

Terrain Tools

Terrain Toolsオペレーターになります。

このオペレーターは地形グリッドの情報をスクリプトにプリントしたり、オブジェクトを地形にスナップする事ができます。

このオペレーターは地形グリッドの情報をスクリプトにプリントしたり、オブジェクトを地形にスナップする事ができます。

Grid Height infoが書き出されます。

このようにGrid Height infoが書き出されます。
Unreal EngineのZスケール情報などが記載されております。

19.Terrain Transform

Terrain Transform

こちらは、地形を後からオフセットで移動、スケールなどを調整する事ができます。

設定パネル

このような設定パネルとなります。

20.Terrain Warp

Terrain Warp

Terrain Warpオペレーターは地形に対してノイズマップなどを使い、地形に歪みを施すオペレーターです。

Terrain Warpの設定パネル

こちらがTerrain Warpの設定パネルです。
歪ませる為の設定がいくつか用意されております。

17項目目のTerrain Tileオペレーターの紹介で作成したループタイルを使用してみます。
この地形全体にTerrain Warpオペレーターで歪ませると、リピート感が払拭されそうです!

真ん中のグリッドを基準に左右上下に1枚ずつループさせて拡張

真ん中のグリッドを基準に左右上下に1枚ずつループさせて拡張しました。
リピート感が出てしまいますね。

リピート感を軽減

リピート感が軽減されましたね!
他にも用途は多々あるかと思いますが、あくまで一例として参考にして頂ければと思います。

20.Texmap to Terrain

Texmap to Terrain

Texmap to Terrainオペレーターになります。

設定パネル

設定パネルとなります。
オペレーターの名前通り、Height Map(グレースケール)を入れて地形を作成するオペレーターとなります。

こちらのHeightMap画像をTexmap to Terrainオペレーター内のTextureに入れてみます。

こちらのHeightMap画像をTexmap to Terrainオペレーター内のTextureに入れてみます。

テクスチャを入れただけで見事に地形が表示されました!

テクスチャを入れただけで見事に地形が表示されました!

21.Export Terrain

Export Terrain

Export Terrainオペレーターで作成した地形データのHeigh mapやNormal map,Color mapなどの書き出しが出来ます。

別のツールで再現したい方や、mapだけで管理したい方などはこちらのオペレーターで各々書き出します。
書き出したHeight mapは20項目目のTexmap to TerrainオペレーターのTextureに入れる事で、シンプルな地形データとして扱う事が出来ます。

Export Terrainオペレーターの設定パネル

Export Terrainオペレーターの設定パネルとなります。
様々な拡張子で書き出す事ができます。

今回はtyFlowのTerrainのオペレーターに関して説明させて頂きました!
次回はこちらの第2弾!いよいよForest Packを使いながらtyFlowの地形データを活かしていきたいと思います!

今回使用した3ds Maxバージョンとプラグイン情報、使用ソフトは以下の通りとなります。
3ds Max 2026.2
28.0-28.2.0.20659
V-Ray7.0 Update2 Hotfix1
tyFlow 1.131

製品購入に関するお問い合わせ
オートデスク メディア&エンターテインメント 製品のご購入に関してご連絡を希望される場合は、こちらからお問い合わせください。