Unity(2022.3.38LTS) - 2D关节

目录

一. 简介

二. 详细使用

1. 2D 距离关节 (Distance Joint 2D)

2.2D 固定关节 (Fixed Joint 2D)

3.2D 铰链关节 (Hinge Joint 2D)

4.2D 相对关节 (Relative Joint 2D)

5.2D 弹簧关节 (Spring Joint 2D)

6.2D 车轮关节 (Wheel Joint 2D)

7.2D 恒定力 (Constant Force 2D)

三. 2D效应器

1.2D 区域效应器 (Area Effector 2D)

2.2D 浮力效应器 (Buoyancy Effector 2D)

3.2D 表面效应器 (Surface Effector 2D)



一. 简介

在 Unity 中,2D 关节(2D Joints)为开发者提供了一种模拟二维物理连接的方式,可用于创建更真实的物理效果和有趣的游戏机制。以下是对 Unity 2D 关节的简介:

A、主要类型

  1. 固定关节(Fixed Joint 2D)

    • 作用:将两个游戏对象固定在一起,使它们在物理模拟中表现为一个整体。
    • 特点:可以限制两个物体之间的相对运动,保持它们在特定位置或方向上的连接。例如,用于连接两个静态的平台,使其在受到外力时不会分离。
  2. 可移动关节(Distance Joint 2D)

    • 作用:在两个游戏对象之间创建一个可伸缩的连接,类似于弹簧或绳子。
    • 特点:可以设置连接的初始距离、最大和最小长度等参数。当两个物体之间的距离发生变化时,关节会产生相应的力来试图恢复到初始距离。例如,可用于制作秋千或弹性连接的物体。
  3. 旋转关节(Hinge Joint 2D)

    • 作用:模拟门轴或铰链的效果,允许一个物体围绕另一个物体旋转。
    • 特点:可以设置旋转的轴心点、旋转的限制角度等参数。例如,用于制作门、风车等可旋转的物体。
  4. 滑块关节(Slider Joint 2D)

    • 作用:限制两个物体之间的相对运动为线性滑动,类似于抽屉的滑轨。
    • 特点:可以设置滑动的方向、最大和最小滑动距离等参数。例如,用于制作可滑动的平台或抽屉。

B、使用方法

  1. 添加关节组件

    • 在 Unity 编辑器中,选择需要添加关节的游戏对象,然后通过 “Add Component” 菜单添加相应的 2D 关节组件。例如,要添加一个可移动关节,可以选择 “Distance Joint 2D” 组件。
  2. 配置关节参数

    • 根据不同的关节类型,设置相应的参数。例如,对于可移动关节,可以设置连接的两个物体、初始距离、弹性系数等参数。这些参数可以在 Inspector 面板中进行调整。
  3. 连接游戏对象

    • 将关节连接到相应的游戏对象上。通常,一个关节会连接两个游戏对象,一个作为主体,另一个作为连接的目标。在 Inspector 面板中,可以通过拖拽的方式将游戏对象分配给关节的相应属性。

C、应用场景

  1. 物理模拟

    • 用于创建更真实的物理效果,如模拟物体之间的连接、弹性、旋转等。例如,在一个赛车游戏中,可以使用关节来连接车轮和车身,使车轮能够真实地旋转和悬挂。
  2. 游戏机制

    • 创造有趣的游戏机制,如可破坏的连接、可拉伸的物体等。例如,在一个解谜游戏中,可以使用可移动关节来制作可拉动的机关,玩家需要通过调整关节的长度来触发特定的事件。
  3. 动画效果

    • 结合动画系统,实现更复杂的动画效果。例如,使用旋转关节来制作角色的关节动画,使角色的动作更加自然和流畅。

二. 详细使用

1. 2D 距离关节 (Distance Joint 2D)

属性:功能:
 启用碰撞选中此框可允许两个连接的游戏对象之间发生碰撞。
 连接刚体使用此字段来指定该 2D 距离关节连接到的另一个游戏对象。如果将此字段保留为 None (Rigidbody 2D),2D 距离关节的另一端将固定到空间中由 Connected Anchor 设置所定义的点。选择字段右侧的圆圈可查看要连接到的游戏对象的列表。
