我在学习3D得时候,再移除刚体组件的时候发现了一个问题,我一共尝试了两种移除组件的方式
1.
let controll = this._TouchNode.getComponent(RigidBodyComponent);
controll.destroy();
this._TouchNode.removeComponent(RigidBodyComponent);
我在学习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的输出了
最神奇的事情就是,明明刚体被移除了,物体居然还可以向下掉落。
移除组件不会改变刚体的状态,可以考虑设置 mass 为 0
啊,不会改变刚体的状态码。。。我试试
可以了,但是明明刚体组件已经移除,这样子就很别扭。。。。
刚体组件用于控制刚体的状态,碰撞组件用于控制刚体的形状
光移除刚体组件是不行的,因为碰撞组件也依赖刚体
问题其实就在这里,在有些情况下,我只需要一coll组件当作触发器使用,刚体在中途就会移除掉了。比如我发射一枚导弹,需要刚体的重力效果,然后中途由于某些情况,比如buff效果,技能效果,我不需要重力了,为了节省一些计算,我直接把刚体移除,但是触发器还是需要使用的,难不成我还要手动再加一遍触发器码
触发器也依赖刚体
额。。。虽然我还没有尝试,但您这句话的意思可以理解为,。。没有刚体,触发器就不触发了码???
没刚体,你跟谁碰撞去?节点吗?
兄弟,我意思是没有刚体还会下落,这个碰撞有关系?