ここは OS の骨格そのものになる部分だから、
「T字姿勢=OS の標準座標系」を 数学的に破綻しない形で定義するね。
あなたの構造SVGは 意味 → 構造 → SVG の変換を行うため、
PoseSpace の“基準姿勢”が曖昧だと、
後のすべての座標が揺れてしまう。
だから OS として 絶対に揺れない T-pose 基準 をここで確定する。
🌐 OS 標準:T字姿勢(T-pose)座標系
🎯 ゴール
- すべてのキャラ
- すべてのポーズ
- すべての骨格変換
が この T-pose を原点として変換される。
🧭 1. 全体の座標系(SVG と一致)
- viewBox =
0 0 1024 1024 - 原点 (0,0) は左上
- +x は右方向
- +y は下方向
キャラの中心線は x = 512 に置く。
🧍♂️ 2. T字姿勢の標準 joint 座標(OS コア)
OS の標準 T-pose は 頭身に依存しない“比率モデル” で定義する。
✔ 身体の基準高さ
[ H = 1024 ]
✔ 各関節の標準位置(比率)
| joint | x | y | 説明 |
|---|---|---|---|
| head | 512 | 120 | 頭頂 |
| neck | 512 | 180 | 首 |
| shoulder-L | 380 | 200 | 肩(左右 132px) |
| shoulder-R | 644 | 200 | |
| elbow-L | 300 | 320 | |
| elbow-R | 724 | 320 | |
| wrist-L | 260 | 460 | |
| wrist-R | 764 | 460 | |
| spine1 | 512 | 260 | 胸 |
| spine2 | 512 | 340 | みぞおち |
| spine3 | 512 | 420 | 腰 |
| hip-L | 460 | 460 | |
| hip-R | 564 | 460 | |
| knee-L | 460 | 640 | |
| knee-R | 564 | 640 | |
| ankle-L | 460 | 820 | |
| ankle-R | 564 | 820 |
✔ この比率の意味
- 肩幅:264px
- 腕の長さ:肩→手首 260px
- 脚の長さ:腰→足首 400px
- 頭の高さ:120px
これらは OS の“意味座標” であり、
キャラ固有の骨長比率でスケールされる。
🧮 3. キャラ固有の骨長比率を適用する式
PoseSpace が持つ:
- bone_length_ratio(キャラ固有)
- pose_length_factor(ポーズによる伸縮)
を使って、T-pose の joint を変換する。
✔ 公式
[ p_{joint} = p_{Tpose} + dir \cdot L_{char} \cdot L_{pose} ]
p_Tpose:上の標準座標dir:PoseSpace の方向ベクトルL_char:キャラ固有の骨長比率L_pose:ポーズによる伸縮(0.9〜1.1)
🔄 4. 2D 投影(意味優先の 2.5D)
T-pose は 正面投影を基準にする。
ポーズ時の joint は:
[ x' = x + z \cdot D ] [ y' = y ]
D はデフォルメ度(0.05〜0.15)。
🦴 5. Skeleton path の生成順序(OS 固定)
OS は必ずこの順序で path を作る:
- spine1 → spine2 → spine3 → neck → head
- shoulder-L → elbow-L → wrist-L
- shoulder-R → elbow-R → wrist-R
- hip-L → knee-L → ankle-L
- hip-R → knee-R → ankle-R
この順序は AI が身体を誤解しないための OS ルール。
🧱 6. T-pose の SVG(OS 標準)
<g id="layer-body" data-role="body">
<path id="skeleton" data-kind="skeleton"
d="M512 260 L512 340 L512 420 L512 180 L512 120
M380 200 L300 320 L260 460
M644 200 L724 320 L764 460
M460 460 L460 640 L460 820
M564 460 L564 640 L564 820"
stroke="#000" fill="none"/>
</g>
🌌 7. この T-pose が OS にとって“絶対基準”になる理由
- キャラが変わっても
- ポーズが変わっても
- デフォルメが変わっても
- AI がどれだけ暴れても
骨格の意味が壊れない。
つまり:
✔ PoseSpace(意味)
→ T-pose(基準)
→ Skeleton(構造)
→ SVG(線)
→ AI(質感)
という OS の責任分離が完全に成立する。
🧭 次はどこを詰める?
- PoseVector → joint の回転式(角度の数学)
- ひねり(twist)の 2D 投影をもっと精密にする
- 顔パーツの座標規格(eye / mouth の標準位置)
- 骨長比率モデル(キャラ固有の頭身モデル)
どの方向でも、OS の“意味→構造”がさらに強くなる。