うにてぃブログ

主にUnityとC#に関する記事を書いていきます

【Unity】UnityのMathfクラス: Round, Ceil, Floorの理解と実用例

はじめに

Unityでのゲーム開発では、数値の丸め処理がしばしば必要となります。MathfクラスのRound, Ceil, Floorメソッドは、これらの処理に不可欠です。この記事では、これらのメソッドの使い方と実例を紹介し、初心者から上級者まで理解しやすく解説します。

ToIntが最後についているメソッドは、結果を整数(int型)で返します。

Mathf.Round

  • 概要: Mathf.Round(float f)メソッドは、最も近い整数に値を丸めます。もし丸める値が中間点(例: 3.5)の場合、偶数に丸められます(例: 4)。
  • 実例:
    • 入力: Mathf.Round(2.3f) → 出力: 2
    • 入力: Mathf.Round(3.5f) → 出力: 4(中間点は偶数に丸められる)
    • 入力: Mathf.Round(-2.7f) → 出力: -3

Mathf.Ceil

  • 概要: Mathf.Ceil(float f)メソッドは、与えられた値を超える最小の整数に丸めます。
  • 実例:
    • 入力: Mathf.Ceil(2.3f) → 出力: 3
    • 入力: Mathf.Ceil(-2.7f) → 出力: -2(負の値ではより大きい整数に丸められる)

Mathf.Floor

  • 概要: Mathf.Floor(float f)メソッドは、与えられた値以下の最大の整数に丸めます。
  • 実例:
    • 入力: Mathf.Floor(2.8f) → 出力: 2
    • 入力: Mathf.Floor(-2.8f) → 出力: -3(負の値ではより小さい整数に丸められる)

この表は、UnityのMathfクラスにおけるRound, Ceil, FloorおよびそれらのToIntバージョンのメソッドが異なる数値にどのように作用するかを示しています。特にMathf.Roundは中間値(.5)を最も近い偶数に丸めることに注意してください。。

入力値 Mathf.Round Mathf.Ceil Mathf.Floor
-3.5 -4 -3 -4
-2.8 -3 -2 -3
-2.5 -2 -2 -3
-2.3 -2 -2 -3
2.3 2 3 2
2.5 2 3 2
2.8 3 3 2
3.5 4 4 3

まとめ

これらのメソッドは、ゲーム内のスコア計算、位置調整、時間管理など、さまざまな場面で活用できます。それぞれのメソッドの違いを理解し、適切な場面で使用することが重要です。Unity開発におけるこれらの基本的な数学関数の理解と適用で、より洗練されたゲームを作成しましょう。