刚体动力学 以及 约束、关节链
正如名称一样,刚性物体不能在游戏中被打碎、弯曲或者其他形式的扭曲。刚体的动力学是目前游戏中最常见的一个物理引擎表现部分--仅仅是非形体变形上的物理模仿,通常会以小盒子、铁桶、临时的木板等形式出现,不过有时候也会以小玩偶的形式出现(通过关节链将刚体组成一个简单的整体)
关节节点就是常说的活动连接,这种连接允许你将两个物体有机地连接在一齐,你可以为这个关节添加约束,使他们只能在你规定的范围之内活动而不会走远。这就是在游戏中NPC被创建出来的关键。在众多角色中数不清的关节里面,有一些是能够被打断的,而有一些不能,在这些能够被打断的关节上,在被折断前就存在着一个受力的极限值。
楼房被怪物击中,整个墙壁以及上面挂着的招牌被怪物强劲的冲击波衔翻,在Half-Life 2中似乎到处都充满这种可以被破坏的墙体。
柔性体:
和刚性体相对的就是柔性以及弹性体,就和Source中的物理特性--作用力与反作用力一致,具体来说就是受力物体对施力物体的一种反作用,起到两者的排斥反应,只不过在弹性力中,这种排斥力是柔和的,加速度相对较小。在和橡胶轮胎的碰撞中,我们就能体验到这种弹性的反作用力。绳索的定义只需在地图编辑器中简单地连接两点并指定其属性即可,最重要的一个属性就是取样点的多少。当然,取样点越多绳结看上去越真实,但会对显示性能造成负面的影响。布料的模拟就类似于绳索,取样点点的多少将直接对布料在物理环境(大风、皱褶等)中的真实程度。当然,布料的模拟将消耗比绳索更加多的CPU资源而且按照目前的3D设计来说,要真实地模拟出一块布料在各种环境中的形态还是未能做到精确。
车辆系统
车辆系统在Source中就是物理系统和建模系统的有机结合,加入了属于专有的脚本系统以便能让玩家操纵车辆。在Source引擎中的车辆系统由另外一群主要的专业设计师担任设计,以在达到最真实效果之余在最大限度上节省创作时间。毕竟Half-Life 2不是一个专业的赛车游戏,玩家只会用方向键对车辆进行操控,因此,在游戏中出现的航船、气垫船等可操控的交通工具均保持了最高的易用度:和读者想像中最简单的操作方法一样,WSAD控制方向,鼠标控制视觉以及枪械的瞄准。当然,车辆拥有属于自己的一套独立的脚本系统。
水、火
Source中另外一个令人迷惑的东西就是水的模拟系统。当Valve说,水的效果会在物理的层面被模拟的时候,各界均推断在Source中将会引入流体动力学并加入物体的浮力特性到其物理指标中。但到了后来,Valve在声明中指出,在Source中并没有内建流体动力学的模型,water区域只是一个加入了特别的物理特性的场地。当其他的物体进入到这个区域后,会作出与之正常行为不同的动作,比如是行动变得缓慢、并且会出现重力上的变化(浮力)。当然,如果是真正的流体动力学模拟的话,将会是完全的自身物体特性引起的行为动作而非单纯的两者之间的互相作用。
火,在Source系统中并非一个独立的系统,但作为一个FPS游戏中不可或缺的部分(特别是Half-Life 2这种充满毁灭性镜头的大作),火的效果是最能吸引玩家的眼球的。在Source中,火混合了粒子系统和材质系统,按照道理来说,在游戏关卡中的火苗如果在旁边出现易燃的物体的话,火将会向这些物体蔓延出去,不过并没有确切的消息肯定这个推断。 |