Hola, Por fin pude activar un botón UI, este boton lo estoy utilizo para cambiar el material de mi Carácter o Monito, en mi escena...Mi problema ahora es que quiero ralentizar o bajar la velocidad de transición de un material a otro. Por favor cualquier consejo es bienvenido!Gracias
var myMaterials : Material[];
var NextMaterial : int = 0;
function NextMaterialUsed()
{
GetComponent.<Renderer>().sharedMaterial = myMaterials[NextMaterial];
if(NextMaterial < myMaterials.length-1)
NextMaterial += 1;
else
NextMaterial = 0;
}[/quote]
Busca info sobre fadeColor ;)
Okay, gracias voy a buscar!
Hola,Hice este cambio y me ha funcionado el cambio de color, que es lo que quería en un principio,Pero ahora quiero controlar el tiempo de transición de colores... No me ha querido trabajar este Script , Por favor alguna sugerencia.Gracias,
var fadeSpeed : float = 7.5;
var NextColors : Color[];
var NextMaterial : int = 0;
function NextMaterialUsed()
{
GetComponent.<Renderer>().material.color = Mathf.Lerp(GetComponent.<Renderer>().NextColors[NextMaterial],Time.deltaTime * fadeSpeed);
if(NextMaterial < NextColors.length-1)
NextMaterial += 1;
else
NextMaterial = 0;
}
Pero el Lerp son dos valores y time. Donde está el segundo color en el Lerp?
Cambie el Script y le puse los dos valores, pero no me ha funcionado...Si cambia los colores, pero no me hace el ralentizado...No cambia la velocidad de transición...Que podra ser?
var startColor : Color;
var myColors : Color[];
var NextColor : int = 0;
var fadeSpeed : float = 3.5;
function NextMaterialUsed()
{
GetComponent.<Renderer>().material.color = Color.Lerp(startColor,myColors[NextColor],Time.deltaTime * fadeSpeed);
if(NextColor < myColors.length-1)
NextColor += 1;
else
NextColor = 0;
}
Ayuda Pliss
Me pasaron esta corrección como borrador....Pero ahora si esta fuera de mi alcance....Una persona bondadosa que me pueda ayudar int GetBaseColorIndexFromTime(float time, int numColors, float fadeSpeed)
{
return min( (int)time/fadeSpeed, numColors) ;
}
Color GetColorFromTime(float time, Color[] myColors, float fadeSpeed)
{
int srcColorIndex = GetBaseColorIndexFromTime(time, myColors.Length -1, fadeSpeed);
int destColorIndex = min( srcColorIndex + 1, myColors.Length -1) ;
float lerpFactor = (time % fadeSpeed) / fadeSpeed;
return Color.Lerp(myColors[srcColorIndex], myColors[destColorIndex], lerpFactor );
}