Unity(第二十三部)导航

发布于:2024-03-03 ⋅ 阅读:(61) ⋅ 点赞:(0)

你可以使用 unity官方提供的 unity导航组件或第三方 unity导航组件,以实现游戏中角色或其他物体的导航。

unity导航组件通常具有多种导航模式,如飞行模式、步行模式、车辆模式等,可以根据不同的需求选择合适的模式。同时,unity导航组件还可以设置路径规划目标导航等功能,以实现更加复杂的导航需求。

导航是生成网格的时候,网格内可以走,网格外不能走

导航的应用

在这里插入图片描述
烘培配置、他是通过人的数据生成
在这里插入图片描述
设置好点击bake,就会产生这样的网格、蓝色曲云可以行走
在这里插入图片描述

使用导航根据鼠标点击移动,自动避障

在移动的物体上添加导航代理组件
在这里插入图片描述
代理类型,第二个打开导航设置进入上面的导航面板(不是导航代理组件哈)
在这里插入图片描述
在导航中添加代理选项和配置
在这里插入图片描述
新建脚本、需要移动的物体上绑定上脚本

using System.Collections;
using System.Collections.Generic,
using UnityEngine;
using UnityEngine.Al;

public class PlayerControl : MonoBehaviour{
	private NavMeshAgent agent;
	void start(){
		//获取代理组件
		agent = GetComponent<NavMeshAgent>();
	}
	void Update(){
		//如果按下鼠标
		if (input.GetMouseButtonDown(0)){
			//获取点击位置
			Ray ray= Camera.main.ScreenPointToRay(Input.mousePosition);
			//声明射线碰撞的信息
			RaycastHit hit;
			if(Physics.Raycast(ray,out hit)){
				//点击位置
				Vector3 point = hit.point;
				//设置该位置为导航目标点
				agent.SetDestination(point);
			}
		}
		 
		
	}
}

 
 

网格链接和动态障碍物

1、网格障碍物组件
障碍物上把静态去掉
在这里插入图片描述
在去掉静态的物体上添加导航网格障碍物组件
在这里插入图片描述
点击切割会动态烘培导航、耗性能

如果想要从高台上跳跃下去、那么就需要,点击高台物体,点击导航设置,点击对象,点击生成网格链接
在这里插入图片描述

下面参数才能生效
在这里插入图片描述
高度设置成10后会有一下几个圆形区域,就是这些位置是可以跳下去的
在这里插入图片描述
2、网格链接组件
类似于传送门,从地图的a点到b点在这里插入图片描述
组件总的自动更新位置,物体发生位置改变时,传送位置自动改变

导航区域

在这里插入图片描述

在这里插入图片描述
设置区域
添加物体静态的勾选
选择物体后,点击导航的对象、点击区域设置、然后重新烘培
在这里插入图片描述
特殊需要特殊角色能进入,正常人不能进入的区域,就修改区域遮罩

在这里插入图片描述

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到