Mathf.Atan2
は、2D空間で点(x
, y
)の位置から、原点(0, 0)との間の角度を計算します。この関数は、引数としてy
座標とx
座標を取ります。Mathf.Rad2Deg
を使って度数法に変換することができます。float angle = Mathf.Atan2(pos.y, pos.x) * Mathf.Rad2Deg;
これは、(pos.x, pos.y)
という2Dベクトルの方向を原点からの角度に変換しています。
Mathf.Abs
は、引数の絶対値を返します。float absoluteValue = Mathf.Abs(-10); // 結果は10
Mathf.Max
とMathf.Min
は、それぞれ引数の中で最大値と最小値を返します。float maxValue = Mathf.Max(10, 20); // 結果は20
float minValue = Mathf.Min(10, 20); // 結果は10
Mathf.Lerp
は、2つの数値(a
とb
)の間を線形補間して、指定した割合(t
)でその値を返します。float lerpedValue = Mathf.Lerp(0, 10, 0.5f); // 結果は5
Mathf.Approximately
は、2つの浮動小数点数がほぼ等しいかどうかを判定します。浮動小数点演算における丸め誤差を考慮して比較を行います。true
またはfalse
(数値がほぼ等しい場合はtrue
)。bool isEqual = Mathf.Approximately(0.1f + 0.2f, 0.3f); // 結果はtrue
Mathf.Sign
は、指定した数値の符号を返します。もし数値が正の数であれば1
、負の数であれば-1
、ゼロであれば0
を返します。1
, -1
, 0
)。float sign = Mathf.Sign(-5); // 結果は-1
Mathf.Cos
とMathf.Sin
は、角度をラジアンで指定して、それぞれコサインとサインの値を返します。float cosine = Mathf.Cos(Mathf.PI / 4); // 結果は0.7071...
float sine = Mathf.Sin(Mathf.PI / 4); // 結果は0.7071...
Mathf.Rad2Deg
はラジアンから度数に変換するための定数で、Mathf.Deg2Rad
は度数からラジアンに変換するための定数です。float radians = Mathf.PI / 4;
float degrees = radians * Mathf.Rad2Deg; // 結果は45度
Mathf.Clamp
は、指定した範囲内に数値を制限します。Mathf.Clamp01
は、0から1の範囲内に数値を制限します。float clampedValue = Mathf.Clamp(15, 0, 10); // 結果は10
これらの関数を使うことで、数学的な計算や変換を効率的に行い、ゲーム内での挙動を制御することができます。
例えば、ターゲットの方向を計算するためにMathf.Atan2
を使用したり、スクリーン座標での位置調整にMathf.Abs
やMathf.Max
を使用したりします。
ゲーム開発ではこれらの基本的な数学関数を駆使して、ゲーム内オブジェクトの位置、回転、スケーリングなどの操作を行うことが非常に多いです。