簡體   English   中英

Unity玩家輸入系統

[英]Unity player input system

我剛剛使用 Unity 玩家輸入 package 創建了一個統一的滾球游戲。 是否建議所有播放器資產都這樣做,而不是使用普通的“transform.Translate”來移動播放器:

transform.Translate(Vector3.forward * speed * horizontalInput);

此外,由於我在滾球游戲中使用的球體似乎使用了它的剛體組件和物理引擎,玩家輸入系統是否可以在非球形上工作來移動它們?

我想知道這樣我就可以為我的下一個項目使用最好的系統。

我認為你混淆了概念。

輸入系統只負責輸入。 您仍然必須決定如何解釋您從中獲得的值,而不管接收輸入的方法如何。

移動玩家是另一回事。 您可以使用物理來移動對象,或者通過更改它們的transform.position或使用提到的transform.Translate(params)來簡單地更改它們的 position。

就輸入而言,您可以自己硬編碼讀取它,或者您可以使用舊的或新的統一系統,可能使用最后一個是最好的主意。

關於運動,如果您想要碰撞和/或更逼真的運動,請使用物理。 對於其他東西,go 自己改變變換。 transform.Translate(vector)transform.position += vector的區別在於 Translate 考慮了對象當前的旋轉和縮放。 有時它是可取的,有時它只是使事情復雜化,你使用后一種方法。

如果您在球體以外的對象上使用 Translate,它將正常工作。

暫無
暫無

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

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