zoukankan      html  css  js  c++  java
  • 导航网格寻路

    静态烘培

    计算机生成了可选文字:
[ 1 果 昱 . 、 刁 孓 ] 
Demol 
1 > 使 用 红 色 物 体 代 表 人 物 , 使 用 黄 色 代 表 寻 找 的 目 标 。

     

    计算机生成了可选文字:
[ 课 堂 演 示 ] 
Demol 
2 > 选 择 除 了 主 角 、 目 标 以 及 摄 像 机 、 直 线 光 
以 外 的 所 有 物 体 , 在 In ector 窗 囗 的 右 上 角 勾 
选 Static, 成 为 静 态 物 体 , 并 设 置 成 Navigation 
Static 静 态 类 型 。 
3 > 在 主 窗 囗 中 选 择 (Window) 一 > 
(Navigation) , 打 开 Navigation 窗 囗 。 该 窗 囗 
用 于 生 成 路 径 寻 找 所 需 要 的 导 航 网 格 结 构 , 代 理 
将 根 据 该 导 航 网 格 进 行 寻 路 计 算 。 在 Obejct 中 勾 
选 "Navigation Static ” , 且 设 置 Radius 属 
性 为 0 . 1, 点 击 (Bake) 按 钮 , 对 场 景 进 行 路 径 
烘 焙 。 
. C 爨 p , 爨 , 一 , r 、 00 { , e 、 h , en e 刂 0 d , tb

     

    添加NavMeshAgent组件

    计算机生成了可选文字:
frNavMe shAgen t 
1• V Mesh Renderer 
V Nav Mesh Agent 
Radius 
Speed 
Acceleration 
Angular Speed 
0.5000001 
8 
120 
Stopping Distance O 
Auto Traverse Off MN 
Auto Braking 
Auto Repath 
Height 
Base Offset 
Obstacle Avoidance 
Avoidance Priority 
NavMesh Walkable 
2 
1 
so

     

    让角色添加脚本控制

    计算机生成了可选文字:
5) GZYyFindPath$j2vf4U4, 
public Transform TraFindingGoa1, 
private NavMeshAgent agent; 
thi s. GameObj ect. GetComponen tKNavMeshAgent) ( ) 
agent 
agent. SetDestination (TraFindingGoa1. transform. position)

     

     

       public Transform TraGoals;                             //寻路目标

        private NavMeshAgent _Agent;                           //寻路代理

     

    void Start ()

    {

            //得到寻路代理

            _Agent = this.gameObject.GetComponent<NavMeshAgent>();

    }//Start_end

     

    void Update ()

    {

         if(TraGoals)

             {

                 if (_Agent)

                {

                     //寻找目标

    _Agent.SetDestination(TraGoals.transform.position);

                }        

             }

    计算机生成了可选文字:
6 > 运 行 游 
色 目 标 点 
中 可 以

     

    斜坡与跳跃

    计算机生成了可选文字:
1 > 设 置 静 态 物 体 与 定 义 主 角 与 目 标 。

     

    计算机生成了可选文字:
Height 
ffJ 
Radius 
Navigation 
ayet-S 
O Inspector 
General 
Radius 
Height 
Max Slope 
Step Height 
show 
Generated Off Mesh Links 
Drop height 
Jump Distance 
Advanced

     

    计算机生成了可选文字:
3 > 主 角 添 加 NavMeshAgent 组 件 。 
4 > 编 写 自 动 导 航 脚 本 。 
5 > 测 试 游 戏 , 观 察 主 角 位 置 的 各 种 变 化 , 解 释 种 种 发 生 的 现 象 。 
( 主 角 走 上 斜 坡 、 主 角 钻 过 通 道 、 主 角 下 斜 坡 等 ) 
主 要 是 Navigation 窗 囗 中 Bake 标 签 页 中 的 Drop Height 参 数 的 
理 解 。

    使用Off-Mesh Link组件

     

    计算机生成了可选文字:
1 > 设 置 静 态 物 体 与 定 义 主 角 与 目 标 。 
、 •V e 、 h Di , p , 
, ho * Nev , , h V

     

    计算机生成了可选文字:
2) Mesh Link _ÅiAH Start 
-5 End 
igat ion 
Object -F 43 "OffMeshLink Generatic 
Show

     

    计算机生成了可选文字:
