Classic Erosionマニュアル

初めに

エロージョン(浸食)とは、水、熱応力などの自然の力によって岩や土砂を摩滅する自然の現象です。浸食はプロシージャル上のノイズだけの使用では表現しづらい自然の風景の独特な外観を作り出します。
『Classic Erosion』は、Terragen 4の強力なプラグインで、Terragen内でリアルな侵食をシミュレートします。ワークフローが大幅に効率化され、サードパーティ製の外部地形エディタを使用する事なく、Terragen内で完全に地形を生成、侵食、レンダリングする事が出来ます。
『Classic Erosion』は、ディスプレースメントシェーダで、侵食されていない地形をInput端子に取り込んで侵食します。さらに、『Classic Erosion』はテクスチャリング用の侵食データマップを提供します。
『Classic Erosion』は、3種類の浸食を提供します。Fluvial erosion - 水の流れによる浸食、Thermal erosion - 熱応力による浸食、River erosion - 特殊な河成侵食。


インストール

現最新バージョン1.1.41のフリー版でのインストール手順を解説します。

  • 公式サイト からダウンロードした"classic_erosion_for_tg4_x64_v1_1_4_1.zip"ファイルを解凍し、"classic_erosion_for_tg4_x64_v1_1_4_1.exe"のアイコンを起動します。
  • 使用承諾内容が記載されていますので、赤丸の「I accept the agreement(契約内容に同意します)」にチェックを入れ、[Next]ボタンをクリックします。
  • Terragenがインストールされたパスを設定します(インストーラは自動でTerragenのインストールフォルダを検索します)。変更が無ければ[Next]ボタンをクリックします。
  • インストールが終了しました。[Finish]ボタンをクリックします。



『Classic Erosion』ノードの使用

『Classic Erosion』シェーダノードは、"Displacement Shader"のカテゴリーにあるので、『Classic Erosion shader』をシーンに追加するには、トップバーの【Terrain】や【Shaders】やノードパレット、ノードネットワークのコンテキストの"Create Shader"などからアクセスする事が出来ます。下図は【Terrain】からのアクセス例です。
ノードリストの上部にある[Add Terrain]をクリックし、コンテキストの"Displacement shader"から"(Daniil Kamperov) Classic Erosion"を選択します。
他にも、ノードネットワークビュー上で未浸食地形のシェーダを右クリックし、"Displacement shader"から"(Daniil Kamperov) Classic Erosion"を選択する事も可能ですし、ネットワークビューの何もない空間で右クリックし、"Create Shader"から"Displacement shader"を経て"(Daniil Kamperov) Classic Erosion"を選択します。そして『Classic Erosio』の"Main input"に未浸食地形を接続します。

『Classic Erosion Shader』の複数のインスタンスを使用する事が出来るので、異なる設定を使用して再度地形を侵食させるための逐次処理や、異なるエリアを浸食させるための並列処理を可能にします。例えば、メインシーンの主要シェーダや、背景となるランドスケープの追加などです。


ライセンス

『Classic Erosion』ノードの初回アクセス時に、ライセンスを確認するためのダイアログが開きます。
  • Purchase a license(ライセンス購入):ライセンス購入のためのサイトがブラウザで表示されます。
  • Enter your registration codes(ライセンスコードの入力):購入時にメールで送られたライセンスコードを入力します。登録時の名前とシリアルナンバーを入力する事で、以降このダイアログは開きません。
  • Use free Version(フリー版を使用):無料で使用する場合はハイトマップに制限が掛かります。TG起動時に毎回このダイアログが開きます。



ノード・リファレンス

Node Type: Shader
このノードは、異なるパラメータがグループ化され、異なるタブに配置されたタブ付きのユーザーインターフェースを使用しています。グローバルパラメータはどのタブの外側にも配置され、常に表示されます。

設定

