ここではUnityのマテリアル(Material)の概要と、その作り方について説明します。
※この記事で使用しているUnityのバージョン:Unity2019.1
マテリアル(Material)とは
マテリアル(Material)はゲームオブジェクトの「表面の材質」を表現するための要素で、例えばゲームオブジェクトの表面の「ザラザラ感」や「ピカピカ感」を表します。
例として下の図のキューブはそれぞれ別に設定したマテリアルを適用してあります。形は同じですが、マテリアルによって随分見た目が違うのが分かると思います。
新しいマテリアルはプロジェクトビューの何もないところで右クリック→「作成」→「マテリアル」から作ることができます。
マテリアルの設定項目
さて、次に具体的なマテリアルの設定方法を見ていきたいところですが…実はマテリアルの設定項目は選択したシェーダーによって全然違います。
そこで、ここでは「Standard」シェーダー(デフォルトのやつ)を選択したときの設定項目について主なものを説明しますね。
Rendering Mode
まず、2番目のドロップダウンメニューの「Rendering Mode」では素材のタイプを指定します。素材のタイプは次の4種類があります。
- Opaque:不透明な素材
- Cutout:透明な部分を含むテクスチャで穴をあけられる素材
- Fade:半透明な素材。物理的には正しくない反射をする
- Transparent:半透明な素材。物理的に正しい反射をする
Main Maps
- アルベド(Albedo):素材の色
- メタリック(Metallic):金属光沢の度合い
- スムースネス(Smoothness):素材の滑らかさ
- 法線マップ(NormalMap):表面の凹凸を表現する「法線マップ」を指定
- ハイトマップ(HeightMap):表面の凹凸を表現する「ハイトマップ」を指定
- オクルージョン(Occlusion):凹凸の暗がりを表現する「遮蔽マップ」を指定
- 放出(Emission):発光するかどうか
- タイリング(Tiling):テクスチャを並べる時のスケールを設定
- オフセット(Offset):テクスチャを並べる時のオフセットを指定
実際にマテリアルを作ってみよう
…さて、設定項目だけを見てもよく分からないと思うので、実際にマテリアルをいじってみましょう。ここでは例として下の図のようなマテリアルを作ります。
今回はMain Mapsの項目をいくつか設定します。
- アルベドにテクスチャを適用
- メタリック、スムースネスの値を変更
- 法線マップを適用
手順1:アルベドにテクスチャを適用
まず、マテリアルのアルベドに「Test」という文字の入ったテクスチャ(下図)を設定します。
設定方法は、「アルベド」と書かれたところのすぐ左にある○をクリックして、あらかじめインポートしておいたテクスチャを選択するだけです。
手順2:メタリック、スムースネスの値を変更
次にメタリックとスムースネスの値を変更します。ここでは
- メタリック:1
- スムースネス:0.7
に設定しました。メタリックとスムースネスの値を大きくすると、磨かれた金属のような見た目になります。
手順3:法線マップを適用
最後に法線マップ(ノーマルマップともいう)を適用します。法線マップというのは下のような画像で、専用のソフトを使って作ります。
それで法線マップを適用するとどうなるのかというと…下に適用前と適用後の画像を用意したので見比べてみてください。
法線マップ適用後の画像を見てみると、「Test」の文字が立体的になっているのが分かりますね。法線マップを使えばこのように細かい部分の凹凸を表現できます(※3Dモデルでこういった細かい凹凸を表現するのは無駄なので、法線マップを使います)。
これで「レリーフの入った磨かれた金属風のマテリアル」を作ることができました。