こんにちは、ひっしーです。
本日は、オブジェクトに色や模様をつけるために必要な要素のマテリアルについてご紹介したいと思います。
本日の目次です。
- マテリアルとは、
- マテリアルの作成と付与
- テクスチャの貼り付け
- マテリアルの色をスクリプトから変更する
- まとめ
マテリアルとは、
Unityでのマテリアルは、オブジェクトの見た目を表現する機能です。
簡単な例としては、Cubeの色を変えたり、光沢を付けることが出来る要素になります。
今まで作成してきたオブジェクトにもすでにデフォルトでマテリアルがついているのです。
色を変えたり、光沢を付けたりの作業はCubeやSphereなどのオブジェクトを直接調整するのではなく、マテリアルの情報を付け加えて見た目を変化させるのです。
マテリアルの作成と付与
実際にマテリアルを作ってみましょう。
プロジェクトビューで+ボタンをクリックし、Materialを選択してください。
作成できたマテリアルの名前を「CubeMaterial」としましょう。
次に、マテリアルを付与するためのCubeを作成します。
ヒエラルキービューにCubeを作成してください。
作成したCubeにマテリアルを付与します。
Cubeのインスペクタービューに表示されているMesh RendererのElement0に先ほどのCubeMaterialをドラッグ&ドロップして追加します。
これで、マテリアルをCubeに追加することができました。
では、MaterialからCubeの色を変えてみましょう。
プロジェクトビューのCubeMaterialを選択してインスペクタービューに表示されているAlbedoというパラメーターを変更します。
スポイトのようなマークの左側をクリックして色選択画面を表示させてください。
その画面を操作して色を赤にしてみましょう。
するとCubeの色が赤に変わりました。
このようにマテリアルを操作して色の情報を持ったマテリアルをオブジェクトに追加することで見た目を変更することが出来ます。
テクスチャの貼り付け
先ほどはCubeの色を変えるまででしたが、Cubeの表面に絵を張り付けて模様とすることも可能です。
絵柄の張り付け方について説明していきます。
まずは、プロジェクトビューに自分の好きな画像をドラッグ&ドロップで追加してください。
自分のデスクトップに入っている画像、ネットから取ってきた画像、自分で描いた画像、何でもいいです。
画像を追加出来たら、CubeMaterialのインスペクタービューを確認して、先ほども操作したAlbedoを見てみましょう。
名前の左側に四角の部分があるのでここに追加した画像をドラッグ&ドロップしてみましょう。
すると、Cubeの表面に張り付けた画像が描画されました。
(画像は私が適当に作成したものです。。)
また、この状態でCube全体の色を変更することもできます。
前項で紹介した色変更をテクスチャを張り付けたまま行ってみてください。
すると、Cube全体の色が変化し画像も映し出されている状態になるかと思います。
このように自分の好みの見た目に調整しオブジェクトをデザインすることが出来るのです。
マテリアルの色をスクリプトから変更する
まずは、いろいろといじってしまったマテリアルをもとの状態に戻してみましょう。
マテリアルの設定ボタンを開きResetを選択します。
するとマテリアルが作った時の状態にリセットされます。
これで変化を目視しやすくなりました。
次にスクリプトを作成します。
作成したスクリプトは「MaterialChange」として開いてください。
開いたら以下のコードを追加して保存しましょう。
Renderer renderer;//オブジェクトに付随しているRendererを入れる変数定義
// Start is called before the first frame update
void Start()
{
renderer = GetComponent<Renderer>();//スクリプトを追加したオブジェクトのRendererを取得して代入
renderer.material.color = Color.green;//RendererのMaterialのColorに青を代入
}
スクリプトが完成したら、このスクリプトをCubeMaterialを関連付けているCubeに追加してください。
Cubeに追加が出来たらUnityの再生ボタンをクリックしてみましょう。
すると白いCubeが緑になってゲームビューに映されていることがわかります。
今回は、ゲームが始まると同時に色が変わるようにプログラムを書いていますので再生してすぐに緑になりましたが、ゲームの途中で変えるようにすることも可能です。
まとめ
オブジェクトの色や見た目を変更するマテリアルについて紹介しました。
今回の重要ポイントは、
・マテリアルは色や見た目のパラメータ情報
・オブジェクトの見た目はマテリアルの情報をもとに形成される
・オブジェクトに画像を張り付けることもできる
オブジェクトの見た目を変更することでデザイン性も考えられたゲームを作ることが可能になります。
皆さんの創作性豊かなゲームを目にできる日を楽しみしています。
(Written by ひっしー)