搭建一个基本的寻路系统

寻路角色与场景

创建一个胶囊体作为玩家,添加刚体组件,并且冻结所有旋转和 y 轴的位置;

之后为玩家添加导航网格代理组件,即 NavMeshAgent

添加外部的场景模型(或者自行搭建),并移动摄像机到一个合适的位置;

技巧:可以先在场景中对准位置,然后取 hierarchy 面板,右键点击主摄像机,选择 align with view,即可把摄像机视角定位为目前场景视角!

设置场景导航与烘焙

选中场景中除了玩家以外的所有静态物体,在属性面板最右上角的 "static" ,点击小三角,选择 navigation static
如果弹出提示说需要应用到子物体,点击确认应用即可!

依次点击 window -> ai -> navigation 打开导航控制面板;

navigation 面板有四个子面板,目前我们仅需要关注 bake 面板,点击进入,直接点击右下角 bake 按钮进行场景导航网格的烘焙;

烘焙完成后,场景中我们之前设置的静态物体均出现淡蓝色导航网格,这表示玩家可以行走的路段!

鼠标点击导航

新建脚本 NavClick.cs,以下是全部代码:

  1. 首先获取导航网格对象以及主摄像机
  2. 照抄屏幕发射射线的代码
  3. agent.SetDestination 方法可以设置玩家的导航点,即玩家会根据导航网格来计算最优路径来到达目的地
  4. Debug.DrawLine 为了显示射线更清晰,我们可以使用此方法在场景面板中显示红色射线轨迹!
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.AI;public class NavClick : MonoBehaviour
{public NavMeshAgent agent;public Camera camera;void Update(){if (Input.GetMouseButtonDown(0)){Ray ray = camera.ScreenPointToRay(Input.mousePosition);RaycastHit hit;if (Physics.Raycast(ray, out hit)){agent.SetDestination(hit.point);Debug.DrawLine(camera.transform.position,hit.point,Color.red);}}}
}

代码挂载到主摄像机,并设置好导航网格代理之后,点击运行按钮,即告完成;

此时我们可实现类似 LOL 的点击位置玩家计算路径并前往的效果了

一些废话

别以为这就学完了,这仅仅是启发你的兴趣,后面还要好多要学的!!!

Unity 导航寻路快速上手相关推荐

  1. Unity导航寻路系统插件--A* Pathfinding Project

    Unity的A*寻路是很常用的功能,比如LOL里面的鼠标点击行走,那么一般情况下做这个导航寻路系统的时候会用两种方式去完成,第一种就是Unity里面自带的NavMeshAgent,第二种就是在Unit ...

  2. 《Unity 2018 AR与VR开发快速上手》简介

    #好书推荐##好书奇遇季#<Unity 2018 AR与VR开发快速上手>,京东当当天猫都有发售. Unity3D是由Unity Technologies公司开发的一款跨平台的游戏行业软件 ...

  3. 【游戏开发教程】Unity Cinemachine快速上手,详细案例讲解(虚拟相机系统 | 新发出品 | 良心教程)

    文章目录 一.前言 二.插件下载 三.案例1:第三人称自由视角,Free Look character场景 1.场景演示 2.组件参数 2.1.CinemachineBrain:核心 2.2.Cine ...

  4. 【游戏开发教程】Unity Cinemachine快速上手,详细案例讲解(虚拟相机系统 新发出品 良心教程)

    文章目录 一.前言 二.插件下载 三.案例1:第三人称自由视角,Free Look character场景 1.场景演示 2.组件参数 2.1.CinemachineBrain:核心 2.2.Cine ...

  5. Unity editor 快速上手 quick start

    Unity editor 快速上手 quick start Warning:非干货,是比较个人向的快速上手的代码例子,不一定是最好的方法,但能work. 主要目的是做一个可以动态添加和移除新的行的自定 ...

  6. 【Unity 实用工具篇】✨| Tutorial Master 2 游戏引导教程 快速上手

    前言 [Unity 实用工具篇]✨ | Tutorial Master 2 游戏引导教程 快速上手 一.Tutorial Master 2 介绍 1.1 基本概念 1.2 相关链接 1.3 效果展示 ...

  7. 《Unity2018AR与VR开发快速上手》随书内容资源相关说明

    我的第二本书,<Unity2018AR与VR开发快速上手>终于上市了,现在天猫和京东都有卖. 随书资源的百度盘链接被关闭了,只给了个"此链接分享内容可能因为涉及侵权.色情.反动. ...

  8. 【转】Vue.js 2.0 快速上手精华梳理

    Vue.js 2.0 快速上手精华梳理 Sandy 发掘代码技巧:公众号:daimajiqiao 自从Vue2.0发布后,Vue就成了前端领域的热门话题,github也突破了三万的star,那么对于新 ...

  9. TortoiseGit + GitHub 快速上手指南

    TortoiseGit + GitHub 快速上手指南 名词解释: 1. TortoiseGit 是 TortoiseSVN的Git版,它很好的实现了与windows资源管理器的融合,使用界面与Tor ...

最新文章

  1. 微信js sdk动态引用
  2. AngularJS的使用方法
  3. NeurIPS 2021 | 寻找用于变分布泛化的隐式因果因子
  4. 集群、分布式、负载均衡区别
  5. 如何在阿里云上使用Data Lake Analytics分析Table Store数据
  6. GPT1-3(GPT3/few-shot,无需finetune)
  7. 购买原装三星内存注意事项
  8. html5和flash播放器
  9. 优秀案例|想学排版?布局清晰明了的海报给你参考
  10. 图解TCP/IP第一章学习
  11. L255 Learning to say no brings a thrill of freedom
  12. 预防医学的曙光 | 微软要用AI构建免疫系统图谱
  13. 【问题】ajax两种传递id值方式的区别
  14. gitbash PHP执行输出中文乱编解决方式
  15. mysql分组函数及其用例
  16. python列表模糊匹配_Python下用List对员工信息表进行模糊匹配
  17. 怎么将计算机设置为光盘引导模式,怎么设置uefi引导系统
  18. MQTT keepalive和reconnect
  19. python如何提取word文档某个段落所有内容(包括段落、表格、图片一并提取)
  20. MBA教学目标、内容和方法

热门文章

  1. 从今天开始,每天稳定博客,学习网络安全
  2. 遥控51单片机控制42步进电机(TB6600驱动)控制方向、速度
  3. PTA 6-1 在数组中查找指定元素 (25分)
  4. Vue2分页器(Pagination)
  5. 51单片机定时器扫描按键
  6. 【PTA】【C语言】使用函数实现字符串复制
  7. 292. Nim Game(尼姆游戏)
  8. vivado如何添加xci文件
  9. uni-app开发ios App,如何去掉底部安全空白区域
  10. 数据分析师的理想模版到底什么样?