MayaScripts_TimeJumper : 任意の時間をリマインドする。
Maya2020辺りですかね、TimeSliderBookmarksっていう機能ができましたよね。
あれ、便利なんですけど、自分にとってはちょっと多機能すぎるんすよね。
純粋にアニメーション中の特定のフレームをリマインドできればいいなと思うことが多々あります。
そんな隙間を埋めるものを作りました。
TimeJumper
仰々しい名前ですが、UIに記述した特定のフレームへのジャンプを簡単にするものになります。
ダウンロード
使い方
ダウンロードしたファイルから、TimeJumperフォルダを以下の場所に配置してください。
C:\Users\"ユーザー名"\Documents\maya\scripts
実行するには以下の2行。
import TimeJumper
TimeJumper.main()
実行すると下図のようなウィンドウが立ち上がります。
- テキストフィールド
- ここにリマインドしたいフレームを記述できます。
- 「0,10,15」みたいにカンマで区切って入力してください。
- その後、Enterを叩けば入力内容が以下の処理で整理されます。
- 値のソート、無効な文字列の除去等
- また隣のチェックボックスにチェックを入れると、入力内容をロックできます。
- Clear
- 入力内容を抹消します。
- 左右の不等号記号ボタン
- 現在の時間を基準として、入力内容の値の時間に飛びます。
- Nearestボタン
- 入力内容から現在の時間にもっとも近い時間に飛びます。
このようにボタンを用意しているんですが、基本的には下記のコードを適当なホットキーに登録して使う前提です。
- UIを立ち上げます(既に立ち上がっていれば、Nearestボタンを押した時と同様の機能が働きます)
import TimeJumper TimeJumper.main() # UIを立ち上げない場合はこっち import TimeJumper TimeJumper.jumpToNearest()
- 左右の不等号記号ボタンを押した時と同じ機能が働きます。
# > import TimeJumper TimeJumper.jumpToNext() # < import TimeJumper TimeJumper.jumpToPrev()
設定用ノード
UIに入力した内容は、シーン内に生成される「okTimeJumperSetting」というTransformノードに保存されます。
設定内容を完全に破棄してシーンを綺麗にしたい場合は、UIを閉じてこのノードを削除してください。
更新履歴
ver 1.1
Lock機能を追加。ver 1.0
配布開始。
余談
- アニメーションの途中からループになる。
- 任意フレームのポーズが他のアニメーションデータに繋がるポーズである。
等々、編集中に無意識変えてしまうとマズいフレームが存在していることって結構あります。
とは言え、編集中はアニメーション作業に没頭したいので、そういう面倒事を意識したくないんですよ。
編集中のふとしたタイミングで実行して、登録したフレーム位置にジャンプし、「あぁそうそう、ここは編集しないよう気を付けなアカンね」って具合です。
TimeSliderBookmarksで全然代用可能なんで、この思想に共感できない方は素直にそっちをお使いください。