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

【Cocos】2D关节组件

物理系统包含了一系列用于链接两个刚体的关节组件。关节组件可以用来模拟真实世界物体间的交互,比如铰链,活塞、绳子、轮子、滑轮、机动车、链条等

关节组件

注意

  1. 关节组件在 Builtin 2D 物理模块中是无效的。

  2. 关节组件都需要搭配 刚体 才可以正确运行。如下图所示:

添加关节

在 属性检查器 上点击 添加组件 按钮并输入 2D 关节的组件名。

关节的共用属性

每个关节都需要链接两个刚体才能够发挥它的功能,我们把和关节挂在同一节点下的刚体视为关节的本端,把 ConnectedBody 视为另一端的刚体。

CollideConnected 属性用于确定关节两端的刚体是否需要继续遵循常规的碰撞规则。

如果你现在准备制作一个布娃娃,你可能会希望大腿和小腿能够部分重合,然后在膝盖处链接到一起,那么就需要设置 CollideConnected 属性为 false。如果你准备做一个升降机,希望升降机平台和地板能够碰撞,那么就需要设置 CollideConnected 属性为 true。

距离关节

在 属性检查器 上点击 添加组件 并输入 DistanceJoint2D 则可以添加距离关节。

会将关节两端的刚体约束在一个最大范围内。超出该范围时,刚体的运动会互相影响。

https://docs.cocos.com/creator/3.7/manual/assets/distance-joint.D2APznCI.gifhttps://docs.cocos.com/creator/3.7/manual/assets/distance-joint.D2APznCI.gif低于该范围则不会互相影响。

https://docs.cocos.com/creator/3.7/manual/assets/distance-joint-dis.DZVBcvfF.gif

属性

属性说明
MaxLength最大距离
AutoCalcDistance是否自动计算关节连接的两个刚体间的距离

固定关节

在 属性检查器 上点击 添加组件 并输入 FixedJoint2D 则可以添加固定关节。根据两个物体的初始角度将两个物体上的两个点固定在一起。

https://docs.cocos.com/creator/3.7/manual/assets/fixed-joint.B3aBEYUc.gif

属性

属性说明
Frequency弹性系数
DampingRatio阻尼,表示关节变形后,恢复到初始状态受到的阻力

铰链关节

在 属性检查器 上点击 添加组件 并输入 HingeJoint2D 则可以添加铰链关节。可以看做一个铰链或者钉,刚体会围绕一个共同点来旋转。

https://docs.cocos.com/creator/3.7/manual/assets/hinge-joint.BH9hIqhx.gif

属性

属性说明
EnableLimit是否开启关节的限制
LowerAngle角度的最低限制
UpperAngle角度的最高限制
EnableMotor是否开启关节马达
MaxMotorTorque可以施加到刚体的最大扭矩
MotorSpeed期望的马达速度

启用马达速度后,关节连接的刚体会尝试逐渐加速到期望速度。

https://docs.cocos.com/creator/3.7/manual/assets/hinge-joint-motor.CopVufTq.gif

相对关节

在 属性检查器 上点击 添加组件 并输入 RelativeJoint2D 则可以添加相对关节。控制两个刚体间的相对运动。

https://docs.cocos.com/creator/3.7/manual/assets/relative-joint.Dxs9uOOC.gif

属性

属性说明
MaxForce可以应用于刚体的最大的力值
MaxTorque可以应用于刚体的最大扭矩值
CorrectionFactor位置矫正系数,范围为 [0, 1]
LinearOffset关节另一端的刚体相对于起始端刚体的位置偏移量
AngularOffset关节另一端的刚体相对于起始端刚体的角度偏移量
AutoCalcOffset自动计算关节连接的两个刚体间的 angularOffset 和 linearOffset

滑动关节

在 属性检查器 上点击 添加组件 并输入 SliderJoint2D 则可以添加滑动关节。两个刚体位置间的角度是固定的,它们只能在一个指定的轴上滑动。如下图蓝色方块虽然受重力影响,但实际上由于关节的约束,只能沿设定的方向运动。

https://docs.cocos.com/creator/3.7/manual/assets/slider-joint.CKDQuOeE.gif

属性

属性说明
Angle滑动的方向
AutoCalcAngle根据连接的两个刚体自动计算滑动方向
EnableMotor是否开启关节马达
MaxMotorForce可以施加到刚体的最大力
MotorSpeed期望的马达速度
EnableLimit是否开启关节的距离限制
LowerLimit刚体能够移动的最小值
UpperLimit刚体能够移动的最大值

弹簧关节

在 属性检查器 上点击 添加组件 并输入 SpringJoint2D 则可以添加弹簧关节。将关节两端物体像弹簧一样连接在一起。

https://docs.cocos.com/creator/3.7/manual/assets/spring-joint.CyQADNRD.gif

属性

属性说明
Frequency弹性系数
DamingRatio阻尼,表示关节变形后,恢复到初始状态受到的阻力
Distance关节两端的距离
AutoCalcDistance自动计算关节连接的两个刚体间的距离

轮子关节

在 属性检查器 上点击 添加组件 并输入 WheelJoint2D 则可以添加轮子关节。用于模拟机动车车轮

https://docs.cocos.com/creator/3.7/manual/assets/wheel-joint.T_Nb7o03.gif

属性

属性说明
Angle轮子震动方向
EnableMotor是否开启关节马达
MaxMotorTorque可以施加到刚体的最大扭矩
MotorSpeed期望的马达速度
Frequency弹性系数
DampingRatio阻尼,表示关节变形后,恢复到初始状态受到的阻力
http://www.dtcms.com/a/339255.html

相关文章:

  • canoe发送接收报文不通到底是接口问题还是配置问题如何处理
  • Codeforces 斐波那契立方体
  • 【Pycharm虚拟环境中安装Homebrew,会到系统中去吗】
  • k8sday11服务发现(2/2)
  • 机器学习(决策树2)
  • CMake进阶: CMake Modules---简化CMake配置的利器
  • C# NX二次开发:操作按钮控件Button和标签控件Label详解
  • 机器学习之决策树:从原理到实战(附泰坦尼克号预测任务)
  • STM32学习笔记15-SPI通信软件控制
  • Ansible 大项目管理实践笔记:并行任务、角色管理与负载均衡架构部署
  • Effective C++ 条款51:编写new和delete时需固守常规
  • Pandas 入门到实践:核心数据结构与基础操作全解析(Day1 学习笔记)
  • 电源、电流及功率实测
  • Shader开发(十五)创建四边形
  • 【工作笔记】VMware安装 - 安装程序检测到主机启用了Hyper-V或Device/Credential Guard……提示解决方法
  • 在CentOS系统中查询已删除但仍占用磁盘空间的文件
  • 深入解析:Unity、Unreal Engine与Godot引擎中的Uniform变量管理
  • 【CV 图像分割】①——目标分割介绍
  • 网络编程day4
  • 牛客面经 - 2025/8/19
  • C++高频知识点(二十八)
  • 数据库-MYSQL配置下载
  • 前端性能优化实战手册:从网络到运行时,一套可复制落地的清单
  • 基于提示词工程和MCP构建垂直Agent应用
  • Go语言中的优雅并发控制:通道信号量模式详解
  • JS 中的 this
  • AI-调查研究-55-机器人 百年进化史:从Unimate到人形智能体的技术跃迁
  • Navicat 使用超详细教程:从下载到实战案例
  • Vue.prototype 的作用
  • AJAX (一)