【untiy3d】NavMesh初步学习及应用

Unity3d 3.5为我们带来了什么,它为我们带了简易的寻路组件,即NavMesh ;

让我们来一起粗步认识一下NavMesh的简单使用


首先我们建立一个新场景,在新场景我们创建 一个地形或者创建一个Plane,

然后在其上面用Cube或者其它的建立一些障碍物

再创建自己需要为其设置自动寻路的Cube,可以为它改个名字,我们在这里

将其改名为walker

再创建一个walker要自动到达的位置,创建一个Cube,改名为endposition;



准备工作做好了,让我一起来尝试下NavMesh


打开Navigation,Windows->Navigation


在Hierarchy层次窗口中将所有障碍物选上,在Navigation窗口,将Navigation Static打上勾,选择一个Navigation Layer 层not walkable

在Hierarchy层次窗口中将允许行进的地形或者Plane选上,做与上面一样的操作,选择Navigation Layer  层的defult层

选中walker为其添加NavMeshAgent组件  Component-> Navigation ->NavMeshAgent

在Navigation窗口中,选中Bake烘焙


为了让其运动,我们写一个简单的脚本,脚本内容如下

using UnityEngine;
using System.Collections;


public class Nav : MonoBehaviour {


// Use this for initialization
public Transform target;
private NavMeshAgent navmeshagent;
void Start () {
  navmeshagent = gameObject.GetComponent<NavMeshAgent>();
}

// Update is called once per frame
void Update () {
navmeshagent.SetDestination(target.position);

}
}

将脚本拖拉到walker中,再将endposition拖拉到上述脚本的target;


最后运行,完成,你会发现walker会自动寻找路线移动到endposition的位置。

注意:设置Navigation的bake面板的Radius可以选择不可通过区域的半径大小





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值