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

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

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 (刚度):这是车轮在横向滑动时的摩擦力刚度系数。较大的刚度值会导致更强的反作用力,使车轮更难以滑动。

相关文章:

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

Physics:用于处理物理仿真和碰撞检测。它提供了一组功能强大的工具和算法,用于模拟真实世界中的物理行为,使游戏或应用程序更加真实和可信。 主要用途包括: 碰撞检测:Unity Physics 提供了高效的碰撞检测算法&#x…...

“数字中华 点亮未来”中华线上客户节 盛大开幕

2023年是中华保险数字化转型落地之年,峥嵘37载,中华保险在数字化转型上已经涌现了一批彰显辨识度、具有影响力的应用成果。7月15日,中华保险围绕数字化转型之路开展以“数字中华 点亮未来”为主题的37周年线上客户节活动,倾力打造…...

中文分词入门:使用IK分词器进行文本分词(附Java代码示例)

1. 介绍 中文分词是将连续的中文文本切分成一个个独立的词语的过程,是中文文本处理的基础。IK分词器是一个高效准确的中文分词工具,采用了"正向最大匹配"算法,并提供了丰富的功能和可定制选项。 2. IK分词器的特点 细粒度和颗粒…...

CTFSHOW web 信息收集

web入门的刷题 web1 教我们多看看源代码 web2 抓包 web3 抓包 web4 robots.txt robots.txt web5 phps源代码泄露 phps 就是php的源代码 用户无法访问 php 只可以通过phps来访问 web6 源代码备份 web7 git web8 svn web9 swp /index.php.swp web10 cookie web11 查域名…...

速锐得开发社区-新一代汽车网络通信技术CAN FD的特点归纳

随着汽车工业的快速发展,汽车逐渐走向智能化,功能也越来越丰富,例如特斯拉、比亚迪、理想汽车为代表,在车载导航、驻车雷达、胎压监测、倒车影像、无钥匙启动、定速巡航、自动泊车、高级辅助驾驶系统、自动驾驶、域控制器、智能网…...

Android adb shell 查看App内存(java堆内存/vss虚拟内存/详细的内存状况/内存快照hprof)和系统可用内存

1.adb shell 获取app 进程的pid adb shell "ps|grep com.xxx包名"根据某个渠道包,去查询对应的pid,如下所示: 2.通过adb shell 查看设备的java dalvik 堆内存的最大值 执行命令行: adb shell getprop dalvik.vm.h…...

java篇 类的进阶0x0A:万类之祖:Object 类

文章目录 万类之祖:Object 类hashCode() 与 equals()hashCode() 方法equals() 方法 vs. equals()String 的 equals() 为什么要重写 hashCode 和 equals 方法重写(覆盖)前 hashCode() 和 equals() 的作用什么情况下需要重写(覆盖&a…...

AVFoundation - 音频录制

文章目录 需要调用到麦克风方法,别忘记添加 Privacy - Microphone Usage Description @interface AudioRecorder ()<AVAudioRecorderDelegate>@property (strong, nonatomic) AVAudioRecorder *recorder;@end@implementation AudioRecorder- (void...

Jmeter+MySQL链接+JDBC Connection配置元件+使用

参考大大的博客学习&#xff1a;怎么用JMeter操作MySQL数据库&#xff1f;看完秒懂&#xff01;_jmeter mysql_程序员馨馨的博客-CSDN博客 注&#xff1a;里面所有没打码的都是假数据&#xff0c;麻烦大家自行修改正确的信息。 一、背景 需要取数据库中的值&#xff0c;作为…...

统一观测丨使用 Prometheus 监控 Cassandra 数据库最佳实践

作者&#xff1a;元格 本篇内容主要包括四部分&#xff1a;Cassandra 概览介绍、常见关键指标解读、常见告警规则解读、如何通过 Prometheus 建立相应监控体系。 Cassandra 简介 Cassandra 是什么&#xff1f; Apache Cassandra 是一个开源、分布式、去中心化、弹性可伸缩、…...

Hive视图

hive的视图 简介 hive的视图简单理解为逻辑上的表hive只支持逻辑视图&#xff0c;不支持物化视图视图存在的意义 对数据进行局部暴露&#xff08;涉及隐私的数据不暴露&#xff09;简化复杂查询 创建视图&#xff1a; create view if not exists v_1 as select uid,movie f…...

node中使用jsonwebtoken实现身份认证

在现代web应用中&#xff0c;用户身份认证是非常重要且必不可少的一环。而使用Node.js和Express框架&#xff0c;可以方便地实现用户身份认证。而在这个过程中&#xff0c;jsonwebtoken这个基于JWT协议的模块可以帮助我们实现安全且可靠的身份认证机制&#xff0c;可以让我们轻…...

pyspark笔记:读取 处理csv文件

pyspark cmd上的命令 1 读取文件 1.1 基本读取方式 注意读取出来的格式是Pyspark DataFrame&#xff0c;不是DataFrame&#xff0c;所以一些操作上是有区别的 1.1.1 format DataFrame spark.read.format("csv").option(name,value).load(path) format表示读取…...

多租户分缓存处理

多租户redis缓存分租户处理 那么数据库方面已经做到了拦截&#xff0c;但是缓存还是没有分租户&#xff0c;还是通通一个文件夹里&#xff0c; 想实现上图效果&#xff0c;global文件夹里存的是公共缓存。 首先&#xff0c;那么就要规定一个俗称&#xff0c;缓存名字带有globa…...

RN输入框默认设置数字键盘

<TextInput keyboardType"numeric"/> keyboardType 决定弹出何种软键盘类型&#xff0c;譬如numeric&#xff08;纯数字键盘&#xff09;。 See screenshots of all the types here. 这些值在所有平台都可用&#xff1a; defaultnumber-paddecimal-padnume…...

计算机网络——应用层

文章目录 **1 网络应用模型****2 域名系统DNS****3 文件传输协议FTP****4 电子邮件****4.1 电子邮件系统的组成结构****4.2 电子邮件格式与MIME****4.3 SMTP和POP3** **5 万维网WWW****5.1 HTTP** 1 网络应用模型 客户/服务器模型 C/S 服务器服务于许多来自其他称为客户机的主…...

【C++】写一个函数实现系统时间与输入时间进行比较

目录 1 代码 2 运行结果 时间比较函数: 输入为字符串2023-7-28,将字符串分解为年、月、日信息。 获取系统时间2023-7-24,然后将输入时间和系统时间进行比较,输出比较结果。 1 代码 #include <ctime> #include<iostream> #include<vector> using names…...

uniapp 微信小程序 navigationBarBackgroundColor 标题栏颜色渐变

大体思路&#xff1a; 第一步&#xff1a;“navigationStyle”:“custom” 第二步&#xff1a; template内 重点&#xff1a;给view添加ref“top” 第三步&#xff1a;添加渐变色样式 1、pages.json {"path" : "pages/user/user","style" : …...

ffplay播放器剖析(7)----音视频暂停模块分析

文章目录 1. 暂停触发流程2. toggle_pause3. stream_toggle_pause 1. 暂停触发流程 1.通过SDL触发事件调用toggle_pause 2.toggle_pause调用stream_toggle_pause 3.stream_toggle_pause修改暂停变量 2. toggle_pause static void toggle_pause(VideoState *is) {stream_to…...

ceph-mon运行原理分析

一、流程&#xff1a;ceph-deploy部署ceph-mon组建集群 1.ceph-deploy部署ceph-mon的工作流程及首次启动 1&#xff09;通过命令创建ceph-mon&#xff0c;命令为&#xff1a;ceph-deploy create mon keyring def mon(args):if args.subcommand create:mon_create(args)elif…...

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…...

ES6从入门到精通:前言

ES6简介 ES6&#xff08;ECMAScript 2015&#xff09;是JavaScript语言的重大更新&#xff0c;引入了许多新特性&#xff0c;包括语法糖、新数据类型、模块化支持等&#xff0c;显著提升了开发效率和代码可维护性。 核心知识点概览 变量声明 let 和 const 取代 var&#xf…...

《Playwright:微软的自动化测试工具详解》

Playwright 简介:声明内容来自网络&#xff0c;将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具&#xff0c;支持 Chrome、Firefox、Safari 等主流浏览器&#xff0c;提供多语言 API&#xff08;Python、JavaScript、Java、.NET&#xff09;。它的特点包括&a…...

2021-03-15 iview一些问题

1.iview 在使用tree组件时&#xff0c;发现没有set类的方法&#xff0c;只有get&#xff0c;那么要改变tree值&#xff0c;只能遍历treeData&#xff0c;递归修改treeData的checked&#xff0c;发现无法更改&#xff0c;原因在于check模式下&#xff0c;子元素的勾选状态跟父节…...

python执行测试用例,allure报乱码且未成功生成报告

allure执行测试用例时显示乱码&#xff1a;‘allure’ &#xfffd;&#xfffd;&#xfffd;&#xfffd;&#xfffd;ڲ&#xfffd;&#xfffd;&#xfffd;&#xfffd;ⲿ&#xfffd;&#xfffd;&#xfffd;Ҳ&#xfffd;&#xfffd;&#xfffd;ǿ&#xfffd;&am…...

Angular微前端架构:Module Federation + ngx-build-plus (Webpack)

以下是一个完整的 Angular 微前端示例&#xff0c;其中使用的是 Module Federation 和 npx-build-plus 实现了主应用&#xff08;Shell&#xff09;与子应用&#xff08;Remote&#xff09;的集成。 &#x1f6e0;️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...

华为OD机考-机房布局

import java.util.*;public class DemoTest5 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseSystem.out.println(solve(in.nextLine()));}}priv…...

C++课设:简易日历程序(支持传统节假日 + 二十四节气 + 个人纪念日管理)

名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 专栏介绍:《编程项目实战》 目录 一、为什么要开发一个日历程序?1. 深入理解时间算法2. 练习面向对象设计3. 学习数据结构应用二、核心算法深度解析…...

Razor编程中@Html的方法使用大全

文章目录 1. 基础HTML辅助方法1.1 Html.ActionLink()1.2 Html.RouteLink()1.3 Html.Display() / Html.DisplayFor()1.4 Html.Editor() / Html.EditorFor()1.5 Html.Label() / Html.LabelFor()1.6 Html.TextBox() / Html.TextBoxFor() 2. 表单相关辅助方法2.1 Html.BeginForm() …...

代码规范和架构【立芯理论一】(2025.06.08)

1、代码规范的目标 代码简洁精炼、美观&#xff0c;可持续性好高效率高复用&#xff0c;可移植性好高内聚&#xff0c;低耦合没有冗余规范性&#xff0c;代码有规可循&#xff0c;可以看出自己当时的思考过程特殊排版&#xff0c;特殊语法&#xff0c;特殊指令&#xff0c;必须…...