3D游戏寻路算法.docVIP

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
3D游戏寻路算法.doc

3D游戏寻路算法(A*) ?????? ?关于游戏寻路,网络上也有很多相关的文章,一般都是已A*为主,他只是一种启发式有哪些信誉好的足球投注网站,最开始写A*是在大三,主要还是做一个路径有哪些信誉好的足球投注网站的算法。? ??????? 关于游戏中A*的算法优化,由于在有哪些信誉好的足球投注网站的过程中会通过open表和close保存一些结点,为了加快查找效率一般采用对维护的方式,利用map的最小堆(按照估价值的大小排序)来构架数据结构。其实还可以利用线性的hash_map来创建维护。 ??????? ???????? 而3D中游戏寻路也是采用同样的方法,只是在不同于2D的8个方向有哪些信誉好的足球投注网站而是3*8个方向的有哪些信誉好的足球投注网站。所以他的复杂度之高,在对于一个3维的N*N*N的空间,他的有哪些信誉好的足球投注网站运算为n^3*24,就需要考虑算法中的优化。 ??????? 总之一句3D寻路费时又费空间! ?????? 下面是我总结的优化??????? ?????? 1.总体还是利用a*和堆维护。 ?????? 2.由于点是实心,可以直接进行对角线的行走,也就是对角线行走一步后x,y,z的坐标都会改变,从而降低通过2次二维变换的过程。二步变一步! ?????? 3.利用凸包的方式来优化。 ?????? 4.把一个场景的3D地图全部细分,利用多叉树进行管理。 ?????? 关于凸包的优化可以通过这样一个例子说明(因为在2D中更好的描述通过2维的地图): ?????? A、假设1要到2的,通过A*的有哪些信誉好的足球投注网站,他会先到0然后发现不能通过在回溯,重新寻找新的路径,这样可能浪费一些有哪些信誉好的足球投注网站时间。 ???????????????? ?????? B.?? 可以通过多边形的最小矩形凸包的方式,这样就可以减少不必要的有哪些信誉好的足球投注网站,如图所示。 ?????????????????? ?????????????????????那么1到2就不会经过0点。。因为次区域设置为不可通过。 ?????? C.?? 如果我们要查找的点在我们凸包内,所以我们在寻路最开始应该验证点是否在凸包内,如果在此区域内,在行走时不能过滤这个矩形空间。 ????? 注:游戏中地图一般是不变的,所以这些都是不变,凸包已知,验证点在凸包中也是线性的。 ????? ????? ????? 由于在计算3D的凸包的时候计算量大,最开始采用静态的方式来记录数据。 ????? 简单的3D寻路算法源码(不包含凸包优化): ?????????/Files/expter/3DAStar.rar 整理自《Programming Game AI by example》 1.DFS 优先深入每个图,直到找到目标节点 往往可以找到到达路线,可往往不是最优的。 2.BFS 广度优先地寻找目标节点。 往往可以找到最优路径,但耗时多。 3.Dijkstra 使用了动态规划(原文中称为“边放松”)//该为贪心,本人罪过 速度较快 4.A* 与Dijkstra相似,使用启发因子(F=G+H),速度是以上算法里最快的。 可以看看: /probill/blog/item/80d71f1b19e2fe1e8718bfe5.html 5.创建导航图 posted on 2009-01-23 17:22 Bill Hsu 阅读(2282) 评论(3) ?编辑?收藏 引用 所属分类: Game Dev 、Algorithm Ogre场景编辑器和3D寻路算法(基于导航网格Navigation Mesh)完成 作者:鸣·铭 日期:2009-10-10 字体大小: 小 中 大 Ogre场景编辑器基本功能已经完成:) 1.类似于3DSMAX的摄像机,非常方便美术操作 2.动态刷新素材资源 3.支持所有操作任意步撤消 4.可以导入并编辑天龙八部的地表(通过TLSceneViewer导出) 5.可以轻松绘制特定图案,绘制时自动融合 6.可以对地表应用特定格式(Word的格式画刷) 7.多种方式调整地表高度,制作斜坡,悬崖等非常方便 8.支持动态光源,以及光源的特定变化 9.可以很方便的摆放物体,通过快捷键和鼠标既可以直观的调整物体位置、旋转、缩放,也可以在场景组件界面里做特定调整 10.可以自动很快速的生成非常优化的导航网格(Navigation Mesh, Navmesh) 生成的导航网格与天龙八部类似,已经非常优化了。 天龙八部很早就已经放弃Region的方式寻路,改用了.path文件,也就是导航网格,同时继续沿用WCollision,但是WCollision仅只是用来调整人物高度的,并没有参与寻路。 因为要低调,就先写这么多吧:) A* 3D – No, really, it’s 3D July 3rd, 2007 There seemed to be a little disappointme

文档评论(0)

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档