网格物理概述
在网格体验中,物理模拟是启用引人入胜的动态内容的关键。 为了为网格参与者提供高质量的共享物理体验,并为开发人员提供创建自定义内容的高效工作流,我们创建了 网格物理 系统。 网格物理基于本地权威模拟,这会导致一个非常简单的体系结构。 客户端上不需要服务器端逻辑和特殊逻辑。 最重要的是,此方法对于与环境交互的每个玩家,即使连接到高延迟网络,此方法也会产生非常响应和低延迟的体验。
分布式物理模拟
网格物理会同步刚性体的位置,并且应该开箱即用,假设所有客户端共享同一场景。 大多数 Unity 物理功能(例如,刚性体、碰撞体、材料和约束)将同步,而无需额外的开发人员努力:
注意:
- 只有刚性位置与方向与内插同步
- 必须避免离散状态更改(例如,可中断的约束)和触发器事件
每个客户端负责模拟某些主体,称为分布式模拟 所有权。 当玩家接触刚性主体时,将立即转移模拟所有权,以允许低延迟交互。 对于相邻的主体,物理同步引擎执行本地预测、内插和自动所有权重新分配,以最大程度地减少视觉项目。
网格物理提供交互和其他与物理相关的功能,例如:
- 各种领域,物理影响身体内部(浮力,重力)
- 各种组件,以修改各个身体的行为(磁,粘性,可扔)
- 能够将正文重置为其启动位置(选择性场景清理)
- 使用网格仿真 对上述功能进行多用户测试的播放模式
以下是可以使用网格物理功能执行更多操作:
允许参与者抓取和携带对象。
控制重力如何影响物体。
使对象“粘滞”-它坚持它命中。 示例:向达特板投掷一个达特,将图片附加到墙上。
添加与物理体交互的自动播放动画。
允许参与者重置对象(例如,重置棋盘,或在对象分散后清理房间)。
当对象进入触发器碰撞体时触发事件。
创建包含字段。 对象将保留在字段的边界内。
控制对象的速度。
控制对象的浮标,例如,使船只和其他海上物体“浮动”。
控制对象的角速度。
创建爆炸,导致附近物体向外或向特定方向移动。
创建具有预定义速度相互弹跳的“弹跳”对象。
将对象传送到新位置和(可选)新旋转。
术语
在整个网格物理文章中,“身体”用作“刚性体”的简写。