位置: 编程技术 - 正文

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

编辑:rootadmin
上一节简单介绍了NavMesh寻路的基本用法,这次来介绍一下稍微复杂一点点的高低落差以及跳跃的做法,首先来看看这次的目标: 我把整个过程切开了2部分上传,第一部分是爬楼梯,第二部分是横向跳跃和往下跳落不管是爬楼梯,还是跳跃,NavMesh都是通过了OffMeshLink来做的。创建OffMeshLink的方法有两种,接下来会通过制作上面的例子来进行说明: 为了做这个例子,我们预先在场景里面准备了一些物体:摄像机是必须的,一个作为地面的Plane,然后是F1——F5几个高低落差不一样的台阶,L1和L2是楼梯模型, 控制人物主体man,还有移动的目标点target。 其中man身上必须带有NavMesh Agent组件,为了观察方便在target身上带了light组件。 按照上一节所讲的,plane和F1——F5台阶在Navigation面板勾选Navigation Static选项,然后Bake,观察Scene视窗,会发现已经生成了我们所要的NavMesh网&#;,现在我们可以像上一节那样在plane上面给人物做寻路和移动了,但人物是不会爬楼梯的。 这时候,我们找到L1楼梯,在楼梯的开始和结束的位置放置两个点,这两个点只需要拾取它的位移的,你可以用empty Gameobject来做,我这里为了便于观察,就拿了cube来做。开始点命名为startPoint,结束点命名为endPoint。 注意:startPoint和endPoint的位置要稍微比所在的平面高一点点。 接下来介绍第一种生成OffMeshLink的方法。选择L1楼梯,然后在Component下拉选项中选择Navigation——Off Mesh Link。选择后,OffMeshLink组件已经添加到了L1的身上,我们可以在Inspector面板看到: 我们把刚才放置在场景里面的startPoint和endPoint指定到OffmeshLink组件的Start和End位置,其他选项默认不改变再次Bake现在我们发现,在scene面板里面,在startPoint和endPoint之间生成了一条线,而方向是从startPoint指向endPoint的。 这时候,你应该可以通过移动目标点让角色开始爬楼梯了。但爬上去之后角色暂时不能跳下来,如果把目标点移动到plane上,角色会顺着楼梯爬下来。我们使用同样的方法对L2进行生成OffMeshLink。这时候,角色应该可以爬两层楼梯了。到此第一个目标完成了。接下来我们进行第二个目标的制作,首先先来分析一下我们的场景: 我们希望人物能从2.5M的高度往下跳,超过2.5M人物就不能跳了,太高会有危险。然后横向我们希望人物能跳过2米的沟。根据这个设定,我们的场景会是这样的情况:L1和L2只能通过爬楼梯,L2和L3之间可以跳跃,L3——L5是可以往下跳的。 于是,我们在Navigation面板里面找到Bake栏,Drop Height(掉落高度)填2.5,Jump Distance(跳跃距离)填2,单位都是米接下来介绍第二种生成OffMeshLink的方法:我们把L1——L5的物体选中,在Navigation面板的Object栏里面把OffMeshLink Generation选项打上勾再次Bake,回到scene视窗: 这时候,场景里面会出现很多心的OffMeshLink,这是unity通过计算,把可以跳跃或者下落的地方自动生成了OffMeshLink了。 这时候,你应该已经可以通过移动目标点,让角色进行跳跃和下落了。 进行到这里,我们的第二个目标也完成了。 不过有些朋友可能会提出疑问,在做的过程中,假如没有这个大兵的模型,而是用一个胶囊体来代替人物的话,它爬楼梯和跳跃的时候好像是在一瞬间完成的,没有大兵那个爬楼梯和跳跃动作的过程。如这样: 的确是这样,因为默认的NaveMesh Agent组件上面是勾选了Auto Traverse Off Mesh Link(自动通过OffMeshLink)选项的。这样的意思是人物只要到了OffMeshLink的开始点,就会自动的移动到OffMeshLink的结束点。 假如各位需要对越过OffMeshLink时候进行自己的控制,是需要另外写脚本的。我这里简单的介绍一下方法,有兴趣的朋友可以自己试试。 首先各位最好有用状态来控制角色的概念。比如人物可以分为站立、走路、跑步、上下楼梯、横向跳跃和往下掉落几种状态,针对NavMesh来说,人物简单的可以分为站立、正常的NavMesh寻路,和通过OffMeshLink移动几种状态。 先把 Auto Traverse Off Mesh Link选项取消。 然后,当人物在通过OffMeshLink移动的状态(可以用NavMeshAgent.isOnOffMeshLink来判断),获取到当前通过的OffMeshLink:OffMeshLinkData link = NavMeshAgent.currentOffMeshLinkData; 这样你就能获取到link的开始点和结束点的坐标(link.startPos和link.endPos),这时候你的人物就可以用最简单的Vector3.Lerp来进行移动,当人物的位移到达了结束点的坐标,人物的OffMeshLink移动状态就可以结束,又重新变回正常寻路或者站立的状态了。在这个Vector3.Lerp的过程中,你可以随意的控制人物的爬行或者跳跃的动作。 到这里,第二节的内容结束了。到现在,各位应该已经可以基本掌握了NavMesh寻路的全部正常操作了。 更多精彩内容请访问【狗刨学习网】

