§13.0概览
近些年来在游戏中使用物理学变得越来越流行。老游戏没有任何物理学,但最近许多射击游戏具有复杂的物理系统,这些系统只有通过计算能力的巨大提升和和多核系统才有可能实现。最近还出现了硬件PPU(物理处理单元),类似于GPU处理图形,这些处理器只计算物理系统。
使用物理学最多的游戏是第一人称射击游戏,特别是在那些玩家具有较大的自由度并允许自由走动并和场景发生互动的游戏中。其中最流行的游戏是2004年底发布的Half-Life 2,这个游戏使用了大量创新的物理技术,并在游戏中和任务设计中也涉及物理学。
Half-Life 2内部使用了商业的Havok物理引擎和其他一些物理框架,这马上就会说到。但这些引擎不能使用在Xbox 360与XNA框架上,因为它们都使用非托管代码,这在是Xbox 360是不允许的。在电脑上可以使用任何你喜欢的框架,本章马上就会讨论哪一个框架是最好的。基于上述理由,你现在开发的赛车游戏不使用任何先进的物理框架,而且使用并测试这么一个强大的物理框架要做大量的工作和测试,其中大部分物理引擎的许可费收费甚高。在Half-Life 2中,工程师花了数年时间调整游戏直到他们看到满意的结果。物理总是伴随着繁重的数学计算。可以使用一个现成的物理框架或只使用一个简单的公式如著名的F=ma,而无需知道很多有关物理或数学的知识,但一旦你想开发自己的物理系统,你至少需要对牛顿运动定律有个基本的了解。手头备一本物理公式书或至少用谷歌搜索是一个好主意。图13-1显示了一个典型的物理问题,涉及了多个对象,作用力,重力等等。
图13-1
当你谈论物理学时你无法避开艾萨克牛顿,苹果和树,你知道这个故事。自那时以来物理已经发展了不少东西,既有研究原子,夸克,电子等微观世界的理论,还有研究宇宙,太阳系,行星和恒星等宏观世界的理论。但对大多数的游戏来说,你只使用一系列简单的物理公式以帮助你加速和减速对象。由于处理能力有限,只要看起来足够好就行了,你不必让每一个原子的行为都像在现实世界中的一样。
牛顿运动定律公式将大量使用,同时你也要花费大部分的时间解决碰撞问题,就像在第八章中为Rocket Commander游戏做得那样。物理是有趣的,而且借助于单元测试你可以快速测试直到正常工作,但你要知道——如果你的游戏世界不允许太多的互动,你可能会花费大量的时间在物理效果上却很难看到的结果。一个益智游戏有物理系统固然不错,但如果你所做的只是按一下物件使之移动,那就无需一个复杂的物理引擎。
发布时间:2008/11/3 上午10:07:20 阅读次数:5357