Skip to content

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

License

Notifications You must be signed in to change notification settings

malaybaku/AnimationClipToVrmaSample

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 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をダウンロードして導入するか、またはReleaseページの記述に従って Packages/manifest.json に下記のような参照を設定
    "com.baxter.animation-clip-to-vrma": "https://github.com/malaybaku/AnimationClipToVrmaSample.git?path=/Assets/AnimationClipToVrma/Package#x.x.x",

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: Tポーズになっているアバターのprefabで、Animatorコンポーネントを含むもの
  • Animation: 変換したいAnimationClip

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

VRM Animation Exporter Window

この手順ではVRM Animationにおいてリファレンスとなるアバターの骨格を指定できます。 .vrma の生成と適用に共通のアバターを指定してモーションの再現度を高めたい場合、この手順を使用します。

変換後のVRM Animationの動作を確認する方法

VRoid Hubの撮影ブース機能など、ウェブ上で .vrma ファイルが再生出来る方法も併用できます。この節では、Unity Editorのみで確認する方法の例を紹介しています。

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を実行します。
    • この操作によって、デスクトップフォルダにReferenceHumanoid.csファイルが保存されます。
  • 生成されたファイルの内容を全てコピーし、このプロジェクト上にある ReferenceHumanoid.cs にペーストして内容を差し替えます。

About

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages