了解Unity编辑器之组件篇Physics(四)

news2024/11/18 4:43:02

Physics:用于处理物理仿真和碰撞检测。它提供了一组功能强大的工具和算法,用于模拟真实世界中的物理行为,使游戏或应用程序更加真实和可信。

主要用途包括:

碰撞检测:Unity Physics 提供了高效的碰撞检测算法,可以检测物体之间的交叉和碰撞,以及处理碰撞事件。这使游戏开发者能够实现准确的物体交互和碰撞效果。

刚体模拟:Unity Physics 支持刚体物理模拟,可以模拟物体的受力和运动行为。通过添加刚体组件,开发者可以使物体受重力影响而下落、施加力来推动物体或模拟物体之间的碰撞和反弹等。

关节和约束:Unity Physics 提供了对关节和约束的支持。开发者可以使用关节和约束来模拟物体之间的连接、约束以及物体的复杂运动。这使得开发者可以创建更逼真的动画和物理效果。

物理材质:Unity Physics 允许开发者为物体定义各种物理材质属性,如摩擦系数、弹性系数等。这样可以更准确地模拟不同材质之间的物理交互,如摩擦、反弹等。

一、Box Collider:用于在游戏中实现碰撞检测的组件,它可以与其他碰撞器(如球体碰撞器、胶囊体碰撞器等)一起使用。

 

1.Edit Collider(编辑碰撞体):当这个属性被勾选时,可以在场景视图中直接调整碰撞器的形状和尺寸。勾选该属性后,场景视图中将显示一个可拖拽的控制柄(小点形状),方便进行实时调整。

2.Is Trigger(是否为触发器):当该属性被勾选时,碰撞器将被视为触发器,不参与物体之间的物理碰撞响应。相反,它将调用 OnTriggeEnter、OnTriggerStay 和 OnTriggerExit 等触发器事件回调方法。如果该属性未勾选,则碰撞器将参与物理碰撞响应。

3.Material(物理材质):使用该属性可以指定用于物理模拟的材质。材质可以定义摩擦力、弹性系数等物理属性,影响碰撞的行为。

4.Center(中心点):这是碰撞器的中心点在局部坐标系中的位置。默认情况下,Box Collider 组件的中心点与其所附加的游戏对象的中心点对齐。

5.Size(尺寸):尺寸属性定义了碰撞器的宽度、高度和深度。它决定了 Box Collider 的包围盒的大小。你可以根据需求调整碰撞器的尺寸。

二、Capsule Collider:用于在游戏中实现碰撞检测的组件,它可以与其他碰撞器(如球体碰撞器、盒子碰撞器等)一起使用。

 

1.Radius(半径):半径属性定义了胶囊体碰撞器的球体部分的半径大小。它决定了胶囊体碰撞器的包围盒的大小。

2.Height(高度):高度属性定义了胶囊体碰撞器的胶囊体部分的高度大小。高度是指靠近胶囊体顶部和底部的中间那部分,而不是整个胶囊体的高度。

3.Direction(方向):方向属性定义了胶囊体碰撞器的主轴方向,可选的方向有 X、Y 和 Z。它决定了胶囊体碰撞器在三维空间中的朝向。

4.其它属性参考Box Collider组件

三、Character Controller:是一种用于控制角色移动和碰撞检测的组件,它通常用于处理玩家角色或非物理驱动的角色移动。

 

1.Slope Limit(坡度限制):指定角色能够行走的最大坡度角度。超过该角度的斜坡将被视为无法行走的地形。

2.Step Offset(踏步偏移):定义了角色在爬越台阶或不平地形时所需的垂直位移量。较大的值将允许角色更容易爬过台阶和阶梯。

3.Skin Width:定义了角色控制器与其他碰撞器之间的最小间隙。这可以用来避免角色控制器受到过于紧密的物体表面的影响。

4.Min Move Distance:用于控制角色控制器在执行移动时的最小移动距离。当角色控制器的移动距离小于 Min Move Distance 时,移动操作会被忽略,这可以防止角色在移动时触发不必要的碰撞。较小的值将使角色更敏感于细微的移动,而较大的值将减少角色对细微移动的响应。通过不断调整该属性,你可以找到最适合你游戏角色的值

5.其他属性参考Capsule Collider组件

四、Character Joint:用于模拟角色骨骼的物理连接和运动的组件。它可以被添加到角色的关节上,用于模拟关节的运动和约束。(添加Character Joint组件时,会自动添加Rigidbody组件)

 

1.Edit Angular Limits(编辑角度限制):这个属性允许你设置关节的旋转角度限制。你可以通过设置最小角度和最大角度来限制角度的范围。

2.Connected Body(连接刚体):这个属性允许你将一个刚体对象连接到角色关节上。连接的刚体可以是同一个角色模型中的其他部分,也可以是场景中的其他对象。通过连接刚体,你可以实现物理交互和约束。

3.Connected Articulation Body(连接关节体):这个属性用于将关节连接到Articulation Body(关节体)。Articulation Body是Unity中的一种高级刚体类型,用于模拟复杂的物理约束和动力学效果。

4.Anchor(锚点):这个属性定义了关节连接的位置。默认情况下,锚点位于角色模型的中心位置。你可以通过调整该属性的值来改变连接位置。

5.Axis(轴):该属性定义了关节旋转的轴向。默认情况下,轴向是角色模型的局部坐标系的X轴。你可以通过调整该属性来指定其他轴向。

6.Auto Configure Connected Anchor(自动配置连接锚点):当勾选这个属性时,Unity会自动计算连接刚体的锚点位置,使其与当前关节的锚点位置对应。取消勾选时,你可以手动指定连接刚体的锚点位置。

7.Connected Anchor(连接锚点):这个属性定义了连接刚体的锚点位置。如果勾选了"Auto Configure Connected Anchor",则该值会被自动计算。

8.Swing Axis:指定角色关节的摆动轴。摆动轴用于模拟关节的摆动(弯曲)运动。

9.Twist Limit Spring(扭转限制弹簧):该属性控制绕 X 轴的扭转限制的弹簧强度和衰减。弹簧强度影响物体在扭转之间的回弹力,衰减控制回弹力的减弱速度。

10.Low Twist Limit(低扭转限制):这是绕 X 轴的最小扭转角度限制。当达到或超出这个角度时,限制器会施加力或约束来保持物体在低扭转限制范围内。

11.High Twist Limit(高扭转限制):这是绕 X 轴的最大扭转角度限制。当达到或超出这个角度时,限制器会施加力或约束来保持物体在高扭转限制范围内。

12.High Twist Limit(高扭转限制):这是绕 X 轴的最大扭转角度限制。当达到或超出这个角度时,限制器会施加力或约束来保持物体在高扭转限制范围内。

13.Swing Limit Spring(摆动限制弹簧):该属性控制绕 Y 和 Z 轴的摆动限制的弹簧强度和衰减。弹簧强度影响物体在摆动之间的回弹力,衰减控制回弹力的减弱速度。

14.Swing 1 Limit 和 Swing 2 Limit:定义两个摆动角度限制,用于限制关节的摆动范围。Swing 1 Limit 定义了关节在 swing axis 上的摆动范围,而 Swing 2 Limit 定义了关节在 swing 1 axis 上的摆动范围。

15.Enable Projection 和 Projection Distance:启用关节的投影功能,并设置投影的距离。当启用投影时,如果物理模拟引擎预测到关节可能会脱离预期位置,它将进行投影修正,将关节移回到预定的运动轨迹。

16.Projection Angle(投射角度):该属性定义了当约束被打破时所采取的投射角度。当关节在动力学模拟中被迫超出约束角度时,引擎会尝试将其投射回约束范围内。该属性确定投射所采用的最大角度。

17.Break Torque(断裂扭矩):该属性定义了当约束受到过大力量作用时断裂的扭矩阈值。如果受到的力矩超过该阈值,约束将被打破并分离。这是一种防止关节受到过大力矩影响的机制。

18.Enable Collision(启用碰撞):该属性确定是否启用关节碰撞。当该属性被启用时,关节将与其他物体进行碰撞检测,这可以用于模拟更真实的物理交互。如果禁用该属性,关节将不会发生碰撞。

19.Enable Preprocessing:启用预处理功能,用于优化关节运动的稳定性和准确性。启用预处理可以提高关节的稳定性并减少震荡。

20.Mass Scale(质量缩放):该属性定义了连接到该关节的物体的质量与其实际质量之间的比例关系。通过调整 Mass Scale 的值,可以增加或减少连接的物体对于此关节的旋转和移动的影响。如果将 Mass Scale 设置为 0,则表示该关节无视连接物体的质量。

21.Connected Mass Scale(连接质量缩放):该属性定义了此关节连接的物体的质量与其实际质量之间的比例关系。通过调整 Connected Mass Scale 的值,可以增加或减少连接的物体对于此关节的旋转和移动的影响。如果将 Connected Mass Scale 设置为 0,则表示该关节无视被连接物体的质量。

五、Cloth:用于模拟布料和软体效果的组件,可以用于创建逼真的布料和物理效果。(添加Cloth组件时,会自动添加Skinned Mesh Renderer组件)

 

1.Stretching Stiffness(拉伸刚度):调整布料在拉伸时的刚度。较高的值将使布料更加不容易被拉伸。

2.Bending Stiffness(弯曲刚度):调整布料在弯曲时的刚度。较高的值将使布料更加僵硬。

3.Use Tethers(使用绳索):控制是否使用绳索约束来保持布料的形状。
当启用此属性时,布料的顶点将通过绳索连接在一起,以防止过度伸展或断开。
通过调整绳索的长度和硬度,可以模拟不同材质和物体上的绳索效果。

4.Use Gravity(使用重力):启用布料受到场景重力的影响。控制布料在垂直方向上的下降速度。

5.Damping(阻尼):控制布料的阻尼参数,影响其对外部力和速度的响应。

6.External Acceleration(外部加速度):允许为布料施加一个外部的加速度。
您可以使用此属性模拟风、重力、爆炸等外部力量对布料的影响。
通过调整加速度的方向和大小,可以实现各种各样的物理效果。

7.Random Acceleration(随机加速度):允许为布料施加一个随机的加速度。
使用随机加速度可以增加布料的变化和自然感,模拟风吹草动等效果。
您可以调整随机加速度的范围和强度以控制影响的程度。

8.World Velocity Scale(世界速度缩放):用于调整世界空间中布料顶点的速度缩放比例。
通过改变此属性的值,可以加速或减慢布料的动态效果。

9.World Acceleration Scale(世界加速度缩放):用于调整世界空间中布料顶点的加速度缩放比例。通过改变此属性的值,可以加速或减慢布料在施加的外部加速度下的动态效果。

10.Friction(摩擦):布料与其他对象之间的摩擦力。较高的值会增加布料的摩擦效果。

11.Collision Mass Scale(碰撞质量缩放):用于调整碰撞对布料顶点质量的影响。通过改变此属性的值,可以控制碰撞物体对布料的作用力大小。

12.Use Continuous Collision(使用连续碰撞):决定了是否开启布料的连续碰撞检测。连续碰撞检测可以提高布料与快速移动的物体之间的碰撞精度,避免穿透等视觉错误。

13.Use Virtual Particles(使用虚拟粒子):用于控制是否启用布料的虚拟粒子。虚拟粒子可以增加布料的稳定性和减少抖动效果。

14.Solver Frequency(求解器频率):决定了布料物理求解器的更新频率。
较高的频率可以提供更精确的物理模拟,但也可能导致更高的性能开销。
根据项目需求和性能考虑,可以调整此属性以获得最佳的物理效果和性能平衡。

15.Sleep Threshold(休眠阈值):定义了触发布料顶点进入休眠状态的速度阈值。
当布料顶点的速度小于此阈值时,它们可能会进入休眠状态,以节省计算资源。
较高的休眠阈值可以提高性能,但可能会降低动画的灵敏度和响应性。

16.Capsule Colliders(胶囊碰撞器):用于添加胶囊碰撞器到布料中,以模拟胶囊形状物体与布料的碰撞。添加胶囊碰撞器可以使布料在与胶囊形状物体交互时更准确地进行碰撞和响应。可以调整胶囊碰撞器的大小、位置和方向,以满足具体的碰撞需求。

17.Sphere Colliders(球形碰撞器):用于添加球形碰撞器到布料中,以模拟球形物体与布料的碰撞。添加球形碰撞器可以使布料在与球形物体交互时更准确地进行碰撞和响应。可以调整球形碰撞器的半径、中心位置,以满足具体的碰撞需求。

18.Virtual Particle Weights(虚拟粒子权重):用于控制虚拟粒子的质量。
虚拟粒子是一种用于提高布料稳定性和减少抖动的技术。
您可以通过调整虚拟粒子的权重值来控制其对布料的影响力,从而改变布料的动力学行为。

六、Configurable Joint:用于模拟关节约束的组件,它可以连接两个刚体,模拟它们之间的关节约束(添加Cloth组件时,会自动添加Rigidbody组件)

 

1.Edit Angular Limits(编辑角度限制):当勾选此选项时,可以编辑关节的旋转限制属性。

2.Connected Body(连接刚体):指定要连接到的刚体。这是通过将两个刚体连接在一起来模拟关节约束的方式之一。

3.Connected Articulation Body(连接关节体):指定要连接的关节体。这是连接 Configurable Joint 到关节体的另一种方式,它提供更高级的控制和灵活性。

4.Anchor(锚点):指定关节相对于所连接刚体的锚点位置。它定义了关节约束在连接刚体上的位置。

5.Axis(轴):指定关节约束的主要旋转轴。它定义了连接刚体之间的旋转约束。

6.Auto Configure Connected Anchor(自动配置连接锚点):当勾选此选项时,Unity 会自动设置连接锚点的位置,使连接关节的刚体间的距离保持不变。

7.Connected Anchor(连接锚点):指定连接刚体上的锚点位置。它定义了关节约束作用在连接刚体上的位置。

8.Secondary Axis(次要轴):定义关节约束之间的次要旋转轴。它提供了在主要轴旋转之外的额外约束控制。

9.X Motion,Y Motion,Z Motion(X轴运动,Y轴运动,Z轴运动):用于控制关节约束在各个轴向上的线性运动。可以设置为 Free(自由),Limited(有限制)和 Locked(锁定)三种模式:
Free:在该轴向上没有限制,允许刚体自由运动。
Limited:在该轴向上有限制,定义了刚体运动的范围。
Locked:在该轴向上完全锁定刚体,不允许运动。

10.Angular X Motion,Angular Y Motion,Angular Z Motion(X轴角度运动,Y轴角度运动,Z轴角度运动):用于控制关节约束在各个轴向上的角度运动。同样,可以设置为 Free(自由),Limited(有限制)和 Locked(锁定)三种模式。这些属性控制关节的旋转约束。

11.Linear Limit Spring(线性限制弹簧):该属性用于设置线性限制的弹簧效果。它包括弹簧的弹性系数和阻尼系数。弹性系数决定了刚体在趋向于限制位置时的恢复力,阻尼系数决定了刚体受到阻尼力的程度。

