地形マテリアル設定
地形全体の見た目を調整し、ライブバイオーム効果を設定します。
小さい画面では、幅の広い表を横にスクロールするとすべての列を読めます。
地形マテリアルは、それを使うオブジェクトの最終的な見た目を決めます。バイオームのプリセットは一つの地表を定義し、マテリアルの設定は全体を調整したり、指定した ID にライブ効果を加えたりします。同じマテリアルは、DPT Scatter の風とライブ Scatter Response にも使用できます。
一つの地表を直すならバイオームインスペクターを使います。Grass、Flower、Pebble、Mushroom、Custom Mesh の配置設定は 3D Scatter ガイドを参照してください。地形全体の法線を弱くする、風向きを変える、遠くの変化を減らす、特定のバイオームとその Scatter にライブ効果を加えるなど、広い範囲の変更にはマテリアルを使います。
正しいマテリアルを選んで始める
- 地形の MeshRenderer を選び、割り当てたマテリアルを開きます。
- Terrain Atlas では、専用の SH_DPT_VCTerrain シェーダーを使っているか確認します。付属マテリアルは DPT_VCTerrain_Mat です。
- 生成したカラーランプアトラス、細部テクスチャ配列、バイオーム数が、目的のライブラリのものであることを確認します。更新は地形ツールのテクスチャ生成機能を使います。
- 代表的な地表をいくつか含む、小さなテスト範囲を塗ります。
- 通常の全体倍率は 1 付近から始めます。一つずつ変更して比較し、改善しなければ前の値に戻します。
- この地形だけの設定が必要なら、大きな変更の前に専用マテリアルを用意するか、Make Standalone Copy を使います。
専用インスペクターが地形用のサーフェス設定を有効にします。生成アトラス、配列、バイオーム数はライブラリ処理の関連する出力です。一つだけ任意に差し替えると、入力同士が一致しなくなることがあります。
共有マテリアルの変更は共有されます。同じマテリアルを使うすべての Renderer に影響する場合があります。デモコントローラーも、指定したマテリアルか Renderer の共有マテリアルを書き換えます。シーンのオブジェクトを複製するだけでは、マテリアルは独立しません。
どの設定から変えるか
| 目的 | 最初に調整する場所 |
|---|---|
| 一つのバイオームだけ光沢が強い | バイオームインスペクターの Smoothness と元マップ。 |
| すべての地表の凹凸を弱くしたい | マテリアル全体の法線強度。 |
| 雨のときに特定の岩だけ光沢を強くしたい | その岩の ID を対象にしたライブスロットの Smoothness。 |
| 実際に川床を深くしたい | 地形の形状・パスツール。Parallax や Flow では物理的な水路を作れません。 |
| 遠くの模様が細かすぎる | 品質フェード、Anti-Tiling、テクスチャの Scale。 |
地表全体の設定
これらの設定は、地形のサーフェス描画に影響します。最終的な効果は、バイオーム自身の設定と生成マップにも依存します。全体の倍率が中立でも、元の地表が中立な設定とは限りません。
| 項目 | 上げたときの見え方 | 下げる場面 |
|---|---|---|
| Detail Tiling Scale | マテリアル全体で繰り返しが増え、模様が小さく見えます。 | 粒、亀裂、石が小さすぎるとき。バイオームのタイリングに掛ける倍率で、地形サイズではありません。 |
| Surface Normal Strength | 照明による細部の凹凸が強くなります。 | 細部が騒がしい、きつい、膨らみすぎて見えるとき。形状ではなく陰影を変えます。 |
| Surface Metallic Strength | 元の設定に応じて金属反応が強くなります。 | 普通の地面が金属に見えるとき。間違った元画像やチャンネル配置はバイオーム側でも直します。 |
| Surface Smoothness Strength | 磨かれたようなハイライトになります。 | 広い範囲が濡れた・プラスチックのように見えるとき。一つを直して別の素材を崩さないよう、複数の地表を確認します。 |
| Surface AO Strength | 素材の遮蔽データによる陰影が強くなります。 | 溝が暗すぎるときは下げます。Stylized Lighting では AO が影として扱われます。バイオーム側の AO Strength と Invert Height も確認してください。FAQも参照してください。 |
| Surface Emissive Strength | 発光する地表の出力が強くなります。 | 発光で細部が見えなくなるとき。元に発光情報がなければ、倍率だけで光る亀裂の模様は作れません。 |
| Surface Height Contrast | バイオーム境界で、高さ情報による切り替わりが強くなります。 | ブレンドがきつい、細かく分かれすぎるとき。「高さ」は素材の細部で、山の高度ではありません。 |
| Parallax Extrusion | テクスチャの凹凸による奥行きの錯覚が強くなります。 | 浅い視線角で歪むとき。0 はその視差処理を使わなくします。頂点やコライダーは動きません。 |
地形全体が騒がしく見える場合:まず全体の法線強度を少し下げ、ゲームカメラから視差を確認し、タイリングを確認します。すぐに全バイオームの設定を下げず、マテリアル側の調整だけで足りるか試してください。
パック PBR テクスチャの青チャンネルに保存された Height は、バイオームの Mapping ドロップダウンで MRAO + Height (B) を選び、Auto Generate で取り込みます。通常の MRAO では B は無視されます。Compile 時は既存の Generated Detail テクスチャが優先され、Height / Parallax はテクスチャの凹凸表現を変えるだけで Terrain Geometry は変更しません。
内蔵 Scatter では、Mesh Variant で Smoothness、Metallic、Emissive を設定します。生成 Mesh は UV3 に Metallic / Packed Roughness、Vertex Alpha に Emission Data を格納します。互換 Material がこれらを Decode し、Global Emission Control も引き続き結果へ影響できます。
急な Extruded Wall では、Terrain Sampler が Smooth Normal の補間によって Texture Projection が潰れるのを防ぎます。Bevel は Edge Shape を変え、Smooth Brush は Geometry を変えます。どちらも Projection Line の伸びを隠すためだけに必要な操作ではありません。古い Material でまだ線が見える場合は、最新の Terrain Shader Graph と Ground Sampler を使用していることを確認し、Projection と Normal 設定を確認してください。
Scatter Mesh の風設定
Wind セクションは、Wind を有効にした Scatter Mesh が共有して使用する値を設定します。各 Scatter Object は 3D Scatter 側の Enable Wind で風に参加します。Wind を無効にした Scatter は Wind Feature Path を使用せず、追加の Wind Bounds Padding も必要ありません。
| 項目 | 意味 | 調整の目安 |
|---|---|---|
| Wind Strength | Scatter の風変位全体の強さです。 | 低い値から始め、Mesh の根元と先端の両方を確認しながら上げます。大きな値では、動いた Geometry が早く Culling されないよう Scatter Settings の Wind Bounds Padding を増やす必要があります。 |
| Height To Tip | Root-to-Tip の Wind Mask を正規化するときに使う Object Space 上の高さです。 | Wind を有効にした Scatter Mesh のおおよその高さに合わせます。適切な値なら、根元は比較的固定されたまま、先端で Wind Strength を十分に受けられます。 |
| Wind Direction | Compass Heading と Vertical Pitch から作られる正規化済みの 3D 方向です。 | Heading で水平の向き、Pitch で上向き・下向きの成分を設定します。Material の共有値なので、同じ互換 Material を使う Wind 対応 Scatter が同じ方向を参照できます。 |
Height To Tip は Mesh の Scale 設定ではありません。 Object Space 上の高さを Wind Mask に変換する方法だけを変えます。Mesh 自体のサイズを変える場合は Scatter Object の Scale Min / Max を調整してください。
品質フェード
Parallax、Anti-Tiling、Seam Blend、Normal のフェードは、細部が画面上で小さくなるにつれて、それぞれの効果を弱めます。遠くの見た目を落ち着かせ、見えにくい細部に掛ける処理も減らせます。
項目名が「Distance」でも、正確なメートル単位の境界ではなく、フェードのスケールとして扱います。シェーダーは、画面の一画素に収まる地表細部の大きさにも反応します。カメラの視野角、解像度、見る角度によって、フェードが目立ち始める位置は変わります。
| フェード | 弱くなるもの | 調整の目安 |
|---|---|---|
| Parallax Fade Distance | テクスチャ細部の奥行き表現。 | 高くすると遠くまで残し、遠くの起伏が不要・邪魔なら下げます。 |
| Anti-Tiling Fade Distance | 模様の繰り返しを崩す変化。 | 中距離で見える繰り返しを抑えつつ、遠景が騒がしくないか確認します。 |
| Seam Blend Fade Distance | テクスチャ投影間のブレンド。 | Blend は World-oriented です。移動または回転する Object では値を下げて Projection のずれを目立ちにくくします。0 で無効になります。Geometry の Tile Weld を制御する設定ではありません。 |
| Normal Fade Distance | 細かい法線マップの陰影。 | 遠くでちらつく・粒状に見えるなら下げ、重要な細部が早く消えるなら上げます。 |
非常に小さい値や 0 は、該当する効果を除いたり、範囲を大きく制限したりします。通常の解像度・視野角のゲームカメラで判断してください。残したい細部に合わせて、バイオームと全体の強さも調整します。
繰り返す模様を目立たなくする
Anti-Tiling は、広い範囲に同じ画像を繰り返すときの変化を加えます。まず、対象バイオームの Anti-Tiling を有効にするか強くします。マテリアルの設定はその変化を調整するもので、バイオーム側が 0 なら期待する効果は出ません。
| 項目 | 意味 | 使い方の目安 |
|---|---|---|
| Rotation Patch Scale | 細部の向きが異なる領域の空間的なスケールです。 | 元の模様と領域サイズを比較します。一定方向を保ちたい素材では、目立つ向きの変化を避けます。 |
| Color Patch Scale | 大きな色変化の領域の頻度です。高い値ほど細かく頻繁になります。 | 広く控えめな領域から始め、小さな変化が必要な場合だけ頻度を上げます。 |
| Color Ramp Shift | 変化によって、カラーランプを読む位置をどれだけずらすかです。 | 少し変えて近い色を作ります。バイオームの Hue のように色相を回す設定ではありません。 |
| Brightness Contrast | 明るさの変化の強さです。 | 徐々に上げます。強すぎると染みのようになり、元の素材が分かりにくくなります。 |
元画像に目立つ特徴がないか、Scale が適切かも確認します。自然な元画像と控えめな変化が扱いやすい組み合わせです。方向を持つ縞、木目、流れなどでは、模様と競合する変化を弱くします。
ライブバイオーム:選択した地表と Scatter を変える
Live/Dynamic Biomes を有効にすると、四つの修正スロットを使えます。一つのスロットは最大三つの ID を対象に、重み、質感、流れ、ダスティングに加え、その ID が所有する Scatter のライブ反応も調整できます。メッシュを塗り直したり Scatter の配置を再構築したりせずに見た目を変えられます。
- ライブラリで現在の ID を確認します。
- ライブバイオーム全体のスイッチを有効にします。
- 一つのスロットを有効にし、対象数と ID を指定します。
- 最初は Weight Multiplier と質感の倍率を 1 にします。
- 一つだけ値を変え、その素材だけの範囲と、別の素材と混ざる境界の両方を確認します。
| スロットの項目 | 意味 | 注意する点 |
|---|---|---|
| Active | そのスロットの対象を有効にします。 | Slot 1 を含め、どのスロットも無効にできます。スロットを止める場合はこのスイッチを使います。 |
| Target Biomes | 有効なスロットに入る ID 数で、1~3 です。 | 現在のライブラリの ID を使います。−1 は無効化用ではなく、ID は対応範囲に制限されます。 |
| Weight Multiplier:0~5 | 既存の混ざり方に対して、対象素材の寄与を変えます。 | 1 は維持、0 は寄与を除去、1 より大きい値では他の塗った素材より強くなります。 |
| Smoothness:0~3 | 対象の滑らかさの倍率です。 | 1 は元の反応を保ちます。より光沢を出すには 1 より大きい値を試します。 |
| Normal:0~3 | 法線細部の倍率です。 | 1 は維持、低い値では陰影の細部を弱くします。 |
| Parallax:0~3 | テクスチャの見かけの深さの倍率です。 | 小さく調整し、浅い視線角で確認します。衝突は変わりません。 |
| Emissive:0~10 | 発光の倍率です。 | 元の発光細部に使います。元の寄与が 0 なら、掛け算では復元できません。 |
| Scatter Density:0~1 | Target Biome ID が所有する Scatter のライブ密度倍率です。 | 1 は Scatter Object 側で設定した量を維持し、0 はそのバイオームの Scatter を非表示にします。通常のライブ変更では配置を再構築せず、Renderer が Submit する Instance 数を変更します。 |
| Scatter Colour Multiplier | Target Biome ID が所有する Generated Scatter の色を乗算します。 | White が中立です。霜や雪の表現には淡い寒色の HDR 値を使えます。Terrain のバイオーム色そのものを変更する設定ではありません。 |
4つの Slot はすべて同じ Scatter Response を使います。Scatter Density 1 と、HDR Intensity 0 の White の Scatter Colour Multiplier が Slot 1 を含めた中立値です。Terrain Dusting と Scatter Tint は別の Path です。意図しない色が出る場合は、重複する Slot Target、Shader の Scatter Input、Multiplier を確認してください。
重みの変更でできること・できないこと
草 50%、岩 50% の境界を考えてみます。岩の倍率を 2 にすると、正規化の前の寄与が倍になり、境界は岩寄りになります。岩の重みがない草だけの場所は、岩の倍率を上げただけでは岩になりません。
重みが変えるのは、すでに地形にある組み合わせです。地形の高さ、海岸線、水の体積は変わりません。一種類しかない場所で唯一の寄与を消しても、新しい地表を作る方法にはなりません。先に代わりの素材を塗ってください。
最初は、一つのバイオームを一つのスロットだけで対象にします。対象が重なると、重み、Surface Override、Scatter Response が組み合わさって予測しづらくなります。分かりにくい場合は一つずつ無効にして確認します。
Scatter Response は、各 Scatter Instance が保持する所有バイオーム ID によって対応付けられます。1つの再利用 Scatter Object が複数のバイオームを Target にしていても、各 Target から生成された Instance は、そのバイオームの Live Slot に独立して反応できます。詳しくは 3D Scatter ガイドのライブバイオーム反応を参照してください。
地表の流れをアニメーションする
Flow は、対象地表の見た目を時間とともに動かします。川、溶岩、その他の動く細部に使えます。頂点、パーティクル、キャラクターを動かす機能や、水のシミュレーションではありません。
| 項目 | 意味 | 例 |
|---|---|---|
| Enable Flow | 対象バイオームのアニメーションを有効にします。 | 塗った川の ID を対象にします。 |
| 方向・Heading | 地表のテクスチャ座標内の方向です。 | 0° は +U、90° は +V、180° は −U、270° は −V です。方角の呼び方は目安で、すべてのメッシュで地理的な方向に一致するとは限りません。 |
| Flow Speed:−1~1 | テクスチャの動く速さです。 | 0 は静止、負の値は逆方向です。メートル毎秒の物理速度ではありません。 |
| Back and Forth | 一方向に流す代わりに往復させます。 | 潮のような、穏やかな変化に試します。 |
| Waterfall Projection | マテリアルの滝向けの投影を使います。 | 対応する形状で下向きの流れに使います。ワールド上方向を基準にするため、曲面の世界や異なる向きの形状では確認が必要です。 |
Anti-Tiling の有効・無効を比較します。強い Rotation Variation は、意図した Flow Direction と競合する場合があります。デモコントローラーは各 Slot の Waterfall Projection を公開し、Material Settings を Pull / Push する際にもその値を保持します。
塗ったマスクで雪やほこりを重ねる
Dusting と Pulsing Emission は同じ頂点では併用できません。その領域ではどちらか一方を選び、Dusting を使う場合は Biome Pulse を無効にしてください。FAQも参照してください。
Dusting は、一つのバイオームの上に別のバイオームを重ねます。結果は、ダスティングマスクを塗った場所、スロットの対象となる下地、傾斜条件を満たす場所の組み合わせです。マテリアルの効果を有効にするだけで、未塗装の全面を覆うわけではありません。
- 雪などの上に重ねるバイオームを選び、その ID と、受け側の地表の ID を確認します。
- 地形の Dusting ツールで、効果を許可する場所を塗るか塗りつぶします。
- ライブバイオームを有効にし、下地の ID を対象にしたスロットを有効にします。
- スロットの Dusting Layer を有効にし、Dusting Biome ID に雪・ほこりの ID を指定します。
- 強さは中程度、傾斜しきい値は低めから始め、マスクを塗った平らな場所で確認します。
- しきい値を上げると、より平らで上向きの場所に制限できます。強さで、許可範囲内の被覆を調整します。
| 項目 | 意味 | 使い方 |
|---|---|---|
| Dusting Biome ID | 上に重ねる地表です。 | ここには雪の ID、スロットの対象には下にある岩・草の ID を指定します。 |
| Strength:0~2 | 適したマスク内での被覆の強さです。 | 0 は除去、上げるほど被覆が強くなります。物理的な雪の厚みは増えません。 |
| Slope Threshold:0~1 | どれだけ上向きの面かを判定する、正規化したしきい値です。度数法の角度ではありません。 | 0 付近は幅広い向き、高い値は平らで上向きの面を優先します。境界はなめらかに切り替わります。 |
ダスティングはワールド上方向を使います。惑星の側面は、中心から外向きでも「上向き」とは扱われません。この違いが重要なシーンでは、オブジェクト全周を確認してください。
変わるのは見た目だけです。雪のメッシュ、衝突の高さ、滑る物理挙動は作られません。ゲームプレイの地表問い合わせは簡略化したルールを使い、シェーダーのマスク結果と完全には一致しません。ID をゲームプレイに使う前に、問い合わせの精度を確認してください。
三つの実用的な設定例
特定の地表を濡れたように見せる
- 地表を塗り、通常の見た目を確認します。
- その地表の ID を対象に、ライブスロットを有効にします。
- 分布ではなく質感を変えるため、Weight Multiplier は 1 にします。
- Smoothness を少しずつ上げます。ベースの色も暗くしたい場合は、バイオームを複製して色を調整します。
- シーン照明でハイライトを確認します。濡れたような見た目の効果なので、水たまりや雨の動作は別の仕組みで作ります。
川の見た目を動かす
- 実際の川床が必要なら、Path ツールで水路を作ります。
- 幅に合うテクスチャと Scale で、川の地表を塗ります。
- 一つの有効なライブスロットで、その ID を対象にし、Flow を有効にします。
- 低速から始め、目的の方向に動くまで Heading を調整します。
- 曲がり角と投影の切り替わりを確認します。専用の水形状やゲームプレイが必要なら別に追加します。
季節の雪と Scatter を一緒に増減させる
- ダスティングマスクを塗り、下地の対象、雪の ID、傾斜しきい値を設定します。
- 対象となる Grass や Flower の Scatter Object が、同じ下地バイオーム ID を Target にしていることを確認します。
- Dusting Strength を 0 と 1 付近、Scatter Density を 1 と 0 に近い値、Scatter Colour Multiplier を White と淡い寒色で比較します。
- 独自コントローラーでこれらの値を動かすか、デモの Snow Cycle で Terrain と Scatter が連動する季節変化を試します。
- 意図した地形グループだけに効くよう、マテリアルの共有範囲を確認します。
- 足音なども変更する場合は、ランタイムテスターと見た目を比較します。Scatter の表示量を変えても、ベイク済みの Gameplay Surface Query 自体は変わりません。
よくある質問
Stylized Lighting を有効にすると Material が暗すぎるのはなぜですか?
Stylized Lighting では AO が影として扱われるため、強い Occlusion によって Material が大幅に暗く見えることがあります。バイオームの AO Strength または Material の Surface AO Strength を下げてみてください。Height の解釈が逆なら、Biome Inspector で Invert Height を試し、必要に応じて Detail を再生成します。ライブラリ全体を変更する前に、同じ Lighting 条件で小さな範囲を比較してください。
Pulsing Emission と Dusting を同時に使えますか?
Pulsing Emission と Dusting は互換性がありません。同じ Vertex または Patch では、一度に一つの Effect Layer だけを使用できます。同じ領域では Pulse または Dusting のどちらかを選んでください。Dusting を使うバイオームでは Pulse を無効にし、両方が同じ頂点で共存することは期待しないでください。
Terrain を移動または回転すると Seam Blend がずれるのはなぜですか?
Seam Blending は World-oriented なので、Object を移動または回転したときに Projection Blend が Object に固定されたまま追従しません。軌道運動や回転する Planet では特に目立つ場合があります。Material の Seam Blend Fade Distance を下げて Effect を早く Fade させ、Game Camera からのずれを目立ちにくくしてください。必要なら 0 にして無効化できます。これは見えるずれを減らすだけで、Blend を Object に追従させる機能ではありません。
マテリアルの効果が出ない・合わないとき
| 症状 | 確認する順番 |
|---|---|
| 編集しても何も変わらない | 対象 Renderer がそのマテリアルと地形シェーダーを使うか確認します。コントローラーが設定を上書きしていないかも確認します。 |
| 違うバイオームが変わる | 現在のライブラリの ID を確認します。並べ替え・削除後は、別に保存した ID が合わなくなることがあります。 |
| ライブスロットが効かない | 全体のスイッチ、Active、対象数、ID を確認します。重みではその素材が塗られている必要があり、質感では元データと全体設定も確認します。 |
| 雪が出ない | マスク、下地の対象 ID、雪の ID、有効スイッチ、強さ、傾斜を確認します。まずマスクを塗った上向きの平面で試します。 |
| 流れの向きが違う | テクスチャ空間の Heading または速度の符号を調整します。投影と回転変化も確認します。ワールドの北とは限りません。 |
| Waterfall Projection が解除される | 対応するデモコントローラーの Slot で Waterfall Projection 設定を確認し、別の Controller が Material を上書きしていないか確認します。Pull Settings From Material は、変更を Push する前に現在の Flag を取り込みます。 |
| 近くは正しいが遠くで変わる | 品質フェード、ミップマップ、カメラを確認します。フェードの値は正確なメートル距離ではありません。 |
| Seam Blend を最大にしてもタイルの裂け目が残る | 形状と接続を確認します。Seam Blend は投影の境界を変えるもので、メッシュをつなぐ機能ではありません。 |
| 問い合わせでは雪なのに見えない | ゲームプレイのダスティング判定は、塗ったマスクを含みません。画素の取得ではなく近似です。 |
| 複数の地形が同時に変わる | 共有マテリアルを確認します。独立した効果には、別のマテリアルや独立コピーを使います。 |
| Live Slot を変えても Scatter の色や密度が変わらない | Live Biome の Master Switch、Slot の Target ID、Scatter Object の Target Biomes、Scatter が同じ互換 Material を使用しているか確認します。1つの Scatter Object が複数バイオームを Target にできても、ライブ反応は各 Instance の所有バイオームに従います。 |
| Grass の根元が動きすぎる、または先端がほとんど動かない | Height To Tip を Mesh のおおよその Object Space Height と比較し、その後 Wind Strength を調整します。動いた Geometry が Camera 境界で消える場合は Scatter Settings の Wind Bounds Padding を増やします。 |
サポート
相談するときは、期待した結果、使った項目、実際に起きたことを説明してください。Unity のバージョン、選択したパイプライン、関連する設定のスクリーンショットも添えます。実行時の問い合わせの問題では、コライダーの種類と、最後にサーフェスデータをベイクした時期も記載してください。
DPT Games お問い合わせフォーム、または DPT Games Discord をご利用ください。