用 PhysicsSprite3D 创建 3D 刚体后,如果节点通过 setScale 缩放,如何使刚体也对应缩放呢?目前是无效的!!!

如题如题如题

Physics3D 是bullet 物理引擎,本身不是继承自Node对象,它属于Sprite3D的一个Component.刚体本身就没有缩放这一说.
如果希望创建不同尺寸刚体,创建的时候,你可以不用PhysicsSprite3D,先创建好Sprite3D,缩放它,然后再给它添加Physics3DRigidBody (通过获得此对象AABB包围盒来创建)就可以了. 另外bullet物理引擎有少许bug,可能要费些功夫仔细查看

谢谢回答。但是我的应用场景是:节点在游戏过程中会变化大小,而不是先缩放了,再创建刚体。那刚体的大小还能修改吗?
还是说只能把这个刚体先移除了再重新创建一个?

没有深入的看(太多了),就代码上看如果不加修改是不可以的.
如果我做的话 就先移除再重新创建一个.(如果你有碰撞回调,那么删除刚体的时候还要小心操作,在Physics3DWorld::collisionChecking()方法的for循环中getNumManifolds()可能发生变化,一旦变化就会崩溃)

对啊,我就是觉得先删除再创建太麻烦,回调那里肯定有坑
实在没办法,也只能这样了,谢谢!