Unity组件学习——物理系统(待完善)

Rigbody刚体组件

!必须和Collider组件一起使用(否则有穿透现象)

基本设置:

【Mass】质量,影响物体的重力模拟
【Drag】阻尼,影响游戏物体所受空气阻力(?)
【Angular Drag】角阻力,影响游戏物体受扭力旋转时的阻力

【Use Gravity】是否受到重力影响。勾选后游戏对象可受重力模拟影响
【Is Kinematic】是否进行动力学模拟(遵循运动学)。勾选后游戏对象不受外力,碰撞和关节的影响,但仍对其他物体产生影响。仍受动画已经脚本影响。

【Interpolate】(?)刚体移动插值模式,辅助物理计算的功能,用于提升刚体运动流畅度
[None]不使用插值
[Interpolate]根据上一帧的Transform进行插值运算(?)
[Extrapolate]估算下一帧的Transform进行插值运算(?)

【Collision Detection】碰撞检测模式。
[Discrete]默认选项,检测场景中其他所有碰撞体发生碰撞
[Continuous]连续碰撞检测(?)
[Continuous Dynamic]连续动态检测模式(?)
[Continuous Speculative](?)

【Constraints】刚体运动约束
[Freeze Position]移动约束(相对世界坐标)
[Freeze Rotation]旋转约束(相对自身轴)

常用API(待更新)

其他(待补充)

Collider碰撞器和Trigger触发器

——决定了最基本的物理触发条件

常规

  1. 一般的3D物块Collider

(性能消耗较小)
Cube Collider:正方体碰撞体
Sphere Collider:球体碰撞体
Capsule Collider:胶囊体碰撞体
Cylinder Collider:圆柱体碰撞体

(性能消耗较大)
Mesh Collider(?):网格碰撞体

Wheel Collider(?):车轮碰撞体

基本设置(不包括网格碰撞器和车轮碰撞器)

【is Trigger】勾选后启用触发器
【Material】设置碰撞器的物理材质
【Center】碰撞体在对象局部坐标空间中的位置

【Size】碰撞体的大小
【Radius】碰撞体的半径/碰撞体局部坐标宽度的半径
【Height】碰撞体的总高度(与Direction关联,从Center向两侧展开)
【Direction】对象局部坐标空间中胶囊或者圆柱碰撞体纵向轴对应的相对坐标方向(?)

【Convex】勾选后可以和其他基本碰撞体发生碰撞,且【is Trigger】选项可用
【Cooking Options】(?)
【Mesh】可获取对象网格并作为碰撞体

关于Mesh Collider和Wheel Collider(?)

常用API(待更新)

OnCollider

OnTrigger

其他(待补充)

碰撞器和触发器

碰撞器是触发器的载体,触发器是碰撞器的属性
没有启用触发器时,碰撞器根据物理引擎引发碰撞,产生碰撞效果,可以调用OnCollider相关方法
启用触发器时,碰撞器被物理引擎忽略,没有碰撞效果,可以调用OnTrigger相关方法

和Rigbody

1.两个物体发生物理碰撞需要两者都拥有碰撞器,且至少存在一个刚体
2.两个物体达成触发检测需要都拥有碰撞器,且至少一个开启触发器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值