Skip to content

malaybaku/AnimationClipToVrmaSample

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AnimationClipToVrmaSample

ヒューマノイドのモーションからなるAnimation Clipを VRM Animation (.vrma) に変換するプロジェクトです。

※この方法で変換した.vrmaファイルには何かしらの形でモデルの骨格情報が埋め込まれます。このことに関連して、とくに.vrmaファイルの再配布を検討している場合、このREADMEを必ず最後まで読んで下さい。

Sample Project to convert AnimationClip asset to VRM Animation (.vrma) in Unity.

*The document below is in Japanese, except Notice about License section. If you want to redistribute .vrma file, you also MUST understand what is written in Notice about VRMA file redistribution section in addition to the license section.

Install

  • Projectを丸ごと使う場合:
    • このレポジトリ自体をcloneし、プロジェクトとして開く
  • 既存のプロジェクトに変換用の処理を導入する場合:
    • 使用中のプロジェクトにUniVRM 0.115.0を導入
    • Releasesページのunitypackageをダウンロードしてプロジェクトに追加

Usage

必要なもの

  • Humanoid向けにセットアップされたAnimationClip
  • (変換方法2でのみ必要) AnimationClipの再生に用いる人型アバター

以下のことにも留意してください。

  • AnimationClipは単独のファイル、またはFBXファイル等の一部として含まれるデータのいずれかの形で準備します。
  • AnimationClipの再生に用いる人型アバターがVRMの場合のみ動作確認していますが、VRM以外のモデルでも動作する想定です。
  • プロジェクトをcloneした場合、AnimationClipとアバター双方のサンプルを同梱しています。
    • 同梱しているアバターはVRoidのモデルであるため、後述のライセンスも参照下さい。

変換方法1: AnimationClipの右クリックから変換

プロジェクトビュー上でAnimationClipアセットを右クリックしてVRM/Convert to VRM Animationを実行することで、モーションを変換した.vrmaファイルを出力します。

Right Click on Clip

この方法ではVRoidのサンプルモデル骨格をリファレンスとした.vrmaが出力されます。 この出力で得られる.vrmaを使ってみて見た目が問題ない場合、この手順は簡便に利用できます。

変換方法2: VRM Animation Exporterウィンドウから変換

メニューバーからVRM/VRM Animation Exporterを選択してVRM Animation Exporterウィンドウを表示します。 表示後、次のように指定します。

  • Avatar: アバターのprefabで、Animatorコンポーネントを含むもの
  • Animation: 変換したいAnimationClip

その後、Exportボタンを選択することで .vrma ファイルを出力します。

VRM Animation Exporter Window

この手順ではVRM Animationに紐づくアバターを自由に指定できます。 「特定アバターでのモーションの再現度を高くしたい」という場合、この手順を使用します。

変換後のVRM Animationが正常に動作する事を確認する方法

VRM Animationの適用対象にするアバターのVRMを用意し、UniVRM 0.115.0のサンプルパッケージを導入します。

*本レポジトリでは上記パッケージに含まれるVRM10_Samplesフォルダをgitignoreの対象としています。

パッケージの導入後、VRM10_Samples/SimpleVrma/SimpleVrmaシーンを開いて実行し、アバターと.vrmaファイルを読み込んで動作を確認します。

この手順では.vrmaファイルに埋め込まれたアバター骨格に基づくモデルも表示されますが、これはBoxManチェックをオフにすることで非表示になります。

Check VRM in Sample Scene

Notice about VRMA file redistribution

.vrma ファイル内には、アニメーションの再生を実行したモデルのHumanoidボーンの骨格情報が埋め込まれます。

このことに基づき、とくにVRM Animationファイルの再配布時は次のことに留意してください。

  • VRM Animation Exporterウィンドウに指定するアバターモデルについて、モデルの再配布が許可され、かつクレジット表記が不要であるようなモデルを用いることを検討して下さい。
  • .vrmaファイルの出力時にどのモデルを使用したかについて記録を取っておくことを検討して下さい。

ただし、この注記は本レポジトリ自体のライセンスではありません。

Notice about License

  • Assets/Model_VRoidSampleA フォルダ内のファイルはVRMファイル自体のライセンスに従います。

  • Assets/AnimationClipToVrma/Scripts/Editor/AssetCommands フォルダ内のコードは上記モデルの骨格情報に相当する値をハードコードしているため、この値をそのまま使う場合も上記モデルのライセンスに沿ってご使用下さい。

    • この注意書きは変換方法1: AnimationClipの右クリックから変換の方法を使う場合に関するものです。
    • VRM Animation Exporterウィンドウを使って.vrmaを取得する場合、この数値は使用されません。
  • 上記を除くリソースのライセンスはLICENSEファイルに従います。

  • Model data in Assets/Model_VRoidSampleA has own license based on VRM data format.

  • The scripts in Assets/AnimationClipToVrma/Scripts/Editor/AssetCommands contain the hard-coded bone poses data of the model above.

    • This note is about when you create .vrma file by the way in 変換方法1: AnimationClipの右クリックから変換 section.
    • When you use VRM Animation Exporter window, the convert process does not use those scripts.
  • Other resources in the repository is licensed according to LICENSE file.

For Developer: Update Model_Value.cs content based on another model

変換方法1: AnimationClipの右クリックから変換で参照している骨格情報を他のアバターのものに書き換えるには次のようにします。

  • このプロジェクトをcloneします。
  • 書き換えに使いたいアバターのprefabをプロジェクトビュー上で右クリックし、VRM/Util/Export Bone Pose Script Fragmentを実行します。
    • この操作によって、デスクトップフォルダにbone_literal.txtファイルが保存されます。
  • ReferenceHumanoid_Value.csを開き、Pose値が書かれている箇所をbone_literal.txtの内容で上書きします。

現行実装では、書き換えに使うアバターの条件として、(Jaw以外の)任意ボーンを含む全てのHumanoid用ボーンが備わっていることを想定しています。

About

Sample Project to Convert AnimationClip to VRM Animation (.vrma) in Unity

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages