cocosCreator 物理关节组件

重点

开启物理系统。
物理系统默认是关闭的,如果需要使用物理系统,那么首先需要做的事情就是开启物理系统,否则你在编辑器里做的所有物理编辑都不会产生任何效果。
(可选)绘制物理调试信息
物理系统默认是不绘制任何调试信息的,如果需要绘制调试信息,请使用 debugDrawFlags。 物理系统提供了各种各样的调试信息,你可以通过组合这些信息来绘制相关的内容。

// 开启物理系统
cc.director.getPhysicsManager().enabled = true;
//绘制物理调试信息
cc.director.getPhysicsManager().debugDrawFlags = cc.PhysicsManager.DrawBits.e_aabbBit |
    cc.PhysicsManager.DrawBits.e_pairBit |
    cc.PhysicsManager.DrawBits.e_centerOfMassBit |
    cc.PhysicsManager.DrawBits.e_jointBit |
    cc.PhysicsManager.DrawBits.e_shapeBit
    ;
设置物理重力
cc.director.getPhysicsManager().gravity = cc.v2(0, -640);

距离关节

Distance Joint - 距离关节,关节两端的刚体的锚点会保持在一个固定的距离。

Anchor 和 ConnectedAnchor ,就是在其偏移的位置上
Distance 表示的是两者之间的距离,可以看到两个物体直接的虚线就是这个距离
Frequency 弹性系数:如想让两个物体的距离固定,就设置0。
Damping Ratio 阻尼:弹性系数不为0时,两个物体的距离恢复到 Distance的阻力

在这里插入图片描述

旋转关节

Revolute Joint - 旋转关节,可以看做一个铰链或者钉,刚体会围绕一个共同点来旋转。

referenceAngle:- 相对角度。
lowerAngle -角度的最低限制。
upperAngle -角度的最高限制。
maxMotorTorque - 可以施加到刚体的最大扭矩。
motorSpeed -期望的马达速度。要想关节另一端链接的刚体旋转时设置这个速度,同时开启下面的关节马达enableMotor。
enableLimit -是否开启关节的限制?
enableMotor -是否开启关节马达?

想要链接的刚体旋转,这个刚体一定要有物理碰撞组件

在这里插入图片描述

绳子关节

Rope Joint - 绳子关节,将关节两端的刚体约束在一个最大范围内。

maxLength -最大长度。主要的一个参数即两端的刚体的最大长度

在这里插入图片描述

轮子关节

Wheel Joint - 轮子关节,由 Revolute 和 Prismatic 组合成的关节,用于模拟机动车车轮。

既然是个轮子,当然要做一个小车了。启动马达,小车就能跑了。

localAxisA -指定刚体可以移动的方向。
maxMotorTorque -可以施加到刚体的最大扭矩。
motorSpeed -期望的马达速度。
enableMotor -是否开启关节马达?
frequency -弹性系数。
dampingRatio -阻尼,表示关节变形后,恢复到初始状态受到的阻力。

在这里插入图片描述

焊接关节

Weld Joint - 焊接关节,根据两个物体的初始角度将两个物体上的两个点绑定在一起。

referenceAngle -相对角度。

在这里插入图片描述

棱柱关节

Prismatic Joint - 棱柱关节,两个刚体位置间的角度是固定的,它们只能在一个指定的轴上滑动。

localAxisA -指定刚体可以移动的方向。
referenceAngle -相对角度

可以看到红框位置是设置的移动范围

在这里插入图片描述

马达关节

Motor Joint - 马达关节,控制两个刚体间的相对运动。

linearOffset -关节另一端的刚体相对于起始端刚体的位置偏移量
angularOffset -关节另一端的刚体相对于起始端刚体的角度偏移量
maxForce - 可以应用于刚体的最大的力值
maxTorque - 可以应用于刚体的最大扭矩值
correctionFactor -位置矫正系数,范围为 [0, 1]

在这里插入图片描述

大概就是这个几个关节的简单用法了,一方面是自己学习记录,一方面是想分享一下。勿喷!

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值