这个刚体感觉有点问题啊

我在学习3D得时候,再移除刚体组件的时候发现了一个问题,我一共尝试了两种移除组件的方式
1.
let controll = this._TouchNode.getComponent(RigidBodyComponent);
controll.destroy();

this._TouchNode.removeComponent(RigidBodyComponent);

在这两种方法前后都对节点进行了打印
如下图
上传中…
上传中…
上传中…

图片好像上传不上

点击物体时的代码:console.log(this._TouchNode.getComponent(RigidBodyComponent))this._TouchNode.removeComponent(RigidBodyComponent);
console.log(this._TouchNode.getComponent(RigidBodyComponent));

打印出来的两个console有输出,鼠标取消点击的时候我并没有给物体进行刚体赋值

第二次点击就会出现null的输出了

最神奇的事情就是,明明刚体被移除了,物体居然还可以向下掉落。

CCC3D_Test.zip (902.0 KB)

移除组件不会改变刚体的状态,可以考虑设置 mass 为 0

啊,不会改变刚体的状态码。。。我试试

可以了,但是明明刚体组件已经移除,这样子就很别扭。。。。

刚体组件用于控制刚体的状态,碰撞组件用于控制刚体的形状

光移除刚体组件是不行的,因为碰撞组件也依赖刚体

问题其实就在这里,在有些情况下,我只需要一coll组件当作触发器使用,刚体在中途就会移除掉了。比如我发射一枚导弹,需要刚体的重力效果,然后中途由于某些情况,比如buff效果,技能效果,我不需要重力了,为了节省一些计算,我直接把刚体移除,但是触发器还是需要使用的,难不成我还要手动再加一遍触发器码:joy:

触发器也依赖刚体

额。。。虽然我还没有尝试,但您这句话的意思可以理解为,。。没有刚体,触发器就不触发了码???:grin:

没刚体,你跟谁碰撞去?节点吗?

兄弟,我意思是没有刚体还会下落,这个碰撞有关系?