Accueil Forums J’ai besoin d’aide Unity3D J"ai besoin d'aide

Ce sujet a 3 réponses, 3 participants et a été mis à jour par  Eltonn12, il y a 1 mois.

4 sujets de 1 à 4 (sur un total de 4)
  • Auteur
    Messages
  • #1659

    Eltonn12
    Participant

    Bonjour!

    Je suis des vidéos sur la création d’un jeu FPS. Je suis à l’épisode 2 AI zombie déplacement animation.
    J’ai un problème mon Zombie ne tourne pas vers moi et marche sur place.
    Il me donne c’est deux errer.

    “SetDestination” can only be called on an active agent that has been placed on a NavMesh.
    UnityEngine.AI.NavMeshAgent:SetDestination(Vector3)
    AIZombie:Update() (at Assets/Zombie/script/AIZombie.cs:30)

    Et
    “GetRemainingDistance” can only be called on an active agent that has been placed on a NavMesh.
    UnityEngine.AI.NavMeshAgent:get_remainingDistance()
    AIZombie:Update() (at Assets/Zombie/script/AIZombie.cs:32)

    voila mon script

    using UnityEngine;
    using System.Collections;

    public class AIZombie : MonoBehaviour {

    public Transform Target;
    public float SpeedWalk = 1f;
    public float LookAt = 50f;
    public float SpeedRun = 8f;
    public float RunAt = 15f;
    private UnityEngine.AI.NavMeshAgent Agent;
    private Animator Anim;

    // Use this for initialization
    void Start () {

    Agent = GetComponent<UnityEngine.AI.NavMeshAgent> ();
    Anim = GetComponent<Animator> ();
    }

    // Update is called once per frame
    void Update () {

    print (“Distance” + Vector3.Distance (Target.position, transform.position));

    if (Vector3.Distance (Target.position, transform.position) < LookAt) {
    //Animation Deplacement

    Agent.SetDestination(Target.position); //Deplacement du zombie

    if (Agent.remainingDistance < RunAt) //Cour
    {

    Agent.speed = SpeedRun;
    Anim.SetBool (“Walk”, false);
    Anim.SetBool (“Run”, true);
    }
    else //Sinon Marche
    {
    Agent.speed = SpeedWalk;
    Anim.SetBool (“Walk”, true);
    Anim.SetBool (“Run”, false);
    }
    }
    else
    {
    Agent.speed = 0;
    Anim.SetBool (“Walk”,false);
    Anim.SetBool (“Run”, false);
    }
    }
    }
    pouvais vous m’aider s’il vous plaît;
    PS: J’ai essayer le script sur unity 5.6 es unity 5.5 et sa me donne le même errer.
    merci beaucoup.

    • Ce sujet a été modifié le il y a 2 mois et 1 semaine par  Eltonn12.
    #1662

    Sebou42
    Participant

    Ru dois pas faire un transform.rotation ?

    #1663

    MasterX
    Participant

    Hello,

    Si on suit tes messages d’erreur, on peut penser que tu n’as pas “backé” ton environnement, génération du NavMesh dans la partie ‘Navigation’.

    #1984

    Eltonn12
    Participant

    Merci sa à marcher.

4 sujets de 1 à 4 (sur un total de 4)

Vous devez être connecté pour répondre à ce sujet.