我正在做一個團結和跳躍運動的項目,但我是一個新的飛躍。我試圖移動gameObjects,但是當我將rigidBody的屬性添加到它並用手動模型觸摸時它會飛走,我該如何避免這種情況?如何用跳躍運動統一抓取和移動遊戲對象
-1
A
回答
2
由於默認物理手Leap在其核心資產中提供的解釋爲「運動學」,它們基本上具有無限的質量。當你試圖抓住或觸摸它們時,物體會飛走,因爲底層物理解算器試圖找出在兩個其他兩個無限質量的剛體之間擊碎完美剛體(因此稱爲「剛體」)時會發生什麼......解決風與巨大的速度,因此你會得到看起來很奇怪,感覺不好的行爲。
有一些花式的數學(Kabsch解決方法)和實時物理學(軟,非剛性接觸行爲)使觸摸和抓物體感覺良好,所以你可能只是想下載Leap的交互引擎,它爲你做到了這一切!
確保您擁有main developer resource page的最新「核心資產」,您可以在同一頁面上找到「交互引擎」。
下載這些程序包,並將它們導入到Unity,那麼你的工作流程基本工作正是如此:
- 發現在InteractionEngine文件夾的InteractionManager預製,然後將其拖動到場景中。這個對象只是爲交互系統做記錄。
- 刪除你是從手控器使用這些RigidRoundHands,並在InteractionEngine文件夾中添加互動刷手來代替。這些牌具有額外的物理學邏輯,可以防止交互以你描述的方式爆炸。
- 將InteractionBehaviour組件添加到您希望能夠觸摸或拾取的任何對象。
從那裏,你應該很好去。如果某一步停止工作,可以在開發者頁面查看Interaction Engine 101示例;它是一個開源Unity項目,具有最新交互引擎的工作實現。
0
我認爲你應該使用協程來移動它。你可以在這裏找到更多的信息:https://docs.unity3d.com/Manual/Coroutines.html這應該做的伎倆沒有太多的代碼。
相關問題
- 1. 統一 - 在2D遊戲中拖動遊戲對象的移動觸摸控制
- 2. 移動遊戲對象
- 3. C#跳棋遊戲運動
- 4. 簡介:一些遊戲對象移動,一些不移動
- 5. 遊戲編程:刪除運動滯後(跳躍)
- 6. 在遊戲中跳躍
- 7. java applet遊戲跳躍bug
- 8. java applet遊戲跳躍
- 9. 如何回收遊戲對象的統一滾動列表?
- 10. (遊戲)跳躍和引力機制
- 11. 如何使對象移動 - 如何使用VB.NET遊戲
- 12. 來回移動遊戲對象
- 13. 移動實例化的遊戲對象
- 14. 拖動和使用此代碼在運行時移動2D遊戲對象
- 15. 跳躍運動手滑動
- 16. 遊戲如何在對象周圍移動(一般來說)
- 17. 用javascript跳躍運動
- 18. 將父對象移動到另一個遊戲對象
- 19. Java跳棋遊戲移動棋子
- 20. 實現遊戲對象的特定跳躍行爲
- 21. HTML5遊戲開發 - 移動運動
- 22. 如何跳躍和動畫像馬里奧遊戲角色的身體?
- 23. 移動和多人遊戲
- 24. 如何根據網絡攝像頭中真實世界物體的移動統一移動遊戲對象?
- 25. 移動速度超過父級遊戲對象的兒童遊戲對象
- 26. 拖動遊戲對象
- 27. SpriteKit跳躍和移動問題
- 28. 同時跳躍和移動......幫助!
- 29. UIKit遊戲:遊戲對象移動動畫中的中間回調
- 30. Box2d + CoCos2d:自動移動對象以模擬遊戲中的計算機運動