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で敵に近づくと追いかけてくるコードとコードの解説記事

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

no image

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

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

no image

unityで動く床にのるとオブジェクトが滑る場合の解決法

どうも、大石です。   unityで動く床を作ったのに オブジェクトが上に乗ると滑って 一緒に付いて行かずに落ちる、、   みたいなことで悩んでますか?     …

no image

unityでコンポーネントを取得する方法を詳しく解説

どうも、チャーさんです。 あなたはunityでコンポーネントを取得する方法を 探していますか?   この記事ではコンポーネントを取得する方法、 その際の変数宣言の書き方や、 コンポーネント名 …

no image

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

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

no image

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

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

no image

unityアセットの使い方を初心者でもわかるように説明。

  どうも、チャーさんです。   あなたはunityのアセットの使い方が、 わからず困ってませんか?   この記事ではunityのアセットの使い方を、 1から説明してます …

no image

unityでprefabを複製する(スクリプトで)方法

どうも、大石です。 あなたはunityでprefabをスクリプトで複製 したいですか?   この記事を読めば、あなたはprefabをスクリプトで 複製できるようになります。   な …

no image

unityでキー入力で攻撃する方法(3分以内にできます)

どうも、チャーさんです。   あなたはunityでキー入力による攻撃を したいですか?   この記事ではunityでキー入力で攻撃を する方法を書いてますので、あなたがこれを読めば …

no image

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

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

no image

unityでマウスの座標を取得する方法(超簡単です)

どうも、大石です。   あなたはunityでマウスの座標を取得したい ですか?   この記事を読めば、あなたはすぐに マウスの座標を取得できますよ。   スポンサードサー …

no image

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

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

no image

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

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

no image

unityで地形を作る方法「初心者でもできるように丁寧に説明してます」

どうも、チャーさんです。   あなたはunityでいい感じの地形を作りたい。 でも、やり方がわからない。と悩んでいませんか?   この記事では、unityで地形を作る方法を、 ステ …

no image

unity上でblender作成モデルが透ける時の解決法

どうも、チャーさんです。   あなたはunityにblenderで作ったモデルを 持ってきたものの、面が透ける現象が起こって 困っていませんか?     この記事は、透け …

最新記事

チャーさん

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

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

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