为了账号安全,请及时绑定邮箱和手机立即绑定

正在回答

1 回答

  1. 选择Window->Navigation,会出现Navigation的相关设置;

  2. 选择场景中构成游戏地图的物体,点击Navigation下的Object,将Naviga Static选项勾选;

  3. 点击Navigation下的Bake,设置其中参数,最后点击右下角的Bake对所选物体进行烘焙,烘焙成功后,会在Scene视窗下看到蓝色网格;

  4. 在需要进行寻路的游戏物体上添加NavMeshAgent组件以及一个新的脚本;

  5. 脚本:加入UnityEngine.AI的命名空间,声明一个类型为NavMeshAgent类型的变量,在Start方法或者Awake方法中通过GetComponent方法获取到NavMeshAgent组件,在Update方法中使用变量的SetDestination方法设定目标位置(在脚本中添加一个共有变量GameObject,将这个物体的位置作为寻路的目标点,在上述的SetDestination方法中填入这个物体的position);

  6. using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    using UnityEngine.AI;
    
    public class Player : MonoBehaviour {
    
    	private NavMeshAgent agent;
    	public GameObject target;
    
    	// Use this for initialization
    	void Start () {
    		// 获取NavMeshAgent组件
    		agent = GetComponent<NavMeshAgent> ();
    	}
    	
    	// Update is called once per frame
    	void Update () {
    		// 设定目标位置
    		agent.SetDestination (target.transform.position);		
    	}
    
    }
  7. 不要忘记将目标物体拖到脚本的共有变量target中;
  8. 可以做一些其他的设置,不过这样就已经可以运行了,运行后的效果就是一个物体向着一个目标点进行移动。
0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

怎么让ai动起来

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号