我正在使用Unity3d与Monodevelop(c#)进行游戏。 当我的大理石(球体)停止时,我试图检测事件。 我的大理石正在使用Rigidbody.Addforce()方法移动。 有没有什么办法可以找到方法?如何知道对象被停止。对象被刚体强制
0
A
回答
1
rigidbody.velocity.magnitude
会给你对象旅行的速度。它是速度矢量的大小。利用这一点,你可以检查,当你对象的速度达到零:
if(rigidbody.velocity.magnitude == 0.0f) {
Debug.Log("object has stopped.");
}
然而,在我的经验中,物体的速度将采取永远达到零。它会继续移动,非常非常非常非常缓慢。相反,除非你有很强的摩擦,否则它的速度矢量的大小将永远不会达到零。
为了弥补这一点,找出物体“基本停止”的良好速度。例如,如果速度低于0.0001,则它可能“停止”,因为它不会移动太多。你必须进行实验,以确定该值应该是什么:
float stopThreshold=0.001f;
if(rigidbody.velocity.magnitude <= stopThreshold) {
Debug.Log("object has mostly stopped.");
}
但概念是相同的:使用rigidbody.velocity.magnitude
,以确定您的物体的速度。
0
如果低于阈值w/c我认为更好< 0.1f;您可以检查物体刚体速度或角速度;
if(rigidbody.velocity.sqrMagnitude < .01 || rigidbody.angularVelocity.sqrMagnitude < .01) { Debug.Log ("OBJECT STOPPED "); }
相关问题
- 1. 我如何知道对象是否可以被弱引用?
- 2. 如何知道对象是否已被引用?
- 3. 如何强制注册的“环境”对象被解决?
- 4. 复制刚刚从SQLAlchemy的对象
- 5. 为什么我被告知我的mySQLi对象是'非对象'?
- 6. 如何强制对象键值对首先坐在对象中?
- 7. 调用对象和被调用对象
- 8. flash as3 - 防止对象被用作dropTarget
- 9. 不知道为什么对象被提前解除分配
- 10. JQuery UI:是否可以知道对象已被删除?
- 11. 有没有办法让对象知道它被添加到DOM?
- 12. 我怎么知道原生JS对象没有被篡改?
- 13. 一个实体对象不能被IEntityChangeTracker
- 14. 已经处理了DbContext对象:如何防止对象被丢弃?
- 15. 电晕停止对象被拖出屏幕
- 16. 父对象被破坏时,相关对象不会被销毁
- 17. 如何阻止刚体在Unity 3D中对其他对象施加拉力
- 18. 如何知道对象表的对象类型名称? (Oracle)的
- 19. 如何知道json对象是否包含json对象
- 20. [R glmnet错误:对象无法被强制
- 21. R quadprog错误:(列表)对象不能被强制输入'double'
- 22. R boruta包 - (列表)对象不能被强制键入'双'
- 23. 如何在Unity中对刚体对象进行动画
- 24. 如何知道HCURSOR对象的大小
- 25. 如何原始值存储在对象,当对象被投
- 26. 如何停止我不知道的NSTimer是否被释放
- 27. 在刚刚输出的对象上的IE中的Console.log [对象对象]
- 28. 创建不能被腌制的对象
- 29. 如何更改被嘲笑的对象?
- 30. 混帐对象树如何被破坏?
我想破坏我的对象时,它是stopped.But当我使用rigidbody.velocity.magnitude,量值开始从0.so我的对象只是在强制启动:([RNU(HTTP破坏增加://variyasoftsolutions.com/unity3d.html) – 2014-09-12 10:56:43
嗯,你只需要确保你只有在物体处于运动状态时才开始检查。 – SirBraneDamuj 2014-09-12 13:51:21
我解决了!我从零开始检查幅度[Rnu ](http://variyasoftsolutions.com/unity3d.html) – 2014-09-13 11:57:20