Unreal Engine:テクスチャをブレンド/頂点カラーでテクスチャを塗り分ける

当ページのリンクには広告が含まれています。

ゲームをプレイしていると、地面は様々な表情をしています。

土、草、岩場など地面を見ると多くのテクスチャが切れ目なくきれいに貼られています。

そのようにするためには、頂点カラーとシェーダーを使う必要があります。

自分が指定した場所に違うテクスチャを適用する事ができ、覚えておくととても便利な方法です。

今回はUnreal Engineで頂点カラーごとにテクスチャを適用する方法について紹介します。

目次

頂点カラーの適用

事前準備

Blenderを起動し、グリッド(50m×50m/分割数50)を出します。

これに頂点カラーを塗っていきます。

今回使う色についてはRGB(1/0/0)(0/1/0)(0/0/1)、つまりは赤100%、緑100%、青100%で頂点を塗ってください。

頂点カラーの塗り方については下記からご覧ください。

今回は上記のように塗ってみました。

メッシュ名を「SM_VertextcolorTest」マテリアル名を「M_VertextcolorTest」にしました。

モデルを選択してfbxで出力し、UEにインポートしましょう。

インポート

先程のfbxをUEをインポートします。

インポートする際に、詳細設定の「Vertex Color Import Optionを置換」からインポートしましょう。

これでインポートは完了です。

シェーダーを作ろう

今回は上図のノードを使ってシェーダーを作っていきます。

CHECK

Lerpとは「LinearInterpolate」の略で、アルファに基づいてAとBの間を線形補完する機能を持ちます。

簡単に解説すると、アルファが0%の時はAが出て、アルファが100%の時はBが出ます。

ブレンドをする際は必ずと言ってもいいほど使うノードになるので、覚えておきましょう!

頂点カラーごとにテクスチャを適用する

2つのテクスチャをブレンドする際は上図のようにノードを組みます。

今回はRチャンネルをアルファに使っていますので赤い部分には地面のテクスチャ、それ以外の部分には草のテクスチャが適用されてました。

3つのテクスチャをブレンドする際は上図のようにノードを組んでみましょう。

RGBそれぞれにテクスチャを適用すると上図のようになると思います。

CHECK

RGBを使うと3つまでテクスチャをブレンドすることができますが、アセットを配置した際にAO(アンビエントオクルージョン)を付けられない、色味を頂点カラーで付けられないというデメリットもあります。

アルファチャンネルをブレンドに使って、RGBは色味と付けるために使用する。

もしくはアルファチャンネルをAOを付けるために使用するという方法もありますが、やりやすい方法、プロジェクトに応じて使っていきましょう。

オススメの本

SHOP

BOOTH
-マナベルCG 出張所-

マナベルCGではBOOTHにて、アセットショップ「マナベルCG 出張所」を開設しています!

テクスチャもpsd、もしくはspp付きで販売していますので、是非とも足を運んでみてください!

まとめ

ゲームで地面を作る上では必須と言ってもいい内容だったと思います。

頂点カラーで色味を追加するもできるので、状況に応じて使い分け見てください。

X(Twitter)も運営していますのでフォローしてくるとうれしいです。
記事投稿のお知らせもしていますのでよろしくお願いいたします。

以上、最後まで読んでいただきありがとうございました。

使用バージョン

ここの記事で使用しているのはUnreal Engine5.2.1となっています。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

ゲーム会社所属の3DCGデザイナーです。
自分も学べて、見てくれる人も学べるようにとブログを開設しました。

現在はBlenderなどのCGツールについて様々な機能やチュートリアル動画を紹介しています。

コメント

コメントする

CAPTCHA


目次