2015-11-27 7 views
1

я создал строки с помощью этого,unity5 примитив сфера цвет не меняется

LineRenderer line = new GameObject ("Line " + i.ToString()).AddComponent<LineRenderer>(); 
line.SetColors (transRed, transRed); 
Material lineGreen = new Material(Shader.Find("Particles/Alpha Blended")); 
line.material = lineGreen; 

и сферу, как это,

GameObject mySphere = GameObject.CreatePrimitive(PrimitiveType.Sphere) as GameObject; 
Material myMaterial = new Material(Shader.Find("Particles/Alpha Blended")); 
myMaterial.color = transRed; 
mySphere.GetComponent<MeshRenderer>().material = myMaterial; 

Цвет transRed является,

transRed.a = 0.4f; 
transRed.r = 1.1f; 
transRed.g = 0.496078431f; 
transRed.b = 0.0f; 

Моя проблема заключается в том, что линия и сфера не имеют одинакового цвета. Линия имеет цвет, который я хочу, но сфера белая. Я использую тот же шейдер и одну и ту же переменную цвета. Любая помощь?

ответ

0

Я считаю, что «Частицы/Альфа Смешанные» не заботятся о настройке цвета. установить цвет через свойство шейдера так:

myMaterial.SetColor("_Color", transRed); 

взглянуть на документацию Юнити here

+0

Я пытался это тоже. Результат такой же, белый. – ree1991

+0

@ ree1991 извините, а как насчет этого: material.SetColor ("_ TintColor", transRed); Я нашел его здесь >> http://forum.unity3d.com/threads/how-can-i-access-tint-color-from-alpha-blended-particle-shader.108967/ –

+0

, но он не работает. Полученный цвет становится розовым. но мой цвет не был розовым. – ree1991

Смежные вопросы