Auto Configure Connected Anchor选中此框可为该 2D 距离关节连接到的另一个游戏对象自动设置锚点位置。如果启用此选项,则无需填写 Connected Anchor 字段。
Anchor定义 2D 距离关节的端点连接到此游戏对象的位置(以 2D 刚体__上的 x、y 坐标表示)。 | |Connected Anchor__
 距离指定 2D 距离关节在两个游戏对象之间保持的距离。
 仅最大距离如果启用此选项,则 2D 距离关节仅强制执行最大距离,因此连接的游戏对象仍然可以彼此靠近,但不能超出 Distance 字段定义的距离。如果未启用,则游戏对象之间的距离为固定距离。
Break Force指定破坏并进而删除 2D 距离关节所需的作用力水平。Infinity 表示关节牢不可破。

效果演示

修改方块的类型为这个

然后效果为

2.2D 固定关节 (Fixed Joint 2D)

 启用碰撞选中此框可允许两个连接的游戏对象相互碰撞。
 连接刚体指定此 2D 固定关节连接到的另一个游戏对象。将此属性保留为 None 可将 2D 固定关节的另一端固定到空间中由 Connected Anchor 设置所定义的点。选择字段右侧的圆圈可查看要连接到的游戏对象的列表。
Auto Configure Connected Anchor选中此框可为该 2D 固定关节连接到的另一个游戏对象自动设置锚点位置。如果选中此框,则无需填写 Connected Anchor 字段。
Anchor关节端点连接到对象的位置(以 2D 刚体__上的 x、y 坐标表示)。 | |Connected Anchor__
频率游戏对象接近所需的间隔距离时弹簧振荡的频率(以每秒周期数表示)。频率值介于 1 到 1,000,000 范围内,值越高,弹簧越硬。请注意,如果频率设置为 0,则弹簧完全僵硬。
Break Force指定破坏并进而删除关节所需的作用力水平。Infinity 表示关节牢不可破。
Break Torque指定破坏并进而删除关节所需的扭矩水平。Infinity 表示关节牢不可破

3.2D 铰链关节 (Hinge Joint 2D)

属性:功能:
 启用碰撞选中此框可允许两个连接的游戏对象之间发生碰撞。
 连接刚体指定此 2D 铰链关节连接到的另一个游戏对象。如果将此属性保留为 None__,2D 铰链关节的另一端将固定到空间中由 Connected Anchor__ 设置所定义的点。选择字段右侧的圆圈可查看要连接到的游戏对象的列表。
Auto Configure Connected Anchor选中此框可为该 2D 铰链关节连接到的另一个游戏对象自动设置锚点位置。如果选中此框,则无需填写 Connected Anchor 字段。
Anchor定义 2D 摩擦关节的端点连接到此游戏对象的位置(以 2D 刚体__上的 x、y 坐标表示)。 | |Connected Anchor__
Motor Speed设置目标电机速度(度/秒)。
Maximum Motor Force设置在尝试达到目标速度时电机可以施加的最大扭矩(或旋转)。
Use Limits选中此框可限制旋转角度
Angle Limits如果已启用 Use Limits__,则可使用这些设置来设定限制。 | |Lower Angle__
Upper Angle设置此限制允许的旋转弧的上限。
Break Force指定破坏并进而删除关节所需的线性(或直线)力水平。Infinity 表示关节牢不可破。
Break Torque指定破坏并进而删除关节所需的角度(或旋转)水平。Infinity 表示关节牢不可破。

效果

4.2D 相对关节 (Relative Joint 2D)

5.2D 弹簧关节 (Spring Joint 2D)

6.2D 车轮关节 (Wheel Joint 2D)

7.2D 恒定力 (Constant Force 2D)

组件可用于快速向 2D 刚体__添加恒定力。如果希望火箭等一次性发射的物体随着时间推移而加速,而不是以很快的速度开始,则很适合使用此组件。

三. 2D效应器

2D 效应器(2D Effector)是用于控制二维物理模拟中物体之间相互作用的组件。

配合触发器使用

勾选上这两个选项.

1.2D 区域效应器 (Area Effector 2D)

