unity

unityでオブジェクトの色をスクリプトから変更する方法

投稿日:

Pocket

うも大石です。

 

この記事ではunityでオブジェクトの色を

スクリプトから変更する方法を書いてますので、

 

この記事を読めばあなたはスクリプトから

オブジェクトの色を変更できるようになります。

 

 

スポンサードサーチ

unityでオブジェクトの色をスクリプトから変更する方法

 

ということで本題です。

unityでオブジェクトの色をスクリプトから

変更するには、以下の2つをやればokです。

 

1、MeshRendererコンポーネントを取得

2、取得したコンポーネントに色を登録する

 

以上です。

記述的には以下をすればokです。


	public MeshRenderer ren;
	public Color color;
    // Start is called before the first frame update
    void Start()
    {
        
        ren = GetComponent();
        color.r = 0.0f;
        color.g = 1f;
        color.b = 1f;
        ren.material.color = color;
    }

 

 

ということでそれぞれ解説します。

 

 

MeshRendererコンポーネントを取得

 

まずオブジェクトの色はマテリアルで管理されてます。

で、そのマテリアルにスクリプトから変更を

加えるには、マテリアルを管理してる、

 

MeshRendererを取得する必要があります。

というわけでまずはMeshRendererコンポーネントを

取得します。

 

 

取得するには、以下のように

記述すればOKです。

 

MeshRenderer ren = GetComponent<MeshRenderer>();

 

でMeshRendererを取得したら

マテリアルにスクリプトから干渉することが

できるようになりました。

 

取得したコンポーネントに色を登録する

 

で、そのあとは色の設定です。

 

スクリプト上で色を設定するには、

まず色を設定しないといけません。

 

で色の設定をするには、

RGBの値をそれぞれ取得することで可能です。

 

 

ちなみにRGBとは赤、緑、青のことでして、

この色をまぜまぜして様々な色を作れます。

 

でRGBはそれぞれに0〜1までの数字(0.1~0.99も)を

入れることができまして、それにより色が決まります。

 

例えば

R=0

G=0

B=0

とかにすれば、黒色になりますし、

 

 

R=1

G=1

B=1

とかにすると白色になります。

 

でこれをスクリプト上でそれぞれ

RGBの値を設定してやって、それを

マテリアルに登録する記述をすればOKです。

 

 

ということで

RGBの値をセットするには、

まずColor型の変数を宣言します。

 

Color color; 的な感じです。

でRGBの値は、以下のように設定します。

 

上記のように変数名をcolorとした場合、

color.r = 0f;

color.g = 0f;

color.b = 0f;

 

 

みたいな感じです。

するとこれでRGBにそれぞれ値が入った

状態になり、色が作れました(ちなみに黒色です。)

 

あとは今作った色を、マテリアルに登録しましょう。

 

マテリアルに登録するには、以下の記述でいけます。

ren.material.color = color;

 

 

renというのは先ほど、GetComponentで取得した

MeshRendererコンポーネントのことでして、

 

で続くmaterial.colorというので、

マテリアルの色=という感じで設定できます。

 

 

material.color = colorですが

=の後のcolorは先ほど変数宣言した

Color型の変数colorでして、

 

RGBの値を設定したやつになります。

 

なので上記のように記述すれば、

マテリアルの色は、スクリプト上で作った色

と設定することができるわけです。

 

 

スポンサードサーチ

まとめ

 

という感じで、

 

1、MeshRendererコンポーネントを取得

2、取得したコンポーネントに色を登録する

 

この2つを行いましょう。

 

するとスクリプトからオブジェクトの色を変更できます。

 

 

スクリプトからの色変更ができるようになると、

ゲーム中に、オブジェクトの色を自由に変えたり、

 

色に関するできることの幅が広がるので、

ぜひ習得してみてください。

 

それでは読んでもらってありがとうございました。

 

 

大石

 

-unity

==========

Unity用の3Dモデルを探してる方、欲しい方ご注目!

自作のUnity用3Dモデルを販売(基本的に無料版あり)してますので、
以下のリンクより一度ご覧ください。

Unity用3Dモデルを見てみる

==========


スポンサードサーチ

関連記事

no image

Unityでオブジェクトに重力を1分以内につける方法

  どうも、チャーさん(@chaa___san)です。   あなたはUnityでオブジェクトに重力をつけたいですか?   この記事ではUnityでオブジェクトに、 重力を …

no image

unityでオブジェクトを回転させる方法「1分でできます」

どうも、チャーさんです。   あなたはunityでオブジェクトを回転させたいですか?   unityでゲームなど作るとオブジェクトを 回転させたい場面がありますよね。   …

no image

blenderで作ったモデルをunityにインポートする方法「簡単です」

どうも、チャーさんです。   あなたはblenderで作ったものを、 unityで表示(インポート)したいと、 思っていませんか?   この記事では、あなたが作ったblenderの …

no image

unityでのダンジョンの簡単な作り方(コードコピペで作れます)

どうも、チャーさんです。   あなたは、unityでダンジョンを作りたいと 思っていませんか?   この記事ではunityでのダンジョンの作り方を 説明してまして、本記事を読めば …

no image

[unity]foreach内でget componentを使う方法

どうも、チャーさんです。   この記事ではunityのforeachループで get componentする方法を書きます。     なのでこの記事を読めば、 &nbsp …

no image

unityで敵を索敵する方法

どうも、大石です。   あなたはunityでプレイヤーが敵を索敵する 機能をつけたいですか?   この記事を読めば、敵を索敵する 機能を簡単に作れますよ。   ということ …

no image

unityでオブジェクトを移動させたい人は読んでください。

どうも、チャーさんです。   あなたはunityでオブジェクトや、 プレイヤーなど自由自在に移動させたい、 そう思っていませんか?     キーボードの上下左右の矢印ボタ …

no image

unityで弾の発射位置をコントロールする方法

どうも、大石です。 あなたはunityで弾の発射位置を自由に コントロールしたいですか?   この記事を読めばあなたの好きな位置から 弾を発射できるようになりますよ。   スポンサ …

no image

unityで敵に近づくと追いかけてくるコードとコードの解説記事

どうも、チャーさんです。   あなたはunityで敵に近づくと、 プレイヤーを追いかけてくるという機能を つけたいと思っていませんか?   この記事ではそれを実現するコードと方法や …

no image

unityで弾を発射する方法(簡単3ステップ)

どうも、大石です。   あなたは、unityで弾を発射したいですか? この記事を読めば、あなたはunityで弾を発射 できるようになります。   なので、弾を発射したければ、 この …

no image

unityで敵を移動させる方法(詳細にわかりやすく説明します)

どうも、チャーさんです。   あなたはunityで敵を移動させたい、 そう思っていませんか?   コライダーなどでもできるが、他の方法が ないかと探してませんか?   & …

no image

unityでオブジェクトをスクリプトで削除する方法

どうも、チャーさんです。   あなたはunityでゲームオブジェクトを、 スクリプトなどから削除したいですか?   この記事では、関数を使い、 ゲームオブジェクトを削除する方法を書 …

no image

unityで矢印キーでオブジェクトを移動させるには(3d)

どうも、チャーさんです。 あなたはunityで矢印キーで3dオブジェクトを 移動させたいですか?   この記事では矢印キーによる3dオブジェクトの 移動を実現する方法を書いてるので、 読めば …

no image

unityでターン制のゲームを作るにはコレを使いましょう

どうも、チャーさんです。 あなたはunityでターン制ゲームを作りたい そう思っていませんか?   この記事ではunityでターン制のゲームを 作る方法を書いています。   なので …

no image

unityで弾の発射の向きを敵に向ける方法(自動)

どうも大石です。   あなたはunityで弾を発射するときの向き をコントロールしたいと思っていませんか?   この記事を読めば、あなたはunityで 弾を敵に向かって発射させれる …

最新記事

チャーさん

プログラミング・筋トレ・unity系の記事などを書いてます。

大学卒業後→開業→個人事業主7年目ぐらいです。webサイト制作したり、unityでゲーム開発しております。

youtubeもやってまして、主にプログラミング動画とかunity系の動画をあげてるので見てください。