2012年7月27日金曜日

しってると便利な小技系関数

知っとくと意外と得する関数について今日は紹介していきます。

GameObject.SetActiveRecursively(bool)
あるゲームオブジェクトおよびそのオブジェクトの全ての子オブジェクトをアクティブor非アクティブにすることができる。
➡複雑な階層構造のオブジェクトをまとめて非アクティブにする際に便利です。

GameObject.GetComponentInChildren(Type)
あるゲームオブジェクトの子オブジェクトから指定のコンポーネントを取り出す。
➡GetComponent"s"にすることで複数あった場合にまとめて取得することが出来る。こちらも階層構造になっているオブジェクトを扱うときに便利。

Mathf.Rad2Deg Mathf.Deg2Rad
値を度数法と弧度法でそれぞれ変換する
➡ angle = radian * Mathf.Rad2Deg のように使用する。この場合は弧度法から度数法へ変換したことになる。

Mathf.PingPong(float t , float length)
0〜lengthの値をピンポン球を床に反発させているかのように行き来させた値を取得することが出来る。
➡サンプルにもあるが hoge = Mathf.PingPong(time.deltaTime . 10.0); のように使用するこの場合 hoge には0~10.0までの値が入る。

Lerp(Hoge fuga1, Hoge fuga2 , float rate) Slerp(Hoge fuga1, Hoge fuga2 , float rate)
Lerpは線形補完、Slerpは球面線形を補完を行い、rateの比率分だけ進んだ値を返す。
➡Lerpでは二点を直線的に結び、Slerpは曲線でなめらかに結ぶ。Vector3やQuaternionなど様々な型で用意されている。例えばLerp(v1,v2,0.5)ではv1とv2の中点が取得できる。

ほかにもたくさん便利な関数が用意されています。
本日は眠いのでここまで。後日またまとめていきます。



0 件のコメント:

コメントを投稿