Enable 有効 シェーダの有効/無効を切り替えます。無効にすると、浸食の無い景観がレンダリングされます。
Seed シード 一定のランダム要素を生成します。浸食処理の多くはランダムな要因の影響を受けますが、このパラメータは乱数のシーケンスを定義付けします。以前と同じ効果を得る場合は、同じ数値を入力します。注意点として、『Classic Erosion』のアルゴリズムは完全な決定論的ではないので、同じシード値を使用しても浸食の結果が微妙に異なる場合があります。大規模な浸食などは、外観は同じようでも、細かい部分だけが異なる場合があります。
Random Seed ランダムシード 要素をランダムで生成します。注意点として、『Classic Erosion』アルゴリズムは完全に決定論的ではありません。つまり、同じシードが使用されていても、侵食の結果はわずかに異なる可能性があるという事です。大規模な侵食の特徴は同じままで、小さなディテールだけが異なる事があります。
Erosion duration 浸食期間 浸食シミュレーションの過程時間を定義します。このパラメータは、1.0より長い値に設定する事も出来ますが、デフォルト値の0.15でもかなり大きめの数値であり、結果的に浸食効果が顕著になる事に注意して下さい。0.1、0.05、それ以下のような短い過程時間の値は、主な元の景観の外観を変更せず、現状を維持しながら浸食のディティールを追加するのに役立ちます。
Erosion scale 侵食スケール 最大の侵食外観となる横方向のサイズをメートル単位で設定します。例えば、降雨時の流水に浸食されて出来た最大の峡谷の幅とその間の尾根の幅を設定します。注意点として、これらの外観の実際のサイズは、水の流れに影響を与える未侵食の地形にも依存するため、異なる場合があります。
Download ダウンロードボタン 『Daniil Kamperov::Classic Erosion』ノードを含むTerragenのプロジェクトが読み込まれた時に最新のアップデートがあると、このボタンが出現します。[Download]ボタンをクリックすると、ブラウザが起動して公式のアップデートファイルをダウンロードするサイトに移ります。
Auto calculate 自動計算 有効の場合、侵食パラメータや侵食されていない風景などで、何かのパラメータ値がシーン内で変更された場合、レンダリング処理の開始時に強制的に侵食効果を再計算します。リアルタイムで変化が確認出来る一方、処理負担が掛かります。浸食に影響を与えない『Classic Erosion』パラメータ(例えば、「Render」タブのパラメータ)は、変更されても浸食の再計算の引き金とはなりません。侵食シェーダは、パラメータやシーンの変更が重要で、再サンプリングや再侵食が必要かどうかを把握する事に長けています。しかし、場合によっては、重要な変更がなくても侵食パラメータや侵食されていない地形が誤って変更された場合の侵食再計算を防ぐため、または侵食された地形に満足している場合は、このパラメータを無効にしておいた方が良いでしょう。
Erode 侵食ボタン このボタンは、地形のサンプリングと侵食計算を手動で行います。注意点として、地形のサンプリングは必要な場合にのみ開始され、例えば、元の地形が前回のサンプリング以降に変更された場合などです。侵食計算も同様で、元の地形や侵食パラメータが変更された場合にのみ開始されます。
About バージョン情報 インストールされた『Classic Erosion』のバージョンと登録情報が表示されます。『Classic Erosion』が未登録の場合、このボタンを押すと登録ダイアログが表示されます。


Heightmapタブ

このタブには、侵食シミュレーションに使用するハイトマップに関連するパラメータが含まれています。
Heightmap position ハイトマップの位置 ハイトマップを配置する中心座標を設定します。
Heightmap size ハイトマップのサイズ ハイトマップのサイズをメータ単位で設定します。
Heightmap resolution ハイトマップの解像度 ハイトマップの解像度を設定します。解像度が高いほどディティールの細かな処理が可能になりますが、計算時間が長くなります。


Fluvialタブ

このタブには、河川侵食をコントロールするパラメータが含まれています。
Fluvial erosion strength 河川の浸食効果 Fluvial erosion strength: 河川侵食の効果度合を設定します。このパラメータは、水がどれだけ溶解した鉱物を運ぶ事が出来るかという土砂輸送能力をコントロールします。このパラメータは、1よりも大きい値に設定する事ができ、これにより浸食処理を高速化する事が出来ますが、"Rock softness"の値が高い場合は特に、浸食のクオリティを低下させる可能性があります。また、このパラメータ値を0に設定する事で、例えば熱浸食だけが必要な場合には、河川侵食を完全に無効にする事が出来ます。

Rock softness: 岩石マテリアルの柔らかさをコントロールします。より柔らかい岩ほどより速く浸食するため、浸食過程の速度をコントロールする事が出来ます。"Fluvial erosion strength"と"Rock softness"は、どちらも浸食の強さに影響を与えるパラメータであり、どちらか一方を増加させても他方を増加させた場合と同様の効果が得られますが、これらのパラメータの定義に由来するう違いがあります。強度が低いと水の輸送能力が低下するため、溶解土砂が早く落下し、柔らかさが弱いと、岩石の浸食が遅くなるが、溶解土砂が遠くに落とされる事を意味します。この結果、堆積物の分布や溝、浸食地形の形状が異なってきます。
Rock softness 岩の軟質
Downcutting 下方侵食(下刻) このパラメータは、下方侵食(下刻作用)の量をコントロールします。 これは追加の侵食力学であり、水が溶解していない物質を引きずって移動させる事により、河川の容量を超えて堆積物を輸送する事を可能にします。これにより、より深い溝ができ、山脈を形成するのに役立ちます。
下方侵食は、効果的に堆積物をその出所から遠くに輸送します。輸送距離を短くしたい場合、例えば、侵食/沈降をより速く交互に行うためには、このパラメータを0に設定するか、"Retardation of downcutting"をより高い値に設定します。
"Downcutting"パラメータは、1以上の任意の値に設定する事が出来ます。10、20、またはそれ以上のような極端な値でも場面の構成によっては役立つ場合があります。
Base level ベースレベル 垂直侵食が側方浸食(側刻)に変化する時期を定義します(河川の浸食が進行するにつれて川床は低下し、谷幅は広がります。川床を低下させるような浸食を下方浸食、多少とも斜めに働きかける浸食を側方浸食と言います)。川の形成時、この数値を調整する事で網状河川を形成します。
垂直侵食処理のベースレベルをコントロールします。これは、下方侵食処理が停止して堆積物を落とし始めるまで、下方侵食処理が侵食する事の出来る最低の標高です。この標高は地形全体で異なり、地形の傾斜、相対高度、流速などの要因によって異なります。このパラメータは、最大の谷を堆積物で埋めて谷底(Valley floor)を形成するのに役立ちます。"Base level"は、必要に応じて1より大きい任意の値に設定する事が出来ます。
Retardation of downcutting 下方侵食の遅延 このパラメーターは、下方侵食のための抑制力を追加し、特殊な力学をコントロールします。これは、下方侵食が停止してその負担を軽減させるために、未溶解の堆積物がすでに落下している堆積物によってどのように減速させるかを決定します。これにより、下方侵食の有無にかかわらず、侵食の両方のバリエーションを組み合わせる事ができ、一部のエリアでは深い水路(Deep channel)が、他のエリアでは沖積扇状地(Alluvial fan)を得る事が出来ます。
Random sedimentation ランダムな堆積 流体中の物質が沈積して留まる堆積物をランダムで生成します。川の形成時、この数値を調整する事で蛇行の数を加減します。
Flow volume 流量 河川に流れる水の流量をシミュレートします。数値が高いほど流量は大きく、浸食に影響を与えます。
Laminar flow 層流 層流のシミュレートを有効にします。谷幅の壁に近づくほど流速は小さくなり、谷幅の中心で最も流速が大きくなります。これは流体が谷幅の壁から摩擦抗力を受けるレイノルズ数を元にしており、このレイノルズ数が限界値を超えると流れが不安定になり乱流へと変わります。
例えばハワイのコオラウ山脈のような降雨によって山頂から地表まで浸食したような結果を得たい場合、1以上(例えば2、4、それ以上の10、50など)の高い値の"Downcutting"パラメータを使用する必要があります。沈積は、"Base level"パラメータの高い値で設定する事が出来ますが、奇妙に見えるかもしれないのを補うために"Downcutting"を0.4にすると良いでしょう。また、例えば"Downcutting"を10、"Base level"を4にした場合の実験も必要かもしれません。
上記画像には以下のパラメータを設定しました:
Duration: 0.2
Erosion strength: 1.0
Rock softness: 0.05(より細い谷を取得し、その分布を変更してより集中的な流れを強調する)
Downcutting: 20
Base level: 8(サンプル画像では8にしましたが、本来は1.0から少しずつ高い値に試していくのが良いでしょう)
"Downcutting"を0に設定すると、同じような結果を得る事も出来ます。これは、"Base level"の高い値が下方浸食効果を補うからです。


