Как изменить цвет экземпляра префаба во время выполнения? - PullRequest
0 голосов
/ 23 сентября 2019

У меня проблема с изменением цвета готового объекта во время выполнения.

Проблема в том, что сборный объект состоит из GameObject и внутри него находится куб.Поэтому, когда вы создаете экземпляр объекта из среды выполнения, вы не можете изменить цвет.Как я могу идентифицировать этот созданный объект и изменить его цвет или любое другое свойство?

Вот изображение ошибки:

Errors

Это мой репозиторий с проектом (разработка ветки): https://github.com/emicalvacho/MapaMentalAR

Ответы [ 2 ]

5 голосов
/ 23 сентября 2019

Поэтому, когда вы создаете экземпляр объекта из среды выполнения, вы не можете изменить цвет

Да .. просто сохраните ссылку при создании экземпляра.Из вашего исключения в консоли вы можете видеть, что вы (случайно?) Пытаетесь изменить цвет самого префаба, а не только что созданного экземпляра.

var instance = Instantiate(prefab, position, rotation);
var objRenderer = instance.GetComponentInChildren<Renderer>(true);
objRenderer.material.color = Color.blue;

Кажется, что в ваших скриптах вы ссылаетесьпрефаб вместо экземпляра объекта.

0 голосов
/ 23 сентября 2019

Просто ты не можешь.Либо у вас есть отдельные префабы с разными цветами, либо вы меняете материал после того, как вы установили его на нужный цвет.

...