Unity事例ノート

UNITY

他のマテリアルを変数として取得する

他のオブジェクトのカラーを取得して、もう一方のオブジェクトに同じカラーを付けてみましょう。

Cubeをクリックして、マテリアルを変数として取得。

もう一つのCubeをクリックすれば、同じマテリアルを付けることができます。

この方法には、他のオブジェクトの変数を取得できるように、スクリプトを作成します。

関連記事:
他のスクリプトの変数を取得する
他のスクリプトの関数を実行する方法
他のオブジェクトの回転を変数として取得
ゆっくり元のカラーに戻す
Resources.Loadを使ったファイル指定
ぶつかったオブジェクトと同じカラーにする

色を吸い取る

Cubeを2つ作成し、並べて配置し、名前をそれぞれCube1、Cube2にします。

CubeMaterialというマテリアルを作成し、Cube1に追加します。

GetColor.csを作成し、Cube1に追加します。

GetColor.csを記述します。

ゲームプレイして、黄色のCubeをクリックしましょう。

CubeColor1のフィールドに、CubeMaterialのマテリアルが確認できます。

吸い取った色をつける

Cube1の黄色のマテリアルを、Cube2にも付けられるようにしていきましょう。

PutColor.csを作成し、Cube2に追加します。

PutColor.csを記述します。

Cube1にあるマテリアル、Cube1Color変数を取得するしくみです。

変数getColorに、GetColor.csを格納。

「getColor.Cube1Color」という形で、Cube1側のマテリアルの変数を取得しています。

ゲームプレイしてみましょう。

黄色のCubeをクリックしてマテリアルを取得。

白色のCubeをクリックすれば、黄色のマテリアルで色がつきます。

関連記事:
他のスクリプトの変数を取得する
他のスクリプトの関数を実行する方法
他のオブジェクトの回転を変数として取得
ゆっくり元のカラーに戻す
Resources.Loadを使ったファイル指定
ぶつかったオブジェクトと同じカラーにする