Unity 物理系统:关节(一)

关节

作用:

关节组件可以使两个游戏对象连接在一起并产生连带的物理效果。

注意:关节必须依赖于刚体组件。

  • 添加关节组件时,系统会默认添加刚体(Rigidbody)组件。
  • 物体添加了关节组件后,刚体组件无法移除。

Hinge Joint(铰链关节)

作用:

使两个刚体像被连接在一个铰链上那样运动。
适用于对门的模拟,也可用作模型链及钟摆等物体。

 

Edit Joint Angular Limits编辑关节角度限制/范围。
Connected Body(Rigidbody)已连接的刚体,与当前刚体绑定的另一个刚体。
Anchor锚点,刚体摆动所围绕的点,该值相对于局部坐标系。
Axis轴,刚体摆动所围绕的轴,即摆动方向,该值相对于局部坐标系。
Auto Configure Connected如果启用此功能,则将自动计算连接的锚点位置,以匹配锚点属性的全局位置。这是默认行为。如果禁用此功能,则可以手动配置连接的锚的位置。
Connected Anchor手动配置连接的锚点位置。
Use Spring使用弹簧,弹簧会使刚体与其连接的主体形成一个特定的角度。

Spring

  • Spring
  • Damper
  • Target Position

弹簧,当Use Spring参数开启时,此属性有效。

  • 弹簧力。设置推动对象使其移动到相应位置的作用力。
  • 阻力,设置对象的阻尼值,数值越大则对象移动得越缓慢。
  • 目标位置,设置弹簧的目标位置,弹簧会拉向此角度。
Use Motor使用马达/发动机,发动机会使对象发生旋转。

Motor

  • Target Velocity
  • Force
  • Free Spin

马达,当Use Motor参数开启时,此属性有效。

  • 目标速度,设置对象预期将要达到的速度值。
  • 作用力。设置为了达到目的速度而施加的作用力。
  • 自由旋转。勾选该项,则发动机永远不会停止,旋转只会越转越快。
Use Limits勾选该项,铰链的角度将被限定在最大值和最小值之间。

Limits

  • Min
  • Max
  • Bounciness
  • Bounce Min Velocity
  • Contact Distance

限制,当Use Limits参数开启时,此属性有效。

  • 最小,设置铰链能达到的最小角度。
  • 最大,设置铰链能达到的最大角度。
  • 弹力
  • 反弹最小速度
  • 接触距离。控制关节的抖动。
Break Force断开力,一个力的限值,当关节受到的力超过这个,关节损坏。
Break Torque断开力矩,一个力矩的极限,当关节受到力矩超过此值,关节损坏。
Enable Collision启用碰撞,关节间会检测碰撞。
Enable Preprocessing启用预处理,实现关节的稳定。
Mass Scale当前刚体的质量比例。
Connected Mass Scale连接刚体的质量比例。

Fixed Joint(固定关节)

作用:

将两个刚体束缚在一起, 相对位置保持不变。

适用于使一个对象容易与另一个对象分开时,或者连接两个没有父子关系的对象使其一起运动时。

 

Connected Body已连接的刚体,与当前刚体绑定的另一个刚体。
Break Force断开力,一个力的限值,当关节受到的力超过这个,关节损坏。
Break Torque断开力矩,一个力矩的极限,当关节受到力矩超过此值,关节损坏
Enable Collision启用碰撞,关节间会检测碰撞。
Enable Preprocessing启用预处理,实现关节的稳定。
Mass Scale当前刚体的质量比例。
Connected Mass Scale连接刚体的质量比例。

Spring Joint(弹簧关节)

作用:

将两个刚体连接在一起,使其像连接着弹簧那样运动。

