Я хочу применить текстуру или цвет к игровому объекту. Я написал этот код до сих пор, но цветная часть не работает. Текстура применяется, поэтому по крайней мере что-то правильно. В зависимости от типа объекта я применяю текстуру или цвет, а не одновременно.Цвет Unity3d не применяется к gameobject
Если я играю сцену, я вижу новый материал, получающий назначение (я вижу его на панели инспектора), но с белым цветом.
GameObject o = GameObject.Find(items[i].name + "/" + ifv.field_details.name);
if (o != null){
if (ifv.field_details.type_id.Equals(Strings.colorType)){
//set the color
string[] c = ifv.value.Split(',');
Color color = new Color(float.Parse(c[1]),float.Parse(c[2]),float.Parse(c[3]),float.Parse(c[0]));
Material material = new Material(Shader.Find("Diffuse"));
material.color = color;
o.renderer.material = material;
}
if (ifv.field_details.type_id.Equals(Strings.textureType)){
//set the texture
string url = Strings.texturesHost + ifv.value;
WWW www = new WWW (url);
yield return www;
o.renderer.material.mainTexture = www.texture;
}
}
Любая идея, почему заявление цвет if
не работает?
Вы можете иметь лучшую удачу найдётся ответ на вопросы Unity их посвященный Q & A сайт: http://answers.unity3d.com/index.html – Adrian
Я нашел ответ: я должен разделить каждое число на 255 для работы. если кто-то опубликует его в качестве ответа, я его приму. –
Вы должны опубликовать его самостоятельно и принять. Тогда мы можем его проголосовать :) – Kay