12.Linear Limit(线性限制):该属性用于设置线性运动限制的范围。可以设置最小位置和最大位置,以定义刚体在该轴向上的运动范围。

13.Angular X Limit Spring(角度 X 限制弹簧):该属性用于设置角度限制的弹簧效果。它包括弹簧的弹性系数和阻尼系数。弹性系数决定刚体在趋向于限制角度时的恢复力,阻尼系数决定刚体受到阻尼力的程度

14.Low Angular X Limit(低角度 X 限制)和 High Angular X Limit(高角度 X 限制):这些属性定义了关节约束在两个角度范围之间的限制,用于限制刚体在 X 轴旋转的角度范围。

15.Angular YZ Limit Spring(角度 YZ 限制弹簧):该属性用于设置 YZ 轴上的角度限制的弹簧效果。它包括弹簧的弹性系数和阻尼系数。

16.Angular Y Limit(角度 Y 限制)和 Angular Z Limit(角度 Z 限制):这些属性定义了关节约束在 Y 和 Z 轴上的旋转角度限制。

17.Target Position(目标位置):用于设置关节的目标位置。这决定了关节约束连接刚体的相对位置。

18.Target Velocity(目标速度):用于设置关节的目标速度。这影响关节约束连接刚体的速度。

19.X Drive,Y Drive,Z Drive(X 驱动,Y 驱动,Z 驱动):这些属性用于设置关节驱动力。驱动力可以施加在连接的刚体上,以实现特定的运动效果。

20.Target Rotation(目标旋转):用于设置关节的目标旋转。这决定了关节约束连接刚体的相对旋转。

21.Target Angular Velocity(目标角速度):用于设置关节的目标角速度。这影响关节约束连接刚体的角速度。

22.Rotation Drive Mode(旋转驱动模式):该属性定义了旋转驱动的模式。可以选择两种模式:
X And YZ:同时在 X、Y、Z 轴上驱动旋转。
Slerp:使用球面插值(Slerp)的方式驱动旋转。

23.Angular X Drive(角度 X 驱动)和 Angular YZ Drive(角度 YZ 驱动):这些属性用于设置关节的角度驱动力。驱动力可以施加在连接的刚体上,以实现特定的旋转效果。

24.Slerp Drive(球面插值驱动):该属性用于设置球面插值驱动的参数。它包括驱动力的强度和阻尼。

25.Projection Mode(投影模式):该属性定义了关节约束发生错误时,如何进行投影修正。有两种模式可用:
None:不进行投影修正。
Position And Rotation:对连接刚体的位置和旋转进行投影修正。

26.Projection Distance(投影距离):当 Projection Mode 设置为 Position And Rotation 时,此属性定义了投影修正的距离。

27.Projection Angle(投影角度):当 Projection Mode 设置为 Position And Rotation 时,此属性定义了投影修正的角度

28.Configured In World Space(使用世界坐标系配置):当勾选此选项时,关节的位置和旋转参数将以世界坐标系来进行配置和计算。

29.Swap Bodies(交换刚体):当勾选此选项时,将交换连接关节中的主动刚体和被动刚体。这可以用于快速交换连接对象。

30.Break Force(破裂力):当关节受到的力超过该值时,连接关节将断开。这可以模拟关节的破裂效果。

31.Break Torque(破裂力矩):当关节受到的扭矩超过该值时,连接关节将断开。这可以模拟关节的破裂效果。

32.Enable Collision(启用碰撞):当勾选此选项时,连接的刚体之间会发生碰撞。如果不勾选,则连接的刚体之间将不会发生碰撞。

33.Enable Preprocessing(启用预处理):当勾选此选项时,Unity 在计算连接关节约束之前会进行预处理,以提高性能。预处理可以在运行时缓存一些计算结果,加速约束计算。

34.Mass Scale(质量缩放):该属性用于缩放连接刚体的质量。可以将其用于调整关节的刚体质量的影响。

35.Connected Mass Scale(连接质量缩放):该属性用于缩放连接刚体的连接质量(Connected Body 的质量)。可以将其用于调整连接刚体质量对关节行为的影响。

七、Constant Force:用于对刚体施加持续的力和扭矩(添加Cloth组件时,会自动添加Rigidbody组件)

 

Force(力):该属性定义了以世界坐标系为基准的持续力的大小和方向。被应用于连接 Constant Force 组件的刚体。

Relative Force(相对力):该属性定义了以物体局部坐标系为基准的持续力的大小和方向。被应用于连接 Constant Force 组件的刚体。

Torque(扭矩):该属性定义了以世界坐标系为基准的持续扭矩的大小和方向。被应用于连接 Constant Force 组件的刚体。

Relative Torque(相对扭矩):该属性定义了以物体局部坐标系为基准的持续扭矩的大小和方向。被应用于连接 Constant Force 组件的刚体。

八、Fixed Joint用于模拟固定的关节约束,连接两个刚体(添加Cloth组件时,会自动添加Rigidbody组件)

 

