![見出し画像](https://assets.st-note.com/production/uploads/images/130063806/rectangle_large_type_2_be70be5029de957e816b8d136ea5661d.png?width=1200)
頂点カラーで地面を作る
地面は広いのでテクスチャをループして使う。
頂点カラーを使うことでテクスチャのループ感を薄くする。
★大まかな手順
①モデルを用意
②マテリアルを用意
③ノードをつなげてテクスチャをブレンド
④頂点カラーを付ける
地面のモデルは大きめにとる。
エッジの流れは、地面の道や地形に合わせて流す。
カメラに映る地面のポリゴン数を増やす。(割りを増やす)
![](https://assets.st-note.com/img/1707211347247-My8gTK9apn.png?width=1200)
マテリアルを作る
ハイパーシェード
>Amoldの中にあるShaderFx shader
このマテリアルは、テクスチャをブレンドできる。
ブレンドすることで、ループ感を薄くできる。
※ShaderFx shaderが無いとき
ウィンドウ
>設定/プリファレンス
>プラグインマネージャー
>上の「コマンド検索」で「fx」とうつ
>ShaderFx Pluginのロードと自動ロードにチェック
>リフレッシュ
※Mayaからアンリアルエンジンに持っていくとき
ShaderFx shaderのテクスチャはそのまま移せないので付けなおす
![](https://assets.st-note.com/img/1707218785817-iJib2WDBn3.png?width=1200)
>ウィンドウの右下「ShaderFX」
>「Open ShaderFX」
>ShaderFXというウィンドウが表示される。
ノードを使ってテクスチャをブレンドする。
ノードは画面左の一覧から右クリックで出せる。
【今回使用するノード】
・Hw Shader Nodes
>Textures
>TexturMap
・Hw Shader Nodes
>Math
>Linear Interpolate Mix
・Hw Shader Nodes
>Inputs Commom
>Vertex Color
![](https://assets.st-note.com/img/1707242029978-yc3BAsLYVJ.png?width=1200)
【ノードをつなげる】
![](https://assets.st-note.com/img/1707245903620-NuhQdANP8m.png)
TexturMapを2つ出す
>TexturMapそれぞれの「Colar」と
Linear Interpolate Mixの「Value」をつなげる。
これで2つのTexturMapがブレンドされる。
>Vertex Colorの「Red」を
Linear Interpolate Mixの「Mix」につなげる。
これでVertex Colorが赤のとき(赤でテクスチャを塗るとき)
ベース色にブレンドするTexturMapが表示される。
アルファ付きテクスチャのように
赤が0から1の値でどのくらい表示するか調節できる。
>Linear Interpolate Mixの「Result」を
Tradtional Game Surface Shaderの「Dffuse Color」につなげる。
>TexturMapにベース色のテクスチャを割り当てる
>ハイパーシェードから「ShaderFX Shader」を選択
(さっきいじってたマテリアル)
>ハイパーシェードウィンドウ右のプロパティエディタ
「My Textuer/Path」の「・・・」
TexturMapのノードを選ぶ。
>テクスチャを選択
これが地面のベース色になる。
>プロパティエディタの
「ConverToLinerSpace」にチェックを入れる。
忘れると色が変になる。
>Vertex Colorが赤のとき表示されるテクスチャを
TexturMapに割り当てる。
>TexturMapを選択
>さっきと同じように
ハイパーシェードから割り当てる。
「ConverToLinerSpace」にチェック
>オブジェクトにマテリアルを割り当てる
>地面オブジェクトのヒストリを消す
>地面のUV展開
UVシェルがはみ出しても大丈夫。
ループ感を薄くするために頂点カラーを付ける。
>画面上 メッシュ表示
>「カラーの適用」
※はじめは頂点カラーを入れるとき
黒の値にすること。
(説明)
頂点カラーはアルファ付きテクスチャと似た表示方法。
RGBでは・・・黒の値は0
白の値は1になる
つまりR(赤)を表示させないときは0
表示させたいときは1にする。
赤を塗る前に
地面の頂点をすべて選び
RGBを全部動かして黒にする。
>すべての頂点に黒を適用させる。
>テクスチャをブレンドする
頂点を選択
>「メッシュの表示」
>「カラーの適用」
>RGBのRを1(0~1の値)
>「適用」
(メッシュ表示>頂点カラーペイントツール
地面のテクスチャを描くときに便利)
![](https://assets.st-note.com/img/1707246372611-l0iDOjEvmv.png)
【テクスチャを3つブレンドさせる】
![](https://assets.st-note.com/img/1707246093610-19YtwdzXmz.png)
TexturMapを1つ出す
>Linear Interpolate Mixを1つ出す
>初めに出したLinear Interpolate Mixの「Resuit」をもう1つのばして
さっき出したLinear Interpolate Mixの上の「Velue」につなげる。
>TexturMapの「Color」を
Linear Interpolate Mixの下の「Velue」につなげる。
>Vertex Colorの「Green」を出した
Linear Interpolate Mixの「Mix」につなげる
>Linear Interpolate Mixの「Resuit」を「Diffuse Color」につなげる
>緑を頂点に適用したとき表示されるようになる
>TexturMapにテクスチャを割り当て頂点を塗る
よく頑張りました!
おつかれさまです!