簡體   English   中英

如何將兩個 Vector3 統一添加在一起

[英]How can I add two Vector3's together in unity

我正在制作一個 2d 射擊游戲。 當玩家游戲對象接觸到玩家位置的槍時,我有一個“槍”的游戲對象。 但是,然后我想將槍從玩家精靈上的那個位置移動到精靈手上。 我認為最簡單的方法是在起始向量上添加一個向量,以更改槍的坐標。 但是我不確定如何添加向量,這是我嘗試過的,但出現了錯誤:“Vector3”不能用作方法。

Vector3 coords = GameObject.FindGameObjectWithTag("Gun").transform.position = GameObject.FindGameObjectWithTag("Player").transform.position;
Vector3 newcoords = coords + Vector3(1, 1, 0)

您必須創建 Vector3 的實例:

Vector3 newcoords = coords + new Vector3(1, 1, 0)

最簡單的方法是(假設您的玩家被正確定義為樹結構、頭部、軀干、手等),是將手的局部位置分配給武器,或者甚至更好地將武器作為手的子節點。 因此,當您在手部、變形、旋轉等方面進行任何更改時,您的武器會做出相應的反應。 只需在玩家的結構中找到“hand”,然后分配給“weapon.parent = hand”(當然這是偽代碼,但你知道要點)。
當然,如果你的武器已經分配了一個世界的位置,在讓它成為玩家手的孩子之后,你將不得不再次設置武器位置,相對於手的位置(你可以將它設置為 Vector3.zero 並看看你會得到結果)

暫無
暫無

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

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