我正在使用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