添 力 INavMeshAgent 
4 > 编 写 自 动 导 航 脚 本 。 
5 > 测 试 游 戏 , 观 察 主 角 位 置 的 各 种 变 化 , 解 释 种 种 发 生 的 现 象 。

    添加脚本如下

    using UnityEngine;

    using System.Collections;

     

    public class Tan_Finding : MonoBehaviour {

        public Transform Destnation;

        private NavMeshAgent _NavAgent;

    // Use this for initialization

    void Start () {

    _NavAgent=gameObject.GetComponent<NavMeshAgent> ();

    }

     

    // Update is called once per frame

    void Update () {

            if (Destnation&&_NavAgent)

            {

    _NavAgent.SetDestination(Destnation.transform.position);

            }

    }

    }

    网格分层与Navmesh Obstacle组件

    只允许通过红桥或者蓝桥

    计算机生成了可选文字:
1 > 设 置 静 态 物 体 与 定 义 主 角 与 目 标 。 
0 , r , p 
Show

     

    计算机生成了可选文字:
2 > 定 义 寻 路 导 航 , 进 行 道 路 烘 焙 。 
Di 、 酈 0 
Show

     

    计算机生成了可选文字:
3 > 主 角 添 加 NavMeshAgent 组 亻 
4 > 编 写 自 动 导 航 脚 本 。 
5 > 第 一 次 测 试 , 观 察 主 角 位 置 的 变 化 。 
测 试 移 动 目 标 的 位 置 以 及 主 角 的 位 置 , 观 察 主 角 总 是 挑 选 最 近 的 
道 路 进 行 “ 行 走 ” 。 如 果 现 在 要 求 主 角 只 能 走 特 定 的 桥 , 如 何 处 理 ?

     

    计算机生成了可选文字:
+ ffJLayers 
project 
Gizmos 
MateriSls 
Blue 
defaultMat 
Green 
vellow 
Meshes 
soldier 
Bridge 
Red 
Bridge Blue. 
Cube_B rid gel_BIue 
cube_ooal 
Camera 
Plane 
Bred u e 
O Inspector Navig&tion 
Scene niter: 
(Mesh Renderer) 
Navigation Static V 
OffMeshLirik Ge

     

    下图没有勾选Bridge_Blue ,代表选择Bridge_Blue通过

    计算机生成了可选文字:
7) NavMeshAgent 
NavMesh Walkable 
"Xfi,E' 
Y— Mesh Agent 
Radius 
Speed 
Angular Speed 
Stopping Distance 
0.5000001 
Auto Traverse Off Mesh Link V 
Auto Braking 
Auto Repath 
Height 
Base Offset 
Obstacle A voidance Type 
Avoidance Priority 
NavMesh Walkable 
VLiu_Find Path_l (Sc 
Script 
Go Findinv Goal 
Red 
Main Color 
Base (RGB) 
Everything 
Def Nnt 
Not 
Bri

     

    计算机生成了可选文字:
行 走 买 验 。

     

    网格导航障碍物实验

    计算机生成了可选文字:
[ 课 堂 实 验 〗 “ 障 碍 物 ” 实 验 Dem05 
3 > 主 角 添 加 NavMeshAgent 组 件 。 
4 > 编 写 自 动 导 航 脚 本 。 
5 > 第 一 次 测 试 , 观 察 主 角 位 置 的 变 化 。 
6 > 给 独 木 桥 添 加 “ 障 碍 物 ” (Nav Mesh Obstacle 组 件 ) , 使 得 通 
过 脚 本 方 式 动 态 的 改 变 此 桥 是 否 可 以 通 过 的 条 件 。 
7 > 编 写 桥 的 动 态 开 启 脚 本 。 
8 > 再 次 运 行 游 戏 。

     

    脚本控制障碍物如下代码:

      private NavMeshObstacle _Obstacle;

     

    // Use this for initialization

    void Start () {

            _Obstacle = this.GetComponent<NavMeshObstacle>();

    }

     

    // Update is called once per frame

    void Update () {

            if (_Obstacle)

            {

                if (Input.GetMouseButtonDown(0))

                {

                    _Obstacle.enabled = false;

                    this.renderer.material.color = Color.green;

                }

                if (Input.GetMouseButtonUp(0))

                {

                    _Obstacle.enabled = true;

                    this.renderer.material.color = Color.red;

                }

            }

    }





  • 相关阅读:
    img标签与span一起使用不在同一条线上
    媒体查询
    section标签实现文字滚动
    js活jQuery实现动态添加、移除css/js文件
    页面中动态改变浏览器标题
    css清浮动与动态计算元素宽度
    js实现60s倒计时效果
    js与es6中获取时间戳
    JavaScript中实现小数点后保留2位
    GMT时间转换
  • 原文地址:https://www.cnblogs.com/fftan/p/5132211.html
Copyright © 2011-2022 走看看