Connected Body(连接刚体):该属性用于指定被连接的刚体。将此属性设置为需要连接的刚体即可将两个刚体通过 Fixed Joint 进行连接。

Connected Articulation Body(连接关节刚体):该属性用于指定被连接的关节刚体。如果在关节系统中使用固定关节,应将此属性设置为需要连接的关节刚体。

Break Force(破裂力):当关节受到的力超过该值时,连接关节将断开。这可以模拟关节的破裂效果。

Break Torque(破裂力矩):当关节受到的扭矩超过该值时,连接关节将断开。这可以模拟关节的破裂效果。

Enable Collision(启用碰撞):当勾选此选项时,连接的刚体之间会发生碰撞。如果不勾选,则连接的刚体之间将不会发生碰撞。

Enable Preprocessing(启用预处理):当勾选此选项时,Unity 在计算连接关节约束之前会进行预处理,以提高性能。预处理可以在运行时缓存一些计算结果,加速约束计算。

Mass Scale(质量缩放):该属性用于缩放连接刚体的质量。可以将其用于调整关节的刚体质量的影响。

Connected Mass Scale(连接质量缩放):该属性用于缩放连接刚体的连接质量(Connected Body 的质量)。可以将其用于调整连接刚体质量对关节行为的影响。

九、Hinge Joint:用于模拟铰链关节约束,连接两个刚体,允许围绕一个轴进行旋转(添加Cloth组件时,会自动添加Rigidbody组件)

 

Edit Angular Limits(编辑角度限制):该属性允许你编辑关节的旋转角度限制。你可以设置角度的最小值和最大值,限制关节旋转的范围。

Connected Body(连接刚体):该属性用于指定被连接的刚体。将此属性设置为需要连接的刚体即可将两个刚体通过 Hinge Joint 进行连接。

Connected Articulation Body(连接关节刚体):该属性用于指定被连接的关节刚体。如果在关节系统中使用铰链关节,应将此属性设置为需要连接的关节刚体。

Anchor(锚点):该属性定义了当前物体上的点,关节允许围绕这个点进行旋转。编辑器中显示为一个小球,你可以在场景视图中拖动该小球来调整锚点位置。

Axis(轴):该属性定义了围绕旋转的轴向。通常,你需要将轴与锚点的位置和朝向相匹配。

Auto Configure Connected Anchor(自动配置连接锚点):当勾选此选项时,将自动设置连接刚体上的连接锚点(Connected Anchor),以使轴与连接刚体的锚点一致。

Connected Anchor(连接锚点):该属性定义了连接刚体上的点,该点会与当前物体的锚点进行连接。你可以手动调整连接锚点的位置。

Use Spring(使用弹簧):当勾选此选项时,将启用弹簧效果,使关节具有弹簧的行为。

Spring(弹簧):该属性用于设置关节的弹簧参数,包括弹簧常数和阻尼。

Use Motor(使用马达):当勾选此选项时,将启用马达模式,使关节具有马达驱动的功能。

Motor(马达):该属性用于设置关节的马达参数,包括马达速度和马达扭矩。

Use Limits(使用限制):决定是否启用关节的旋转限制。当启用此属性时,可以使用下面的 Limits 属性来定义关节的旋转范围。

Limits(旋转限制):用于定义关节的旋转范围。可以设置最小角度和最大角度,以限制关节可以旋转的范围。例如,通过设置最小角度为-90度,最大角度为90度,可以限制关节只能在-90度到90度之间旋转。

剩下的属性可参考Fixed Joint组件

十、Mesh Collider:用于将网格形状应用于刚体,以便进行碰撞检测和响应

 

Convex:用于指定网格形状是否为凸体。凸体是指一个物体的任意两点之间的连线都完全位于该物体的边界之内。当将 Convex 属性设置为 true 时,Unity 会假设当前网格是凸体,并进行相关的优化处理,以提高碰撞检测的性能

Is Trigger(是否作为触发器):定义了碰撞器是否被当作触发器来使用。当 Is Trigger 属性为 true 时,碰撞器不会产生物理反应,而是会触发一些事件,比如 OnTriggerEnter() 和 OnTriggerExit()。当 Is Trigger 为 false 时,碰撞器将会产生物理反应。

Cooking Options(碰撞器计算选项):用于定义碰撞器的计算选项。选择正确的计算选项可以提高游戏性能,但也可能会增加内存消耗和加载时间。

Material(物理材质):定义了碰撞器的物理材质。物理材质可以影响碰撞的摩擦力、弹性等属性。在 Mesh Collider 组件中,可以指定一个预定义的 PhysicMaterial 来应用到碰撞器上。

Mesh 属性(模型网格):定义了用于创建碰撞器的模型网格。你可以将一个模型网格分配给 Mesh Collider 组件,它将会根据模型的形状和其他属性创建一个对应的碰撞器。

十一、Rigidbody:用于模拟物体的物理行为的组件

 

Mass(质量):物体的质量,影响其受力和加速度。质量较大的物体需要更大的力才能移动。

Drag(阻力):物体在运动时所受到的阻力。较大的阻力值会使物体减速得更快。可以模拟空气阻力等。

