1. 程式人生 > >Unity中關於施加力的角度弧度問題

Unity中關於施加力的角度弧度問題

大學四年加上工作一年,中學的知識都忘到腦後了,今天遇到一個需要給物體施加某個方向的力的問題,搗騰了半天,最後才明白過來這麼簡單。特此記錄一下。

需求:跑酷遊戲,按照當前玩家的朝向,扔出武器(即給武器一個力的向量)。但目前能得到的只有玩家當前的旋轉角度。

解決:  

float eur = parentTrans.eulerAngles.y * Mathf.Deg2Rad; 
        float forceX = (float)(10f * Math.Sin(eur));
        float forceZ = (float)(10f * Math.Cos(eur));
        ForceDirect = new Vector3(forceX, 0f, forceZ);
其中的第一行程式碼中,Mathf.Deg2Rad是unity中的常量,值就是Math.PI/180的值——0.0174533f。

其實導致我卡住的就只是eulerAngles角度與Sin方法傳入引數的問題。

eulerAngles的值是角度,Sin方法傳入引數是弧度。因此剛開始各種數值不對~~~

啊啊啊,中學數學都被我忘成這樣了啊!!