セカンドライフではアニメーションをロードして使用することができます。
アニメーションの形式は、bvhというファイル形式で
例えば、QAvimator というフリーソフトで作ることができます。
今回は、QAvimator の適当な使い方と、テクニック?を紹介します。
Avimator です。 Animator ではないので注意。
紹介には、Release Version 0.1.0 (394) 2014-06-16 のバージョンを使っています。
プログラムに、アニメーションを入れることはよくあると思いますので、
QAvimator の簡単な使い方は知っておくといいですよ!
テキトー講座
開くと、こんな感じのウィンドウが表示されます。
見るとわかると思いますが、キーフレームアニメーションと呼ばれるものです。
だいたい見た感じ雰囲気で触われると思います。
・左上がプレビューです。ここをクリックして動かす箇所を選びます。
・左下キーフレーム関連です。例えば、ある時間でhipだけ回転を設定すると、
hipのキーフレームの箇所に目印がつきます。
・右上の Rotation で回転方向を操作します。人間が動かせる範囲で制限がかかっています。
Options -> Joint Limitsで制限を外すこともできます。
・右下の Position は「アバターの全体座標」の座標を設定できるのですが、
なぜか読込すると情報が消えてしまいます><でも保存はうまくいきます!
・Loop In Loop Out などは、どのフレームからループさせるかという設定ですが、
セカンドライフに読み込むとこの情報は消えるので設定しなくていいです!
・Frame はフレーム数の設定で、FPS は、1秒当たり何フレームから構成させるかです。
たとえばですが、これは5フレーム目にバンザイのアニメーションをいれました。
こうしておけば、1フレーム目から5フレーム目まで、だんだんとバンザイしていきます。
そして、5フレーム目から最後までは、バンザイし続けます。
なお、見るとわかると思うのですが、キーフレームの位置に▲のマークがあります。
これは、その箇所にローテーションの設定をしたということです。
ちなみに▲が入っていない個所は、ローテーションの設定をしていないので、フリーという形になります。
例えばですが、これをセカンドライフにアップロードした場合、
フリーの部分は元のアニメーションが使用されます。
もしほかの場所も強制的に動かしたくなければ、1など適当な数値を入れておく必要があります。
また、注意点としてこれをアップロードすると、
バンザイはするのですが、フレームが最後までいくと、アニメーションが終わります。
つまり、もとの状態に戻ってしまいます。
上のがセカンドライフに実際にアップロード一歩手前の状態です。
もしも、ずっとバンザイをさせようと思い、ループを設定したとします。
しかし、ずっとバンザイしません。それは、ループの際に1フレーム目に戻るのですが、
1フレーム目は直立不動のキーフレームになっていたのでうまくバンザイし続ける感じにならないのです。
(もしかしたら私の方法が誤っているだけかもしれません。)
というわけで、全体のフレーム数を2つにして、
2フレーム目にバンザイを設定しましょう。
あとは、アップロード時に「ループ」にチェック。
優先度を最高にすればできあがりです。
ところで、たくさんフレームをつなげていくこともできます。
もちろんこのキーフレームの間も、キーフレームから補完された動きをします。
同じような動きをさせるときは、コピーやペーストを活用しましょう。
フレームをつなげたものを無限ループさせたいときも、
先ほどと同じように2フレームに、無限ループの最初のキーフレームを持ってきます。
そして最後のフレームに、無限ループの最初のキーフレームを持ってきます。
あとは、bvhで一度保存して、bvhで開いて※最後のキーフレームを消去しましょう。
ループすれば、最初のキーフレームが再生されるためです。
※bvhで開きなおした理由は、途中のフレームが全てキーフレーム化するからです。
追記 2014/12/18
アニメーションのループ方法の正しい指定方法が分かりました!!
セカンドライフのアップロード時に
「イン」と「アウト」という箇所がありまして、
ここがループ設定に相当するようです。
アニメーション・ポーズの作り方 を参考
つまり、2フレームに持ってくる必要はなかったようです!
ブログには誤った情報もあるということですね。皆さん気をつけましょう。
スミマセンデシタ
テクニック講座
QAvimator の基本形式である avm ファイルをひらくとこんな感じです。
このファイルの内容は、セカンドライフ用の bvh のファイル形式と似ています。
上のところでボーンの設定がされています。
例えば、一番上に Xposition YPosition …とずらーってかいてあります。
それで、下のところに数値がfloat型で並んでいます。
これ、各行がフレームになっています。
1行の中に書いてある数値は、上にあった XPosition の値や、Xrotation の値なのです。
恐らくですが、数値の順番は、上に書いてある定義の順番です。
0.000000 43.52852 0.000000 0.000000 0.000000 0.000000
それでなんですが、ここの最初の6つの数値は、hip の
CHANNELS 6 Xposition Yposition Zposition Xrotation Zrotation Yrotation
に相当しているみたいなんです。
ということは、ここの位置をたとえば別のツールなどで作成すれば、
例えばランダムに揺れるといったアニメーションや、
一周ぐるーってまわるようなアニメーションが作れたりします。
最後はちょっとなげっぱなしになりましたが、以上!
コメント