Angular Drag(角阻力):物体在旋转时所受到的阻力。与Drag类似,较大的角阻力值会使物体的旋转减速得更快。

Use Gravity(使用重力):确定物体是否受到重力的影响。如果启用了重力,物体会受到场景中的重力影响而下落。

Is Kinematic(是否为运动学):确定物体是否受到其他物理力的影响。如果将物体设置为运动学,它将不受其他物体的碰撞影响,而是由程序控制其位置和旋转。

Interpolate(插值):决定物体在运动过程中如何插值来平滑移动。有三个选项:None(无插值,会造成抖动)、Interpolate(插值,会平滑移动)和Extrapolate(外插值,根据速度继续让物体运动)。

Collision Detection(碰撞检测):设置物体之间的碰撞检测方式。有两个选项:Discrete(离散碰撞检测,适用于快速移动的物体)和Continuous(连续碰撞检测,适用于高速运动的物体)。

Constraints(约束):可以限制物体的运动。可以分别设置位置和旋转的约束,例如只允许物体在某个轴上移动或旋转。

十二、Sphere Collider

 

1.可以参考Capsule Collider组件

十三、Spring Joint:是一种用于模拟弹簧行为的物理组件(添加Spring Joint组件时,会自动添加Rigidbody组件)

 

1.Connected Body (连接刚体): 是指与当前刚体相连接的另一个刚体或关节。

2.Connected Articulation Body (连接关节体): 是指与当前关节体相连接的另一个关节体。

3.Anchor (锚点) :是指当前刚体或关节体上的点,它是弹簧的起始点。通常情况下,它应该位于当前刚体或关节体的表面上。

4.Auto Configure Connected Anchor (自动配置连接锚点) :用于指示是否自动配置连接锚点。如果设置为 true,则 Unity 将自动计算 Connected Body 或 Connected Articulation Body 上的连接锚点位置。如果设置为 false,则可以手动设置 Connected Anchor (连接锚点) 的坐标。

5.Connected Anchor (连接锚点) :是指连接刚体或连接关节体上的点,它是弹簧的终点。如果 Auto Configure Connected Anchor 设置为 true,则该属性将自动生成并显示在 Inspector 窗口中。否则,你可以手动设置该属性的坐标。

6.Spring (弹簧) :用于设置弹簧的刚度。它是控制弹簧的振动频率和振幅的重要参数。较大的值表示更强的弹性力。

7.Damper (阻尼) :用于控制弹簧的阻尼。它是控制弹簧振动的衰减速度的参数。较大的值表示更快的衰减。

8.Min Distance (最小距离) :用于指定弹簧的最小长度。当弹簧的长度小于最小距离时,它将受到最小长度的限制,无法继续收缩。

9.Max Distance (最大距离) :用于指定弹簧的最大长度。当弹簧的长度大于最大距离时,它将受到最大长度的限制,无法继续伸展。

10.Tolerance (容差) :用于指定弹簧的长度容差范围。当弹簧的长度在容差范围内时,弹簧将保持在其目标长度附近,并且不会施加额外的力或衰减。

11.剩下的属性可参考Fixed Joint组件

十四、Terrain Collider:用于地形碰撞检测的组件。除了地形网格本身的几何形状外,还可以在地形上放置树木,这些树木也可以被视为碰撞对象

 

1.Material(材质):用于定义碰撞体的物理特性,例如摩擦力和弹性。可以通过选择预定义的物理材质或自定义材质来设置。

2.Terrain Data(地形数据):指定当前Terrain Collider组件关联的地形数据。地形数据包含了地形网格的高度图和细节地图等信息。

3.Enable Tree Colliders(启用树木碰撞体):确定是否启用树木作为碰撞对象。如果启用了树木碰撞体,树木将被视为具有碰撞体的实体,可以与其他碰撞对象互相交互。

十五、Wheel Collider:用于创建车轮的物理模拟

1.Mass(质量):这是车轮的质量。较重的车轮会对整个车辆的动力学行为产生更大的影响。

2.Radius(半径):这是车轮的半径。它定义了车轮的大小,会影响到车辆的速度和旋转。

3.Wheel Damping Rate(车轮阻尼率):这是车轮的阻尼率。它控制了车轮在碰撞时的振动衰减速率。较高的阻尼率会减少车轮产生的振动。

4.Suspension Distance(悬挂距离):这是车轮与车身之间的距离。它决定了车轮能够保持接触的最大距离。较大的悬挂距离意味着更高的车身离地间隙。

5.Force App Point Distance(力施加点距离):这是施加到车轮上的作用力的点与车轮中心之间的距离。它可以用来调整对车轮施加力的位置。

6.Center(中心点):这是车轮的中心点。它被用作车轮的参考点,影响着车轮的转动和碰撞。

7.Suspension Spring(悬挂弹簧):这是用来模拟车轮悬挂系统的组件。

(1)Spring(弹簧):这是悬挂弹簧的刚度系数。较大的弹簧值会使车轮的悬挂更加紧凑,较小的弹簧值则会使悬挂更加松散。

