ひとことで
UV 座標を使わず、物体(またはワールド)の位置を x・y・z の 3 方向から投影してテクスチャを 3 回読み、面の向き(法線)に応じて混ぜ合わせる手法です。UV 展開がない、あるいは引き伸ばしが避けられない形状、たとえば手続き的に生成した地形や洞窟、岩、壊れるオブジェクトの断面などに、歪みのない模様を貼れます。
ゲームでの使いどころ
- 手続き的な地形・洞窟:マーチングキューブなどで生成したメッシュには、そもそも UV がありません。
- 崖と地面の塗り分け:上向きの面(y 投影)に草、横向きの面(x, z 投影)に岩肌、とすると、傾斜に応じて自然に塗り分けられます(ワールド基準のトライプラナー)。
- 岩・瓦礫のアセット:UV 展開の手間を省き、どんな大きさに拡大縮小しても模様の密度を一定に保つ。
- レベルデザインのブロックアウト:箱や柱を並べるだけで、伸ばしても模様が崩れない仮素材になります。
しくみ
位置 、法線 の点で、3 つの平面に投影した座標でテクスチャ を読みます。
重みは法線の各成分の絶対値から作ります。
指数 (デモの「混ぜ方の鋭さ」)が小さいと 3 方向の模様が広い範囲で混ざってぼやけ、大きいと境目がくっきりします。4〜8 程度がよく使われます。
| 基準 | 特徴 | 向いている対象 |
|---|---|---|
| 物体(オブジェクト空間) | 物体と一緒に模様も動く | 回転・移動する岩や小物 |
| ワールド空間 | 模様は空間に固定され、物体が動くと滑る | 地形、建物、動かない背景 |
実装のポイント
- コストは 3 倍:テクスチャ読み込みが 3 回(法線マップも使えばさらに 3 回)になります。重みが十分小さい投影は読み飛ばす分岐を入れると軽くなります。
- 法線マップの扱い:法線マップをトライプラナーで使う場合、各投影の接空間がそれぞれ異なるので、単純に混ぜると凹凸の向きが狂います。「Whiteout ブレンド」などの専用の合成方法を使います。
- 向きの反転:負の方向を向いた面では投影した模様が左右反転します。文字や向きのある模様では、法線の符号で UV を反転させます。
つまずきやすい点
- 45° の面でぼやける:2 方向の投影がちょうど半々で混ざる面では、模様が二重に見えます。境界を鋭くするか、ノイズで混ぜ方を揺らして目立たなくします。
- スケールとタイリングの反復:ワールド基準では模様の大きさが均一なぶん、繰り返しが目立ちます。テクスチャボミングや、異なるスケールの重ね合わせと組み合わせます。
- スキンメッシュ:アニメーションで変形するキャラクターにワールド基準で使うと、動くたびに模様が体を流れます。変形前の位置(バインドポーズ)を頂点属性として持たせて使います。
デモで試すこと
- 「模様の貼り方」を UV にすると、岩では模様が一点に集まって歪み、細長い柱では石積みが縦に引き伸ばされます。
- トライプラナー(物体)に戻すと、どちらの形でも石の大きさがそろいます。「3 方向の重みを色で表示」で、面の向きごとにどの投影が使われているかが分かります。
- トライプラナー(ワールド)では、回転する岩の表面を模様が滑っていきます。動かない地形向けの設定であることが実感できます。