cocoscreator3.8.5物理加对象池有点问题,我给一个物体添加了冲量和扭矩,放回对象池的时候将线性速度和角速度清零并且将刚体的enabled设置成false,碰撞体的也是,然后从对象池取出来这个节点的冲量和扭矩没有清0

  • Creator 版本: 3.8.5

  • 目标平台:Edge浏览器

  • 重现方式:给一个物体添加刚体和碰撞体,并且用代码设置冲量和扭矩,放回对象池的时候将刚体的力和速度都清0,然后从对象池取出好像并没有将刚体的冲量和扭矩清空

  • 首个报错:

  • 之前哪个版本是正常的:

  • 手机型号:

  • 手机浏览器:

  • 编辑器操作系统:win11

  • 重现概率:100%

cocos有这样那样的问题很正常,这需要我们想一些合理的办法去解决,例如我们在从对象池拿取时进行初始化设定,放回时不做处理

我现在用放回对象池的时候将刚体和碰撞体removeComponent了,从对象池拿出来的时候在重新addComponent就可以

我试过放回对象池的时候将刚体的线性速度和角速度清零,从对象池取出来的时候重新设置刚体的线性速度和角速度,也不行,我用刚体的wakeUp也试过,还是不行,只能用最笨的移除组件和添加组件来重置了

看你的描述你的所谓的对象池像是节点对象池,和刚体有啥关系。
enque和deque都是Node。

把节点放回节点对象池的时候,刚体内部的一些属性没有重置

只能移除和添加,我用组件的enabled启用和禁用也不行

下一帧…