名前 | サイズ | Rev. | 日時 | 作者 | ログメッセージ |
---|---|---|---|---|---|
![]() |
|||||
![]() |
|||||
![]() |
76 | d799430 | 2013-09-04 02:35:52 | HMML | Add Makefile to generate dist archive. |
![]() |
1.73 k | 794fa5a | 2013-08-21 09:57:08 | HMML | Initial version. |
![]() |
74 k | d0a41e8 | 2013-11-10 06:08:41 | HMML | Fix enter key action to keep interpol... |
![]() |
279 | 3cf14dc | 2013-11-09 19:53:08 | HMML | Update readme, version. |
![]() |
6.11 k | d562286 | 2013-11-12 18:44:21 | HMML | Fix container resize issue! (#50058) |
多くの 3D ソフトウェアには、グラフエディタと呼ばれる、移動量や回転量を時系列グラフに表示し、それを直接編集できる機能があります。これは一見初心者向けではないのは確かなのですが、3Dモデルの動作が多少複雑になってくると、どのように動いてるのかを把握するためにとても便利なツールです。
と言うわけで、MMM (or MMD) にも何とかしてグラフエディタ欲しい! と思って実装してみた物がこれになります。
MMM Graph Editor はボーンの移動と回転の絶対値をグラフにして表示し、編集できるものを目指しています。少なくとも現時点ではモーフやプロパティなど、ボーン以外の変化を扱う予定はありません。
このプラグインはMMMをクラッシュさせる可能性があります(後述)。注意して使ってください。
キーフレームの移動と回転をグラフでプロットし、編集することができます。 グラフはポイントを掴んで直接編集することができます。ただし、回転の編集は一応できるようにはなっていますが、問題が多く、使わないほうがいいです。こは多分(一部のバグを除き)どうしようもありません。
ダウンロードした zip ファイルから DLL を取り出し、 MMM の Plugins フォルダに入れて下さい
MMM を起動し、編集を始めたらプラグインのボタンから 「Graph Editor」を有効にする
プラグインタブを下側などドックして同時に表示しておくと便利です
濃い色でマーカーが■のものが移動グラフ (Global座標で、もとの位置からの移動オフセット)
薄い色でマーカーが●のものが回転グラフ (ボーンの初期ローカル軸に関する回転角度) グレーのラインで半回転です。下側のグレーのラインに達すると、上から出てきます。逆もおなじ。
グラフ上で右ドラッグすると移動
グラフ上でホイールを回すと拡大縮小
グラフ上のマーカーマウスでポイントして、黄色い丸でハイライトされるものは左ドラッグで動かせます。即時反映。(現在UNDO不能,他にも制限あり)
フレーム番号のルーラー上でクリックするとそのフレームに移動
左の操作ボタン
C をおすと、現在のマーカー位置にジャンプします
+ - ボタンで拡大縮小
グラフ上での編集を on/off できます (M:移動, I: 移動補完, R: 回転)
それぞれの回転と移動のボタンでグラフの表示/非表示を切り替えられます
下の方にラジオボタンは、回転軸の決定順を示しています。グラフが変な時は切り替えてみて下さい。
グラフ上で有効なショートカットキー
左右矢印: 他と同じくマーカーを1つずつ移動します。
Enter: 現在のマーカー位置にキーフレームを打ちます(現在UNDO不能)
C: 現在のマーカー位置にジャンプ
MMMが落ちることがあったら、多分、このプラグインのせいです。特に、編集中に別のファイルを開くと起きます。もしかしたら解決できるかもしれませんが、このプラグインはMMMのプラグイン仕様上非推奨な内部仕様になっているため、どうしようもないのかも。
グラフエディタ側からマーカー位置を動かすと、タイムライン表示がおかしくなります(マーカーと実際のキーフレームの表示がずれます)。タイムラインを少しでもスクロールすると正常にもどります。
グラフ上での操作は、現在のところ一切 Undo できません。MMM 本体の Undo バッファに入らないからですが、多分方法はありません。
グラフ上でキーフレームを編集した場合、マーカが編集対象のキーフレーム上にある場合 のみ 実際のモーション表示に即時反映されます。マーカがキーフレームとずれている場合は、一度でもマーカを移動すると反映されます。カレントモーションをリセットする方法がわからないため対応できずにいます。
MMD は回転をクオータニオンで管理しており、オイラー角へ一意に変換できません。
そのためとりあえず軸の回転順の選択肢が3つ用意してあります。全ての場合で、2番目の軸は±90度に制限されます。
この変換されたオイラー角は全く直感的で無いかもしれませんが、とりあえず回転が滑らかかどうかを判断する事はできます。逆に言えば、その程度しか役に立ちません。
回転編集はローカル座標で行われますが、変換の関係で、編集対象ではない軸まで回るように表示されるケースがあります。これを避けるには、回転順の選択で、最後が編集対象の軸になるものを選んで下さい。
現状グラフの縦軸の単位はありません。移動、回転でそれぞれ相対値で見て下さい。移動と回転でスケールは違います。
出来る範囲で対策はしていますが、結構重いです。これは主に、画面更新ごとに表示される全てのキーを再プロットしているせいです。特に回転のプロットはコストが掛かり、回転表示を全部 off にすると少し軽くなります。
Apache License 2.0 ( http://sourceforge.jp/projects/opensource/wiki/licenses/Apache_License_2.0 )
@gull08 on Twitter ( https://twitter.com/gull08 )