推荐整理分享unity自带寻路Navmesh入门教程(二)(unityai寻路),希望有所帮助,仅作参考,欢迎阅读内容。

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

文章相关热门搜索词:unity 2d寻路导航,unity2d寻路,unity自动寻路代码,unity寻路算法讲解,unity 寻路,unity rts寻路,unity2d寻路,unity 寻路,内容如对您有帮助,希望把文章链接给更多的朋友!

Unity3D之移动平台烘培后电脑和手机显示不一样解决方案 【狗刨学习网】问题是这样的,美术用Windows来烘培场景,BuildSetting切在Android平台。必须在电脑上把光打的很爆才能在手机上看到正常的效果。解决的办

unity游戏之友利拟收购《刀塔传奇》发行商中清龙图 1月日,已经停牌4个月的友利控股()发布公告,宣布由于进入重大资产重组停牌程序,申请继续停牌,拟购买中清龙图%股权。根据公告,友利控

unity3d游戏开发之商人模块开发心得 图0好啦,闲话不多说,让我们开始吧~图1这里还是要点名道姓的肯定一下泡菜童鞋,图1中的这部分预设是我刚接手时,搭的,结构如下:●UI_Shop:整个

标签: unityai寻路

本文链接地址:https://www.jiuchutong.com/biancheng/373003.html 转载请保留说明!

上一篇:Unity3D游戏开发之使用插件完成游戏小地图制作(Unity3D游戏开发(第2版)pdf)

下一篇:Unity3D之移动平台烘培后电脑和手机显示不一样解决方案(unity平移场景视图怎样操作?)

  • 驾驶培训 增值税
  • 简易计税征收率是多少
  • 预提费用
  • 即征即退的增值税属于政府补助
  • 小微企业免税销售额填含税还是不含税
  • 一般纳税人增值税可以抵扣吗
  • 企业买车购置税跟个人一样吗
  • 公司改名之前发工资吗
  • 结转损益类收入科目的余额其中主营业务收入
  • 核定征收可以享受小微企业税收优惠吗
  • 事业单位存货盘亏会计分录
  • 代扣代缴城建税可以享受六税两费
  • 总公司购固定资产分摊每家店面怎么来做账
  • 公司怎么申请开票资格?
  • 中央非税收入统一票据怎么做账
  • 结构化存款是什么
  • 企业收入准则的主要内容
  • 符合条件的小型微利企业减按多少的税率征收企业所得税
  • 违约金收入是否交增值税
  • 收到预收款项
  • 公司名下的车怎么上牌
  • 库存商品入库的会计科目
  • 电脑右下角的弹窗怎么关
  • word从一台电脑考到另一台电脑格式不一致怎么解决
  • 企业筹资付给第三方账户
  • 发票金额大于报销金额可以吗
  • 临时股东大会的召开情形
  • 在win7系统中将打开窗口拖到屏幕顶端
  • w7防火怎么开
  • windows 11截图
  • Win7系统电脑c盘什么都没有为什么满了
  • 付给他人押金的会计分录
  • RuntimeError: CUDA out of memory 已解决
  • 无形资产累计摊销借贷方向
  • 增值税的计税依据包括契税吗
  • win7系统笔记本无线网络找不到
  • 股票印花税和佣金的关系
  • yolo v5超详细解析
  • vue插槽有什么作用
  • 视频监控接入方式有哪几种
  • 最详细的世界地图
  • phpcms数据库文件
  • mongodb基础知识
  • 认缴制下,资金什么时候必须到位
  • 税费计提多了怎么冲减
  • 进项税大于销项税怎么抵扣
  • 暂估入库跨年账务危险
  • 用于员工福利的专票可以抵扣吗
  • 现金流量表利息支出
  • 公司账户转到公司账户要多久
  • 投资折价会计处理
  • 科技项目扶持资金
  • 上级补助收入科目
  • 工会账户收到经费的会计科目
  • 出差期间招待费用怎样报销
  • 企业弥补亏损的渠道有哪些
  • 资产收购一般税务处理
  • 进项税额转出的分录怎么做
  • 无形资产计提折旧可以转回吗
  • 如何调整以前年度的实收资本
  • 其他综合收益属于什么科目借贷方向
  • 职工福利费的好处
  • sqlserver表结构如何导入到oracle
  • win10预览版21277下载
  • 进程lsass.exe
  • ubuntu的终端在哪
  • ubuntu18.04没有声音
  • linux的命令行界面是什么意思
  • call to OpenGL ES API with no current context (logged once per thread)
  • perl数组元素个数
  • CCProgressTimer 进度条动画在cocos2dx+lua中的使用
  • Building Unity3D Plugins for Android
  • 创建shell脚本命令
  • 使用筷子就餐会不会传染乙肝病毒
  • Android的事件处理机制是一种______机制
  • 律师提成怎么计算出来的
  • 进出口备案登记表是哪个部门发的
  • 网商贷补充收款方式
  • 网上订机票怎么取票
  • 深化体制改革的根本
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设