あーるPG - 社会人のデジタル生活

日曜プログラマになろうかなーと思った30代理系社会人の、キャリアアップや趣味(特にデジタル情報)の記録。らーめんとビールが好き。

オブジェクトを回転させるには。

フランクにインスペクタに載ってるrotation。これをいじるのはなんだか難しい。
positionもそうなのだが、直接x要素などに値を加算できない。Vector3で一気にいじる必要がある。
また、回転は基本的にクォータニオンで制御されているので、Y軸回転だけやろうというのも難しい。

下記ページ曰く、Quaternion.Slerpを使えという話になっている。

ゲームは初心者にやさしく: Unity初心者が学ぶクォータニオンを使ってオブジェクトの回転の修正方法
http://gamesonytablet.blogspot.jp/2012/12/unity_7.html

ので、以下のように書いたらちゃんと回転した。

Quaternion target = transform.rotation;
target.eulerAngles += new Vector3(0.0f, 1.0f, 0.0f); //Y軸回転.
transform.rotation = Quaternion.Slerp(transform.rotation, target, 1.0f); //from, to, 補間パラメータ.