31-03-2016, 08:35 AM
EDIT: Ho "risolto" il problema che ho menzionato prima, quindi per evitare di aprire un altro topic, vi propongo un altro problema legato sempre all'animazione del personaggio.
Ho creato uno script che permette, nel momento in cui attivo un trigger per poter far partire l'animazione del personaggio, di trasformare la pozione del personaggio in un'altra da me stabilita. In breve lo script è questo.
Il problema è che sto cercando di far trasformare la posizione in modo "graduale", ovvero di non teletrasportare di colpo il personaggio. Però non so perchè, anche cambiando i valori di tempo, non cambia nulla: nel momento in cui la posizione deve cambiare, anziché cambiare gradualmente cambia immediatamente.
C'è qualcosa che ho sbagliato?
Ho creato uno script che permette, nel momento in cui attivo un trigger per poter far partire l'animazione del personaggio, di trasformare la pozione del personaggio in un'altra da me stabilita. In breve lo script è questo.
Codice:
public class ExitMap_Stairs : MonoBehaviour {
public float timeExitPosition = 1.0F;
public Vector3 exitPosition = new Vector3 (0F, 0F, 0F);
public Transform lookAtTarget;
private float distance;
private Ray ray;
private GameObject player;
private Animator anim;
private int goDown = Animator.StringToHash("Go Down");
void Start ()
{
timeExitPosition = Time.time;
}
void Update ()
{
RaycastHit hit;
distance = Vector3.Distance(transform.position, player.transform.position);
ray = Camera.main.ViewportPointToRay(new Vector3(0.5f, 0.5f, 0));
if (Input.GetKeyDown ("e") && Physics.Raycast (ray, out hit) && distance < maxDistance)
{
if(hit.transform.name == name)
{
animatorScript ();
player.transform.position = Vector3.Lerp(transform.position, exitPosition, Time.time);
}
}
}
void animatorScript ()
{
anim.SetTrigger (goDown);
}
Il problema è che sto cercando di far trasformare la posizione in modo "graduale", ovvero di non teletrasportare di colpo il personaggio. Però non so perchè, anche cambiando i valori di tempo, non cambia nulla: nel momento in cui la posizione deve cambiare, anziché cambiare gradualmente cambia immediatamente.
C'è qualcosa che ho sbagliato?