はなちるのマイノート

Unityをメインとした技術ブログ。自分らしくまったりやっていきたいと思いますー!

【Unity】Voxel ImporterでVoxelキャラクターにアニメーションをするまで

はじめに

今回はVoxel ImporterでVoxelキャラクターにアニメーションするところまでやっていきたいと思います!


下準備

空のゲームオブジェクトを用意し、Transformの値を全て0にします。(Scaleは全て1)

f:id:hanaaaaaachiru:20190126222812p:plain


また最後にPrefabにするので、今のうちに名前を好きなものに変更しておきましょう。

f:id:hanaaaaaachiru:20190126222925p:plain

VoxelSkinnedAnimationObjectの設定

VoxelSkinnedAnimationObjectを先ほど作成したゲームオブジェクトにアタッチ。

f:id:hanaaaaaachiru:20190126223454p:plain


そうしたら、Tポーズをしているvoxかqbファイルを下の図を参考にしながら読み込みます。

f:id:hanaaaaaachiru:20190126223539p:plain


さすがにそのままではサイズが大きすぎるので、適切なスケールに変更。
私の場合はXYZをそれぞれ0.07にしました。

f:id:hanaaaaaachiru:20190126224039p:plain


ここで実験のためにTransformのPositionが全て0であるCubeを配置してみましょう。
もしかしたら下図のように原点から誤差が生じている可能性があります。

f:id:hanaaaaaachiru:20190126224838p:plain


これの対処法として、Import OffsetのFeetを選択します。

f:id:hanaaaaaachiru:20190126225056p:plain

f:id:hanaaaaaachiru:20190126225141p:plain

Boneの作成

つぎにボーンを作成していきましょう。
AnimationのCreate→VoxelImporter→Scripts→Editor→BoneTemplates→Minimum Humanoid .assetを選択します。

f:id:hanaaaaaachiru:20190126225839p:plain


するとVoxelのゲームオブジェクトにHipsという子オブジェクトが生成されていると思います。
このHipを選択し、インスペクターのEdit Bone Positionをクリック。

f:id:hanaaaaaachiru:20190126234839p:plain


あまりにボーンが大きすぎるので、Scaling Allの値を0.5にした後に適切な大きさになるまでApplyをクリックします。

f:id:hanaaaaaachiru:20190127000503p:plain

HipsのTransformのPositionを変更することでモデル全体を移動させることができます。
半透明なモデルを参考にしながら腰の位置を合わせた後、Refreshを押しましょう。

f:id:hanaaaaaachiru:20190127001252p:plain


同様にSpine→Head→LeftUpArm→LeftLowerArm→LeftHandといったように、ヒエラルキーの上位から位置を設定しましょう。

f:id:hanaaaaaachiru:20190127002103p:plain

f:id:hanaaaaaachiru:20190127002120p:plain

Weightを設定する

ボーンが作成できたので、それに合わせたWeightを設定しましょう。
まずEdit Bone Weightをクリックします。

f:id:hanaaaaaachiru:20190127002254p:plain


これも同様にHierarchy上位から設定していきます。
Hipsは設定不要なので、最初はSpineからいきたいと思います。
Vertex→Rect→=だとやややり易い印象を受けました。

f:id:hanaaaaaachiru:20190127002923p:plain

f:id:hanaaaaaachiru:20190127003349p:plain


ちゃんとWeightができているかどうかは適宜Edit Bone Animationで確認しましょう。

f:id:hanaaaaaachiru:20190127003631p:plain


自動で右をやると左も設定してくれることに注意してください。
これを一通り全身にできたら、Weightの設定は終了です。

Animation TypeをHumanoidに変更する

Animation TypeをHumanoidに変更しましょう。

f:id:hanaaaaaachiru:20190127005559p:plain

Prefabを作成する

プロジェクトビューにドラッグアンドドロップをすればPrefabが作成できます。

f:id:hanaaaaaachiru:20190127005857p:plain

さいごに

かなり長くなってしまったので、アニメーションの作成は次にまわしたいと思います。

hanaachiru.hatenablog.com


ただ既存のアニメーションはもう動かせるようになっているので、気になるかたは試してみてください!