まるコットでメモ的な何か

現在のUnity3D用のBlenderファイル構成

Blender 2.82a
Unity 2020.2.7f1

BlendファイルはUnityのAssets配下に置いても良いが基本的にはFBX出力したモデルを使うのでどこでもよい。

Characters.blend
└┬─Collection 1
 │ ├─CharaA Armature
 │ ├─CharaA BodyMesh
 │ ├─CharaA Wepon1Mesh
 │ └─CharaA Wepon2Mesh
 └─Collection 2
   ├─CharaB Armature
   ├─CharaB BodyMesh
   ├─CharaB Wepon1Mesh
   └─CharaB Wepon2Mesh

Actionは各キャラクターのArmatureオブジェクトにリンクさせている。
(ArmatureオブジェクトにActionがリンクされているかどうかはNonlinear Animationビューの表示で確認できる)
BlenderでのActionの名前被りを避けるためキャラ名アクション名という命名規則にしている。

Nonlinear Animationビューの表示例

CharaA Armature
└┬─[Action Stash] CharaASit
 ├─[Action Stash] CharaAWalk
 └─[Action Stash] CharaAAttack

CharaB Armature
└┬─[Action Stash] CharaBSit
 ├─[Action Stash] CharaBWalk
 └─[Action Stash] CharaBAttack

FBX出力する際、Collectionの有効無効を切り替えることで任意のコレクション内のモデル毎に出力する。

FBXエクスポート設定例

下3つのGeometry、Armature、Bake Animation項目はデフォルトのまま。

コレクションごとに「CharaA.fbx」「CharaB.fbx」といったファイルを出力してUnityに取り込む。
取り込んだモデルとアニメーションをそのまま使う。

この構成のメリットは色々あるけど、長年の試行錯誤と経験から他の構成より安定するという点で採用している。

他の構成の例

  • キャラごとに.blendファイルを分けて.blendファイルをUnityに直接読み込ませる
    • 2キャラの連携アニメーションを作る時に.blendファイルのままだと難しかったので断念
  • キャラごとにアーマチュアとメッシュだけの.blendファイルを作り、アニメーション用の.blendファイルからLink&Proxyを張る
    • アニメーション作ってUnityに出力した時にLinkオブジェクトの名前に勝手に「_L」と付いてドライバで制御するシェイプキーだけがうまく動かなかったり、元データのモデル編集後にリロードしても新規追加したシェイプキーやボーンコンストレイントが読み込まれずに結局LinkとProxyを削除して再度Link&Proxyする面倒臭さに負けて断念

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です