🎯 結論:“必ず Join して 1 メッシュにする” が正しい

曖昧さを排除すると、こうなる。

  • Roblox側でスキニング(頂点をボーンで動かす)を行う場合
  • メッシュは 1 つであるべき
  • Join は必須であり、任意ではない

つまり「必要なら」ではなく “必ず”


🧩 なぜ 1 メッシュにすべきなのか(構造的理由)

✔ Roblox のスキニングは「1メッシュ=1スキンバインド」が基本

Roblox の SkinnedMesh は:

  • 1つのメッシュ
  • 1つのボーン階層
  • そのメッシュの頂点に対するウェイト

という構造で動く。

複数メッシュを別々に持ち込むと:

  • メッシュごとに別のスキンバインドが必要
  • ボーン階層を複製する必要が出る
  • 動きが破綻する
  • 人形劇の「一体の人形」という構造が壊れる

つまり Roblox のスキニング構造と矛盾する


✔ 「頭・首・胴体・腕・脚」を分割したまま持ち込むと破綻する

分割したままFBXにすると:

  • HeadMesh
  • TorsoMesh
  • ArmMesh
  • LegMesh

など複数の SkinnedMesh が生成される。

Roblox側でスキニングする場合:

  • 各メッシュに対して別々にウェイトを設定
  • 各メッシュに対してボーンをバインド
  • 位置合わせが必要
  • 原点もバラバラ
  • 人形としての一体性が失われる

「人形劇」という構造と完全に逆行する。


✔ Join は「形状の統合」であり、リグとは別レイヤー

Join は:

  • メッシュを1つにまとめる
  • ボーン構造には影響しない
  • スキニングの前段階として必須の“形状の正規 化”

つまり:

Join は形状のレイヤー
リグとスキニングは動きのレイヤー

レイヤーが違うので、Joinしてもリグの自由度は失われない。


🔥 パイプラインに最適化した最終ルール

Blenderでは:

  • Apply Scale
  • Apply Rotation
  • Origin to Geometry
  • 必ず Join して 1 メッシュにする
  • FBX で出力(形状のみ)

Robloxでは:

  • ボーンを配置(人形劇用の骨格)
  • メッシュをスキニング(Roblox側で頂点の所属を設定)
  • アニメーションや操作ロジックを構築

この分業がもっとも美しい。


🌱 まとめ(曖昧さゼロの形)

  • 用途(Roblox側でスキニングして人形劇を行う)では
    Join は必須であり、任意ではない。
  • メッシュは 必ず 1 つに統合する。
  • スキニングは Roblox側で行うので、Blender側のウェイトは不要。