Thermalタブ

Thermal erosion model 融解侵食モデル モデルの種類はA、B、Cの3タイプがあり、それぞれ以下の設定パラメータの使用が制限されます。
-Model A: これは古い融解侵食であり、既存のプロジェクトとの互換性のために残されています。
-Model B: このモデルは、融解応力を岩石に均一に加えます。得られた岩石は腐食していないのと似た外観をしており、可能な限りその形を保っています。もちろん、高い融解侵食強度や長いシミュレーション時間が使用されている場合、結果として生じる岩石は元の現状を失う可能性があります。このモデルは、乾燥気候で頻繁に発生する侵食を模倣するのに役立ちます。
-Model C: このモデルは、岩石の形状を考慮に入れた不均一な融解応力をエミュレートします。例えば、完全に丸みを帯びた円錐台を侵食すると、その下に良好な崖錐の「裾」が付いた真っ直ぐな円錐台になります。しかし、元の円錐形が歪んでいると、その不規則性が侵食プロセスを促進し、制御し、複雑な形状になります。これは岩にそれが独特の「山」の外観を与えます。そのため、しばしば正しい融解侵食は適切な山のような風景を得るのに十分となります。
Thermal erosion strength 融解侵食 河川侵食の効果を設定します。(ABC)
Thermal effect size 融解効果サイズ 融解侵食の影響を受ける地形に特徴付けるサイズを設定します。

設定値は25メートル以下に設定する事を推奨します。しかし、より大きな値が役に立つ場合もあります。(ABC)
Smoothness 滑らかさ 岩の凸状部分の融解応力をコントロールする事が出来ます。数値が高いほど、これらの岩石が破壊されて崩れ落ちる可能性が高くなります。穏やかな河川侵食と組み合わせる事で、寒い気候でしばしば存在する山の形を得るために役立ちます。(C)
Min angle affected 作用する最小角度 この設定角度以上に傾斜している外観のみに影響します。(A)
Talus angle 崖錐角度 融解侵食によって発生した破砕物は、指定した角度によって斜面を形成しながら滑り落ちます。崖錐とは、急斜面から落下した岩屑が崖の麓に堆積して形成する急斜面(30~40°)で円錐形の地形を指します。(ABC)
Talus settling 崖錐沈殿物 崖錐に溜る沈殿物の量をコントロールします。(BC)
Talus washing away 崖錐の洗い流し 顕著な山脈を生成するには、川や融解による浸食を同時に使用する必要があり、現実的には水流によって流し出されるのですが、このプラグインでは地形によって斜面が多すぎたり、谷を埋めてしまう場合があります。このパラメータは、強制的に崖錐の地形に溜った沈殿物を押し流す事で解決します。この機能は地形ではほとんど有効ではないため、場合に応じて使用する必要があります。(BC)


Riversタブ

Rivers mode 河川モード 侵食アルゴリズムを調整して、川を彫る事が出来ます。チェックを入れる事で、他の多くのパラメータがこのモードにより内部的にコントロールされるため無効になる事に注意して下さい。無効になるパラメータはグレー表記され、パラメータの編集は出来ません。
Headwaters density 源流密度 平方キロメートルあたりの源流の数を設定します。
Max rivers depth 川の最大深度 川の最大深度をメートルで定義します。
Rivers width 川の幅 川の挙動をコントロールし、水量が十分に多い場合はより幅広い川を形成するように促進します。
同じ"川"でも大雨の後に残った"水路"は、従来の川とは異なります。違いは、"降雨"による水路は寄せ集められた雨滴が小さな小川を形成して出来上がるので、特定の"源流点"を持たないという事です。これらの小川は降雨が終わった後には消えてしまうのに対し、恒久な川は一般的に地下の泉などの幾つかの水源から始まり、永続的に流れます。この『Classic Erosion』の"Rivers mode"は、水源からの川を対象とし、水源位置はランダムに配置されます。そのため、任意の場所に正確な水源を配置する事は出来ません。一時的な小川については、現状の機能では物理的に簡略化されているため適切ではありませんが、特定の設定を使用する事で良い結果を得る事が出来ます。
この場合は、"Rivers mode"を使用せず、"一般的な"浸食が必要です。低い継続時間(0.25未満)、低い浸食力(0.5未満)、高い下方侵食(限りなく1に近い1以上)の設定が必要です。くっきりとした水路を得る場合は低いベースレベル(または0レベル)を使用します。ランダムな堆積パラメータを使って幾つかのランダムな水路を追加する事も出来ますが、結果が悪化する可能性があります。
上記画像には以下のパラメータを設定しました:
Duration: 0.1(0.05のようなもっと小さな値を試してみる事も出来ますが、この場合は浸食力を高く設定するか、1.0以上の下方侵食を使用する必要があります)
Erosion strength: 0.15
Softness: 1.0
Downcutting: 1.0
Base level: 0.12
Random sedimentation: 0.5
Erosion scale: 1000(比較的高い数値を使用する事で、場合によっては良い結果を得る事が出来ます)
結果はほとんど変更の無い地形ですが、降雨の間に形成される一時的な小川の水路が得られます。


