Unity3D——学习分享(十四)实现自动寻路

为了使游戏增加更多的可玩性,自动寻路功能已经是游戏中不可或缺的功能了。比如绝地求生中的人机自动寻找目标等。今天分享一个简单的自动寻路的实现,通过这节的学习,应该会对寻路有更多的了解,就可以尝试更加深层次的寻路功能的实现啦。

1. 先创建一个简单的场景

在这里插入图片描述

2.将Ground(即创建的地形)设为静态(static) 并为主角添加寻路组件

在这里插入图片描述

在这里插入图片描述

3.烘焙地图,简单来说就是烘焙自动行走的路径(要注意蓝色区域为烘焙的路径,其它区域是不识别的,可以通过调整参数来达到你想要导航的区域)

在这里插入图片描述

在这里插入图片描述

4. 为主角添加寻路脚本,并将目标点赋给主角

在这里插入图片描述

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.AI;//添加AI引用 使用其中定义的方法

public class navment : MonoBehaviour {
	public Transform target; //寻路目标点
	private NavMeshAgent agent;//定义寻路组件
	void Start () {
        agent = GetComponent<NavMeshAgent>();//获取主角身上的寻路组件
	 }
	 void Update () {
        agent.SetDestination(target.position);//调用寻路方法
	 }
}

最终实现效果

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43159569/article/details/85016998