mre*_*all 1 c# unity-game-engine
我在 3D 平台游戏的关卡底部有一个杀戮区,但是当我的滚球重生时,transform.position我会保持动力。仓位被覆盖后如何取消所有动量?
我已经尝试环顾四周,但每个人似乎至少在 5 年前就问过这个问题,当我尝试更改rigidbody.velocityor时rigidbody.angularVelocity,它说“Component.rigidbody”已过时。
提前致谢!
看看文档:Rigidbody.velocity两者都不Rigidbody.angularVelocity是“过时的”......
从评论中我看到你实际上的意思Component.rigidbody是已经过时的 - >你必须GetComponent像任何其他组件一样使用它。
所以只需继续使用
var rigidbody = GetComponent<Rigidbody>();
// or in case you get it from another object or component
//var rigidbody = otherObjectOrComponent.GetComponent<Rigidbody>();
rigidbody.velocity = Vector3.zero;
rigidbody.angularVelocity = Vector3.zero;
Run Code Online (Sandbox Code Playgroud)
顺便说一句,您还应该不通过组件设置位置Transform,而是使用Rigidbody.position