Ejemplo n.º 1
0
    void Awake()
    {
        rigid = GetComponent <Rigidbody>();

        groundLayers = 1 << Pathea.Layer.VFVoxelTerrain
                       | 1 << Pathea.Layer.SceneStatic;

#if STEER3D
        m_Steer = GetComponent <SteerAgent>();
        if (m_Steer != null)
        {
            m_Steer.manualUpdate = true;
        }
#endif

        if (rigid != null)
        {
            rigid.freezeRotation = true;
            rigid.useGravity     = false;
        }

        animator   = GetComponentInChildren <Animator>();
        parameters = new HashSet <string>();

        if (animator != null)
        {
            AnimatorControllerParameter[] animParameters = animator.parameters;
            for (int i = 0; i < animParameters.Length; i++)
            {
                parameters.Add(animParameters[i].name);
            }
        }
    }
Ejemplo n.º 2
0
 void OnSteer()
 {
     if (agent == null)
     {
         agent = GetComponent <SteerAgent>();
     }
     if (agent != null)
     {
         if (agent.forward.sqrMagnitude > 0.001f)
         {
             transform.forward = agent.forward;
         }
         transform.position += agent.velocity * agent.maxSpeed * Time.deltaTime;
     }
 }