(2)Damper(阻尼器):这是悬挂阻尼器的阻尼系数。它控制车轮的振动衰减速率。较大的阻尼值会减缓车轮的振幅。

(3)Target Position(目标位置):这是悬挂弹簧的目标位置。它定义了车轮悬挂的位置。调整目标位置可以改变车辆的悬挂高度。

8.Forward Friction(纵向摩擦力):用于控制车轮在纵向上的摩擦行为

(1)Extremum Slip (最大滑动率):这是车轮在正向(纵向)运动时的最大滑动比率。滑动比率是指车轮旋转与车速之间的比率。当滑动比率超过最大滑动率时,会应用最大滑动摩擦力。

(2)Extremum Value (最大滑动摩擦力值):这是车轮在最大滑动率下施加的最大摩擦力值。它控制着车轮在正向滑动时的最大摩擦力。

(3)Asymptote Slip (渐近滑动率):这是在车轮正向运动时,滑动比率逼近渐近值时的滑动比率。在渐近滑动率之后,滑动摩擦力逐渐减小。

(4)Asymptote Value (渐近滑动摩擦力值):这是车轮在滑动比率逼近渐近值时施加的滑动摩擦力值。它控制着车轮在正向滑动过程中的渐近摩擦力。

(5)Stiffness (刚度):这是车轮在正向滑动时的摩擦力刚度系数。较大的刚度值会导致更强的反作用力,使车轮更难以滑动。

9.Sideways Friction(横向摩擦力):用于控制车轮在横向上的摩擦行为

(1)Extremum Slip (最大滑动率):这是车轮在侧向(横向)运动时的最大滑动比率。当滑动比率超过最大滑动率时,会应用最大滑动摩擦力。

(2)Extremum Value (最大滑动摩擦力值):这是车轮在最大滑动率下施加的最大摩擦力值。它控制着车轮在横向滑动时的最大摩擦力。

(3)Asymptote Slip (渐近滑动率):这是在车轮侧向运动时,滑动比率逼近渐近值时的滑动比率。在渐近滑动率之后,滑动摩擦力逐渐减小。

(4)Asymptote Value (渐近滑动摩擦力值):这是车轮在滑动比率逼近渐近值时施加的滑动摩擦力值。它控制着车轮在横向滑动过程中的渐近摩擦力。

(5)Stiffness (刚度):这是车轮在横向滑动时的摩擦力刚度系数。较大的刚度值会导致更强的反作用力,使车轮更难以滑动。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/789071.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Unity实战篇 】| 游戏中实现镂空遮罩效果【矩形、圆形镂空遮罩】

前言【Unity实战篇 】 | 游戏中实现镂空遮罩效果【矩形、圆形镂空遮罩】一、制作原理二、矩形中间镂空遮罩效果2.1 实现镂空显示2.2 镂空区域内事件穿透三、圆形中间镂空遮罩效果总结前言 本文来写一下怎样在Unity中完成一个 镂空遮罩 的效果。镂空遮罩 比较常用的有两种:矩形…

力扣题库刷题笔记73--矩阵置零

1、题目如下: 2、个人Python代码实现 3、个人Python代码思路 a、声明2个空数组p、q,用于存放值为0的元素matrix[i][j]的下标 b、首先遍历二维数组matrix,找到值为0的元素matrix[i][j],将下标i加入数组p,将下标j加入数…

【【51单片机直流电机调速】】

学会电机调速&#xff0c;掌握中国速度 PWM的生成方法 先用户设定一个比较值&#xff0c;然后计数器定时自增。 当计数器<比较值&#xff0c;输出0 当计数器>比较值&#xff0c;输出1 main.c #include <REGX52.H> #include"delay.h" #include"…

vue 学习笔记 【ElementPlus】el-menu 折叠后图标不见了

