包含三个子项目: - avatar-h5-renderer: Live2D Cubism 4 H5 渲染器 (Vite + TS) - avatar_flutter_app: Flutter 容器 App (打包 H5 进 WebView) - gif-export: puppeteer 导出 32 个动作的透明 GIF (供 ESP32 圆屏播放) 模型资源: Haru, Natori (含贴图、moc3、motions, expressions) 设计文档: AI驱动虚拟形象渲染方案_v5.1.md Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
246 lines
4.8 KiB
JSON
246 lines
4.8 KiB
JSON
{
|
|
"Version": 3,
|
|
"FileReferences": {
|
|
"Moc": "Haru.moc3",
|
|
"Textures": [
|
|
"Haru.2048/texture_00.png",
|
|
"Haru.2048/texture_01.png"
|
|
],
|
|
"Physics": "Haru.physics3.json",
|
|
"Pose": "Haru.pose3.json",
|
|
"DisplayInfo": "Haru.cdi3.json",
|
|
"Expressions": [
|
|
{
|
|
"Name": "F01",
|
|
"File": "expressions/F01.exp3.json"
|
|
},
|
|
{
|
|
"Name": "F02",
|
|
"File": "expressions/F02.exp3.json"
|
|
},
|
|
{
|
|
"Name": "F03",
|
|
"File": "expressions/F03.exp3.json"
|
|
},
|
|
{
|
|
"Name": "F04",
|
|
"File": "expressions/F04.exp3.json"
|
|
},
|
|
{
|
|
"Name": "F05",
|
|
"File": "expressions/F05.exp3.json"
|
|
},
|
|
{
|
|
"Name": "F06",
|
|
"File": "expressions/F06.exp3.json"
|
|
},
|
|
{
|
|
"Name": "F07",
|
|
"File": "expressions/F07.exp3.json"
|
|
},
|
|
{
|
|
"Name": "F08",
|
|
"File": "expressions/F08.exp3.json"
|
|
}
|
|
],
|
|
"Motions": {
|
|
"Idle": [
|
|
{
|
|
"File": "motions/haru_g_idle.motion3.json",
|
|
"FadeInTime": 0.3,
|
|
"FadeOutTime": 0.3
|
|
},
|
|
{
|
|
"File": "motions/haru_g_m15.motion3.json",
|
|
"FadeInTime": 0.3,
|
|
"FadeOutTime": 0.3
|
|
}
|
|
],
|
|
"TapBody": [
|
|
{
|
|
"File": "motions/haru_g_m26.motion3.json",
|
|
"FadeInTime": 0.3,
|
|
"FadeOutTime": 0.3,
|
|
"Sound": "sounds/haru_talk_13.wav"
|
|
},
|
|
{
|
|
"File": "motions/haru_g_m06.motion3.json",
|
|
"FadeInTime": 0.3,
|
|
"FadeOutTime": 0.3,
|
|
"Sound": "sounds/haru_Info_14.wav"
|
|
},
|
|
{
|
|
"File": "motions/haru_g_m20.motion3.json",
|
|
"FadeInTime": 0.3,
|
|
"FadeOutTime": 0.3,
|
|
"Sound": "sounds/haru_normal_6.wav"
|
|
},
|
|
{
|
|
"File": "motions/haru_g_m09.motion3.json",
|
|
"FadeInTime": 0.3,
|
|
"FadeOutTime": 0.3
|
|
}
|
|
],
|
|
"Dance": [
|
|
{
|
|
"File": "motions/haru_g_m01.motion3.json",
|
|
"FadeInTime": 0.3,
|
|
"FadeOutTime": 0.3
|
|
},
|
|
{
|
|
"File": "motions/haru_g_m02.motion3.json",
|
|
"FadeInTime": 0.3,
|
|
"FadeOutTime": 0.3
|
|
},
|
|
{
|
|
"File": "motions/haru_g_m03.motion3.json",
|
|
"FadeInTime": 0.3,
|
|
"FadeOutTime": 0.3
|
|
},
|
|
{
|
|
"File": "motions/haru_g_m04.motion3.json",
|
|
"FadeInTime": 0.3,
|
|
"FadeOutTime": 0.3
|
|
},
|
|
{
|
|
"File": "motions/haru_g_m05.motion3.json",
|
|
"FadeInTime": 0.3,
|
|
"FadeOutTime": 0.3
|
|
},
|
|
{
|
|
"File": "motions/haru_g_m06.motion3.json",
|
|
"FadeInTime": 0.3,
|
|
"FadeOutTime": 0.3
|
|
},
|
|
{
|
|
"File": "motions/haru_g_m07.motion3.json",
|
|
"FadeInTime": 0.3,
|
|
"FadeOutTime": 0.3
|
|
},
|
|
{
|
|
"File": "motions/haru_g_m08.motion3.json",
|
|
"FadeInTime": 0.3,
|
|
"FadeOutTime": 0.3
|
|
},
|
|
{
|
|
"File": "motions/haru_g_m09.motion3.json",
|
|
"FadeInTime": 0.3,
|
|
"FadeOutTime": 0.3
|
|
},
|
|
{
|
|
"File": "motions/haru_g_m10.motion3.json",
|
|
"FadeInTime": 0.3,
|
|
"FadeOutTime": 0.3
|
|
},
|
|
{
|
|
"File": "motions/haru_g_m11.motion3.json",
|
|
"FadeInTime": 0.3,
|
|
"FadeOutTime": 0.3
|
|
},
|
|
{
|
|
"File": "motions/haru_g_m12.motion3.json",
|
|
"FadeInTime": 0.3,
|
|
"FadeOutTime": 0.3
|
|
},
|
|
{
|
|
"File": "motions/haru_g_m13.motion3.json",
|
|
"FadeInTime": 0.3,
|
|
"FadeOutTime": 0.3
|
|
},
|
|
{
|
|
"File": "motions/haru_g_m14.motion3.json",
|
|
"FadeInTime": 0.3,
|
|
"FadeOutTime": 0.3
|
|
},
|
|
{
|
|
"File": "motions/haru_g_m15.motion3.json",
|
|
"FadeInTime": 0.3,
|
|
"FadeOutTime": 0.3
|
|
},
|
|
{
|
|
"File": "motions/haru_g_m16.motion3.json",
|
|
"FadeInTime": 0.3,
|
|
"FadeOutTime": 0.3
|
|
},
|
|
{
|
|
"File": "motions/haru_g_m17.motion3.json",
|
|
"FadeInTime": 0.3,
|
|
"FadeOutTime": 0.3
|
|
},
|
|
{
|
|
"File": "motions/haru_g_m18.motion3.json",
|
|
"FadeInTime": 0.3,
|
|
"FadeOutTime": 0.3
|
|
},
|
|
{
|
|
"File": "motions/haru_g_m19.motion3.json",
|
|
"FadeInTime": 0.3,
|
|
"FadeOutTime": 0.3
|
|
},
|
|
{
|
|
"File": "motions/haru_g_m20.motion3.json",
|
|
"FadeInTime": 0.3,
|
|
"FadeOutTime": 0.3
|
|
},
|
|
{
|
|
"File": "motions/haru_g_m21.motion3.json",
|
|
"FadeInTime": 0.3,
|
|
"FadeOutTime": 0.3
|
|
},
|
|
{
|
|
"File": "motions/haru_g_m22.motion3.json",
|
|
"FadeInTime": 0.3,
|
|
"FadeOutTime": 0.3
|
|
},
|
|
{
|
|
"File": "motions/haru_g_m23.motion3.json",
|
|
"FadeInTime": 0.3,
|
|
"FadeOutTime": 0.3
|
|
},
|
|
{
|
|
"File": "motions/haru_g_m24.motion3.json",
|
|
"FadeInTime": 0.3,
|
|
"FadeOutTime": 0.3
|
|
},
|
|
{
|
|
"File": "motions/haru_g_m25.motion3.json",
|
|
"FadeInTime": 0.3,
|
|
"FadeOutTime": 0.3
|
|
},
|
|
{
|
|
"File": "motions/haru_g_m26.motion3.json",
|
|
"FadeInTime": 0.3,
|
|
"FadeOutTime": 0.3
|
|
}
|
|
]
|
|
},
|
|
"UserData": "Haru.userdata3.json"
|
|
},
|
|
"Groups": [
|
|
{
|
|
"Target": "Parameter",
|
|
"Name": "EyeBlink",
|
|
"Ids": [
|
|
"ParamEyeLOpen",
|
|
"ParamEyeROpen"
|
|
]
|
|
},
|
|
{
|
|
"Target": "Parameter",
|
|
"Name": "LipSync",
|
|
"Ids": [
|
|
"ParamMouthOpenY"
|
|
]
|
|
}
|
|
],
|
|
"HitAreas": [
|
|
{
|
|
"Id": "HitArea",
|
|
"Name": "Head"
|
|
},
|
|
{
|
|
"Id": "HitArea2",
|
|
"Name": "Body"
|
|
}
|
|
]
|
|
} |