我需要得到球A移動的方向與球B在 x 和 z 軸上的角度。我也在使用 Unity Netcode(idk,如果它有所不同)

到目前為止,我試圖讓我在最后一幀的A球 A 位置、 B球 B 位置、 C球 A 位置獲得 3 分 。我試過了
float angle = Mathf.Atan2(B.y - A.y, B.x - A.x) - Mathf.Atan2(A.y - C.y, A.x - C.x);
它給了我一個角度,但它遠不及它應有的樣子。然后我從這里復制了一些 Acos 代碼,但這并沒有奏效。
float dot = C.x * B.x C.y * B.y;
float angle = Mathf.Acos(dot);
然后我嘗試了 Vector3.Angle,它有時會起作用,但有時卻不起作用。
float angle = Vector3.Angle(B, C);
請幫忙,我是新手。
uj5u.com熱心網友回復:
A,B并且C不是向量,它們是點。如果要計算兩個向量之間的角度,則應使用B - A和A - C。
float angle = Vector3.Angle(B - A, A - C);
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/403253.html
標籤:
上一篇:如何在Unity3D中創建一個用于切換武器的餅圖選單?
下一篇:走過觸發器時如何統一播放影片
