登录社区:用户名: 密码: 忘记密码 网页功能:加入收藏 设为首页 网站搜索  

文档

下载

图书

论坛

安全

源码

硬件

游戏
首页 信息 空间 VB VC Delphi Java Flash 补丁 控件 安全 黑客 电子书 笔记本 手机 MP3 杀毒 QQ群 产品库 分类信息 编程网站
  立华软件园 - 安全技术中心 - 技术文档 - 入门基础 技术文章 | 相关下载 | 电子图书 | 攻防录像 | 安全网站 | 在线论坛 | QQ群组 | 搜索   
 安全技术技术文档
  · 安全配制
  · 工具介绍
  · 黑客教学
  · 防火墙
  · 漏洞分析
  · 破解专题
  · 黑客编程
  · 入侵检测
 安全技术工具下载
  · 扫描工具
  · 攻击程序
  · 后门木马
  · 拒绝服务
  · 口令破解
  · 代理程序
  · 防火墙
  · 加密解密
  · 入侵检测
  · 攻防演示
 安全技术论坛
  · 安全配制
  · 工具介绍
  · 防火墙
  · 黑客入侵
  · 漏洞检测
  · 破解方法
 其他安全技术资源
  · 攻防演示动画
  · 电子图书
  · QQ群组讨论区
  · 其他网站资源
最新招聘信息

第一次写技术文献。Collision AI
发表日期:2007-03-28作者:[转贴] 出处:  

前段时间开始开发新游戏引擎,目前也是正在开发状态。我常说,碰撞+空间算法部分是3D游戏中的核心,也是最难制作的一部分。抱歉,这样说恐怕有点不够准确,准确来说,Collision AI是最难得一块。难点在于,在制作过程中,那些数字很抽象,往往要思考很久才敢下手。

Collision的实现非常简单,Collision检测目前资料众多,算法也很成熟。往往在游戏运行中,Collision都有个和它对应的AI系统,我简称 Collision AI。因为碰撞可以机械化的检测,并且准确率很高。在碰撞检测的下一步,就是发生对应的处理。因为我在制作一部实时引擎,目前正处于碰撞流程的制作过程,这一步直接涉及到很多物理计算,很多错综复发的逻辑处理。为了下一步开发能够更好的进行,所以把这一步直接规划到AI模块中。目前做了有些时间了,摸索出了一些AI方面的心得,同时又在网上又很少看到有这方面的文献。专业点的可以说目前没有,全是保留技术。

制作Collision AI首先是必须换脑。不要用简单的概念去思考它。否则实际做到那地方时,你会感到完全摸不着边。

碰撞流程主要依靠事件触发为主。碰撞检测部分应该放在刷贞时实现,否则来一个快速运动的object,那是很容易检测丢的。而刷贞部分,应该做一个专用的刷贞器,逻辑贞按每秒固定刷30FPS或则更好,而物理贞可以任意。因为检测运动object必须要保证检测频率是集中式的,而不是离散的。每秒的固定刷贞技术可以在刷贞器中用deltaTime的减法实现。这样就可以准确无误的检测碰撞了。你可以根据喜好制定检测的方式,比如先在地图系统中实现区域检测,然后再进一步执行外围的碰撞盒检测,最后再进行精确的Tri检测。不过目前都用接近的几何体来代替Tri检测。

然后就是最关键的碰撞AI处理了。在制作这一部分时,首先要有很完善的数据来源,可以很方便的计算。比如2个object发生碰撞时,obj1位于obj2 的什么方向?obj1要向何处去?obj2要向何处去?是obj1让obj2先过,还是obj2让obj1先过?如果要让obj2过去,obj2应该怎么绕过obj1?向下绕?万一向下绕不通怎么办?那么向上绕,可是这时上面又有另一个obj3,这时候怎么办?这些问题只算整个Collision AI的九牛一毛,微不足道,可见碰撞流程何其复杂,我将之规划到AI模块中,完全不算过份。

而我要再次说明,在Collision AI的处理上,数据来源可算重中之重。

其次是,空间运动框架。你想想,我要控制obj2向某个方向移动,如果只给引擎一条指令,那是何其方便?可是在开发空间运动时,我们往往把全部精力集中在算法上,而忽略了后面的碰撞流程系统,碰撞流程系统会大量的用到空间运动引擎,而且几乎每次都是平滑运动,并不是一次到位。我为碰撞流程系统,从新写了空间运动部分,现在控制起来虽然还是比较吃力,那些逻辑很绕脑子,但这样结合运动+碰撞的空间运动引擎已经比以前进步了太多太多了,大大的方便的 Collision AI部分的开发。

再其次,是逻辑判断的支持部分。我举个例子,obj1向obj2方向运动,obj2又向obj1方向运动,这种碰撞在碰撞引擎中我将之称为对碰,obj2延0度方向运动,obj2延 90度方向运动,我将之称为直角碰,在实时的RTS引擎中这些都是要区分的,用来为后面的AI判定打下基础。

再其次,才是简单到不能再简单的Finding path之类的,什么A*,D*,V*,顶点寻路等等。这些是目前非常成熟的技术,索性我就不予以详谈了。

Collision AI 我目前算是成功在望,虽然地球上以前有过一些高手,他们开发C&C,开发StarCraft,RedAlert,Warcraft,他们都走过了 Collision AI这艰深的一步,最后迈向成功殿堂。虽然我不算什么鸟名人,但步其后尘,可以预见的游戏引擎成功在望,心里十分舒适。大有成功感。

总结一下。Collision AI引擎不要小看它,它和空间运动引擎这两块真的是RTS+ARPG游戏引擎中最难得两块。注意数据来源,运动框架,以及逻辑判断支持这三部分。开发时,应该保持六根清净,五蕴皆空状态。如果你会被那些逻辑判断搅到神经衰弱,应该立即stop,喝喝酒,玩玩女人,但不要沉迷其中,关键是让身心松弛。否则很难完成一个庞大的游戏引擎系统。

最后小声说一句。游戏引擎即将完成,规模不小。有同仁愿同学,愿一起做事。欢迎与我联系。在下张某,各方同行只要是同行,做程序的,美术的,策划的,一律收下了。大家慢慢想办法合作。

第一次写技术文献。望站长将之甩进精华区。多谢。

交流长存。阿门~~


我来说两句】 【发送给朋友】 【加入收藏】 【返加顶部】 【打印本页】 【关闭窗口
中搜索 第一次写技术文献。Collision AI

 ■ [欢迎对本文发表评论]
用  户:  匿名发出:
您要为您所发的言论的后果负责,故请各位遵纪守法并注意语言文明。

最新招聘信息

关于我们 / 合作推广 / 给我留言 / 版权举报 / 意见建议 / 广告投放 / 友情链接  
Copyright ©2001-2006 Lihuasoft.net webmaster(at)lihuasoft.net
网站编程QQ群   京ICP备05001064号 页面生成时间:0.00194