Unity之效应器

本文介绍了Unity3D中如何使用各种效应器来模拟物理现象,如区域效应器用于施加力和扭矩,浮力效应器模拟流体行为,点效应器实现磁铁般的吸引和排斥,平台效应器创建2D游戏平台,以及表明效应器模拟传送带运动。这些效应器提供了丰富的参数调整,以实现各种真实感的游戏体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

主要作用:在一个区域内让游戏对象受到力和扭矩力的作用

1、创建一个精灵(绿色区域)

2、为其添加碰撞器(要将Used By Effector和is Trigger打钩) 

 

 3、添加效应器组件

 4、区域效应器参数

Use Collider Mask:是否启用碰撞器遮罩,如果开启才会出现下面的Collider Mask,可以通过选择层,决定该效应器只会作用于哪些层的对象

Use Global Angle:勾选将使用世界坐标系角度,如果不勾选,角度为局部角度
Force Angle:施加力的角度
Force Magnitude:施加力的大小
Force Variation:施加力的随机大小变化 会在Force Magnitude基础上根据该值进行随机变化

ForceTarget:效应器在目标对象上施加力的作用点
    Collider:以碰撞器的当前位置(如果碰撞器有偏移,没有位于质心,可能会产生扭矩力,带来旋转)
    Rigidbody:以刚体的当前质心(不会产生扭矩力)

Drag:阻力
Angular Drag:扭矩阻力

5、浮力效应器

主要作用:模拟流体行为,浮动和阻力相关设置,让玩家在该区域看起来像在水里移动

 

Density:流体密度,密度较大,碰撞体会下沉,密度越小碰撞体会上浮
密度和流体相同的碰撞体会浮在流体中

Surface Level:定义浮力流体的表面位置,对象高于此线时,不会对其施加浮力,以下或者相交会施加浮力。沿世界Y轴偏移

Linear Drag:影响对象在水中移动的阻力系数
Angular Drag:影响对象在水中旋转的阻力系数

Flow Angle:流体流动方向相对世界空间的角度,沿指定方向施加浮力
Flow Magnitude:与FlowAngle结合使用,前者决定力的角度,该值确定浮力大小
Flow Variation:随机改变流体力的值

6、点效应器

主要作用:模拟磁铁 吸引或者排斥的效果

 

Force Magnitude:施加力的大小
Force Variation:施加力的大小变化
Distance Scale:效应器和目标之间举例的缩放。计算距离时,会按该比值对距离进行缩放

Force Source:力源来自哪个位置,从该点计算距离。
    Collider:碰撞器的位置
    Rigidbody:刚体的位置

Force Target:作用力目标位置,用该点计算位置
    Collider:碰撞器的位置,如果碰撞器有偏移,可能会产生扭矩力
    Rigidbody:刚体的位置,不会产生扭矩力

Force Mode:计算力的模式
    Constant:忽略源和目标之间相隔的距离
    Inverse Linear:反线性距离计算,距离越远,力的大小呈线性减小
    Inverse Squared:反平方距离计算,力的大小呈指数减小(按平方下降),类似现实世界重力

7、平台效应器

平台不需要穿过,所以要把触发器取消勾选 

 

主要作用:2D游戏当中的平台或可往上跳跃的墙壁

Rotational Offset:旋转偏移量,控制平台角度偏移

Use One Way:是否使用单向碰撞行为
Use One Way Grouping:当平台式有多个碰撞器组合时,可以通过它将所有碰撞器设置为单向碰撞行为
Surface Arc:以局部坐标系下向上的方向为中心,填写一个角度值,定义不允许通过的表面,该角度外的其它地方视为单向碰撞

Use Side Friction:是否应该在平台两侧使用摩擦
Use Side Bounce:是否应该在平台两侧使用弹性
Side Arc:用于定义左右两侧平台的响应弧度

 8、表明效应器

主要作用:模拟传送带

Speed:表面保持的速度
Speed Variation:速度的随机增加值

Force Scale:缩放沿表面移动时施加的力。如果是0表示不施加力,相当于禁用。值越低越慢,值越高越快,建议不要设置为1,因为当设置为1时可能会抵消施加在物体上的其它力,比如跳跃的力

Use Contact Force:是否对接触物体表面的接触点施加力,如果选择会让对象旋转,如果不开启则不会旋转
Use Friction:是否使用摩擦力
Use Bounce:是否使用弹力

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值