Renderタブ

Border blending ボーダーブレンド 浸食ハイトマップの有効範囲と隣接する外側領域との境界の滑らかな変遷をコントロールします。
Render outer area(terrain) 外領域のレンダー(地形) 浸食ハイトマップの有効範囲外にある未浸食地形をレンダリングします。例えば、侵食シェーダを適用して選択的に一部の領域を侵食し、他の地形を元のまま残す事が出来ます。
Outer displacement offset 範囲外のディスプレースメントのオフセット 浸食ハイトマップとの境界のオフセット値を設定します。"Render outer area"が有効の時は、自動で調整されるためにグレー表記(設定不可)になります。
Render original HF details 元のHFディティールをレンダー 'HF'は'High Frequency(高振動数)'を意味します。ハイトフィールドで表現するには小さすぎる元の地形のディティールをレンダリングします。
Mask by deposition 沈殿によるマスク 十分な沈殿/流量がある場合、小さなディティールのレンダリングを防止します。
Mask by flows 流量によるマスク
Render water surface 水面をレンダリング 川モードの水面をレンダリングします。このサーフェスはまだ透明ではないため、水面レイヤーを追加して元の河床を復元するために"Water depth(水深)"マップを使用する必要があります。後でその方法を説明します。
Water level adjust 水位調整 川の水位を設定します。


Mapsタブ

Enable maps マップを有効 チェック時、マップ出力を使用可能にします。マップはシェーダのカラー出力に出力され、"Red to scalar"、"Green to scalar"、"Blue to scalar"のTGの『Function』を使用して分類する事が出来ます。
Red レッド "Red"、"Green"、"Blue"の各パラメータを、マップに対応する色チャンネルに割り当てます。
・Deposition map(川モードの土手マップ)
・Flow map
・Wear map
・Streamline map
・Water depth map-現在バージョン1.06では、"Water depth map"の出力に未対応です。


"Streamline map"は特殊マップであり、水の流れの中に流線を表示します。氷河の質感を与える事に有用です("Laminar flow"がこれに役立ちます)。
Green グリーン
Normalize wear map 摩耗マップの均一化 チェック時、摩耗マップを均一化処理します。
Normalize deposition map 堆積マップの均一化 チェック時、堆積マップを均一化処理します。
マップの使用法
3つのマップと解像度が1024のハイトマップを使用してレンダリングされた画像例(Classic Erosionの無料版と完全互換です):
ここで説明している手法を用いたプロジェクトファイルを以下からダウンロード出来ます: maps.tgd