Connected Body已连接的刚体,与当前刚体绑定的另一个刚体。
Anchor锚点,弹簧的悬挂点。
Auto Configure Connected Anchor如果启用此功能,则将自动计算连接的锚点位置,以匹配锚点属性的全局位置。这是默认行为。如果禁用此功能,则可以手动配置连接的锚的位置。
Connected Anchor手动配置连接的锚点位置。
Spring弹簧的强度,数值越高弹簧的强度就越大。
Damper弹簧的阻尼系数,阻尼数值越大,弹簧强度减小的幅度越大。
Min Distance弹簧启用的最小距离值。如果两个对象之间的当前距离与初始距离的差小于该值,则不会开启弹簧。
Max Distance弹簧启用的最大距离值。如果两个对象之间的当前距离与初始距离的差大于该值,则不会开启弹簧。
Tolerance弹簧可拉伸长度。
Break Force断开力,一个力的限值,当关节受到的力超过这个,关节损坏。
Break Torque断开力矩,一个力矩的极限,当关节受到力矩超过此值,关节损坏。
Enable Collision启用碰撞,关节间会检测碰撞。
Enable Preprocessing启用预处理,实现关节的稳定。
Mass Scale当前刚体的质量比例。
Connected Mass Scale连接刚体的质量比例。
  • 4
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Unity物理系统常用的方法包括: 1. 创建碰撞体:使用Colliders组件来添加碰撞体,如BoxCollider、SphereCollider和CapsuleCollider等。碰撞体负责检测对象之间的碰撞和触发事件。 2. 添加刚体:使用Rigidbody组件来给物体添加刚体属性。刚体可以模拟物体的质量、重力、速度、受力等物理属性,并与其他物体进行交互。 3. 碰撞检测:利用OnCollisionEnter、OnCollisionExit和OnCollisionStay等方法来检测对象之间的碰撞。可以在碰撞发生时触发相应的事件或执行特定的操作。 4. 触发器:使用Trigger来进行触发器的判定,使用OnTriggerEnter、OnTriggerExit和OnTriggerStay等方法来触发相应的事件。 5. 物理材质:通过给对象添加PhysicMaterial来模拟物体的摩擦力和弹性等特性。可以调整材质的属性来改变物体之间的碰撞效果。 6. 接触点信息:使用Collision和Collider组件来获取碰撞点的信息,如碰撞点的坐标、法线方向、碰撞力等。 7. 约束和关节:可以使用关节和约束来模拟物体之间的连接和限制。常见的约束和关节包括HingeJoint、FixedJoint和SpringJoint等。 8. 物理效果:可以模拟物体的运动效果,如重力、摩擦力、空气阻力等。可以使用AddForce、AddTorque等方法来给物体施加力或扭矩。 9. 物理射线:使用Physics.Raycast和Physics.RaycastAll等方法来进行射线检测。可以检测射线与物体之间是否发生碰撞,并获取碰撞点的信息。 10. 物理特效:使用Particle System组件来添加粒子效果,如火花、烟雾、水花等。可以通过设置粒子的速度、大小和颜色等属性来模拟物理现象。 以上是Unity物理系统常用的方法,可以用来实现物体之间的碰撞、运动、连接等物理效果。 ### 回答2: Unity物理系统常用方法包括: 1. 添加碰撞器(Collider):在物体上添加碰撞器组件,可以使物体参与碰撞检测和物理模拟。 2. 添加刚体(Rigidbody):在具有碰撞器的物体上添加刚体组件,使物体具有物理属性,如重力、施力和受力的效果。 3. 碰撞检测:使用碰撞器进行碰撞检测,可以通过判断是否发生碰撞来进行相关处理,比如触发事件、改变游戏状态等。 4. 物理模拟:通过刚体组件和物理材质(Physic Material)来模拟物体的物理行为,如弹力、摩擦力、空气阻力等。 5. 使用力(Force):通过添加力的方式来施加物体的作用力,可实现物体的移动、旋转等效果。 6. 刚体运动控制:通过改变刚体的速度、角速度或应用力矢量来控制物体的运动,以实现自定义的物理模拟效果。 7. 碰撞事件:当物体发生碰撞时,可以通过碰撞事件(OnCollisionEnter、OnCollisionStay、OnCollisionExit)来触发特定的逻辑或动作。 8. 触发器(Trigger)和触发事件:触发器是一种特殊的碰撞器,不会产生物理效果,但可以检测两个物体之间的触发事件(OnTriggerEnter、OnTriggerStay、OnTriggerExit)。 9. 射线投射:通过创建射线(Ray)对象并进行投射,可以检测物体是否被射线所穿过,常用于射线检测碰撞或点击选择物体。 10. 物理层和层掩码:通过设置物理层和层掩码,可以对不同物体进行过滤,控制碰撞或触发事件的发生。 以上是Unity物理系统常用的一些方法,在游戏开发中,熟练掌握这些方法可以实现丰富多样的物理效果和交互体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值