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博客

相关推荐
熬夜敲代码的小N2 小时前
Unity WebRequest高级操作:构建高效稳定的网络通信模块
android·数据结构·unity·游戏引擎
萘柰奈3 小时前
Unity【小问题】----URP项目中加载AssetBundle中的预设体即使加载了依赖的材质依然是紫色的问题
unity·游戏引擎·材质
wonder135794 小时前
UGUI合批分析和优化方法整理
unity·ugui
海中有金6 小时前
Unreal Engine 线程模型深度解析[2]
人工智能·游戏引擎·虚幻
海中有金6 小时前
Unreal Engine 内存池浅谈[11]——总结篇
游戏引擎·虚幻
wonder135796 小时前
UGUI鼠标点击到按钮响应流程的源码分析
unity·ugui
熊猫悟道21 小时前
Unity shader 之,Shader内部时间离散处理
unity·游戏引擎·材质·着色器
PA_1 天前
unity Component-Based Architecture游戏框架
游戏·unity·游戏引擎
yi碗汤园1 天前
C#实现对UI元素的拖拽
开发语言·ui·unity·c#
jtymyxmz1 天前
《Unity Shader》11.3.2 广告牌技术
unity·游戏引擎