まず、「Maps」タブで"Enable maps"を有効にし、必要なマップをRGBチャンネルに割り当てる必要があります。
次に、3つの変換(Convert)シェーダとして、『Red to scalar』『Green to scalar』『Blue to scalar』を作成する必要があります。オプションで、『Colour adjust shader』を追加し、マップを微調整する事が出来ます。これによりすべてのシェーダ(例えば『Surface layer』に派生マップを与える事が出来ます。


Maskタブ

Mask by shader シェーダによるマスク 『Classic Erosion』シェーダの"Mask"入力端子に、選択したシェーダを関連付けして浸食のマスキングを有効にします。
Invert mask マスクを反転 設定したマスクの変転を有効にします。
Masking mode マスクモード マスクモードを切り替えます。
・Mask as blend: 典型的なブレンドモード、未浸食と浸食地形をブレンドします。
・Mask as erosion strength: マスク入力を侵食力として処理する事で、マスク入力は侵食過程をコントロールする事が出来ます。
・Mask as rock softness: 上記と同じですが、マスクは岩の軟質をコントロールします。
・Mask as precipitation amount: マスク入力は、さまざまなエリアの地形に降った水の量をコントロールします。
Mask as thermal erosion strength 融解侵食力としてのマスク チェック時、上記で設定したマスクを融解浸食用として適用します。
お気に入りの機能の1つ、"Masking mode"としての"Mask as precipitation amount"について。全てのマスクモードは景観を部分的に浸食する事を可能としていますが、"Mask as precipitation amount"は特別な方法で浸食を行います。それは特定のエリアの降雨量を設定します。他のすべての風景も侵食する事もありますが、河川侵食は選択されたエリアでのみ開始される事に注意して下さい。これは素晴らしいツールです。簡単な場合では、『Simple shape shader』は、『Classic Erosion』シェーダのマスク入力に非常に適しています。

『Distribution shader』や『Surface layer』を使用すると、さらに複雑な動作が可能になります。例えば、地形沈降の単純なモデルを作成する事が出来ます。現実世界の降水量は、通常、地域によって大きく異なります。簡単な例として、山がある場合、大気からの水は凝縮され、主にこれらの高山(より低気温やその他の要因により)に降り注ぐため、低地よりもはるかに侵食されます。この一連の筋書きは、『Distribution shader』を使用してシミュレーションする事が出来ます。

ここで説明している手法を用いたプロジェクトファイルを以下からダウンロード出来ます: precipitation.tgd

最初に『Classic Erosion』のノードを無効にしてレンダリングした画像:

次に『Distribution shader』を追加して、主に高地を選択するように設定します。

最後に "Mask as precipitation amount"モードでマスクを使用して、『Classic Erosion』マスク入力に『Distribution shader』を接続する事でシーンを浸食します。結果はまさに"あらゆる場所の侵食"よりも面白くなります:

山岳地帯と低地をより広範囲で表現した結果は、さらに顕著で興味深いものになります。
山々をより積極的に選び、すべての低地を黒くしてから、比較的局地的な雨をシミュレートするために、これらの黒い部分に0.05のスカラを加えるのも良いアイデアとなるでしょう。


HDDタブ

このタブでは、特定のファイルに侵食データを保存し、後々復元する事が出来ます。
Erosion data file 浸食データファイル フィールドに保存ファイル名を入力し、[保存(ディスクアイコン)]ボタンを押す事で、浸食データをファイルダイアログで指定した場所にファイルとして保存します。拡張子は".erd"。
Read erosion data on project loading プロジェクト読込時に侵食データを読み込む シーンプロジェクトファイルを開いた時に、"Erosion data file"パラメータで指定したファイルを読込みます。
Read now 読込み フォルダアイコンボタンをクリックし、保存したファイル名を選択する事で自動的に浸食データファイルを読込みます。
Export maps マップのエクスポート 拡張子は標準の ".png"に設定されているため、保存後ファイルを表示する事が出来ます。ユーザーが "[map]"を指定していない場合、強制的にファイル名に"[map]"が追加されます。そして、ファイル名に "[map]"を使用する例として、デフォルトのファイル名に"abc.[map].png"を追加しました。これはユーザーが変更する事が出来ます。"[map]"は、ファイル名のどの部分にも指定できますが、"."の間にある必要はありません。例えば、"canyon_[map]map.png"のようなファイル名を入力すると、結果として"canyon_flowmap.png"というファイル名でエクスポートされます。"[map]"が含まれていない場合、この接尾辞は ".png"拡張子の直前に追加されます。これは自動的にも追加されるため、ユーザーは"canyon"と入力し、結果のマップは"canyon.flow.png"になります。["マップ"]の複数の入力も許可されています。すべてがマップ名に置き換えられます。
最終更新:2020年10月06日 23:09