88.マテリアルを学ぶ
🌟マテリアルを作ってみよう
今回はマテリアル(Material)についてと、基本的な使い方について紹介していきます。
① マテリアルを作成
ではマテリアルを作成してみましょう。どこでもよいのでコンテンツブラウザ内で右クリックからマテリアルで作成する事ができます。
https://scrapbox.io/files/665740e47f72cd001c74c4b6.png
② マテリアルエディタを開く
コンテンツブラウザでマテリアルをダブルクリックするとマテリアルエディタを開く事ができます。
https://scrapbox.io/files/665740ecd3dcd000223755bc.png
③ 単色マテリアルを作成してみましょう
まずは簡単に単色マテリアルを作成してみましょう。メインマテリアルの一番上の項目ベースカラーからドラッグして離して、Constant3Vectorと検索して選択します。
https://scrapbox.io/files/665741567502ed001d72490a.gif
ダブルクリックして色を調整したらOKを押します。
https://scrapbox.io/files/6657415da66e1e001d160cc4.png
✓カラーピッカーは色を保存できます。
方法は簡単です。色を作成したらドラッグで上に持ってくるだけです。適用する時はその上の場所をクリック
https://scrapbox.io/files/6657413d4fa14b001d0b8aad.gif
そしたら適用(Apply)を押して適用したら完成です。
https://scrapbox.io/files/6657417366d622001d1d3b78.png
次にドラッグ&ドロップで適用すると作成したマテリアルが適用されました。
https://scrapbox.io/files/6657417fe5cb0b001cebe677.png
マテリアルの作成は流れはこのような感じです。
✓ マテリアルを変更する二つの方法
マテリアルを変更する方法は二つあります。まず一つ目が先ほどしたようにコンテンツブラウザからアクタにドラッグしてする方法です。
https://scrapbox.io/files/6657419de7bfef001cc1fb80.gif
二つ目が詳細パネルのマテリアルから変更できます。
https://scrapbox.io/files/665741afc11ae9001c06d709.png
🌟テクスチャとノーマルマップ入門
① テクスチャとは?
テクスチャとは画像です。キャラの外観、地面の柄、ボタンなどのUIの画像の事です。
例えばStarterContents > Texture の中には様々なテクスチャ、画像が用意されています。
https://scrapbox.io/files/66574233b07a1f001c532389.png
このテクスチャはマテリアルに組み込んで使用します。
② テクスチャを使ってみよう
1.スターターコンテンツのテクスチャを使用して新たにマテリアルを作成しましょう。スターターコンテンツのダウンロード方法はこちらの④-②アセットの追加にて。名前をWoodにします。
https://scrapbox.io/files/6657424074c09f001c04552c.png
2.マテリアルエディタを開いたら下のコンテンツドロワーをクリックして、コンテンコンテンツブラウザからドラッグでスターターコンテンツのWood_Pine_Dを追加します。つなげて適用をクリックします。
https://scrapbox.io/files/665742574fa14b001d0b9221.gif
モデルに適用すると同じように木の見た目になりました。
https://scrapbox.io/files/66574268e7bfef001cc1fef7.png
③ ノーマルマップとは?
ノーマルマップとは表面を凸凹に見せるための画像の事です。これも大枠としては画像なのでテクスチャの一種になります。ノーマルマップは薄紫色で表示されています↓
https://scrapbox.io/files/6657427992d50c001c5dd7c8.png
基本的には地面の柄など模様などはテクスチャとノーマルマップはセットになります。どんな役割があるのか見ていきましょう。
④ ノーマルマップを使ってみる
ノーマルマップとは表面を凸凹に見せるための画像の事です。一度試してみましょう。Wood_Pine_Nを追加してNormalという項目に繋げて適用します。
https://scrapbox.io/files/6657429079a250001cbcb553.png
良く見ると表面に木の凹凸がされてより自然になりました。
https://scrapbox.io/files/6657429c4dfd8a001d65d1f1.png
ただこの画像だとちょっとわかりづらいので..前回で作成した単色マテリアルにT_Detail_Rocky_Nという岩のNormalMapを適用してみましょう。
https://scrapbox.io/files/665742a9af7db4001c21a495.png
すると先ほどのツルピカだった球体に凸凹が表現されるようになります。
https://scrapbox.io/files/665742b7710a2b001cf8e2e2.png
これは実際に凸凹である訳ではなく凸凹のように見せているだけです。これがノーマルマップといって地面などのマテリアルには基本的にテクスチャとセットで使用され、よりリアルに表現してくれます。
🌟メインマテリアルの調整項目
メインマテリアルについて
メインマテリアルはマテリアルエディタを開くと必ずあり、最終出力を決定する場所です。メインマテリアルで使用する主な調整項目について紹介していきます。
https://scrapbox.io/files/665742feabdcf8001cb33b55.png
たくさん項目のありますが基本使用するのはベースカラー(BaseColor),Metallic,スぺキュラ(Specular),ラフネス(Roughness),法線(Normal),エミッシブカラー(EmissiveColor)です。基本的にはこの6つの項目を調整していくのでまずはこれらを覚えていきましょう。
① ベースカラー(元となる見た目の部分)
ベースカラー(BaseColor)は色とかテクスチャとかを基本の外観を決定します。マテリアルの見た目の基本となる部分ですね。
https://scrapbox.io/files/6657430fff63d3001c7ac0ed.png
② Metallic(メタル感)
デフォルトは0で、0から1までの数値で変更ができます。ここには基本的に「Constant」ノードを使用します。
https://scrapbox.io/files/6657432387ffab001d743eda.png
Valueから値を変更します。ここは1以上にしても意味ありません。数値を最高の1に設定すると球体にメタル感が増します。
https://scrapbox.io/files/6657436ed3dcd00022376182.gif
③ スぺキュラ(鏡面反射)
スぺキュラ(Specular)は光の反射を調整できます。これも0からの1までの数値を変更します。例えば0にした場合マテリアルは反射しなくなり、1にすると反射して周りの環境をマテリアルに映し出します。デフォルトは0.5でConstantで変更します。0にすると光の反射がなくなります↓
https://scrapbox.io/files/665743e05f9b6a001c1a9a4d.gif
Specularは非金属の表面でしか機能しません。つまりMetalicが1の場合は全く影響されません。なのでMetalicを0にして調整すると変化わかりやすい。これも0から1まで。
④ ラフネス(表面の粗さ)
ラフネス(Roughness)はツルツルかざらざらかの表面の粗さです。constantで0から1の数値。0がツルツルで、1が粗い。ツルツルだとボーリングの球みたいになる。
https://scrapbox.io/files/6657439fc44275001c9fbf76.gif
⑤ ノーマル(表面のデコボコ)
ノーマル(Normal)は法線マップともいって表面のデコボコ具合をTextureで決定する事ができます。
https://scrapbox.io/files/665743ab29d991001dbd3c1f.png
⑥ エミッシブカラー(発光)
エミッシブカラー(EmissiveColor)で発光させる事ができます。Multiplyからconstant3vectorとconstantで発光させる事ができます。光の強さはconstantで調整します。
https://scrapbox.io/files/665743c95844ee001d3df6d7.gif
🌟マテリアルのノードと組み方
基本的に使用するノードを紹介
✓ Constant3Vector
RGBの三つの数値で色を出すノードです。
https://scrapbox.io/files/66574484d44008001d152df2.png
✓ Constant
一つの数値を出すノードです。
https://scrapbox.io/files/665744bb73124f001c919ff4.png
✓ Texture Sample
画像のノードです。ダブルクリックすると画像を変更できます。またはテクスチャをドラッグするとTextureSampleに自動で変換されます。
https://scrapbox.io/files/665744cc73b12d001d88b04a.png
✓ Texture Coordinate
貼っているテクスチャのサイズを変更するノードです。
https://scrapbox.io/files/665744ed92d50c001c5de2c3.png
✓ Multiply
混ぜるノードです。この場合↓テクスチャ(草)と色(グレー)を混ぜています。マテリアルにはグレー色の草が表示されます。
https://scrapbox.io/files/665744f28c5624001c20621b.png
✓ Linear Interpolate
Aの値とBの値を混ぜるノードです。Alphaで0から1まで変更できて0に近いほどAが強く適用され1に近いほどBのが強く適用されます。つまりAlphaは混ぜる割合を調整する項目です。
https://scrapbox.io/files/6657450feaf66c001d243071.png