[0]3d物理 刚体旋转bug 2.17到2.12都有

3d 刚体 一旋转,就跑到另一个刚体那里
GIF_2021-9-29_20-03-30.gif
已邀请:

Laya_z

赞同来自: LijiE

最终解决方案:替换我下面的物理库,或者等下一个引擎版本更新

Laya_Fred

赞同来自: LijiE

您好,这个问题在下个版本会进行修复,现在先给您提供一个暂时的解决方案,在laya.physics3d.js库内,找到_innerDerivePhysicsTransformation函数,在进行Laya.Transform3D.TRANSFORM_WORLDQUATERNION处理与Laya.Transform3D.TRANSFORM_WORLDSCALE处理内,先进行一次位置计算。将以下代码复制到分支处理内:
var shapeOffset = this._colliderShape.localOffset;
var position = transform.position;
var btPosition = PhysicsComponent._btVector30;
if (shapeOffset.x !== 0 || shapeOffset.y !== 0 || shapeOffset.z !== 0) {
var physicPosition = PhysicsComponent._tempVector30;
var worldMat = transform.worldMatrix;
Laya.Vector3.transformCoordinate(shapeOffset, worldMat, physicPosition);
bt.btVector3_setValue(btPosition, -physicPosition.x, physicPosition.y, physicPosition.z);
}
else {
bt.btVector3_setValue(btPosition, -position.x, position.y, position.z);
}
bt.btTransform_setOrigin(physicTransformOut, btPosition);
处理后如图:

rotate.png


scale.png

 

LijiE

赞同来自:

求大佬解答啊。。。
 

Laya_z

赞同来自:

我们看下demo确认一下问题,有结果会回复的

该问题目前已经被锁定, 无法添加新回复

商务合作
商务合作