SMGほるもんX 2016/03/05 22:09

CF2.5におけるアニメーション速度の検証

皆さんこんばんは艦これ2016冬イベは早々に甲クリアしたらモチベーションが下がってグラーフやプリンや天城をお迎えできなかったSです。

今回は前々から検証しようと思っていたCF2.5のアニメーション速度についてです。
CF2.5はキャラクターアニメーションを再生するのに全体の再生速度のみしか決めることができません。

↓こんな感じ

だからパターンCG1枚ごとにそれを何フレーム表示するみたいな設定はできません。
格闘ゲームみたいにフレーム単位での制御が非常に面倒なのです。
もちろんイベントを組めばそういったことも可能なのですが非常に面倒です。
で、いろいろ調べたらここ
「アニメーションスピード=フレームレートに対するパーセンテージ」
とありました。

はい、なんのことかわかりませんね。

解説読んでもピンときません。
なんとなくわかるんだけどじゃあ制御しろっていわれるとできない程度しかわかりません。
そこでいつも通り自分用サンプルアプリを作成しました。

これです。

要は1フレームごとに再生しているフレームとアニメーションパターンが何周したかを数値で表しただけの単純なやつです。
CF2.5持ってる人はアクティブオブジェクトをいろいろと差し替えてみるといいんじゃないかとおもいます。

では早速検証してみましょう。
60fpsの動作でアクティブオブジェクトのアニメーションはそれぞれ6,12,30,60コマになっています。
計算がし易いように60を割り切れる数にしています。
再生中のフレームの確認はアクティブオブジェクトの編集画面に合わせるために+1しています。
なんで編集画面は1~で再生中のフレーム取得したら0~になるのか謎ですが気にしない。

左がアニメーション速度100で右が50です。

最初1フレーム目


1フレーム目は当然全て1フレーム目を再生中です。

一秒(60フレーム)後

60フレーム目はそれぞれ最終フレームを再生中ですが再生周回数が違います。
スピードが100でアニメパターンが6フレームのものを例にとると
アニメパターンを9周と6フレーム目を再生中ということになります。

61フレーム目

61フレーム目でスピードが100の場合はそれぞれ周回数が増えて再生中フレームは1フレーム目に戻っています。
スピードが50の方は数がおかしいことになっています。
スピード50の方を先に進めてみると

119フレーム目

120フレーム目


121フレーム目

122フレーム目

120~121フレーム目がスピード100の時の61フレーム目と同じになっていますね。
フレーム数にしてちょうど倍です。

以上の事からアクティブオブジェクトのアニメーション速度は100のとき1フレーム:1コマで動いていて速度を落としていけば2フレーム:1コマとかそんな感じに落ちていくという事がわかりました。

「アニメーションスピード=フレームレートに対するパーセンテージ」
というのはそういうことだったのか。

アニメーションのコマ数は関係なくとにかく1フレ1コマを100として割合でスピードが遅くなる、つまり1コマの表示時間が長くなるということですね。
今回は全て6で割り切れる数に統一しましたがそういうことはあまり気にせず作成して問題なさそうです。

例えば5~8フレの間判定発生してその後の戻りモーションが20フレある攻撃を作るとすれば

予備モーション 4フレーム
判定発生モーション 4フレーム(5~8フレーム)
戻りモーション 20フレーム
合計 28フレーム

と考えてアニメーション速度を100として28コマ作ってやればいいということです。
CGは28フレーム全て違うパターンで用意しなくても、予備モーションと判定発生モーションと戻りモーション1枚ずつ用意すれば複数フレームに同じパターンをに貼り付ければ良いので今後なにかと役に立ちそうです。

フレーム単位で制御する場合はスピード100が基本ということですね。




う~ん
これはこれでよくわかったけど一つだけ腑に落ちないことがあります。
美人警察を作成中にアニメーションスピードを早くし過ぎたらコマ落ちしてたんですよね。
この検証結果をみるかぎりでは最高速度である100に設定しても1フレーム1コマは必ず表示されるはずなんですがあれは一体どういうことだったのでしょうか。
その辺りの謎は結局解明されずじまいになってしまいました。
液晶モニターのリフレッシュレートとかの問題があるのかもしれません。
ですが格ゲーとかでフレーム制御が必要なときは有用なデータがとれたので良しとしておきます。
コマ落ち経験された方がいたらコメントいただけると助かります。


話は変わりますがキーコンフィグシステムを組んでみました。
作成中のゲームに組み込んでみてうまくいくようであれば記事にしてみようと思います。

そういうわけで今回はこれまで。
また会う日まで!

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

最新の記事

記事のタグから探す

月別アーカイブ

限定特典から探す

記事を検索