Physics(物理性)
Unigine实时物理将collision detection(碰撞检测), fracturing(破裂),buoyancy(浮力), joints(连接)及外部体力相融合以便能真实地模仿物体,模仿物体间复杂的交互。
Unigine中的物理仿真基于rigid body dynamics(刚体动力学),并为动态物体计算物理仿真。动态对象与静态对象之所以有不同,是因为它们有:
此外,身体可通过关节连在一起,这些关节限制了肢体相对于其它部分的运动。这样地话,就有可能估摸复杂的物体比如布偶猫或者复合设备比如小车。静态对象无相关联的身体,因此无力可用,且这些物体不可移动。然而,它们仍与动态物体有联系,并阻止物体通过。
Adding Physics(添加物理性)#
为保证一致的帧速率,仿真基于近似 和 简化计算(虽然有许多参数,比如 线性 和 自转速度, 加速度, 摩擦力, 作用力 等)。记住,这并不是真实世界里的物体,而是精度极高看起来能让人信服地仿真物体。
- 如果您打算进行物理仿真时,不要测量世界坐标中的任何网格(静态网格和物体)!否则,碰撞无法得到合适的计算。
- 物理近似法(比如通过形状对物体进行估摸)并不需要绝对地精确。强烈推荐使用半球进行估摸而不是使用凸面体进行估摸。
Global Physics Settings(全局物理设置)#
Physical Interaction(物理相互作用)#
大多数物体都不是放在场景中的静态装饰物,它们积极地与其它物体进行相互作用,这是因为真实的物体是物理性对象。对于观察者而言,看到固态物体以不适当地方式渗透进另一个固态物体这样极不自然,也无法达到满意效果。因此在没有合适的物理属性估摸的情况下,增加现实主义的想法变得不可思议。另一方面,仍有其它不需要自身动态综合模型的物体。另一方面相同的二元性也适用于由许多表面形状复合而成的物体。为给此实际情况作出让步,在每个面的基础上启用了物理相互作用。
Collision Detection)(碰撞检测)#
在空间内占据某个区域,对障碍物进行反射或者甚至就简单地停留在地上需要碰撞检测。在对碰撞盒进行检查之后,表层参与到检测中,检测其它的物体对象是否与表层有接触并分别对指定的设置作出反应。
Collision Mask(碰撞遮罩)#
对于碰撞检测,为了想有更多的选择并同时减轻计算负荷,因此对碰撞进行设置。例如,物体对象对其它物体对象动作并不重要,它对虚拟世界中的物理图谱没有任何帮助。我们想要将此物体放在地形上而不落空。对此物体对象的位屏蔽及地形进行匹配(至少遮罩中的一个位屏蔽应当匹配)将得到所要的效果。
Intersection Detection(相交检测)#
相比于碰撞,相交检测则稍有不同。如果表面相交,那么从一点到另一点的相交射线就容许轻量级及更快的计算。例如对车轮碰撞的计算就需要花费一定的时间降低机动性。如果要使用相交,那么车轮将不会通过适当地反射物理半球得到呈现,但是来自车身的射线将被反射到地面上。合理地仿真问题也将迎刃而解。
Intersection Mask(相交遮罩)#
位相交遮罩允许在计算相交时对纳入考虑范围的物体对象进行定义并忽略其它所有无匹配遮罩的物体对象。这是一种复杂的工具,因为只需对遮罩中的一个位进行匹配。这就意味着一个物体对象可以同时参与数个不同的相交。