Как изменить цвет сферы после пересечения куба в Unity 3D? - PullRequest
0 голосов
/ 02 мая 2020

Я новый Unity3D, мне это очень нравится, и когда я начал свой проект, у меня возникла проблема, у меня есть сфера, по которой она движется (AddForce), и я поместил в нее Материал (красный), Я хочу из этой сферы после пересечения куба, который находится в режиме (isTrigger) и не виден:

  1. Измените цвет сферы на (синий или красный).

  2. Для запуска сферы в случайный цвет (синий или красный).

  3. Если бы я мог поставить цвет Hex, было бы лучше, но если это solid цвет, без проблем.

  4. Если случайный цвет = к цвету куба 1, он будет продолжать двигаться, иначе: случайный цвет! = к кубу 1 он перестанет двигаться, Вы могли бы сказать, что это препятствие.

Я действительно верю, что оно требует кодирования, но я знаю только Python, поэтому, если вы можете написать для меня код, чтобы понять его лучше .

Ответы [ 2 ]

1 голос
/ 02 мая 2020

Цвет вашей сферы определяется материалом, который вы на нее нанесли.

var sphere = gameObject.GetComponent<Renderer>(); sphere.material.SetColor("_Color", Color.red);

0 голосов
/ 02 мая 2020

Вот мой пример кода для случайного цвета

void Start()
{
    int a=Random.Range(0,2);
    var sphere =GetComponent<Renderer>();
    sphere.material.SetColor("_Color",a==0?Color.Blue:Color.Red);
}

Это должно решить проблему случайного цвета

...