Creare Videogiochi - Game Developer
Animazioni PlayerController - Versione stampabile

+- Creare Videogiochi - Game Developer (https://www.making-videogames.net/giochi)
+-- Forum: Unity3D Italia (https://www.making-videogames.net/giochi/Forum-Unity3D-Italia)
+--- Forum: Richieste di Aiuto per Unity 3D (https://www.making-videogames.net/giochi/Forum-Richieste-di-Aiuto-per-Unity-3D)
+--- Discussione: Animazioni PlayerController (/thread-Animazioni-PlayerController)



Animazioni PlayerController - 93sunderland - 31-03-2016

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.

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?


RE: Animazioni PlayerController - 93sunderland - 01-04-2016

RISOLTO

Se volete sapere come ho risolto questo problema chiedete pure, altrimenti chiudete il topic.


RE: Animazioni PlayerController - Blackg96 - 04-04-2016

Uno script un po troppo pesantino secondo me, avresti semplicemente potuto utilizzare un trigger con la funziona OnTriggerEnter risparmiando una buona parte di calcolo Smile


RE: Animazioni PlayerController - 93sunderland - 06-04-2016

Il fatto è che se dovessi fare come dici tu allora per ogni trigger che utilizzerà la stessa funzione, allora dovrei creare ogni volta un boxcollider diverso, mentre così devo solo cambiare il parametro della distanza massima quando voglio.


RE: Animazioni PlayerController - Blackg96 - 08-04-2016

ti basta usare i tag Smile