Skip to content
Unityエディタ上でVRIKなどのモーションキャプチャをしたHumanoidキャラクターのモーションを記録, 再生をするスクリプト
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
EasyMotionRecorder/Assets
.gitignore
LICENSE.txt
README.md

README.md

license release

EasyMotionRecorder

Unityエディタ上でVRIKなどのモーションキャプチャをしたHumanoidキャラクターのモーションを記録, 再生をするスクリプトです。

例えばVTuberの人が1テイク目でキャラの動きだけを撮り、2テイク目以降で1テイク目のモーションを再生しながら音声と表情を付ける、という使い方を想定しています。

使い方

releasesからEasyMotionRecorder.unitypackageをダウンロードしてプロジェクトにインポートしてください

Setup手順

  1. モーションキャプチャ対象のキャラクターをHumanoidにしておく。OculusTouchやViveコントローラ、あるいはAxisNeuronやKinectの動きがエディタ上で反映されているシーンをセットアップする。

  2. シーン上に/Assets/EasyMotionRecorder/Prefabs/EasyMotionRecorder.prefabを配置する。

  3. 1.でシーン上に配置したEasyMotionRecorderにアタッチされているMotionDataPlayerコンポーネントおよびMotionDataRecoderコンポーネントのAnimatorにモーションキャプチャ対象のキャラクターをアタッチする。

モーション記録

  1. Unityエディタ上で実行して、Rキーを押したタイミングからモーションキャプチャデータを記録、Xキーでファイル書き出しをして記録を終了します。

  2. /Assets/Resources/の中にRecordMotion_2018~~~ ファイルが生成されていればモーション記録が成功しています。

モーション再生

  1. エディタ実行前にモーション録画で生成したファイル(RecordMotion_2018~~~ )をシーン上に存在するEasyMotionRecorderゲームオブジェクトのMotionDataPlayerコンポーネントのRecordedMotionDataプロパティにアタッチします。

  2. Unityエディタ上で実行して、Sキーでモーションデータの再生開始が行えます。モーションデータの最後に到達するか、Tキーでモーションデータ再生が終了します。

おすすめの使い方(.animファイル書き出し)

モーション記録して生成されたRecordMotion_2018~~~ ファイルを選択、インスペクタ上で右クリックして「Export as Humanoid animation clips」を選択するとAnimationClipに変換されます。

変換後のAnimationClipはHumanoid準拠のモーションとしてMecanimAnimatorやUnityTimeline上で扱うことが出来ます。

もし床にキャラクターが沈んでしまう場合はHumanoidのAnimationClipにあるRoot Transform Position(Y)をBased Upon:Originalに変更してください。
export_gif

FAQ

使っているとUnityが重い

申し訳ありません、録画中の処理負荷は多少増えます。

使うショートカットキーを変えたい

インスペクタ上のEasyMotionRecorder内、MotionDataRecoderとMotionDataPlayerでキーを選べるようになっています。

長時間記録しているとUnityが落ちた

素朴な実装を行っているため記録中は常にメモリを食い続けます。

もし長時間の記録が必要であればメモリの増設をお勧めします、10分程度でしたら問題ありません。

モーションを再生しているときにスカートや髪が揺れない

スクリプトの実行順を変更してください。

SpringBone, DynamicBone, BulletPhysicsImplなど、揺れ物アセットのScript Execution Orderを20000以上に設定してください。

再生開始フレームを指定したい

MotionDataPlayer内のstartFrameで再生開始フレーム指定が可能です。

セットアップの説明が分かりづらい

申し訳ありません、セットアップ手順の動画がありますのでご参照ください。

ビルドしたバイナリ上でモーションを記録したい場合はMotionDataPlayerCSV.csなどをご参照ください。

Known Issues

VRIK使用時にキャラクターの立ち位置がズレることがある

VRIKの処理順による問題です、再生開始時の位置を変更することで暫定対処可能です。

動作環境

Unity 5.6.5p2 64bit (Windows)のエディタ上で動作確認をしています。

Unity5.6~Unity2018.2.14f1 での動作実績があります。

公式にはVRIKをサポートしますが、Kinectや各種モーションキャプチャーシステムでの動作も(無保証ですが)動作実績があります。

ライセンス

This software is released under the MIT License, see LICENSE.txt.

(このソフトウェアは、MITライセンスのもとで公開されています。)

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.