通过脚本添加组件 NavMeshAgent寻路动画设置,动画speed设置,随机奔跑寻路,间隔实例化InvokeRepeating ("Run", 0, i)

来源:互联网 发布:在哪寻找淘宝客 编辑:程序博客网 时间:2024/05/30 04:45
using UnityEngine;
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;  } }

0 0
原创粉丝点击