prefab的Animated刚体sync位置偏移

  • Creator 版本:2.0.5、2.0.2都试过

  • 目标平台: web

  • 重现方式: 把我上传的代码跑一边

  • 出现概率:必现

**

描述:

**
把animated刚体做成prefab后,通过 cc.instantiate初始化node,动态设置node的位置不正确,
已经调用了syncPosition(true)方法。
但是把刚体类型设置成static或者Kinematic,再动态设置node的位置,位置是正确的。

我把代码上传一下,希望能得到回复,谢谢。AnimatedTest.rar (531.9 KB)

我把截图也发上来了

这是代码

自顶一下,假装有人能回复

看了一下文档,发现我误解了参数enableAnimated的用法,我本意是想直接设置刚体的坐标的,但是我把enableAnimated设成false后,坐标还是不对。下面是换成false的截图:

上面的图是调用了syncPosition(false)后的效果图

下面是代码

顶一下

刚又发现,prefab的animated刚体每调用一次syncPosition(false),node的坐标都会改变,每次都会往右上角移动一点点,
有大佬遇到这个问题吗?

求大佬翻牌

顶一下

把这部分代码注释掉重新编译引擎就得了,不知道会不会有隐患

看看什么情况。

animated类型的刚体,任何移动事件,都会自动以线性速度更新节点位置。

对于animated的prefab节点,不用移动刚体,也不用设置刚体的位置,现在单纯的调用syncPosition(false)都会让节点偏移

加了刚体类型为animated的物体,position设置位置,不准。能否在此时,让其不受线速度的影响?

同理,touch_move移动这种类型的刚体,其速度也比鼠标移动速度慢。

Animated 类型的 RigidBody 只应该被动画控制,要手动修改位置就要先将他的类型修改完位置后再把类型改回去。

用 linearVelocity 来控制 Animated 类型的 RigidBody 是为了防止动画驱动 RigidBody 的时候产生 瞬移 的问题,这样可能发生 穿透 或者 冲量过大 的问题

刚体的类型不是不能动态修改的吗。。。
好像看到有贴子说不能动态修改刚体类型的。