静态烘培
![计算机生成了可选文字:
[ 1 果 昱 . 、 刁 孓 ]
Demol
1 > 使 用 红 色 物 体 代 表 人 物 , 使 用 黄 色 代 表 寻 找 的 目 标 。](http://images2015.cnblogs.com/blog/558895/201601/558895-20160115075008897-531284600.png)
![计算机生成了可选文字:
[ 课 堂 演 示 ]
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](http://images2015.cnblogs.com/blog/558895/201601/558895-20160115075009788-946980262.png)
添加NavMeshAgent组件

让角色添加脚本控制

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);
}
}

斜坡与跳跃



使用Off-Mesh Link组件



添加脚本如下
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组件
只允许通过红桥或者蓝桥




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


网格导航障碍物实验

脚本控制障碍物如下代码:
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;
}
}
}