Unity基础课程之物理引擎6-关于物理材质的使用和理解

每个物体都有着不同的摩擦力。光滑的冰面摩擦力很小,而地毯表面的摩擦力则很大。另外每种材料也有着不同的弹性,橡皮表面的弹性大,硬质地面的弹性小。在Unity中这些现象都符合日常的理念。虽然从原理上讲,物体的摩擦力和弹性有着更复杂的内涵,例如普通的钢板看起来并没有太多弹性,但在合适的条件下却可以用来作为弹簧板。

Unity的物理引擎对物体表面材料的性质做了简化处理,仅有5种常用属性,但可以满足大多数游戏的需求。在Project窗口中单击鼠标右键,选择Create→Physics Material,就可以创建一个物理材质。物理材质的参数被简单定义为Dynamic Friction(动态摩擦系数)、Static Friction(静态摩擦系数)、Bounciness(弹性系数)、与其他物体接触时的Friction Combine(摩擦力系数算法)和Bounce Combine(弹性系数算法)

动态摩擦系数就是物体之间正在相对滑动时的摩擦系数。

例如0.1代表很光滑的表面,0.9代表很粗糙的表面。

静态摩擦系数就是物体之间没有相对滑动时的摩擦系数。

现实生活中,物体的静态摩擦力一般略大于动态摩擦力,当然在游戏世界中可以随意调节它们的大小。

弹性系数可以调节物体反弹力的大小。例如0.8可以代表充气很足的篮球,0则代表没有任何反弹力。

弹性系数一般不能高于0.9,否则会导致物体反弹的速度比撞击前的速度还快,这样它会变得越来越快,没有止境。

最后两个参数决定了两个物体表面都具有摩擦系数和弹性系数时,如何计算综合的摩擦系数和弹性系数。可选择取平均值、取最大值、取最小值或相乘4种方式。

最后,有3点值得说明。

一是物理材质是配合碰撞体使用的。

碰撞体有一个"材质"(Material)的属性,这里自然不是指渲染材质,而是指物理材质

。将创建好的物理材质拖曳到该属性上即可指定该属性。

二是不指定任何物理材质时,碰撞体具有默认的物理材质(也就是也会有简单的弹性和摩擦)。

三 良好的弹性和碰撞的两个物体的物理材质都有关系,和生活中一样!

Unity基础课程之物理引擎5-射线的使用方法总结-CSDN博客

Unity基础课程之物理引擎4-用于射击或者点击消除的射线检测方法-CSDN博客

相关推荐
mxwin16 小时前
unity shader中 ddx ddy是什么
unity·游戏引擎·shader
郝学胜-神的一滴19 小时前
[简化版 GAMES 101] 计算机图形学 08:三角形光栅化上
c++·unity·游戏引擎·godot·图形渲染·opengl·unreal
nnsix19 小时前
Unity ILRuntime 笔记
unity·游戏引擎
nnsix21 小时前
Unity API 兼容的 .NET Standard 2.1 和 .NET Framework 区别
unity·游戏引擎·.net
mxwin21 小时前
Unity Shader 制作半透明物体 使用多Pass提前写入深度的方式 避免穿模
unity·游戏引擎
nnsix1 天前
Unity HybridCLR 笔记
笔记·unity·游戏引擎
nnsix1 天前
Unity Addressables 笔记
unity·游戏引擎
RReality1 天前
【Unity Shader URP】视差贴图 实战教程
ui·平面·unity·游戏引擎·图形渲染·贴图
小清兔2 天前
Addressable的设置打包流程
笔记·游戏·unity·c#
3D霸霸2 天前
Sourcetree 拉取新工程
数据仓库·unity