259 字
1 分钟
Unity的Ai寻路
2025-09-28
2025-09-28
浏览量:加载中...访问次数:加载中...

注意事项#

  1. 2022版本及以上需要在包管理器中添加包

基础教程#

  1. 场景搭建

  2. 安装AI Navigation包

NOTE

2021及以下版本在 窗口-AI-Navigation中,无需安装

  1. 给胶囊体添加Nav Mesh agent组件

  2. 给场景里所有物体添加Nav Mesh Surface组件

  3. 烘焙路径

  4. 编写脚本:PlayerController.cs

PlayerController.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.AI;
public class PlayerController : 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 targetPosition = hit.point;
agent.SetDestination(hit.point);
}
}
}
}
  1. 将脚本挂载到胶囊体然后运行游戏

进阶(NavMeshLink桥接组件)#

  1. 空对象 添加 NavMeshLink 桥接组件

Start Point:链接的起始点,相对于 GameObject。使用 XYZ 坐标定义。 End Point:链接的结束点,相对于 GameObject。使用 XYZ 坐标定义。

  1. 调节起点和终点位置,Type改成Jump,宽度给个1

  2. 运行游戏你就会发现,他会从中间跳过去


文章编辑:@鈴奈咲桜

Unity的Ai寻路
https://blog.sakura.ink/posts/unity_ai/
作者
鈴奈咲桜
发布于
2025-09-28
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时