ランスタのブログ

気になった事の実験や検証、Cinema4Dでのモデリングや使い方、Unityのゲームアプリ制作に関する記事を書いています。

【スポンサーリンク】

【Unity】オブジェクトの色のつけ方、C#スクリプトを使用して色を変更させるやり方【講座】

【スポンサーリンク】

オブジェクトに色をつける方法

 

今回はオブジェクトに色をつける方法と、スクリプトで色を変更させる方法を解説していきます。

まず、ProjectからCreateのボタンを押すと色々な項目が出てきます。

f:id:Lanstar:20170528131518p:plain

その中の中間より少し上辺りにMaterialと言う項目があるので、それをクリックします。(中間より下にPhysic Materialと言う似たような単語の項目がありますが、これは別物ですので気にしないで下さい。)
 
そしたらAssetsと書かれたフォルダーの中にマテリアルと呼ばれる物が生成されます。

f:id:Lanstar:20170528131527p:plain

生成されたマテリアルは好きな名前がつけれますが、ここでは「blue」と言う名前にします。(日本語は使用しないで下さい。オブジェクト名でもそうですが必ずローマ字で入力しましょう)
 
そして、マテリアルをクリックして選択すると、右側に表示されるインスペクターを見て下さい。
ここでMain Mapsと書かれた下の所にAlbedoと言う項目があります。
 
これの色の部分(白い部分)をクリックするとカラーパレットが出てくるので、青色に近い色に変えます。(赤は後で使うので使用しないで下さい)
先程マテリアル名にblueと書いたので、ここでは青色に近い色を選びました。

f:id:Lanstar:20170528131558p:plain

 
そしてこのマテリアルをクリックしたまま(長押し状態)ヒエラルキーにあるCubeオブジェクトにマウスの矢印と重ねて離してみます...
すると何という事でしょう。
Cubeオブジェクトが選んだ色に合わせて色が変更されました。

f:id:Lanstar:20170528131618p:plain

 
Cubeオブジェクトをクリックして右側に表示されるインスペクターを見て下さい。
Cubeオブジェクトに対して、ドラッグ&ドロップして生成したマテリアルが反映されています。
 
時間があればこの反映したマテリアルを再度選択してAlbedoから下の項目を触ってCubeオブジェクトに対して何が変わるのか色々と勉強してみて下さい。
 

C#スクリプトを使用してマテリアルの色を変更させるやり方

 
 
次はC#スクリプトと言う物を使用しコードを書いてマテリアルの色の変更のさせ方を書きたいと思います。
 
まずは先程と同じようにProjectからCreateボタンを押し、上から2番目にあるC# Scriptを選択します。
 
するとAssetsフォルダーの中にC#と書かれた物が生成されます、生成されたら名前が決めれますので、ここでは「color」と言う名前にしました。(日本語は使用しないでローマ字で入力しましょう)

f:id:Lanstar:20170528131644p:plain

 
そしたら生成したC#スクリプトをダブルクリックして下さい。MonoDevelopと言う名前の別のアプリが起動します。
 
これにスクリプト(オブジェクトに対して命令する文)を書いていきます。
では実際に下にあるスクリーンショットに書かれたコードを付け足して書いて見て下さい。
 
注意する点は、付け足すコードのローマ字は間違いの無いように記入して下さい。

f:id:Lanstar:20170528131708p:plain

 
出来たらMonoDevelopアプリの上のメニューにあるBuild→Build Allを選択(またはcommandキー+Bを押す)してビルドしましょう。これでUnityのアプリにスクリプトの情報が反映されます。
 
このビルドを行わないとUnityで色の変更が反映されないので注意して下さい。
もしビルドを行ってエラーの表示がされた場合は、付け足すローマ字が違ってエラーが出ているので、再度しっかり確認して見て下さい。(ローマ字の大文字小文字の間違いなど)
 
そしたらcolorスクリプトをクリックしたままCubeオブジェクトに持って行って離して下さい。
これでcolorスクリプト(色を赤に変える)がCubeオブジェクトに反映されました。
 
Cubeオブジェクトをクリックして右に表示されるインスペクターを見たら分かるのですが、反映された場合はColor(Script)と言う名前で反映されていると思います。
スクリプトでエラーが出ていた場合は、貼り付けられず反映出来ません。

f:id:Lanstar:20170528131727p:plain

 
ではUnityの上真ん中にある再生ボタンを押してゲームを再生して見て下さい。
何という事でしょう。
そうするとオブジェクトが青から赤色に変わりました!

f:id:Lanstar:20170528131736p:plain

 
これは再生して始まった時にオブジェクトを赤色にしてと言うスクリプトを行った為、赤色に変わりました。
再生ボタンを押さないと、色は赤に変わらないので注意して下さい。
次回はオブジェクトをスクリプトで移動、回転、大きさを変える方法を書いて行きたいと思います!
 
 

【スポンサーリンク】