すべての記事
チュートリアル · 7 min read

マテリアルブレンドのための頂点ペイント:シームレスな地形とメッシュの移り変わり

頂点ペイントがいかにマテリアルをブレンドして見える継ぎ目を消すか。線形アルファに勝るハイトブレンドのトリック、草に泥を、岩に苔をペイントする、パフォーマンスの考慮、そしてデカールやタイリングテクスチャの隣でどこに収まるか。

Aerial view of a forested river valley crossed by a steel bridge and a road

要するに: あるマテリアルが別のと出会う硬い継ぎ目(草が岩に当たる、泥が石に出会う)、はアマチュア環境の最大の手が かりのひとつだ。頂点ペイントはメッシュ上で直接マテリアルをブレンドしてそれらの継ぎ目を消し、「ハイトブレンド」は移り変 わりをフェードではなく自然に見せる。この記事は、頂点ブレンドがどう働くか、良い移り変わりを泥っぽいものから分けるハイト ブレンドのトリック、どこにペイントするか、ランタイムで何がかかるか、そしてデカールやタイリングテクスチャとどう合うかを説 明する。

水、シルト、植生が互いに溶け合う川のデルタ 自然に硬い縁はない。水がシルトに、シルトが草に出会うところ、移り変わりは不規則で噛み合っている。まさに頂点ブレンドが 再現するもので、あなたのマテリアルがまっすぐ明白な線で出会うのをやめさせる。

問題:継ぎ目がすべてを裏切る

実際の表面は不規則に移り変わる。草が砂利に忍び込み、泥が低い場所に溜まり、苔が岩の日陰側を登る。二つのマ テリアルの間の硬いまっすぐな線は、各テクスチャがどれほど良くても、即座に偽物と読まれる。

二つのフォトリアルなテクスチャを持っていても、なお間違って見える環境を得ることがある。両者の間の移り変わりこそ信憑性 が宿る場所だからだ。現実世界では、マテリアルは相互浸透する。土は割れ目に洗われ、草は道へと薄れ、雪は棚に溜まる。鋭いポ リゴンの縁に沿って草から岩へ切り替わるゲーム表面は「タイルで作られている」と叫ぶ。頂点ペイントはそれらの縁を溶かす主要 な道具で、マテリアルを、屋外でそうするようにお互いへとにじませる。

頂点ブレンドがどう働くか

各頂点は色/アルファのデータを蓄える。ブレンドマテリアルはそれを読み、表面全体でピクセルごとに二つ以上の テクスチャを混ぜる。頂点データをエンジン内でペイントすれば、追加のUVやジオメトリなしに、ペイントしたところどこでもマテ リアルが移り変わる。

メッシュ上のあらゆる頂点は少しの追加データを運べる。頂点カラー、通常は四チャンネル。ブレンドマテリアルはそのデータを マスクとして解釈する。チャンネルが強いところはマテリアルAを見せ、弱いところはマテリアルBを見せ、その間を補間する。頂点 データをエディタでモデルの上に直接ペイントするので、移り変わりを手で、ちょうど望むところで制御する。壁の基部に沿った 泥、床の角の摩耗、岩の片側の苔。追加のUVセットも加えたジオメトリもかからない(ディテールをペイントするに足る頂点を持つ 以上には)。だからこそ地形と大きなメッシュのための働き者のブレンド技法だ。

ハイトブレンドのトリック

アルファ上で線形にブレンドするな。ハイトマップを使ってブレンドし、上のマテリアルがまず割れ目や低い場所を 埋めるように。線形ブレンドは柔らかい泥っぽいフェードを与える。ハイトブレンドは鋭く、自然で、噛み合った移り変わりを与える。

これはあなたのブレンドマテリアルの単一で最も重要なアップグレードであり、プロの移り変わりを滲んだものから分けるものだ。 素朴なブレンドはマスクに沿って二つのテクスチャの間を線形にフェードし、Photoshopのグラデーションのように見える柔らかく幽 霊のような重なりを生む。ハイトブレンドは代わりにマテリアルのハイト/ディスプレイスメント情報を使って移り変わりを決 める。入ってくるマテリアルは高い点を覆う前に、まず低い領域(モルタルの目地、割れ目、へこみ)、に落ち着く。まさに実際 の土、砂、雪が溜まるように。結果はぼやけたフェードではなく、鋭く、不規則で、信じられる境界だ。ブレンドが泥っぽく見える なら、ハイトベースの移り変わりを加えることがほぼ常に修正だ。

開けた地面に出会う森の縁、植生が薄れていく 森の縁は野生のブレンドだ。樹木限界線は一本の線で止まらず、散らばって薄れる。ハイトベースの頂点ブレンドは、きれいな境界 ではなく、そのぎざぎざした噛み合う移り変わりを再現する。

どこにペイントするか

表面が自然に相互作用するところに移り変わりをペイントせよ。壁の基部(土/湿り)、床の角と縁(摩耗)、岩の 日陰側(苔)、低い場所(泥/水たまり)、そして二つの地形レイヤーが出会うどこでも。

