using System.Collections;
//通过脚本添加组件 这样会给动画师方便
[RequireComponent(typeof(Animator))]
[RequireComponent(typeof(NavMeshAgent))]
public class tianjiazhujian : MonoBehaviour {
public Transform p;
private Animator _Anim;
private NavMeshAgent _Nav;
void Start () {
_Anim = GetComponent<Animator> ();
_Nav=GetComponent<NavMeshAgent>();
}
void Update () {
_Nav.SetDestination (p.position);
float Dis = _Nav.remainingDistance;
if (Dis > 0) {
_Anim.SetBool ("Isrun",true);
}
}
void FixedUpdate(){
}
}
——————————————————————————————————————————————————
//随机奔跑寻路
using UnityEngine;
using System.Collections;
//通过脚本添加组件 这样会给动画师方便
[RequireComponent(typeof(Animator))]
[RequireComponent(typeof(NavMeshAgent))]
public class ff3 : MonoBehaviour {
private Animator _Anim;
private NavMeshAgent _Nav;
int i =2;
//重复调用函数 从0秒开始 间隔时间
void Start () {
_Anim = GetComponent<Animator> ();
_Nav=GetComponent<NavMeshAgent>();
InvokeRepeating ("Run", 0, i);
}
void Update () {
}
void FixedUpdate()
{
_Anim.SetFloat ("Dis", _Nav.remainingDistance);
}
void Run(){
if (_Anim) {
i=Random.Range(0,10);
if(i>=5){
float X =Random.Range(-24.0f,24.0f);
float Z =Random.Range(-24.0f,24.0f);
_Nav.SetDestination(Vector3(X,0,Z));
}
}
}
}
_____________________________________________________________________
//每隔1秒实例化物体一次
public GameObject Meisha;
void Start(){
InvokeRepeating ("MeiSha", 0, 1);
}
void MeiSha(){
Instantiate (Meisha);
}
________________________________________________________________
监视动画机的状态
public class animator : MonoBehaviour { Animator anim; AnimatorStateInfo animatorInfo; void Start () { anim=GetComponent<Animator>(); } void Update () { animatorInfo=anim.GetCurrentAnimatorStateInfo(0); if(animatorInfo.IsName("Take 001"))//注意这里指的不是动画的名字而是动画状态的名字 { anim.speed=2; } }