跳转到内容

关节

该组件的属性较为晦涩难懂,在本节末尾将给出几个示例帮助理解。

注意

关节组件中用到的元件不能是链接类型的元件,且所有元件都必须拥有 物理物体 组件。

连接自身

  • 类型:bool
  • 默认值:true

注意

连接自身 设置为 true 时,请确保自身所在元件拥有 物理物体 组件。

物理物体 A连接自身 = false

  • 类型:Item
  • 默认值:空

关节连接的其中一个物理物体。

物理物体 B

  • 类型:Item
  • 默认值:空

关节连接的另一个物理物体。

提示

物理物体 B 可以为空。为空时,关节仅对一个物理物体施加关节限制。

启用碰撞

  • 类型:bool
  • 默认值:false

是否仍然启用物理物体中的碰撞箱效果。若无特殊情况,请保持该值为 false 以保证移动、旋转通畅。

自动设置连接

  • 类型:bool
  • 默认值:true

关节连接点

用于设置两个物理物体之间的连接点。在场景中将会显示不同颜色球体的可视化位置。

相对位置

  • 类型:Float3
  • 默认值:(0, 0, 0)

相对轴向

  • 类型:Float3
  • 默认值:(1, 0, 0)

相对垂直轴向

  • 类型:Float3
  • 默认值:(0, 1, 0)

关节约束

用于设置两个物理物体之间的约束。可添加多个约束。

约束类型

  • 类型:线性 | 角
  • 默认值:线性

约束轴

  • 类型:Bool3
  • 默认值:(false, false, false)

范围

  • 类型:Float2
  • 默认值:(0, 0)

启用弹簧

  • 类型:bool
  • 默认值:false

启用弹簧后,允许物理物体的活动范围超出约束范围,且会在物理物体超出约束范围时施加弹簧力,超出范围越大弹簧力越大。未超出范围时无弹簧效果。

弹簧弹性

  • 类型:float
  • 默认值:0.0

弹簧阻尼

  • 类型:float
  • 默认值:0.0

示例

落石

提示

该例用于演示使用关节的完整流程,并利用 路面生成器 生成网格,不需要导入外部文件,适合起步练习。

制图请使用现成元件:素材 → 元件 → 机关 → 落石

  1. 创建落石
    • 创建 → 路面生成器
    • 设置 生成器类型拐角
  2. 设置物理物体属性
    • 设置 碰撞箱类型长方体,不改动碰撞箱相关参数
    • 设置 物理体类型刚体
    • 根据需要调整刚体相关参数
    • 将物体摆放在合适的位置
  3. 添加并设置关节
    • 启用 关节 组件
    • 设置 2 个约束
      • 线性约束,锁定 x z 两轴,确保物体只能沿 y 轴移动
      • 角约束,锁定 x y z 三轴,确保物体无法旋转
      • 此时关节表现为平动关节(类似套筒,活塞等)
    • 不改动其它参数
  4. 在游戏中测试,此时落石应当可以正常工作

推板

提示

该例用于演示需要建模后导入网格的情形。

制图请使用现成元件:素材 → 元件 → 机关 → 推板

  1. 建模
    • 使用建模软件创建一个长方体
      • 此处假设推板绕 x 轴旋转
      • 参考尺寸:x = 1m y = 2m z = 0.1m
    • 设定轴心位于底面中心
    • 可在建模软件中使用旋转工具,绕 x 轴旋转测试是否符合预期
    • 此处不考虑 UV 和材质匹配问题
  2. 添加并设置物体
    • 导入上一步创建的网格
    • 木板材质位于 素材 → 材质 → Utility → Wood
    • 请自行完成其它步骤
  3. 添加并设置关节
    • 添加 2 个约束
      • 线性约束,锁定 x y z 三轴,确保物体无法移动
      • 角约束,锁定 y z 两轴,确保物体只能沿 x 轴旋转
      • 此时关节表现为平面转动关节(类似套环、铰链等)
    • 请自行完成其它步骤
  4. 在游戏中测试
    • 此时推板应当可以自由旋转
    • 需要添加限位物体,并略微旋转使推板倾斜,使得推板位于正确的初始位置,并可正常工作

浮板

提示

该例新增了线性弹簧的使用。请利用这个例子练习各个操作!

制图请使用现成元件:素材 → 元件 → 机关 → 浮板

  1. 请自行建模导入网格和材质,也可使用现成的素材
    • 保存 素材 → 元件 → 机关 → 浮板 的网格
    • 设置 3 个材质
      • 素材 → 材质 → Machinery → Machinery_Wood
      • 素材 → 材质 → Machinery → Machinery_Target_Green
      • 素材 → 材质 → Machinery → Machinery_Steel
  2. 需要在 y 轴使用线性弹簧
    • 添加线性约束,限制 y
    • 勾选 使用线性弹簧
    • 根据需要设置弹簧参数
      • 参考:弹簧频率 = 0.5 弹簧阻尼 = 0.25
  3. 请自行完成其它步骤
  4. 在游戏中测试

基于 MIT 许可发布