頂点ブレンドは、目がリアリズムを確かめる場所で最も報われる。接触点と摩耗ゾーンだ。常に考えるべきいくつかの高価値の場所 。壁の基部を這い上がる土と湿気、足が着く床や段の角の擦り傷と露出したマテリアル、岩の北/日陰の面の苔と地衣、最も低い点 の泥と溜まり水、そして景観上の地形レイヤー間の継ぎ目。これらは語り手が装う同じ場所だ。場所がその歴史を見せるところだか ら。それらをペイントすれば、きれいで新品に見えるキットが突然、風化して本物と読まれる。

パフォーマンスと限界

ブレンドマテリアルはピクセルごとにより高くつく(複数のテクスチャセットをサンプルする)。だから移り変わりが 重要なところで使い、どこにでもは使うな。頂点ディテールはメッシュ密度に制限される。頂点が許すだけ細かくしかペイントでき ない。

ブレンドはただではない。二層または三層のブレンドマテリアルはピクセルごとに複数のテクスチャをサンプルするので、単一マテ リアルより高くつく。ヒーロー地形やカメラが研究する表面ではそれで良いが、四層のブレンドをすべてのメッシュに一律に適用す るのはGPUの無駄だ。もうひとつの限界は解像度だ。頂点ペイントはメッシュが密なだけしか詳細になれないので、ローポリの壁は 細かいペイントされた移り変わりを運べない。ここでデカールが、より小さなスケールのディテールを上に加えるために入ってくる。 各スケールで正しい道具を使え。広い移り変わりには頂点ブレンド、鋭い局所ディテールにはデカール。

他の道具とどこで合うか

頂点ブレンドは中スケールのマテリアルの移り変わりを扱う。タイリングテクスチャは安くベースディテールを与える。 デカールは頂点ごとにペイントするには細かすぎる鋭い局所的特徴(割れ目、染み、漏れ)を加える。それらは積み重なる。

これらの道具のどれも競合しない。重なるのだ。タイリングテクスチャは大きな表面に手頃な高周波ディテールを与える。頂点ブレ ンドはそれらのタイリングマテリアルを混ぜて、硬い線で出会わないようにする。デカールはそれから、頂点解像度が届かない特定 の鋭いディテールのために上に乗る。割れ目、焦げ、継ぎ目の上の水染み。成熟した環境表面はたいてい三つ同時だ。信じられるマ テリアルブレンドをゲームに入れ(そしてそれを標準のエンジンマテリアルへベイクダウンさせてランタイムで予期せぬコストがか からないようにする)、のは、まさにNumivoがルーチンにするために作られた種類の表面作業だ。だから継ぎ目は、二 つのマテリアルの出会いごとにあつらえのシェーダーなしに消える。

盗む価値のある現場の数字

  • 泥っぽいブレンドを直すアップグレード:ハイトブレンド、線形アルファではなく
  • 頂点ペイントのディテール上限=メッシュの頂点密度。密なメッシュ、細かいペイント
  • 最も高価値なペイントゾーン:壁の基部、床の縁、日陰の岩、低い場所
  • ブレンドマテリアルのコストはサンプルされるレイヤー数に応じて拡大。多層ブレンドはヒーロー表面に取っておけ
  • フルスタック:局所ディテールのためにタイリングベース → 頂点ブレンド → デカール

ミニFAQ

地形に頂点ペイントかスプラット/ウェイトマップか? 同じ発想、違う保存。地形はしばしば頂点カラーの代わりにレイヤー ウェイトマップ(テクスチャマスク)を使い、ディテールをメッシュ密度から切り離す。メッシュは頂点カラーを使う。大きな地形は しばしばレイヤーマップを使う。ハイトブレンドの原理は両方に当てはまる。

なぜ私のブレンドは柔らかく泥っぽく見えるのか? ほぼ確実にアルファ上で線形にブレンドしている。ハイト/ディスプレイス メント駆動のブレンドに切り替えて、移り変わりがまず低い領域に落ち着くようにせよ。すると柔らかさが鋭く自然な縁に変わる。

何層のブレンドが多すぎか? 二層は安く、ほとんどの移り変わりをカバーする。三層は地形に一般的。四層以上は高くつき、作 るのが難しくなる。もっと必要なら、デカールか二つ目のマテリアルの方が良く仕えないか問え。

これにカスタムシェーダーが要るか? ブレンドロジックは、ほとんどのエンジンとツールセットが提供する程度に標準的で、素 のエンジンマテリアルへベイクすればランタイムコストは予測可能に保たれる。あつらえのシェーダーコードはめったに要らない。 要るのはハイトブレンドのセットアップと、ペイントする理にかなった場所だ。

継ぎ目は、信じられる環境が勝たれるか失われるかの場所だ。表面が本当に相互作用するところに移り変わりをペイントし、平坦な フェードではなくハイトでブレンドし、その周りにタイリングとデカールを積め。そうすればあなたのマテリアルは、世界でそうす るように出会う。不規則に、噛み合って、そして一本の告げ口するまっすぐな線もなしに。