项目当前版本 {"dependencies": {"element-plus/icons-vue": "^2.1.0","types/js-cookie": "^3.0.3","types/nprogress": "^0.2.0","axios": "^1.4.0","core-js": &quo…

PHP 药店管理系统mysql数据库web结构apache计算机软件工程网页wamp

一、源码特点 PHP 药品管理系统 是一套完善的web设计系统,系统采用smarty框架进行开发设计&#xff0c;对理解php编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。 PHP 药店管理系统mysql数据库web结构apache计 下载地址…

TSN -促进IT/OT 融合的网络技术

时间敏感网络&#xff08;tsn&#xff09;技术是IT/OT 融合的一项关键的基础网络技术&#xff0c;它实现了在一个异构网络中&#xff0c;实现OT的实时数据和IT系统的交互数据的带宽共享。 TSN允许将经典的高确定性现场总线系统和IT应用&#xff08;如大数据传输&#xff09;的功…

第1章 获取数据库中的数据

CoreShop源程序是以数据库优先进行定义的&#xff0c;所以其本身不包含代码优先的定义&#xff0c;但本从更习惯于代码优先&#xff0c;所以为其定义了代码优先的定义。 1 CoreCms.Net.Model.Entities.SysRole using SqlSugar; using System.ComponentModel.DataAnnotations…

力扣 56. 合并区间

题目来源&#xff1a;https://leetcode.cn/problems/merge-intervals/description/ C题解&#xff1a;根据左区间排序&#xff0c;更新每一段的右区间最大值&#xff0c;直到间断。 class Solution { public:static bool cmp(vector<int> & a, vector<int> &a…

小学期笔记——天天酷跑5

效果&#xff1a; -------------------------- 效果&#xff1a; ------------------ 让人物跑起来 效果&#xff1a;&#xff08;此时的人物是运动的&#xff09; ---------------------- 通过键盘控制角色 效果&#xff1a; 人物可以上左右动&#xff0c;自由落体

K8S初级入门系列之二-集群搭建

一、前言 为了更好学习K8S&#xff0c;建议自行搭建一套K8S的环境&#xff0c;目前比较流行的有两种搭建工具&#xff0c;一种是单机版的minkube&#xff0c;一种是集群版的kubeadm。minkube更多是用于实验环境&#xff0c;且单机版隐藏了很多细节&#xff0c;而kubeadm更贴近实…

Vue 3.3 + Vite 4.3 + TypeScript 5+ Element-Plus:从零到一构建企业级后台管理系统(前后端开源)

vue3-element-admin 是基于 vue-element-admin 升级的 Vue3 Element Plus 版本的后台管理前端解决方案&#xff0c;技术栈为 Vue3 Vite4 TypeScript Element Plus Pinia Vue Router 等当前主流框架。 相较于其他管理前端框架&#xff0c;vue3-element-admin 的优势在于一…

红队打靶:Nullbyte打靶思路详解(vulnhub)

目录 写在开头 第一步&#xff1a;主机发现与端口扫描 第二步&#xff1a;Web渗透 第三步&#xff1a;hydra密码爆破 第四步&#xff1a;SQL注入大赏 方法一&#xff1a;手工SQL注入之联合查询 方法二&#xff1a;SQL注入写入一句话木马 方法三&#xff1a;SQL注入写入…

快速了解新一轮Moonbeam Grants申请提案

随着Moonbeam Grant第二期计划的发布&#xff0c;超过12个项目同时提交了生态Grant申请的提案。任何大于25万枚GLMR Grant的申请都将会要求项目在Moonbeam社区治理论坛上发布Grant提案&#xff0c;内容包含项目概览、申请金额、Grant使用方案以及背后的原因等等。 Grant的发放…

【VUE】vue-i18n: Uncaught SyntaxError: Not available in legacy mode

环境 vue ^3.3.4vue-i18n ^9.2.2vite ^4.4.7 问题 在vite脚手架项目当中&#xff0c;使用vue-i18n插件进行国际化多语言时&#xff0c; 报错&#xff1a;Uncaught SyntaxError: Not available in legacy mode 对于这个报错信息&#xff0c;网上大部分的处理方案是&#xff1a…

五,Eureka 第五章

5.3.2 修改pom添加依赖 <dependencies><!--公共部门--><dependency><groupId>cn.bdqn</groupId><artifactId>springcloud-api-commons</artifactId><version>${project.version}</version></dependency><!--e…

js中的数据结构之栈

js中的数据结构之栈 一、定义 栈是一种限定仅在表尾进行插入和删除操作的线性表&#xff0c;遵循后入先出的原则。 二、描述 栈是和列表类似的一种数据结构&#xff0c;也可以说栈就是一种特殊的列表。 栈里面的元素只能通过列表的一端访问&#xff0c;这一端称为栈顶。相…

Electron 学习_BrowserWindow

BrowserWindow创建并控制浏览器窗口(主进程) 条件&#xff1a;在 app 模块 emitted ready 事件之前&#xff0c;您不能使用此模块。 1.在加载页面时&#xff0c;渲染进程第一次完成绘制时&#xff0c;如果窗口还没有被显示&#xff0c;渲染进程会发出 ready-to-show 事件 。 在…

UML/SysML建模工具更新(2023.7)(1-5)有国产工具

DDD领域驱动设计批评文集 欢迎加入“软件方法建模师”群 《软件方法》各章合集 最近一段时间更新的工具有&#xff1a; 工具最新版本&#xff1a;Visual Paradigm 17.1 更新时间&#xff1a;2023年7月11日 工具简介 很用心的建模工具。支持编写用例规约。支持文本分析和C…

微服务入门---SpringCloud(二)

微服务入门---SpringCloud&#xff08;二&#xff09; 1.Nacos配置管理1.1.统一配置管理1.1.1.在nacos中添加配置文件1.1.2.从微服务拉取配置 1.2.配置热更新1.2.1.方式一1.2.2.方式二 1.3.配置共享1&#xff09;添加一个环境共享配置2&#xff09;在user-service中读取共享配置…

k8s deployment(k8s经典版)|PetaExpress

Deployment是什么&#xff1f; Deployment是指在软件开发中将应用程序或系统部署到目标环境中的过程。它包括将代码编译、配置、打包并安装到目标服务器或设备上的步骤。k8s deployment是&#xff08;k8s经典版&#xff09;中用来管理发布的控制器&#xff0c;在开发的过程中使…