Unity3D gameObject Изменение цвета? - PullRequest
0 голосов
/ 09 апреля 2020

у меня есть 2 материала на один gameObject, и я хочу изменить цвет 2. с помощью скрипта c#

Но этот скрипт только меняет 1. и я хочу изменить 2.

С уважением

rayHit.collider.gameObject.GetComponent<MeshRenderer>().material.color = Color.black;

1 Ответ

0 голосов
/ 09 апреля 2020

Если вы используете GetComponent<MeshRenderer>().material, вы меняете первый материал. Вам нужно использовать GetComponent<MeshRenderer>().materials, чтобы получить все материалы вашего MeshRenderer в массиве.

Так что если вы хотите изменить второй материал, вам нужно изменить индекс 1 массива материалов следующим образом:

rayHit.collider.gameObject.GetComponent<MeshRenderer>().materials[1].color = Color.black;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...