Add formal enemies, remaining formal partners and synthesized UI SFX
- 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>
This commit is contained in:
@@ -0,0 +1,160 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"id": "BubbleTurtle",
|
||||
"kind": "Animal",
|
||||
"usage": "companion_visual",
|
||||
"profile": "quadruped_turtle",
|
||||
"boneMappingReady": true,
|
||||
"height": 0.35,
|
||||
"maxTriangles": 2000,
|
||||
"assetRoot": "Assets/Bundles/Characters/Animal/BubbleTurtle",
|
||||
"staticPrefab": "Assets/Bundles/Characters/Animal/BubbleTurtle/BubbleTurtle.prefab",
|
||||
"approvedMesh": "AIClient/Assets/Bundles/Characters/Animal/BubbleTurtle/BubbleTurtle.fbx",
|
||||
"rigSource": "Tools/output/bubbleturtle_dgx/high_rig/rigged.glb",
|
||||
"lowUp": "Y",
|
||||
"skinOverrides": [],
|
||||
"outputDir": "Tools/output/companions/BubbleTurtle",
|
||||
"visualPrefab": "Assets/Bundles/Characters/Animal/BubbleTurtle/BubbleTurtle_Companion.prefab",
|
||||
"reviewScene": "Assets/Bundles/Scenes/Review/Companion_BubbleTurtle_Review.unity",
|
||||
"reviewOriginX": 100,
|
||||
"rootBone": "bone_0",
|
||||
"shellBone": "bone_1",
|
||||
"neckBone": "bone_2",
|
||||
"headBone": "bone_3",
|
||||
"faceRight": "bone_7",
|
||||
"faceLeft": "bone_12",
|
||||
"frontRightFoot": "bone_7",
|
||||
"frontLeftFoot": "bone_12",
|
||||
"hindRightFoot": "bone_16",
|
||||
"hindLeftFoot": "bone_20",
|
||||
"frontRightFootTip": "bone_8",
|
||||
"frontLeftFootTip": "bone_13",
|
||||
"hindRightFootTip": "bone_17",
|
||||
"hindLeftFootTip": "bone_21",
|
||||
"walkStride": 0.035,
|
||||
"walkLift": 0.008,
|
||||
"walkSeconds": 1.6,
|
||||
"walkSwingFraction": 0.2,
|
||||
"walkBindCalibration": true,
|
||||
"walkSourceWeight": 0.12,
|
||||
"idleSeconds": 2.0,
|
||||
"idleBreath": 0.0015,
|
||||
"idleSourceWeight": 0.04,
|
||||
"attackStyle": "turtle_bubble",
|
||||
"attackEvent": "OnCompanionAttackImpact",
|
||||
"attackSeconds": 1.2,
|
||||
"attackSourceWeight": 0.08,
|
||||
"attackWindup": 0.3,
|
||||
"attackImpact": 0.5,
|
||||
"attackRecover": 0.9,
|
||||
"attackHeadReach": 0.025,
|
||||
"attackHeadPitchDegrees": 6,
|
||||
"attackLunge": 0,
|
||||
"maxRootTilt": 15,
|
||||
"groundTolerance": 0.003,
|
||||
"rootTiltReference": "bind_up",
|
||||
"shellRigidityTolerance": 0.001,
|
||||
"motions": [
|
||||
{
|
||||
"name": "Idle",
|
||||
"sourceDir": "Tools/output/companions/BubbleTurtle/motions/Idle",
|
||||
"prompt": "a small squat quadrupedal turtle stands on all four feet with gentle breathing and subtle head movement, keeping its hard shell rigid",
|
||||
"duration": 2.0
|
||||
},
|
||||
{
|
||||
"name": "Walk",
|
||||
"sourceDir": "Tools/output/companions/BubbleTurtle/motions/Walk",
|
||||
"prompt": "a small squat quadrupedal turtle walks slowly on the ground with four separate legs taking short alternating steps, keeping its body horizontal and its hard shell rigid",
|
||||
"duration": 2.0
|
||||
},
|
||||
{
|
||||
"name": "Attack",
|
||||
"sourceDir": "Tools/output/companions/BubbleTurtle/motions/Attack",
|
||||
"prompt": "a small squat quadrupedal turtle braces on all four feet, briefly retracts its neck, extends its head forward once to blow a bubble spell, and recovers to its resting pose",
|
||||
"duration": 2.0
|
||||
}
|
||||
],
|
||||
"anatomyNotes": "Final forward source uses rigid Blender Z yaw +45 degrees from original Hunyuan. Unity front/side/back views verify -Z faces the head (FBX handedness included). Own final TokenRig: 26 bones: root0, shell1, neck2, head3/4, frontR7/toe8 frontL12/toe13 hindR16/toe17 hindL20/toe21, tail22..25. Previous 17-bone diagonal and 11-bone reversed rigs are diagnostic only. skinRegions use original low-FBX Y-up coordinates (Z is opposite Unity world Z); shellRegionMin/Max are Unity normalized bounds.",
|
||||
"shellRegionMin": [
|
||||
-0.7,
|
||||
0.29,
|
||||
-0.48
|
||||
],
|
||||
"shellRegionMax": [
|
||||
0.7,
|
||||
1.05,
|
||||
0.9
|
||||
],
|
||||
"skinRegions": [
|
||||
{
|
||||
"bone": "bone_1",
|
||||
"min": [
|
||||
-0.7,
|
||||
0.29,
|
||||
-0.9
|
||||
],
|
||||
"max": [
|
||||
0.7,
|
||||
1.05,
|
||||
0.48
|
||||
],
|
||||
"feather": 0.035
|
||||
},
|
||||
{
|
||||
"bone": "bone_7",
|
||||
"min": [
|
||||
0.22,
|
||||
-0.1,
|
||||
0.15
|
||||
],
|
||||
"max": [
|
||||
0.75,
|
||||
0.23,
|
||||
0.9
|
||||
],
|
||||
"feather": 0.025
|
||||
},
|
||||
{
|
||||
"bone": "bone_12",
|
||||
"min": [
|
||||
-0.75,
|
||||
-0.1,
|
||||
0.15
|
||||
],
|
||||
"max": [
|
||||
-0.22,
|
||||
0.23,
|
||||
0.9
|
||||
],
|
||||
"feather": 0.025
|
||||
},
|
||||
{
|
||||
"bone": "bone_16",
|
||||
"min": [
|
||||
0.22,
|
||||
-0.1,
|
||||
-0.8
|
||||
],
|
||||
"max": [
|
||||
0.75,
|
||||
0.23,
|
||||
-0.1
|
||||
],
|
||||
"feather": 0.025
|
||||
},
|
||||
{
|
||||
"bone": "bone_20",
|
||||
"min": [
|
||||
-0.75,
|
||||
-0.1,
|
||||
-0.8
|
||||
],
|
||||
"max": [
|
||||
-0.22,
|
||||
0.23,
|
||||
-0.1
|
||||
],
|
||||
"feather": 0.025
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user