簡體   English   中英

如何使Unity3d在表上移動對象?

[英]How to make Unity3d move objects on a table?

我正在研究一款桌面游戲,用戶可以使用手機中的加速度計進行控制。 它與iOS上的迷宮非常相似。

該場景包含一個使用平面和立方體創建的桌面以及一個球形的球。 在迷宮游戲中,傾斜的手機球應下降到傾斜的一側,而相機保持在桌子的中心。 我正在嘗試做類似的事情,用戶將手機傾斜,桌子上的物體移到傾斜的一側。

當前,我在傾斜時將x和z分量添加到Physics.gravity中。 可悲的是,這種重力變化不會影響停留在桌子上的球。 為球選擇了使用重力,它最初從高度下降到桌面,然后停止。 初始下降后,球對重力變化沒有反應。

我也嘗試過旋轉整個表,但是使用transform.rotate也不起作用。 桌子和相機一起旋轉得很完美,但是球卻一直懸在空中。 因此,目前我對此問題不甚了解。

還有其他方法可以記錄傾斜動作,使球向傾斜方向移動嗎? 我不能使用addforce函數,因為有多個對象需要對傾斜做出反應,並且很難跟蹤許多addforce調用。 我還能如何使其正常工作?

請參閱此帖子以獲取一些相關信息。

至於為什么您的球體會粘在桌子上,我可以假設您的球體具有剛體嗎? 如果是這樣,則需要將其喚醒:

如果(rigidbody.IsSleeping())rigidbody.WakeUp();

理想情況下,僅在檢測到方向/重力變化后才進行該調用,而不是每幀都進行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM