Unity 2D 獲取隨機的方向向量
分類
建立時間: 2023年5月3日 04:07
更新時間: 2023年7月24日 02:58
說明
以前數學沒學好,現在已後悔,我寫了一個比較簡單的方法來獲取範圍內隨機向量,只需帶入起始角度和結束角度即可,如果有誤請私訊通知謝謝。
向量簡述
在 Unity 中,向量是用來表示空間中的方向和大小的數學概念。例如: (1, 0) 向量的大小和方向為原點 (0, 0) 往點 (1, 0) 的方向和長度,原點到任合一個點就是向量的大小和方向。
腳本
VectorUtilities.cs
using UnityEngine;
/// <summary>
/// 有關向量的實用方法
/// </summary>
public class VectorUtilities : MonoBehaviour
{
/// <summary>
/// 取得隨機方向,範圍可從右側0度,上方90度,到360度
/// </summary>
/// <param name="startDegree">起始角度</param>
/// <param name="endDegree">結束角度</param>
/// <returns></returns>
public static Vector2 GetRandomDirection(float startDegree, float endDegree)
{
float angle = Random.Range(startDegree, endDegree);
float radians = angle * Mathf.Deg2Rad;
float x = Mathf.Cos(radians);
float y = Mathf.Sin(radians);
return new Vector2(x, y);
}
}
你可以想像一圈360度,從右邊開始0度,逆時針旋轉一圈剛好360度,你只需輸入起始角度和結束角度,例如 VectorUtilities.GetRandomDirection(90, 270)
就是左半邊的圓都是可能出現的方向。
你可以用 Rigidbody.velocity = VectorUtilities.GetRandomDirection(0, 100) * speed
設定隨機方向的速度。
觀看次數: 990
directionrandomunityvectorvelocity
一杯咖啡的力量,勝過千言萬語的感謝。
支持我一杯咖啡,讓我繼續創作優質內容,與您分享更多知識與樂趣!