Gakuto1112 / FiguraBlueArchiveCharacters

The avatars for Figura, the skin mod for Minecraft Java Edition, which are imitated characters who appear in "Blue Archive (ブルーアーカイブ)", the game for mobile devices.
https://youtu.be/JrPhLR34mLA
MIT License
25 stars 0 forks source link

死亡アニメーションのモデルの動的生成 #34

Closed Gakuto1112 closed 2 months ago

Gakuto1112 commented 4 months ago

概要

死亡アニメーションに含まれるプレイヤーモデルを動的に生成できるようにする。

詳細

2 で死亡アニメーションとして、プレイヤーキャラクターがヘリコプターに回収されるアニメーションを作成した(原作再現)。このアニメーションの中にはダミーのアバターが含まれるが、現在これはdeath_animation.bbmodelの中に静的に用意されている。これには #32 で挙げたような問題が発生する。これらの問題を解決するために、死亡アニメーションのダミーアバターを動的な生成へと変更する。

実装方法

基本的には #32 のようにアバターのモデルをコピーすれば良い。ただし、現在のFiguraのモデルパーツのコピーではBBアニメーションをコピーすることができないので注意が必要である。BBアニメーションのモーションデータはモデルグループに含まれているため、モデルグループ(頭、腕、脚など)はコピーできないが、グループ内に含まれるモデルパーツ単体や死亡アニメーションとは関係のないモデルグループはコピーすることができる。コピー可能なモデルだけを頑張ってコピーすれば現状のFiguraでもダミーアバターのコピーは可能である。

下図はベースアバターでのコピー可能なモデルグループ、モデルパーツと不可能なモデルグループ、モデルパーツを示す。 (📁:モデルグループ、📦:モデルパーツ、🟢:コピー可能、🔴:コピー不可能)

📁 Avatar 🔴
├ 📁 Head 🔴
│ ├ 📦 Head 🟢
│ ├ 📦 HatLayer 🟢
│ ├ 📁 FaceParts 🟢
│ └ 📁 HeadRing 🟢
├ 📁 UpperBody 🔴
│ ├ 📁 Body 🔴
│ │ ├ 📦 Body 🟢
│ │ └ 📦 BodyLayer 🟢
│ └ 📁 Arms 🔴
│   ├ 📁 RightArm 🔴
│   │ ├ 📦 RightArm 🟢
│   │ ├ 📦 RightArmLayer 🟢
│   │ └ 📁 RightArmBottom 🔴
│   │   ├ 📦 RightArmBottom 🟢
│   │   └ 📦 RightArmBottomLayer 🟢
│   └ 📁 LeftArm 🔴
│     ├ 📦 LeftArm 🟢
│     ├ 📦 LeftArmLayer 🟢
│     └ 📁 LeftArmBottom 🔴
│       ├ 📦 LeftArmBottom 🟢
│       └ 📦 LeftArmBottomLayer 🟢
└ 📁 LowerBody 🔴
  └ 📁 Legs 🔴
    ├ 📁 RightLeg 🔴
    │ ├ 📦 RightLeg 🟢
    │ ├ 📦 RightLegLayer 🟢
    │ └ 📁 RightLegBottom 🔴
    │   ├ 📦 RightLegBottom 🟢
    │   └ 📦 RightLegBottomLayer 🟢
    └ 📁 LeftLeg 🔴
      ├ 📦 LeftLeg 🟢
      ├ 📦 LeftLegLayer 🟢
      └ 📁 LeftLegBottom 🔴
        ├ 📦 LeftLegBottom 🟢
        └ 📦 LeftLegBottomLayer 🟢

タスク