質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

解決済

2回答

3032閲覧

Unityでprefabから生成されたオブジェクトの色を分ける方法

ken0625

総合スコア40

Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

0クリップ

投稿2017/10/05 11:40

全く同じ形で色だけ違うオブジェクトを10個配置したいです。
スクリプトからインスタンス化して色を変える方法はでてくるのですが、エディタでやる方法はないのでしょうか?

prefabからオブジェクトを生成した時、そのオブジェクトの色を変える方法はマテリアルの変更しかないのでしょうか?
同じオブジェクトの色だけ違うものを10個作る時にマテリアルも10個作らねばいけないのでしょうか。

よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

スクリプトなしではないでしょう
試してませんが強引に変えるならライト系でしょうか
でもライト10個よりマテリアル10個のがはるかに軽いと思います

投稿2017/10/05 17:16

Ans

総合スコア75

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

エディタからではできないですね。
ただ、マテリアルの変更といっても、スクリプトから行えばマテリアルファイルを作っておく必要はありません。

// 「gameObject」はPrefabから生成した新しいオブジェクト gameObject.GetComponent<Renderer>().material.color = Color.red;

のようにすることで、オブジェクトごとに色を変えることができます。

ただ、マテリアルの種類に応じて変更する値や変更の仕方が異なるので、
上記はあくまで、デフォルトのマテリアルを利用している場合、という感じです。
(大体のマテリアルはそれでも動くとは思いますが)

投稿2017/10/05 23:17

edo_m18

総合スコア2283

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ken0625

2017/10/07 00:53

原理的にできないのですね! prefabからインスタンスを作るみたいなことエディタ上でできるようにしないんですかねー ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問