属性:功能:
 使用碰撞体蒙版选中此选项可启用 Collider Mask 属性。如果未启用此选项,则所有 2D 碰撞体都将默认采用全局碰撞矩阵 (Global Collision Matrix)。
Collider Mask此遮罩用于选择允许与 2D 区域效应器进行交互的特定层。
Use Global Angle选中此选项可将 Force Angle 定义为全局(世界空间)角度。如果未选中,物理引擎会将 Force Angle 视为局部角度。
Force Angle要施加的力的角度。
 力的大小要施加的力的大小。
Force Variation要施加的力的大小变化。
Drag应用于 2D 刚体的线性阻力。
Angular Drag应用于 2D 刚体的角阻力。
 力目标2D 区域效应器在目标游戏对象上施力的作用点。
        Collider目标点定义为 2D 碰撞体的当前位置。如果 2D 碰撞体没有位于质心处,则在此处施力会产生扭矩(旋转)。
        Rigidbody目标点定义为 2D 刚体的当前质心。在此处施力绝对不会产生扭矩(旋转)。

2.2D 浮力效应器 (Buoyancy Effector 2D)

属性:功能:
 使用碰撞体蒙版选中此框可启用“Collider Mask”属性。如果未启用此选项,则所有 2D 碰撞体都将默认采用全局碰撞矩阵 (Global Collision Matrix)。
Collider Mask此遮罩用于选择允许与效应器进行交互的特定层。请注意,仅在已选择 Use Collider Mask 的情况下,才显示此选项。
Surface Level定义浮力流体的表面位置。游戏对象高于此线时,不会对其施加浮力。游戏对象与此线相交或完全在此线下方时,将对其施加浮力。此位置指定为沿世界 y 轴的世界空间偏移,但也由游戏对象的__变换__组件缩放。
Density流体的密度。密度较大的碰撞体会下沉,密度较小的碰撞体会上浮,密度与流体相同的碰撞体会悬浮在流体中。
Linear Drag影响游戏对象位置移动的阻力系数。该系数仅适用于流体内部。
Angular Drag影响游戏对象旋转移动的阻力系数。该系数仅适用于流体内部。
Flow Angle流体流动方向的世界空间角度(以度为单位)。流体流动将沿指定方向施加浮力。
Flow Magnitude流体流动力的“力量”。此项与 Fluid Angle 结合,共同指定施加于流体内游戏对象的浮力水平。此大小也可以为负值,在此情况下,以相对于 Flow Angle 的 180 度方向施加浮力。
Flow Variation在此处输入一个随机改变流体力的值。可指定正负变化来表示 Fluid Magnitude 的随机加减值。

3.2D 表面效应器 (Surface Effector 2D)

  • 8
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Unity 2022.3引入了一些新的导航功能,以帮助开发者更方便地为游戏添加导航系统。新版本中的导航系统改进了性能和功能,使其更加强大和灵活。 首先,Unity 2022.3引入了实时路径搜索功能。该功能可以根据场景中的物体位置和碰撞体等信息,在实时场景中进行路径搜索。这意味着开发者可以在游戏运行时动态计算角色或其他游戏实体的路径。这一功能对于实时策略游戏或动态变化的游戏环境非常有用。 其次,新版本的导航系统还改进了自动化的对话框生成功能。开发者可以通过简单的设置,自动生成适应场景的对话框来实现导航指示。这个功能可以大大减轻开发者的负担,并提高游戏中导航的质量。 此外,Unity 2022.3还提供了更多的导航算法选项。不同的游戏场景可能需要不同的导航算法来平衡效率和精度。新版本中的导航系统提供了多种算法选项,让开发者能够根据具体需求选择合适的算法。 最后,Unity 2022.3导航系统的改进还包括了对2D游戏的支持。早期的导航系统主要面向3D游戏,但新版本中加入了对2D游戏的导航支持。这使得开发者能够更方便地为2D游戏创建导航系统,为玩家提供更好的游戏体验。 总的来说,Unity 2022.3版本的导航系统带来了更多强大和灵活的功能,包括实时路径搜索、自动对话框生成、多种导航算法选项以及对2D游戏的支持。这些新功能使得开发者在为游戏添加导航系统时更加便捷,为玩家提供更好的游戏体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一然明月

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值