名古屋でアプリ・VR開発を行っています
ワクワクできるゲームをガンガン開発リリース中!

個人的に便利だったMathfクラス!

どうもカワウソです。

 

今回はMathfクラスを紹介したいと思います。

 

まずMathfクラスとは何なのかというと、簡単に言うと計算してくれる便利な関数のことです。数字を入れるだけで計算結果を返してくれます。

Mathfクラスはたくさんあるのですがカワウソが個人的に便利だと思ったいくつかを紹介していきたいと思います。

 

まずは基本的な切り上げや切り捨てなどは良く使いますね。

 
float Floor=Mathf.Floor(1.2f);  //切り捨て
float Ceil=Mathf.Ceil(1.2f);    //切り上げ
 
これで結果はFloor=2、Ceil=1になります。
 
他にも数値を制限するものも良く使います。
 
float Lerp=Mathf.Lerp(10,30,Time.deltaTime);//10~30で線形補完する
float Clamp=Mathf.Clamp(10 , 30 , Time.deltaTime);//10~30の中で数値を出す
float Clamp01=Mathf.Clamp(Time.deltaTime);//0~1の中で数値を出す
 
 
Lerpだと3つ目の引数は0~1の範囲で指定して一番目の引数を0、二番目の引数を1として三番目の引数の位置を出してくれます。これだと滑らかに数値を変えることができます。
Clampは1つ目の引数と2つ目の引数の間の数字までしか出したくない時に使います。3つ目の引数がその数字を上回ったり下回ったりした場合でも1番目と2番目の間の数字しか出ません。
Clamp01はClampとほぼ同じですが、0~1までの制限の時に使います。Lerpと組み合わせても便利かもしれません。
個人的にはプレイヤーのスピードを制限したり一定の動きをするときによく使います。
 
よく使うかは分からないですが、ややこしい外積内積などもMathfがやってくれます。
 
float Cross=Mathf.Cross(new Vector3(1 , 0 , 0),new Vector3(0 , 1 , 0));   //外積
float Clamp=Mathf.Dot(new Vector3(1 , 0 , 0),new Vector3(0 , 1 , 0));  //内積
 
 
敵の索敵など範囲を指定したいときによく使います。
1から外積計算や内積計算などするのは複雑だし面倒なので、個人的に簡単にできてとても素晴らしいです。
 
他にもたくさん便利なMathfクラスがたくさんあるので有効活用して、時短できる部分は時短していきましょう!
以上、カワウソでした!