VRP-PHYSICS物理模拟系统
一、产品介绍
VRP-PHYSICS物理模拟引擎(英文全称Virtual Reality Platform Physics,简称VRP-Physics)是中视典数字科技有限公司研发的一款物理引擎系统。系统赋予虚拟现实场景中的物体以物理属性,符合现实世界中的物理定律,是在虚拟现实场景中表现虚拟碰撞、惯性、加速度、破碎、倒塌、爆炸等物体交互式运动和物体力学特性的核心。
VRP-PHYSICS,简单的说就是计算3D场景中物体与场景之间、物体与角色之间、物体与物体之间的运动交互和动力学特性。在物理引擎的支持下,VR场︾景中的模型可以具有质量、可以受到重力、可以落在地面上、可以和别◢的物体发生碰撞、可以〗反应用户施加的推力、可以因为压力而变形、可以有液体在表面上流动……
二、功能特点
1、优秀高效的算法
(1)独特的碰撞检测算法
作为物理引擎的基础,VRP的物理引擎系统具有优秀的碰撞检测效率。在进行物理模拟¤之前,VRP会重新组织模型面片至计算最优化的格式,并且能存储为文件,避免再次∞模拟时的重新计算。碰撞检测之前也经过数次过滤,最大可能的排除碰撞检测时的计算冗余。
(2)支持 CONTINUOUS COLLISION DETECTION 连续碰撞检测
连续碰撞检测可以将物▆体每两帧之间的碰撞检测连续化,保证在运动路线中出现的物体都能参与到碰撞检测→。
(3)大规模运动场景进行局部■调度计算
让运动◥稳定的物体(如静止下来的物体、匀速转动的物体、匀速运动的物体)在碰撞检测组和非碰撞检测组之间动态的调度,排除了在不会ㄨ产生碰撞的物体之间进行碰撞计算的计算冗余(比如两个静止下来的物体),有效降低计Ψ算量。
(4)支持硬件加速
2、便捷的自定义机制
(1)支持各种碰撞事件的自定义设置和实时响应
在场景中的物体发生碰撞的时候,用户可以获得通知№,且用户可以自己设置感兴趣的碰撞对象并对事件↙绑定脚本,实现在碰♂撞发生时产生声音、接触发生时播放动画的效果。
(2)运动材质自定义
VRP运动物体可以具有不同的运动材质(如橡皮、铁球、冰块),用户可以任意指定物体的弹性、静摩擦力、动摩擦力、空气摩擦阻尼等多种参数,模拟世界万物在刚体运动中具有的不同效果。
(3)力学交互手段自定义
用户可以对任意物体的任意位置施加推力、扭力、冲力等;也可以对物体动态设置速度、角速度、密度等参数。
(4)运动约束连接自定义
物理场景中的任何物体可以通过连接的方式把运动关联起来。VRP的物理系统中,提供了铰链¤连接、球面连接、活塞连接、点在线上的连接、点在面上的连接、粘合连接、距离连接等多种连接方式来关联两个物体的↓运动,且该运动关联是可断的。
(5)碰撞替代体的自定义
除了对模型的面片进行预处理参与碰撞检测,VRP还提供了盒形、球形、圆柱形、胶囊型、凸多面体五种在模型形状大致相同的情况下可以使用的替代碰撞体。
3、真实的效々果模拟
(1)真实的布料模拟
用户可以将任何三角形网格的模ω型设置为布料,模拟过程中,布料以模型顶点为基础,实时生成顶点动画,每个三角◥形面片都将参与碰撞检测与力反馈,使布料如同现实中布料一样在场景中使用。
(2)自由的力场模拟
在场景中模拟刮风、水流⌒ 时候的现象。物体处于力场中,可以因为角度不ω 同,受到的力大小也不同,比如在“迎风站立”时和“侧风站立时”受到风力大小不同;力场所作用的范围也可以随意定制,在屋里□和在屋外会有有风和无风的区别。
(3)汽车等交通工具模■拟
能随意的构造汽车结构,可以根据由任意车轮来驱动、导向行驶,具有实时的碰撞检测和碰撞力度的反馈。
(4)柔体模拟
实时计算模型各个面的受力,生成逼真柔体的顶点动画效果,柔体能固定到任何刚体ㄨ内部,也能将一个刚体固定到柔体内部充当柔体骨架。
(5)刚体模拟
VRP场景能↑够模拟真实的刚体运动,赋予运动物≡体密度、质量、速度、加速度、旋转角速度、冲量等各种物理属性,在发生碰撞、摩擦、受力的运动模拟中,不同的物流属性体现出不同的运动效果。
(6)流体模拟
场景中的流体粒子不仅能够参与碰撞,还具有流体自己的动力№学特性:粒子之间吸附力、粒子之间的排斥力、流体的流动摩擦力等,达到逼真的流体效果,可直接应用到管道、排水系统、喷泉、泄洪等案例中。
(7)场景重力、环境阻尼等环境特性模拟
相对→于其他物理引擎,VRP物理引擎还可以模拟一些难以达到的或者不存在的物理环境,比如在▲水下、太空、月球上的运动模拟,通过对场景的重力、环境阻尼等因素进行调节能达到各种物理实验环境。
三、行业应用
1、游戏制作
物理引擎使游戏中的人或物在遇到碰撞时,体现出来的符合物理运动规律的运动,使游』戏画面更逼真、更@有真实感:大楼会根据攻击的方向、力度,倒向不同方向,同时落下数以千记的尘埃和碎片,产生更为真实和震撼的画面;游戏人物和载具因不同部位受创引起损伤而影响相关的行动、建筑⌒ 因爆炸而出现部件结构式的连环塌陷、地面和墙体因枪林弹雨和轰炸形成的弹道坑洼等〖物理效果都表现地淋漓尽致。
2、虚拟教学
物理引▓擎可以让虚拟现实在教学方面的应用得到更深入的发展,如物理教学、医学教育、虚拟驾驶等。用户可以直接置身于实验环境中,通过现场实时交互得到试验成果,不仅能达到认识教学的目的,还能培养使用者的实际操作经验。对于一些♀价格昂贵、结果严重或者甚至根本无法实现的教学环境的虚◣拟教学实验完全可以达到替代作用。
3、互动展示
物理引擎使简单的产品三维展示升级为动态的交互式产品体验,用户通过与展示环境的动态交互,更清晰了解产品的≡各种属性。比如在□进行水龙头、淋浴喷头的3D物品展示时,不仅可以让用︻户自行调节水流的大小,还可以让虚拟角色伸手过去“感受”水¤流的碰撞,增加更真实的体验。
4、军事模拟演练
物理引擎在军事模拟演练中的作用尤为重要,比如在一个战场地形中,虚∮拟的炸弹在某个地方产生爆炸后,物理引擎能计算出各个虚拟陆战队员的位置被该爆炸波及的程度,结构脆弱的掩体将会因为该爆炸而塌陷,从而通过虚拟演练能更好的规划战壕、掩体或者进攻线路的抉择。
5、工程试验
工程试验中,复▂杂结构的受力分析是相当复杂的,当不同的杆件通过各种连接约束构造出一个结构后,物理引擎能够轻松的模拟出该结构体的力学传递。当结构受到某个方向的破坏力,虚拟结构能从最脆弱的部◥位开始崩溃,从而可以辅助工程人员决策工程重点、预防结构坍塌。
6、应急救援演练
物理引擎在应急救援演练中起着关键性的作用,比如在消防虚拟训练中,物理引擎不仅能真实的实时模拟烟雾和火势的走向,在救助行动中,一些脆弱的结构,也会因为被焚烧或者踩踏而倒塌,增加救助行动的◥真实度。消防员更』能主动撞开一些通道,或者挪动一些石块清理救助路线,当然这些行动如果动摇了所支撑的上层结构时,虚拟场景同样也会毫不留情的塌陷下来。
7、动画制作
物理引擎将动画师从关键帧动画中解放出来,动画师不再需要一帧一帧调节动画,不需要定制每个物体在空中的飞行时间和路径,节省了大量的时间;物理引擎使动画中的◆每个细节都能参与计算,带碰撞的粒子效果、具有扩散性的烟雾、具有吸附力的水面、爆炸碎块的碰撞以及产生的结果、刮风时引起的细节效果……动画更具有真实感。