要求:放置一个BOSS,创建几个路标,自动循环这几个路标形成回路,变成自动巡逻,并配合animator系统的控制开关控制BOSS的动作

1.先设置好BOSS 中animator的控制开关,只看Run和Idle之间的联系,设置一个BOOL变量“isMove”进行控制(其他动作联系是我设置的其他攻击控制和使用技能控制,不必注意)

逻辑很简单,isMove为真,Idle向Run,isMove为假,Run向Idle, 把Idle设置为默认状态

l

2.在层次面板下创建一个空物体,改名为wayPoints,然后在其下创建5个子的空物体,分别为wayPoints01,02,03,04,05 表示BOSS将要巡逻的五个点

3.在Windows目录下点击navigation,打开这个系统,设置好相关属性之后,点击bake,如图,已经烘培好了可寻路的范围(蓝色部分)

4.在BOSS下添加一个NavMeshAgent的组件,并创建一个脚本,进行使用


using UnityEngine;
using System.Collections; public class nuoshouMove : MonoBehaviour {
public Transform[] wayPoints; private int index=;//设置一个标志位。他默认自动巡逻的标识 //到一个点后休息8S时间
public float stopTime=8f;
public float timer=; //引用自己和navmeshagent组件,动作组件
private NavMeshAgent nav; private Animator ani;
void Awake(){
ani = this.GetComponent<Animator> (); }
// Use this for initialization
void Start () {
nav = this.GetComponent<NavMeshAgent> ();
view = this.GetComponent<nuoshouView> ();
nav.destination =wayPoints [index].position;//一开始就走向第一个点
} // Update is called once per frame
void Update () {
moving(); //走向设置好的五个点
if (nav.remainingDistance < 0.2f) {
//到点后休息一段时间
ani.SetBool("isMove",false);
timer+=Time.deltaTime;//开始计时
if(timer>=stopTime){
index++;
index%=;//利用求余运算,进行循环
ani.SetBool("isMove",true);
nav.destination=wayPoints[index].position;
timer=;//计时器归零
}
}
} void moving(){
//ismove设为真,播放走这个动作
ani.SetBool ("isMove", true);
nav.destination = wayPoints [index].position;//走向目标位置 }
}

 

U3D navmesh寻路简单示范的更多相关文章

  1. Unity3D架构设计NavMesh寻路

    Unity3D架构设计NavMesh寻路 发表于2013年10月6日由陆泽西 国庆闲来没事把NavMesh巩固一下.以Unity3D引擎为例写一个底层c# NavMesh寻路.因为Unity3D中本身 ...

  2. Unity3D架构设计NavMesh寻路(未完待续)

    国庆闲来没事把NavMesh巩固一下.以Unity3D引擎为例写一个底层c# NavMesh寻路.由于Unity3D中本身自带的NavMesh寻路不能非常好的融入到游戏项目其中,所以重写一个NavMe ...

  3. 【Unity】12.2 导航网格寻路简单示例

    开发环境:Win10.Unity5.3.4.C#.VS2015 创建日期:2016-05-09 一.简介 本节通过一个简单例子,演示如何利用静态对象实现导航网格,并让某个动态物体利用导航网格自动寻路, ...

  4. Orleans框架简单示范

    希望现在学习Orleans不会晚,毕竟Server Fabric都开源了.本篇博客从Sample的HelloWorld示例程序来解读Orleans的Grains. Server配置参考 : https ...

  5. msf客户端渗透(一):payload利用简单示范

    针对Windows 开启侦听 查看payload选项 将1.exe传到网页上 win7访问网页并下载1.exe 下载好之后双击运行,在服务器端就获得了一个shell   针对linux 先获取到一个软 ...

  6. unity自带寻路Navmesh入门教程(三)

    继续介绍NavMesh寻路的功能,接下来阿赵打算讲一下以下两个例子,先看看完成的效果:   第一个例子对于喜欢DOTA的朋友应该很熟悉了,就是不同小队分不同路线进攻的寻路,红绿蓝三个队伍分别根据三条路 ...

  7. unity自带寻路Navmesh入门教程(二)

    上一节简单介绍了NavMesh寻路的基本用法,这次来介绍一下稍微复杂一点点的高低落差以及跳跃的做法,首先来看看这次的目标:   由于博客相册上传GIF有限制,所以我把整个过程切开了2部分上传,第一部分 ...

  8. unity自带寻路Navmesh入门教程(一)

    说明:从今天开始,我阿赵打算写一些简单的教程,方便自己日后回顾,或者方便刚入门的朋友学习.水平有限请勿见怪.不过请尊重码字截图录屏的劳动,如需转载请先告诉我.谢谢! unity自从3.5版本之后,增加 ...

  9. unity3D ——自带寻路Navmesh入门教程(一)(转)

    转自:http://liweizhaolili.blog.163.com/blog/static/16230744201271161310135/ 说明:从今天开始,我阿赵打算写一些简单的教程,方便自 ...

随机推荐

  1. HTML编码的用户输入

    public string Browse(string genre) { returen HttpUtility.HtmlEncode(genre); } HttpUtility.HtmlEncode ...

  2. SQL Server 储存过程的output 参数

    要做的参数的回传一方面要做到有储存过程的配合,再一方面也要有调用方法的配合,也就是说错误的调用方法是没有办法把值回传的. 下面是例子 --1.储存过程方面的配合 create procedure db ...

  3. grunt安装使用简介

    grunt是一个基于任务的实现自动化工作流的平台 安装 npm uninstall grunt -g //卸载grunt npm install grunt-cli -g //安装grunt-cli ...

  4. HDU 5145 NPY and girls(莫队算法+乘法逆元)

    [题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=5145 [题目大意] 给出一个数列,每次求一个区间数字的非重排列数量.答案对1e9+7取模. [题解 ...

  5. Web平台开发流程以及规范

    1.js和css的放的位置顺序与加载速度分析 为了让客户先看到效果,必须要先加CSS 如果在先head加载CSS,如果CSS大,会先下载CSS,再渲染HTML标签 如果CSS放在head中,当显示出H ...

  6. 导出csv文件代码示例

    //当数据量达到一定级别后(大概60000以上),excel会溢出,不能全部显示,而新版的csv好像不会出现这个问题.为什么用好像,我也是听别人说,暂时没有去验证. <?php $sql = & ...

  7. 高效率JavaScript编写技巧

    最近在编写一个JavaScript框架,发现有很多细节注意得不够,担心长时间积累会导致框架实际应用的时候出现严重的效率问题.于是开始关注JavaScript提高效率的一些技巧,在这里分享给大家. 1. ...

  8. Android企业级程序完全退出的解决方案【转】

    http://blog.csdn.net/wangjinyu501/article/details/8763552 问题描述 在平常开发的过程中可以发现,很多开发者对于程序的退出都没有去认真的解决.一 ...

  9. Windows 10 安装

    下载了 Windows 10 的 ISO 文件:WindowsTechnicalPreview-x64-ZH-CN.iso,在 VMWare 10 上进行了安装. 安装时没有 Windows 10   ...

  10. C# - 通过自定义注解反射生成SQL语句[转]

    转自http://blog.163.com/jong_cai/blog/static/87028045200902033553581/ -------------------------------- ...