主にMMDやBlenderの個人的なメモ用です。一部に成人向けの内容を含みます!未成年の方はご覧にならないでください!

Blender 2.9に標準で搭載されている機能を利用してキーフレームを間引きます。(Fカーブへ置き換える)
※FカーブとはMMDで言うところの補間曲線のこと

このページでは、ニコニ立体ちゃんモデルを利用させてもらいます。
また、同封されている2分ループステップ1.vmdモーションのキーを間引きます。

編集履歴:
20230927: スムーズを使う方法の追記と比較動画の差し替え


キーフレームを間引く方法

BlenderへのMMDモデルの読み込みとモーション適用を済ませたものとして進めます。

MMDモデル/モーションのBlenderへの読み込みなどは【Blender2.9】 mmd_tools 【Addon】をご覧下さい。
※モデル/モーションともに読み込み時の倍率は0.08にしています。


トップバーからAnimationタブを開きます。


画面右の3Dビューから、ボーン(アーマチュア)を選択して[Ctrl]+[TAB]を押してポーズモードにします。
[A]キーを押してすべてのボーンを選択します。

ドープシートを見るとすべてのフレームにキーが全打ちされています。これを間引きます。


左上のエディタータイプをグラフエディターに切り替えます。
Fカーブを個別に選択するか、[A]で全選択します。


左上のメニューアイコンから、キー減量(率)または、減量(変更可)キーフレームを掃除のいずれかを選択してキーフレームの動きをFカーブに置き換える事でキーを間引く事ができます。

次の項目では3つの間引く方法を解説します。

キーフレームを減量

”減量(率)”(比率)
できる限りオリジナルの動きを保ちつつ、指定した値の割合でキーフレームを削除します。(キーフレームが削除される事はあっても移動はしない?)
減量(率)(比率)削除の値0.5オリジナル(元)
左上のメニューアイコンから、キー減量(率)を選択します。
選択直後にマウスを左右に動かす事で削除の値を調整できます。(マウス左クリックで仮確定し、左下のキーフレームを減量オペレーターから削除の値を手動入力する事もできます)

上図の画像は削除の値を0.5にした例です。

次に紹介する、減量(変更可)よりキーが残ったり、値を大きくすると動きが変わりやすいのであまりおすすめしません。
”減量(変更可)”(エラーマージン)
できる限りオリジナルの動きを保ちつつ、容認できる乖離率を指定してキーフレームを削除します。(オリジナルの動きに近づけるためにキーフレームを少し移動させる場合もある?)
減量(変更可)(エラーマージン)値0.01オリジナル(元)
左上のメニューアイコンから、キー減量(変更可)を選択します。
こちらは選択直後にマウスを左右に動かす必要はありません。
キーフレームを減量オペレーターから最大エラーマージンの値を手動入力できます。

上図の画像は最大エラーマージンの値を0.01にした例です。

私が試した範囲では、減量(率)よりもこちらの方が元の動きを保ったまま、より多くのキーフレームを削除できました。

キーフレームを掃除

キーフレームをクリーンアップします。
キーフレームを掃除 しきい値0.01オリジナル(元)
左上のメニューアイコンから、キーキーフレームを掃除を選択するか、Fカーブやキーフレームを選択した状態で[X]キーから選択します。

こちらは上記2つの方法と比べ、キーフレームを間引く方法としてはオリジナルの動きとの乖離が大きくなりますが、値が0であっても不要な(動きに影響を与えない)キーフレームを削除できる利点があります。

例として下図をご覧ください。キューブが0フレームから20フレームにかけて上がっていくアニメーションです。20フレーム以降は空中で静止し、動きません。
オリジナル減量(率)値0.5減量(変更可)値0.1キーフレームを掃除 値0
この例では、キーフレームを掃除の値を0にしていますが、動きに影響を与えない20フレーム以降のキーが削除されています。
一方、キーフレームを掃除以外では(20フレーム以降の)不要なキーフレームまで残っています。

実際にキーフレームを間引いて.vmdとして出力する

上記の例から、キーフレームを間引きたい場合は減量(変更可)を適切な値で実行し、キーフレームを掃除をしきい値0で実行するのが良いかと思います。

実際に2分ループステップ1.vmdモーションのキーを間引きます。


減量(変更可)最大エラーマージンの値0.005で実行します。


キーフレームを掃除をしきい値0で実行しました。


[Ctrl]+[TAB]キーを押してオブジェクトモードへ戻り、MMDモデルのエンプティを選択してサイドバーのMMDからMotion:エクスポートを選択して.vmdとして出力します。
※ボーン(アーマチュア)を選択した状態でも出力できるが、その場合はボーンアニメーションのみが出力される(表情モーフなどはこの場合、出力されない)
※エクスポート時の倍率(スケール)は読み込み時の倍率(スケール)を0.08にしていた場合、12.5にする


出力された.vmdファイルの容量を見てみると約半分になっています。

キーフレームを間引いた後に”スムーズ”をかける

キーフレームを間引きすぎるとモーションがガタつきます。
こういった場合にキーフレームに対して”スムーズ”をかけるとガタつきが軽減されます。(当然ですが元のモーションとの乖離が大きくなります)

"実際にキーフレームを間引いて.vmdとして出力する"で間引いたキーフレームアニメーションに対してスムーズをかけてみます。
※以下の画像はBlender 3.6.4 LTSの物です。ご注意ください。


左上のメニューアイコンから、キースムーズスムーズ(ガウシアン)を選択します。


ガウシアンスムーズオペレーターから係数などのオプションを変更できます。
今回は係数0.500、その他はデフォルトのままで行いました。

比較動画

動画ファイルへのリンク
左は"実際にキーフレームを間引いて.vmdとして出力する"でキーフレームを削減したモーション、中央はデフォルト(キーを削除していない)モーション、右はキーフレームを間引いた後に”スムーズ”をかけるでスムーズをかけたモーションです。
画質の関係で少し分かりづらいですがファイルの容量比で約半分になってもほとんど同じ動きをしています。
タグ

Menu

モデル/アクセサリ/素材など

Blender 2.9 LTS


※下記のページは古いものです

エンコード

コーデック

エンコード/動画編集ソフトウェアなど

その他

サウンド編集ソフト

AD

AD

管理人/副管理人のみ編集できます