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); } } }
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; } }