Files
AIGame/Config/Art/Companions/BubbleTurtle.draft.json
T
udxandClaude Opus 5.5 89e0fa246f 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>
2026-10-21 12:23:55 +08:00

79 lines
3.0 KiB
JSON

{
"schemaVersion": 1,
"id": "BubbleTurtle",
"kind": "Animal",
"usage": "companion_visual",
"profile": "quadruped_turtle",
"boneMappingReady": false,
"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": "",
"shellBone": "",
"neckBone": "",
"headBone": "",
"faceRight": "",
"faceLeft": "",
"frontRightFoot": "",
"frontLeftFoot": "",
"hindRightFoot": "",
"hindLeftFoot": "",
"frontRightFootTip": "",
"frontLeftFootTip": "",
"hindRightFootTip": "",
"hindLeftFootTip": "",
"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.015,
"attackHeadPitchDegrees": 8,
"attackLunge": 0.002,
"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": "Disabled proposal. Four short weight-bearing legs and a horizontal turtle body; inspect its own TokenRig before mapping root, shell, neck, head and four ankles/toes. Ground-up is measured from the bind pose, not the longitudinal root bone axis. Requires a new quadruped_turtle/turtle_bubble adapter; do not run a biped or avian adapter on this mesh. Preserve shell rigidity and verify all four feet."
}