devlog [naru design]

プログラミングやテクニカルな内容の覚え書き。

Prefabから作成したインスタンスのマテリアル(色)を変更するサンプル。
それぞれのインスタンスの色を変更した場合と、プレハブに使用しているマテリアルの値を変更した場合の違いをみる。

予めCubeからプレハブを作成し、Assetへ追加しておく。

24行 : インスタンスのマテリアル(色)を変更
26行 : プレハブに使用しているマテリアル(色)を変更

Hierarchyへ空のオブジェクトを作成し、上記スクリプトを追加。
InspectorパネルでChangeColor(Script)のパブリック変数の設定を行う。
1. Prefabへ複製するプレハブをAssetからDrag&Dropで設定。
2. Materialへプレハブに使用しているマテリアルをDrag&Dropで設定。

シーンをプレビューすると…

スクリーンショット 2014-04-05 11.55.40

左側は上段の白いキューブ、右側は下段の右端の赤いキューブのInspectorパネルのMesh Rendererの状態です。

スクリーンショット 2014-04-05 11.57.17

スクリーンショット 2014-04-05 11.57.36

色を変更したキューブはマテリアルがCube(Instance)となりインスタンス化されたマテリアルが設定される。色を変更した後で、プレハブに使用しているマテリアルを変更しても影響をうけない。

色を変更していないキューブにはオリジナルのマテリアルが設定されたまま。プレハブに使用しているマテリアルを変更すると影響を受ける。

Pocket

“Unity3D:インスタンスのマテリアルを変更する” への1件のコメント

  1. […] インスタンスのマテリアルを変更する | naru design devlog […]

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

Trackback URL: