- UI SFX v3: procedurally synthesized one-shots (Tools/synth_ui_sfx.py) wired to buttons, rewards, errors and red dots via UiSfx, gated by the SFX setting. - Five formal enemies (Hornlet, Dashlet, Shellhorn, HornCaptain, GreatHorn): Hunyuan 50k -> 2000-tri XPbr, DGXA TokenRig, Idle/Walk/Attack, nested per type in PrototypeArena; PrototypeBattle.Enemy gains presentation-only Moving/Strikes. - Formal partners for all ten pets in the arena and portraits, including new VineSprite, ThunderLeopard and TideWhale. - Pipeline fixes: reject local TokenRig fallback, drop loose mesh islands, configurable Unity run_script timeout, companion static stage. - Also includes concurrent work from another tool in this working tree (FlameLion, enemy combat FX, challenge mode, home explorer, server updates). - Resources registered in Doc/ResDesc_*.md; verified on isolated :18081. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
116 lines
4.0 KiB
JSON
116 lines
4.0 KiB
JSON
{
|
|
"schemaVersion": 1,
|
|
"id": "ThunderLeopard",
|
|
"kind": "Animal",
|
|
"usage": "companion_visual",
|
|
"profile": "quadruped_heavy",
|
|
"boneMappingReady": true,
|
|
"height": 0.45,
|
|
"maxTriangles": 2000,
|
|
"assetRoot": "Assets/Bundles/Characters/Animal/ThunderLeopard",
|
|
"staticPrefab": "Assets/Bundles/Characters/Animal/ThunderLeopard/ThunderLeopard.prefab",
|
|
"approvedMesh": "AIClient/Assets/Bundles/Characters/Animal/ThunderLeopard/ThunderLeopard.fbx",
|
|
"rigSource": "Tools/output/companion_dgx/ThunderLeopard/high_rig/rigged.glb",
|
|
"lowUp": "Y",
|
|
"skinOverrides": [],
|
|
"outputDir": "Tools/output/companions/ThunderLeopard",
|
|
"visualPrefab": "Assets/Bundles/Characters/Animal/ThunderLeopard/ThunderLeopard_Companion.prefab",
|
|
"reviewScene": "Assets/Bundles/Scenes/Review/Companion_ThunderLeopard_Review.unity",
|
|
"reviewOriginX": 260,
|
|
"rootBone": "bone_0",
|
|
"neckBone": "bone_3",
|
|
"headBone": "bone_4",
|
|
"faceRight": "bone_13",
|
|
"faceLeft": "bone_17",
|
|
"frontRightFoot": "bone_13",
|
|
"frontLeftFoot": "bone_17",
|
|
"hindRightFoot": "bone_21",
|
|
"hindLeftFoot": "bone_25",
|
|
"frontRightFootTip": "bone_14",
|
|
"frontLeftFootTip": "bone_18",
|
|
"hindRightFootTip": "bone_22",
|
|
"hindLeftFootTip": "bone_26",
|
|
"walkStride": 0.055,
|
|
"walkLift": 0.015,
|
|
"walkSeconds": 1.1,
|
|
"walkSwingFraction": 0.2,
|
|
"walkBindCalibration": true,
|
|
"walkSourceWeight": 0.12,
|
|
"idleSeconds": 1.8,
|
|
"idleBreath": 0.0015,
|
|
"idleSourceWeight": 0.04,
|
|
"attackStyle": "braced_bash",
|
|
"attackEvent": "OnCompanionAttackImpact",
|
|
"attackSeconds": 1.0,
|
|
"attackSourceWeight": 0.04,
|
|
"attackWindup": 0.3,
|
|
"attackImpact": 0.5,
|
|
"attackRecover": 0.9,
|
|
"attackLunge": 0.025,
|
|
"maxRootTilt": 15,
|
|
"groundTolerance": 0.003,
|
|
"rootTiltReference": "bind_up",
|
|
"motions": [
|
|
{
|
|
"name": "Idle",
|
|
"sourceDir": "Tools/output/companions/ThunderLeopard/motions/Idle",
|
|
"prompt": "a small four-legged leopard cub stands on all four paws and idles with gentle breathing and a calm head",
|
|
"duration": 2.0
|
|
},
|
|
{
|
|
"name": "Walk",
|
|
"sourceDir": "Tools/output/companions/ThunderLeopard/motions/Walk",
|
|
"prompt": "a small four-legged leopard cub walks forward on all four paws with a light alternating four-beat gait",
|
|
"duration": 2.0
|
|
},
|
|
{
|
|
"name": "Attack",
|
|
"sourceDir": "Tools/output/companions/ThunderLeopard/motions/Attack",
|
|
"prompt": "a small four-legged leopard cub braces on all four paws, crouches its shoulders back, then makes one short forward head-and-shoulder pounce and recovers to standing",
|
|
"duration": 2.0
|
|
}
|
|
],
|
|
"anatomyNotes": "Inspected this ThunderLeopard DGXA TokenRig original: 31 bones. Pelvis root0 (rear), spine1, chest2 (front), neck3, head4 with ears5/6, crest7, eye/jaw 8..10; x-positive front leg11..14 (ankle13/toe14) and x-negative 15..18 from chest2; x-positive hind leg19..22 (21/22) and x-negative 23..26 (25/26) from root0; tail27..30. Armor region = cyan shoulder lightning plates (rigid with chest2), horn region = forehead zigzag crest (rigid with head4); both measured from cyan texels on the approved mesh in height-normalized Unity space. braced_bash reads as a short head-and-shoulder pounce; no rhino bone numbers reused. First QA: the wide armor box (495 verts incl. leg roots/neck fur) deformed 4.73mm in Idle; narrowed to the shoulder plates/chest and added a chest2 full-weight skinRegion (static FBX space, Z flipped) like RockRhino.",
|
|
"chestBone": "bone_2",
|
|
"attackHeadReach": 0.018,
|
|
"attackHeadPitchDegrees": 10,
|
|
"armorRegionMin": [
|
|
-0.36,
|
|
0.3,
|
|
-0.52
|
|
],
|
|
"armorRegionMax": [
|
|
0.36,
|
|
0.56,
|
|
-0.22
|
|
],
|
|
"armorRigidityTolerance": 0.001,
|
|
"hornRegionMin": [
|
|
-0.15,
|
|
0.6,
|
|
-0.8
|
|
],
|
|
"hornRegionMax": [
|
|
0.15,
|
|
1.02,
|
|
-0.5
|
|
],
|
|
"hornRigidityTolerance": 0.001,
|
|
"skinRegions": [
|
|
{
|
|
"bone": "bone_2",
|
|
"min": [
|
|
-0.4,
|
|
0.27,
|
|
0.19
|
|
],
|
|
"max": [
|
|
0.4,
|
|
0.59,
|
|
0.55
|
|
],
|
|
"feather": 0.03
|
|
}
|
|
]
|
|
}
|