Cocos Creator中物理引擎关节的应用有哪些
Admin 2022-07-20 群英技术资讯 439 次浏览
cocos文档定义:
鼠标关节用于使刚体上的一个点追踪一个指定的世界坐标系下的位置。 鼠标关节可以指定一个最大的里来施加一个柔和的约束。
鼠标关节会自动使用 mouse region 节点来注册鼠标事件,并且在触摸移动事件中移动选中的刚体。
注意:一般鼠标关节只在测试环境中使用
说明:
任意cc.Node上添加鼠标关节,设置mouseRegion为Canvas,弹力和阻尼都为1
Mouse Region:鼠标注册节点
Frequency:弹力,表示拉扯物体的力度,值越大,弹力越大。就像一个橡皮筋绑在球上,你拉橡皮筋,力越大,球动得越快。
DampingRatio:阻尼,表示拉扯物体后,物体受到的阻力。好比1是在空气中用橡皮筋拉球,10就是在水里面用橡皮筋拉球,阻尼越大,球动的越慢。
cocos文档定义:
距离关节通过一个固定的长度来约束关节链接的两个刚体。你可以将它想象成一个无质量,坚固的木棍。
说明:
两个刚体只能绕着各自的节点旋转,两个节点间的距离保持不变。
ConnectedBody:关节另一端的刚体。
Anchor:关节所在刚体锚点
ConnectedAnchor:关节另一端刚体锚点
CollideConnected:关节两端的刚体是否发生碰撞
Distance:距离,200像素
Frequency:弹力。如果设置为10,两个刚体之间会有弹力,像两个物体里有个弹簧连着。 如果设置为0,表示始终保持200像素距离不会变,就像木根连着。
DampingRatio:阻尼
关节需要连接着2个刚体,图中的两个圆点和虚线,表示刚体的锚点和关节连接线。
distance为200,两个刚体始终保持200的距离。且只能在各自的节点上旋转。
应用:
距离固定,两端节点可以旋转,关节可以设置弹性
1. 一端固定,可以做成大摆锤
2. 一端固定,设置弹性,有弹性的大摆锤
cocos文档定义:
马达关节被用来控制两个刚体间的相对运动。 一个典型的例子是用来控制一个动态刚体相对于地面的运动。
说明:
马达关节是限制两个刚体,使两个刚体的相对位置和角度保持一致。当BodyA的位置和角度变化时,BodyB会用MaxForce和MaxTorque的力向着BodyA的位置和角度移动。
Connected Body:关节另一端刚体
CollideConnected:关节两端刚体是否碰撞
LinearOffset:另一端刚体相对于起始刚体的位置偏移量。也就是BodyB的目标位置。
AngularOffset:另一端刚体相对于起始刚体的角度偏移量。也就是BodyB的目标角度。
MaxForce:可应用于刚体的最大力值。
Max Torque:可应用于刚体的最大扭矩力。
CorrectionFactor:位置矫正系数,范围[0,1]。默认0.3。BodyB向着BodyA移动的缓动因子。值越大,缓动越快。
linear offset为200,表示两个刚体位置偏移为200,一旦偏离了这个限制,两个刚体会用max force 300的力移动到相距200的位置。
angularoffset为0,角度偏移为0,一旦偏离了这个限制,两个刚体会用maxtorque 100的力,使两个刚体角度保持偏移为0。
应用
使用力和扭矩力,使两个刚体保持位置和角度一致
1. 一端固定,可以做成不倒翁、放置在地面的拳击沙袋
cocos文档定义:
移动关节指定了只能在一个方向上移动刚体。 你可以开启关节限制来设置刚体运行移动的间距,也可以开启马达来使用关节马达驱动刚体的运行。
说明:
不能旋转,只能在限制的坐标轴上移动。
LocalAxisA:指定刚体可以移动的方向。这里X=1,表示只能在X轴左右移动。
ReferenceAngle:相对角度。关节两端的刚体之间的相对角度。
EnableLimit:是否开启关节的距离限制。开启后,关节刚体只能在限制的LowerLimit和UpperLimit范围内移动。这里表示只能在x轴200-400像素之间移动。
EnableMotor:是否开启马达。开启后刚体会以maxmotorforce的力向指定坐标轴移动,直到速度达到motorspeed。
可以看到刚体只能在x轴移动,并且移动范围限制在200-400像素。这可用于一些横版游戏中,只能左右或者指定方向移动的地形、机关等。
应用
限制指定方向移动,不能旋转,可选马达,可选限制范围
1. 开启马达,限制x轴左右移动,限制移动范围在两个端点,可以做成来回移动的滑轨车
2. 抽屉
cocos文档定义:
旋转关节可以约束两个刚体围绕一个点来进行旋转。 你可以通过开启关节限制来限制旋转的最大角度和最小角度。
你可以通过开启马达来施加一个扭矩力来驱动这两个刚体在这一点上的相对速度。
说明:
和其他关节差不多,都是限制一些角度和力的参数。
中间为关节另一端的刚体,类型为static。 绑定关节的刚体以1000的力在距离关节另一端刚体(13,202)的位置旋转。
我们用旋转关节做一辆小车。红色相当于车身,白色相当于车轮。
红色为绑定revoluteJoint的node,节点绑着两个revoluteJoint关节,关节的Connected Body分别是两个白色的box刚体,相当于车轮。
每个车轮有maxmotortorque 500的力,最大速度为motorspeed 200。
应用
两个刚体绕一个点旋转,可选旋转角度,可选马达
1. 一端固定,一端开启马达旋转, 电风扇、车轮
2. 关闭马达,只设置旋转范围,可组成人体的关节
3. 绳子
为什么绳子不用绳子关节来做,因为绳子关节不能限制旋转范围,不能限制位置范围,不能限制旋转节点。
cocos文档定义:
绳子关节只指定两个刚体间的最大距离,没有其他的效果。 注意:如果你试图动态修改关节的长度,这有可能会得到一些意外的效果。
说明:
maxlength:绳子的最大距离
没啥特点吧。他们没有弹力,没有马达。仅仅是像绳子绑着两个刚体,被限制在maxlength 200范围内。
应用
限制最大长度
1. 溜溜球
2. 遛狗,狗绳
cocos文档定义:
熔接关节相当于将两个刚体粘在了一起。 熔接关节可能会使某些东西失真,因为约束求解器算出的都是近似值
说明:
像两个刚体被一条钢筋焊接起来了。和距离关节相比,距离关节的两个刚体可以在各自节点旋转,焊接关节两个刚体则不可以在各自节点旋转。
如果设置Frequency弹力的话,比如Frequency=0.5,关节刚体可以在自己节点旋转,但是另一端刚体则不可以旋转。
应用
两个刚体被焊接(粘贴)在一起,可以设置弹性
1. 刚体可以被焊接在一起
2. 也可以理解各种刚体被粘贴在一起
3. 一个游戏
4. 设置弹性后,关节所在刚体可以旋转。例如柔体矩形,矩形可以弯曲。
焊接关节组成的圆环,设置弹性后,可以弯曲。
cocos文档定义:
轮子关节提供两个维度的自由度:旋转和沿着指定方向上位置的移动。 你可以通过开启关节马达来使用马达驱动刚体的旋转。 轮组关节是专门为机动车类型设计的。
说明:
轮子关节,由 Revolute 和 Prismatic 组合成的关节,用于模拟机动车车轮。
LocalAxis:指定刚体可以移动的方向
MaxMotorT...:可以施加到刚体的最大扭矩力
Motor Speed:期待的马达速度
EnableMotor:开启马达
Frequency:弹性系数
DampingRatio:阻尼
和RevoluteJoint关节相比,同样拥有马达,还增加了弹力和限定移动方向。
Frequency弹性系数就像汽车轮胎的减震,在车轮运动时,可以晃动。
Local Axis A 限定方向,可以限定减震的弹力的方向只能上下。
下图中,红色刚体绑定两个wheelJoint关节,设置ConnectedBody分别是两个circle圆形刚体。
马达的扭矩力为200,最大速度为1000,也就是车轮的驱动力和最大速度。
弹性系数为5,阻尼为0.1,限定方向为Y轴,相当于这车的减震系统了。
Anchor锚点分别设置到Connected Body也就是车轮的中心点上(选中车轮关节时,会有一个蓝色的标识,这个蓝色就是Anchor,拖动蓝色标识到圆形刚体中心就行了)
选择两个车轮,设置圆形刚体的摩擦系数0.8,弹性系数为0.2的。
如果摩擦系数为0的话,相当于车轮对于地面一直在打滑,跑不动。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
使用组件库时,图标往往不能满足需求,所以我们常常需要用到第三方图标库,这篇文章主要给大家介绍了关于vue引入iconfont的相关资料,需要的朋友可以参考下
这篇文章主要为大家详细介绍了vue实现触底查询功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
JavaScript中this也是一件很神奇 事情,在面向对象(比如java)中表示一个当前的对象引用,但是在JavaScript中this不是固定不变的,而是随着运行环境的改变而改变
文本主要给大家分享的是关于vue页面渲染中key的使用,下面有key的作用和用法介绍,以及实例,具有一定的借鉴价值,感兴趣的朋友可以参考学习。
首先了解一下 Map再来了解一下 Set总结Map和Set的区别结语:首先了解一下 MapMap 是一组键值对的结构,和 JSON 对象类似。(1) Map数据结构如下这里我们可以看到的是Map的数
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008