当前位置: 首页 > news >正文

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

http://www.lryc.cn/news/190399.html

相关文章:

  • 用c语言写一个剪刀石头布小游戏
  • 【MySQL入门到精通-黑马程序员】MySQL基础篇-DCL
  • SpringBoot配置文件加载顺序
  • github小记(一):清除github在add或者commit之后缓存区
  • 【Debian系统】:安装debian系统之后,很多命令找不到,需要添加sudo之后才能使用,以下解决方法
  • 深入了解归并排序:原理、性能分析与 Java 实现
  • docker stop了一个docker exec容器,要怎么再启动呢
  • 【总结】kubernates 插件工具总结
  • RK3588平台产测之ArmSoM-W3 DDR带宽监控
  • 基于SpringBoot的作业管理系统设计与实现
  • TailwindCss Functions Directives
  • MDK自动生成带校验带SVN版本号的升级文件
  • 如何打造一个网络框架模块对接服务器
  • 装饰器模式和 AOP 面向切片编程(设计模式与开发实践 P15)
  • Git迁移新仓库并保存历史提交记录
  • MySql逗号分割的字段数据分解为多行
  • 共生与共享:线程与进程的关系
  • uniapp app或微信小程序项目使用gite仓库中的图片
  • KUKA机器人如何强制输出或取消数字IO信号?
  • 利用正则表达式进行数据采集和处理
  • javaScript:拖拽效果
  • 【Unity3D编辑器开发】Unity3D中制作一个可以随时查看键盘对应KeyCode值面板,方便开发
  • VUE echarts 柱状图、折线图 双Y轴 显示
  • Django开发之基础篇
  • 在 centos7 上安装Docker
  • 基于SpringBoot的大学城水电管理系统
  • 微信小程序 movable-view 控制长按才触发拖动 轻轻滑动页面正常滚动效果
  • mysql面试题27:数据库中间件了解过吗?什么是sharding jdbc、mycat,并且讲讲怎么使用?
  • DBCO Sata650,二苯并环辛烷Sata650,Seta-650-DBCO
  • JFLASH基本使用总结