在最近的Unity3D原型中,我创建了一个场景,我需要在其中包含多个不同的物理对象。 冰,金属,污垢和大理石。
自从我上次在Unity中对物理材料做任何事情以来,已经过去了几年时间(我以前的原型不需要任何东西),所以我有点生锈。 在玩了一两天后,我决定给自己做一个快速的操作指南,并准备一份将来要使用的材料的备忘单,我想与大家分享一下。
创建物理材料
- 右键单击并选择“创建->物理物料”,在“项目资产”窗口中创建新的物理物料。
- 给它起一个类似“ MetalMaterial”的名称,然后单击以打开“ Inspector”

物理材料检查员
检验员需要考虑5件事:

简要说明:
- 动态摩擦力(0–1):运动时施加到对象的摩擦力为多少。 摩擦力越大,外力(例如重力或爆炸)对其影响越大; 0是冰,1是强力胶。
- 静摩擦力(0-1):首先需要多少力才能使物体首先移动; 0表示一切顺利,1表示需要大量推送
- 弹性(0–1):当物体与物体碰撞(或与物体碰撞)时,表面的弹性如何; 0是您的表面由泥浆制成,1是由橡胶制成。
- 摩擦/反弹组合(平均,最小,乘,最大):告诉Unity进行计算时哪种物理材料优先。 在尝试找出中间立场时,默认设置为“平均值”,但是有时使用最小值(使用两个对象碰撞的最小值)或最大值(使用最大值)很有用,例如当橡皮球碰到一堆泥土,您不想弹跳,所以请使用“最小”。

更多详细信息,请参见:官方文档
现在我们有了一个使用它们的方法以及差异值的作用原理,让我与您分享一些我已经建立的快速材料。 这些是近似值,但我确实查看了其他游戏引擎以获取这些数字,并设法找到了旧的内置Unity引擎(似乎不再包含其中了?)。
橡胶材质
- 动态:0.8
- 静态:0.9
- 弹跳度:0.8
- 摩擦组合:最大
- 反弹合并:平均值
冰块
- 动态:0.05
- 静态:0.1
- 反弹度:0.05
- 摩擦组合:相乘
- 弹跳结合:相乘
木料
- 动态:0.475
- 静态的:0.475
- 弹跳:0
- 摩擦结合:平均
- 反弹合并:平均值
金属材质
- 动态:0.15
- 静态:0.2
- 弹跳:0
- 摩擦结合:最小
- 反弹合并:平均值
泥料
- 动态:1
- 静态:0.9
- 弹跳:0
- 摩擦结合:最小
- 反弹组合:最小值
最后,在倾斜的表面上进行另一个快速演示:

本快速Unity教程就是这样 ! 在即将发布的帖子中,我们还有很多事情要分享; 我们游戏中的更多教程和开发细节。 让我们知道您是否喜欢这一点或在评论中提出改进建议! 🙂