UnityのTimelineでオブジェクトを回転の値をいじれなくなってしまった。
UnityのTimelineでオブジェクトを回転させようとすると回転できなくて悩んでいたが1段階解決したのでメモを残したいと思います。(全部は解決してないので情報があったらTwitterなどで教えていただければ喜びます。)
※実際は回転はしているが表示が変わらず理解ができていなかった。
発起について
映像アニメーションを作りたいと思い「Davinci Resolve」でやろうと思ったのですがカメラ外描画の仕方がわからず断念しUnityで作成しようと思いました。
UnityのTimelineという機能があることは知っていてUnity内のアニメーションコンポーネントまとめられる的なイメージがあったのでTimelineで作成することにしました。
ですが回転で躓いてTimelineが嫌いになりましたw
回転でつまずいた。
Timelineでオブジェクトを回転させ移動させるためには録画ボタン(赤い丸いボタン)を押して座標を記録するわけですが回転を変えても数値が変わらず表示についても理解できない状態になってしまいました。
一例ですが0°~720°まで回転させたい場合、インスペクターで0~720を指定すればいいのですが1フレーム目に戻ると表示が720°になっており720°~720°になってしまいました。
回転してないやんけ!と思いたいのですが目視だとちゃんと2回転していますのでデータはちゃんと保持していることがわかります。
Unityの機能でインスペクターの回転の部分を右クリックすると内容をコピーすることができます。なので実際にコピーした値が下記になります。
Vector3(0,0,0)~Vector3(0,0,0)
Quaternion(0,0,0,1)~Quaternion(0,0,0,1)
回転してないやんけ!となりますw
なぜこうなるのかわからないです…(泣)何回転してるか数値では確認できない状態になってしまいす。
ただカーブビューで確認したりアニメーションウィンドウで編集をクリックすることで確認することはできます。
Unityの性質上回転は
- 0~360表記
- -180~180表記
などがありオイラー表示やクォータニオン表示があるのも理解しています。
なので0°=360°であり0°=720°なのも理解できますが720°~720°で2回転する理由がわかりません。
Timelineに直接クォータニオンを入力することはできないし正直困っています。
先程の0°~720°(表示 720~720)のオブジェクトの回転を早くしたいと思います。
なので720°に180°足して900°の2回転半にしたいと思い900と入力すると0°~900°(表示 720~900)になります。ちゃんと2回転半します。
※コピーしたときの値はVector3(0,0,179.999908)
もう一回180°足して1080°の3回転にするために1080°と入力すると0°~1080°(表示 1080~1080)になり3回転します。
足しても引いても回転が早くなっているのか遅くなっているのかよくわからない状態になってしまいます。
とりあえずの解決?方法
左上にあるプレビューボタンで解除しもう一回プレビューをオンにすると-180°~180°表記統一されます。(泣)
何回転しているかはインスペクター上で確認はできないので
- 実際に目視で何回転しているか確認する(メンドい)
- カーブビューで確認する(数字は表示されないし現在が何回転してるかも分かりづらい)
- アニメーションウィンドウで確認(いちいち別ウィンドウを開かなくてはならないしデフォルトで回転の数字が表示されない)
この方法で確認したり変更したりしましょう。(泣)
2回転なら0~720って表示してほしかったです。これって問題があるのかな…
コメント