マテリアル(Material)の作り方

ここではUnityのマテリアル(Material)の概要と、その作り方について説明します。


※この記事で使用しているUnityのバージョン:Unity2019.1

マテリアル(Material)とは

マテリアル(Material)はゲームオブジェクトの「表面の材質」を表現するための要素で、例えばゲームオブジェクトの表面の「ザラザラ感」や「ピカピカ感」を表します。

例として下の図のキューブはそれぞれ別に設定したマテリアルを適用してあります。形は同じですが、マテリアルによって随分見た目が違うのが分かると思います。

マテリアルの例

新しいマテリアルはプロジェクトビューの何もないところで右クリック→「作成」→「マテリアル」から作ることができます。

マテリアルの設定項目

さて、次に具体的なマテリアルの設定方法を見ていきたいところですが…実はマテリアルの設定項目は選択したシェーダーによって全然違います

そこで、ここでは「Standard」シェーダー(デフォルトのやつ)を選択したときの設定項目について主なものを説明しますね。

Standardシェーダーを選んだ時のマテリアルの設定項目

Rendering Mode

まず、2番目のドロップダウンメニューの「Rendering Mode」では素材のタイプを指定します。素材のタイプは次の4種類があります。

  1. Opaque:不透明な素材
  2. Cutout:透明な部分を含むテクスチャで穴をあけられる素材
  3. Fade:半透明な素材。物理的には正しくない反射をする
  4. Transparent:半透明な素材。物理的に正しい反射をする

Main Maps

  • アルベド(Albedo):素材の色
  • メタリック(Metallic):金属光沢の度合い
  • スムースネス(Smoothness):素材の滑らかさ
  • 法線マップ(NormalMap):表面の凹凸を表現する「法線マップ」を指定
  • ハイトマップ(HeightMap):表面の凹凸を表現する「ハイトマップ」を指定
  • オクルージョン(Occlusion):凹凸の暗がりを表現する「遮蔽マップ」を指定
  • 放出(Emission):発光するかどうか
  • タイリング(Tiling):テクスチャを並べる時のスケールを設定
  • オフセット(Offset):テクスチャを並べる時のオフセットを指定

実際にマテリアルを作ってみよう

…さて、設定項目だけを見てもよく分からないと思うので、実際にマテリアルをいじってみましょう。ここでは例として下の図のようなマテリアルを作ります。

マテリアルの例2

今回はMain Mapsの項目をいくつか設定します。

  1. アルベドにテクスチャを適用
  2. メタリック、スムースネスの値を変更
  3. 法線マップを適用

手順1:アルベドにテクスチャを適用

まず、マテリアルのアルベドに「Test」という文字の入ったテクスチャ(下図)を設定します。

テクスチャの例

設定方法は、「アルベド」と書かれたところのすぐ左にある○をクリックして、あらかじめインポートしておいたテクスチャを選択するだけです。

手順2:メタリック、スムースネスの値を変更

次にメタリックとスムースネスの値を変更します。ここでは

  • メタリック:1
  • スムースネス:0.7

に設定しました。メタリックとスムースネスの値を大きくすると、磨かれた金属のような見た目になります。

手順3:法線マップを適用

最後に法線マップ(ノーマルマップともいう)を適用します。法線マップというのは下のような画像で、専用のソフトを使って作ります。

法線マップの例

それで法線マップを適用するとどうなるのかというと…下に適用前と適用後の画像を用意したので見比べてみてください。

法線マップ適用前

法線マップ適用前

法線マップ適用後

法線マップ適用後

法線マップ適用後の画像を見てみると、「Test」の文字が立体的になっているのが分かりますね。法線マップを使えばこのように細かい部分の凹凸を表現できます(※3Dモデルでこういった細かい凹凸を表現するのは無駄なので、法線マップを使います)。

これで「レリーフの入った磨かれた金属風のマテリアル」を作ることができました。