unity物理学材质Physic Material

物理材料

切换到脚本

在物理学材料是用来调整摩擦和碰撞对象的反弹效应。

要创建物理材质,请从菜单栏中选择“ 资源”>“创建”>“物理材质 ”。然后将“物理材质”从“项目视图”拖动到场景中的“ 碰撞”中。

属性

属性: 功能:
动态摩擦 已经移动时使用的摩擦力。通常是从0到1的值。零值感觉像冰一样,值1会使它非常快地停下来,除非大量的力或重力推动物体。
静摩擦力 当物体静止在表面上时使用的摩擦力。通常是0到1之间的值。零值感觉像冰,值1会使对象移动变得非常困难。
反弹力 表面有多么有弹性?值0不会反弹。值1将在没有任何能量损失的情况下反弹,但是可以预期某些近似值,尽管这可能会为模拟增加少量能量。
摩擦组合 如何组合两个碰撞物体的摩擦力。
- 平均 两个摩擦值是平均值。
- 最低 使用这两个值中最小的一个。
- 最大 使用这两个值中最大的一个。
- 乘以 摩擦值相互相乘。
弹跳组合 如何组合两个碰撞对象的弹性。它具有与摩擦组合模式相同的模式

细节

摩擦力是防止表面相互滑落的量。尝试堆叠对象时,此值很重要。摩擦有两种形式,动态和静态。物体静止时使用静摩擦力。它会阻止对象开始移动。如果对物体施加足够大的力,它将开始移动。此时动态摩擦将发挥作用。动态摩擦现在将尝试在与另一个物体接触时减慢物体的速度。

当两个物体接触时,根据所选择的模式对它们两者施加相同的弹性和摩擦效果。当两个接触的碰撞器具有不同的组合模式设置时,存在一种特殊情况。在这种特殊情况下,使用具有最高优先级的函数。优先顺序如下:平均 < 最小 < 乘以 < 最大值。例如,如果一个材质具有平均值但另一个具有最大值,则要使用的组合函数为最大值,因为它具有更高的优先级。

请注意,Nvidia PhysX引擎使用的摩擦模型针对模拟的性能和稳定性进行了调整,并不一定非常接近真实物理。特别是,大于单个点的接触表面(例如彼此相邻的两个盒子)将被计算为具有两个接触点,并且将具有两倍于现实世界物理学中的摩擦力。您可能希望将摩擦系数乘以0.5,以在这种情况下获得更真实的结果。

同样的逻辑适用于弹性模型。由于各种模拟细节(如位置校正),Nvidia PhysX无法保证完美的节能效果。因此,例如当受重力影响的物体的弹性值为1并且与具有弹性的地面碰撞时,期望物体到达比初始物体更高的位置。

原文地址:https://www.cnblogs.com/sanyejun/p/9289173.html

时间: 2024-10-10 02:42:23

unity物理学材质Physic Material的相关文章

【Unity】11.5 物理材质 (Physics Material)

分类:Unity.C#.VS2015 创建日期:2016-05-02 一.简介 物理材质 (Physics Material) 用于调整碰撞对象的摩擦力和反弹效果. 二.创建物理材质 要创建物理材质 (Physics Material),请从菜单栏选择[资源 (Assets)] -> [创建 (Create)] -> [物理材质 (Physics Material)].然后将物理材质 (Physics Material) 从[工程视图(Project View)]拖动到场景中的碰撞体(Coll

unity程序材质ProceduralMaterial使用

有些效果是用substance的材质,但是材质上的属性无法用平常的Material方法调用,需要ProceduralMaterial去调用, using UnityEngine; using System.Collections; public class TestProceduralMaterial : MonoBehaviour { public GameObject TestCube; public Texture2D tex; public ProceduralMaterial mate

[Unity菜鸟] 材质

1. 材质定义: 2. 把材质都改成支持透明通道 因为物体太多了,比如树跟房子材质必须用不一样的.所以办法还是你得改每个材质的Shader,都改成支持透明通道的. 在Project的搜索窗口输入t: material 然后材质就都出来了. 然后全部选定,把shader 改成Particle/Alpha blended,全选改不了是因为你全选的材质里面存在着用不同shader的材质 [Unity菜鸟] 材质

Unity透明材质Batch

NO Batch  ? 游戏场景中存在大量例子的时候,DrallCall的压力很大,但是遍历一遍之后发现,为啥一样的粒子特效竟然没有合并,why?经过很多测试后发现,如果把透明材质的修改为非半透明的,就可以合并,这就让我很奇怪了?Unity提供了材质动态合并的功能,虽然限制很多,但是对于透明材质的合并,Unity似乎给了一个很玄乎的答案: Semitransparent shaders most often require objects to be rendered in back-to-fr

Unity自发光材质制作——做游戏里的液晶显示屏,荧光对象可以用到

材质以及效果都是在Unity里实现的,纹理是在Photoshop里做的,所以也会说到Photoshop软件的操作方法,自发光或者是荧光效果还不错

unity, 在材质上指定render queue

材质球inspector面板在debug模式下可以看到Custom Render Queue一项: 其默认值为-1,表示使用相应shader的render queue设置. 也可以人为将其改为其它值,例如2000(opaque)或3000(transparent)等. 但严重不建议这样做,因为这使得材质的渲染顺序与shader不一致,容易让人困惑.

unity, 保存prefab时material丢失问题

在程序运行时用replacePrefab(gameObj,prefab)或createPrefab(gameObj,prefab)保存prefab,遇到保存出来的prefab中material丢失的问题. 最后查到原因是gameObj的material成员引用的是一个material实例,而非material资源,所以保存成prefab后引用会丢失. 而导致gameObj的material成员实例化的原因是某处调用了gameObj.meshRenderer.material.

Unity反射材质制作——镜中花,水中月,但是非镜面效果哟

只需导入两张纹理图片,然后在Unity中做相应设置就可以了,果然这个软件很强大,都不带写代码的.做游戏特效越来越简单,是好事,还是坏事

Unity修改Particles Render Material(Unity3D开发之二十三)

猴子原创,欢迎转载.转载请注明: 转载自Cocos2Der-CSDN,谢谢! 原文地址: http://blog.csdn.net/cocos2der/article/details/48372999 美术在制作粒子特效的时候需要能修改让粒子在某些时刻闪烁,看了下发现没有设置能实现,所以加个脚本给美术使用. 原理就是让美术能控制Render修改Image的Color using UnityEngine; using System.Collections; public class Particl