シーケンサーでスタティックメッシュを動かす方法
「AllRight Rigを使ってアニメーションを作るには、シーケンサーを経由しないとダメだということで、まずシーケンサーの動かし方を調査する」
妹「それもアニメーション関係のやつだっけ?」
「そうなんだけど、映像作品とか、ゲーム中のイベントシーンみたいなので使いそうなやつ。アクターを動かしたり、カメラを動かしたり。スケルタルメッシュのアニメーションも出来るけど、もともと存在するアニメーションを再生させるだけ」
「で、色々調査したけど、いまいちよくわからないこともあったので、一番簡単なところからやってみる。レベル上にあるなんの変哲もないスタティックメッシュを動かすというのをやってみる」
1・Level Sequenceを作る
「まずLevel Sequence(レベルシーケンス)というのを作る。それを編集するのがシーケンサーだから、これがないと始まらない」
妹「そのレベルというのは、レベルブループリントのレベルなの?」
「そのレベル。レベルシーケンスはアセットだけど、基本的にレベルシーケンスとレベルは紐付いてるから、別のレベルにもっていってもそのままでは動かない。レベルの名前を変えた時もダメらしい。そのへんの話はこの記事に書いてあった」
妹「他で使えないんだったら、最初からレベルブループリントみたいに、アセットじゃなくて中に入れとけばいいような」
「複数のレベルシーケンスを使い分けたり、レベルシーケンスの中に別のレベルシーケンスを入れたり、なんかそういうのをやるための仕組みらしい」
2・トラックの追加
「動かす物はすべて、トラックとして扱われてる。Actor To Sequencerで、動かす物、今回の場合は円柱のスタティックメッシュを追加すればいい」
妹「トラックってどういう意味?」
「それはよくわからない。音楽編集とかでも使われるから、UE4用語っていうよりは、編集関連の用語かなと思う」
「動かすのが1個とかなら手動で追加してもいいんだけど、AllRightRigの場合関節1つ1つがアクターなんで、これをいちいち手動で追加するのは現実的じゃない。というか絶対イヤだったのでもっとズルが出来る方法を探した結果、動かしたアクターを自動でトラックに追加できるという見つかった」
妹「ちゃんとあったんだ」
「一週間ぐらい探したら見つかった。ただ、いまいちわからないのが、エディタの環境設定からじゃないとAuto Trackに設定できないこと。ここを変えるとシーケンサーの鍵マークのとこも変わるから、ここが関係してるのは間違いないんだけど。ここを何回押してもAuto Trackはならない。これも何か方法がありそうだけど見つかってない」
3・キーフレームの追加
「シーケンサーの仕組みはキーフレームアニメーションなので、適度な感覚でキーフレームを置いて、その間は自動的に補完して、なめらかにうごくようになる」
妹「キーフレームアニメーションというのは」
「3Dアニメはだいたいそうなんだけど、妹が知ってるやつでいえばSpriteStudioとかもそう。アクターを動かしても、それをキーフレームとして保存しておかないと意味がない。マウスでクリックしてもいいけど、ボタン小さいし、Enterキーで押すか、Trackの追加と同じで自動でやるのがいいと思う」
妹「線が出てるのが軌道かな」
「キーフレームのとこが少し大きい丸になってて、それがどういう風に補完されるかわかりやすいようになってる。補完方法に関しても設定できるはずだけど、それは今回はやってない。アニメーションの始めと終わりを決めて、とりあえず動いたというのがわかるレベルに」
「1つ注意が必要なのは、なにか動かす時は、動く前の位置もキーフレームとして作っておかないといけないということ。そうしないとゆっくり動かずに最初からそこにあった感じになっちゃうから。これはキーフレームアニメーション全般で注意しとかないといけないこと」
4・レベル上に配置
「これまでの操作はアセットを作っただけだから、これをレベルに配置しないと動かせない。普通のアセットと同じように配置できるけど、場所は関係ない。そして設定もできる。今回はAuto Playにしたから自動再生される」
妹「手動再生はどうやるの?」
「ブループリントでどうにかすれば出来るんだと思う。そのへんはまだ調べてないから、今日は自動で」
5・実行
「プレイボタンを押すと、円柱が適当に動きはじめる。無限ループ設定だから、終点までいくと最初の位置に瞬間移動して、また動き始める」
妹「これは当たり判定もあるのかな?」
「ある。体当たりして動きを止めようとしたけどダメだった。逆に押されるかんじ」
妹「再生中も動けるんだ」
「TPSテンプレートで作ってるから、普通にTPS操作で動かせる。円柱が動いてるだけの状態。だから動けなくして映像を見てもらうなら、動けないようにブループリントとかで設定しないとダメだと思う。あとシーケンサー用のカメラも設定しないといけない。ただ今回の主目的のアニメーション作りには不要」
6・シーケンサーを閉じる
「シーケンサーで動くようにしたアクターには、元々の位置というのがある。シーケンサーでの初期位置とは関係なく」
妹「そもそも、レベルシーケンスを使わない場合もあるわけだよね。作るだけ作って」
「そういうこともある。だから元の位置というのは別にあって、レベルシーケンスを動かした時点でそこに瞬間移動する。ただシーケンサーのウィンドウを開いた状態だと、元の位置がよくわからなくなるので、使い終わったらこのウィンドウを閉じる。そうすると元の位置に戻る」
妹「シーケンサーを開いてる間に動かしたのは、全部リセットされるのかな?」
「そういうわけではなく、動かしたら動かした位置にいくんだけど……シーケンサーのタイムライン上でカーソルを動かすと、それに合わせてアクターが動く場合があって、それを元の位置に戻せる。このへんは何回かやって感覚をつかまないとむずかしそうな部分」
UE4.21では標準でIKが使えるらしい?
「ディスプレイが届いたから色々調整してたりしてたあいだに、4.21のpreview版が出てた」
妹「今回のはなにかいいことが」
「ぱっと見た感じではよくわからなかったけど、」
「実行中にIKを使って、思った位置に指をやるというのが出来るようになってるっぽい。今まではAllRightRigとか、なにかしらのプラグインを使うか、自分で関節の位置計算しないと駄目だったんだけど」
妹「ちょっとズレたところからでも指押せるようになってるね」
「これをIK無しでやるのはむずかしい。ボタンを押そうとしたら所定の位置と向きにワープして、その状態でアニメを再生するとか。あとは多少ズレててもそのまま無視する方式というのもある」
妹「はしごとかで、ちゃんと手がつかめてないやつは見たことある」
「リアルタイムでアクションするやつだとワープ方式は使いにくいから、IKが無理な場合はズレたままにする方が、見た目はともかく遊びやすいんだと思う」
妹「これがあるとAllRightRigというのは要らなくなるの?」
「要らないというほどではないと思うけど。これだけでアニメーション全部作るって感じのものではないし。ただ、簡単にできるらしいし、標準装備だから使いやすい」
妹「じゃあ、空中のとんびが、油揚げを正確につまめるようにするとかもIKなの?」
「それもIKが要りそうな気がするね」
「ただ具体的にどうやるのかはよくわかってない。この記事を見るとアニメーションブループリントにCCDIKっていうノードを使ってるみたいだけど。IKにも色々あって、CCDというのはその方式の名前らしい」
「これを見た感じだと、アニメーションブループリントを使ってるみたいなんだけど、そのへんはよくわかってない。」
液晶ディスプレイがこわれた
「こわれました」
妹「こ、こわれちゃったらどうなるの?」
「画面うつらない。真っ暗。でもパソコンは動いてる」
妹「液タブは?」
「それはついてる。けど、これ1台で済ませるようのやつじゃないからね。長時間見てるのにはちょっとつらいし」
妹「そういう場合はどうしたら」
「まあ、ケーブルの差し直しとか、別のケーブルを使ってつなぐとかで、そもそも故障じゃない説をさぐることになるけど、今回はそれでも動かず、しまいにはディスプレイのへんからプシューという音がしたので」
妹「えええ……」
「これはもう完全に寿命だという結論になった。そしてもう何年も使ってるやつだから保証期間はとっくにすぎてる」
妹「買うしかないのか」
「そうなんだけど、問題はそれが届くまで。液タブとか予備のディスプレイがあれば、それを使えるけど、実は家のテレビもディスプレイとして使えたりする」
妹「テレビなのに?」
「HDMIケーブルでつながるから。プレステとかSwitchとかのゲーム機と同じで。外部入力としてパソコンの画面もうつる。ただパソコンの画面みたいに近い距離で見ることはあんまり想定されてないし、作業用には不向きなんだけど。逆にパソコン用のでゲームをやることもできる」
妹「でもそれだと逆にゲームをやるのに向いてない画面だったり?」
「そういう場合もある。今回は位置的にパソコンを動かすのもテレビを動かすのも大変だからやらないけど、緊急事態ではそういう手もある。あとはまあ、別のパソコンで使ってる画面を持ってくるとか。ところで、そこのパソコン使ってる?」
妹「あ、これはもっていっちゃ駄目」