fair 发表于 2006-12-7 21:48:00

游戏引擎制作中那些鸡毛蒜皮的事

<p><br/><br/><strong><br/><br/></strong>上帝跟我开了个玩笑。我发明关系碰撞模式时候,以为已经跻身和星际、魔兽同一级别的物理算法,但现在我们在测试时候,发现关系碰撞trigger频率之高。尤其在排堵,疏散大量对象流的时候,因为通过关系碰撞表得到的演算数据,在根据这些数据进行驱动的时候,因为我选择的接近碰撞的几何体是立方体,因为&nbsp;3D立方体有8个顶点角,所以立方体在进行旋转的时候,角与角的碰撞关系会发生变化,这时候会重新触发一个新的关系碰撞。这种情况主要发生ByPass模式,就是绕行模式,因为当3D对象发生绕行,会重新进行寻路,所以一旦关系碰撞被大量触发,比如几十个角色的运动碰撞,那么就会发生数百次寻路,所以系统性能因此降低。 </p><p></p><p>关于这个问题,我已经将原来的接近立方体,换成了接近椭圆体。因为椭圆不会随旋转变化而触发的新的关系碰撞,这就不会导致频繁寻路了。</p><p>可是,鸡毛蒜皮问题这时候就来了,接二连三的来。因为用椭圆体,我需要两个半径,或则是3个boundingbox坐标,这就涉及到数据结构的撰改。可是当我在撰改数据结构的时候,我又发现现有的数据结构有点死板,改动的时候,其复杂程度不亚于数头发。而我又不能保证以后又不会再去改数据结构,这时候我又要面对的新问题就是大改一次数据结构,方便以后使用。ARPG,RTS游戏引擎的数据结构,如果要将他说成鸡毛蒜皮,那么就是大鸡毛+大蒜皮。这是我对第一个鸡毛蒜皮的感想。</p><p>感想其二。我现在回过头在深入LOD&nbsp;terrain的部分,因为light和projected&nbsp;texture这两个视觉效果,很多技术demo,很多文献资料都是基于texture在做介绍,可是在tile&nbsp;terrain中,有很多东西要绕一下,不能直接实现,这就导致了我对LOD&nbsp;terrain的再次深入制作。</p><p>感想其三。关于线性平滑算法,大家知道线性平滑的原理是div&nbsp;2,可是在一个&nbsp;pane中,一个方形体中,我只有4个角的height,而计算中间的平滑线,我要根据4个值来重新估算,并不是单一的一个直接拿母数来除。我拿公式估算了一下,要实现64x64的线性平滑,我至少要用10-15个左右的for才能搞定,其复杂程度绝对不容小视。后来有一天,就是昨天,我突然想到用&nbsp;photoshop做一张64*64等边图,然后用柔边把色彩全部改成黑白,因为黑白是8为色彩,加上柔边特性,刚好起个平滑作用,而线性的算法,就直接用将色彩和线性插值相加即可。这样只会用到2个for,而且还可以根据情况,拿photoshop改图,这样干多简单啊。就是有点繁琐,是谓鸡毛其三。</p><p>感想其四。我的电脑是很高档了,专业图形卡,3G的内存,就光是显卡都可以换一部中档的本本。可是用户呢,用户往往是什么GF3,GF4,TI7200之类大配置,昨天花了140买了一个GF4来作为制作底线,可是在机器一插,系统就崩溃了。结果是硬件定位太低,驱动不认。我又重装系统。是谓鸡毛其四。</p><p><br/>我的引擎是很先进的。我这样说是因为我每天都在游戏圈子里面溜达。<br/>从gamespolt,gameres,到microsoft,blizzard,我都在看,从官方论坛到网友自发的站点。</p><p>今天我在gameres看见有人在说无冬之夜2的toolset很好。我觉得很欣慰,那人是专业人士,nwn2那么差劲的引擎还能说好,那么我的引擎对他们而言,那肯定是神话了。哈哈,哈哈,哈哈。</p>
页: [1]
查看完整版本: 游戏引擎制作中那些鸡毛蒜皮的事