threejs-3d-generator
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseThree.js 3D Generator
Three.js 3D 生成器
Purpose
用途
Create production-oriented 3D assets, then prepare them for Three.js games. This is the Three.js game system's 3D-generation layer; it uses Tripo as the provider for text-to-3D, image-to-3D, texturing, rigging, retargeting, stylization, conversion, and downloadable GLB/FBX outputs.
Resolve in the commands below in this order: , , , or repo .
<this-skill-dir>~/.claude/skills/threejs-3d-generator~/.codex/skills/threejs-3d-generator~/.agents/skills/threejs-3d-generatorskills/threejs-3d-generator创建面向生产环境的3D资产,并为Three.js游戏做好准备。这是Three.js游戏系统的3D生成层;它使用Tripo作为服务提供商,支持文本转3D、图像转3D、纹理制作、骨骼绑定、动画重定向、风格化、格式转换,以及可下载的GLB/FBX输出。
按以下顺序解析命令中的:、、,或代码库中的。
<this-skill-dir>~/.claude/skills/threejs-3d-generator~/.codex/skills/threejs-3d-generator~/.agents/skills/threejs-3d-generatorskills/threejs-3d-generatorAPI Key
API密钥
Never store API keys in skill files or client-side game code, and never paste a key value into a report. The script reads or .
--api-keyTRIPO_API_KEYStep 0, before declaring the key unavailable: run this skill's own probe and paste its literal output into the report.
bash
python3 <this-skill-dir>/scripts/threejs_3d_asset.py probe # prints TRIPO_API_KEY=SET|MISSINGTRIPO_API_KEY=MISSINGzsh -lc 'source ~/.zprofile 2>/dev/null || true; source ~/.zshrc 2>/dev/null || true; python3 <this-skill-dir>/scripts/threejs_3d_asset.py probe'threejs-game-director/scripts/probe_asset_credentials.shGenerated model download URLs expire quickly, so download outputs immediately after successful tasks.
切勿将API密钥存储在技能文件或客户端游戏代码中,也切勿将密钥值粘贴到报告中。脚本会读取参数或环境变量。
--api-keyTRIPO_API_KEY在声明密钥不可用之前,请先执行步骤0:运行本技能自带的探测脚本,并将其输出内容直接粘贴到报告中。
bash
python3 <this-skill-dir>/scripts/threejs_3d_asset.py probe # 输出 TRIPO_API_KEY=SET|MISSING只有当探测脚本输出时,才是有效的跳过/阻塞理由。仅在shell配置文件中定义的密钥可能不会出现在进程环境中;如果探测脚本意外输出MISSING,请使用以下命令包裹执行:。当加载了主管技能时,优先使用,它可以一次性探测所有三个资产密钥。
TRIPO_API_KEY=MISSINGzsh -lc 'source ~/.zprofile 2>/dev/null || true; source ~/.zshrc 2>/dev/null || true; python3 <this-skill-dir>/scripts/threejs_3d_asset.py probe'threejs-game-director/scripts/probe_asset_credentials.sh生成的模型下载URL有效期很短,请在任务成功后立即下载输出内容。
Tool Script
工具脚本
Reference gate:
- Load before provider API work, endpoint/task decisions, model-version choices, polling, postprocess, conversion, rigging, animation, or download handling.
references/api-notes.md - Load before importing Tripo outputs into a browser game or advising GLB/FBX integration.
references/threejs-integration.md - Load before pairing
references/image-generator-workflows.mdwith this skill for 2D concepts, texture references, UI art, logos, decals, or image-to-3D inputs.threejs-image-generator
Track required references in a reference ledger with yes/no, path, and failure reason. Do not mark an asset pipeline complete while a required reference is skipped.
Run from the user's current project directory:
bash
python3 <this-skill-dir>/scripts/threejs_3d_asset.py --help参考文档要求:
- 在使用提供商API、决定端点/任务、选择模型版本、轮询、后处理、格式转换、骨骼绑定、动画制作或下载操作之前,请先查看。
references/api-notes.md - 在将Tripo输出导入浏览器游戏或提供GLB/FBX集成建议之前,请先查看。
references/threejs-integration.md - 在将与本技能搭配使用,制作2D概念图、纹理参考图、UI素材、标志、贴花或图像转3D输入之前,请先查看
threejs-image-generator。references/image-generator-workflows.md
在参考台账中跟踪所需的参考文档,记录是否已查看、文档路径以及失败原因。如果有必要的参考文档未查看,请勿标记资产流水线完成。
从用户当前的项目目录运行以下命令:
bash
python3 <this-skill-dir>/scripts/threejs_3d_asset.py --helpCommon Commands
常用命令
Recommended premium game hero model:
bash
python3 <this-skill-dir>/scripts/threejs_3d_asset.py text \
--prompt "game-ready [hero asset], strong readable silhouette, layered hard-surface detail, PBR materials, clean topology for browser game, centered pivot, 3/4 view, no text" \
--model-version v3.1-20260211 \
--texture-quality detailed \
--geometry-quality detailed \
--wait --download --out-dir assets/models/heroText to 3D:
bash
python3 <this-skill-dir>/scripts/threejs_3d_asset.py text \
--prompt "game-ready sci-fi hover bike, sleek armored panels, readable silhouette, PBR, front facing" \
--model-version v3.1-20260211 \
--texture-quality detailed \
--geometry-quality detailed \
--wait --download --out-dir assets/models/hover-bikeImage to 3D from a local concept:
threejs-image-generatorbash
python3 <this-skill-dir>/scripts/threejs_3d_asset.py image \
--image assets/concepts/hover-bike-front.png \
--model-version v3.1-20260211 \
--enable-image-autofix \
--texture-alignment original_image \
--texture-quality detailed \
--wait --download --out-dir assets/models/hover-bikeStatus and download:
bash
python3 <this-skill-dir>/scripts/threejs_3d_asset.py status TASK_ID
python3 <this-skill-dir>/scripts/threejs_3d_asset.py download TASK_ID --out-dir assets/modelsTexture, rig, animate, or convert:
bash
python3 <this-skill-dir>/scripts/threejs_3d_asset.py postprocess \
--type texture_model --original-task-id TASK_ID \
--texture-prompt "brushed gunmetal, orange hazard decals, worn edges" \
--wait --download --out-dir assets/models/retextured
python3 <this-skill-dir>/scripts/threejs_3d_asset.py postprocess \
--type animate_prerigcheck --original-task-id TASK_ID --wait推荐的 premium 游戏主角模型:
bash
python3 <this-skill-dir>/scripts/threejs_3d_asset.py text \
--prompt "game-ready [hero asset], strong readable silhouette, layered hard-surface detail, PBR materials, clean topology for browser game, centered pivot, 3/4 view, no text" \
--model-version v3.1-20260211 \
--texture-quality detailed \
--geometry-quality detailed \
--wait --download --out-dir assets/models/hero文本转3D:
bash
python3 <this-skill-dir>/scripts/threejs_3d_asset.py text \
--prompt "game-ready sci-fi hover bike, sleek armored panels, readable silhouette, PBR, front facing" \
--model-version v3.1-20260211 \
--texture-quality detailed \
--geometry-quality detailed \
--wait --download --out-dir assets/models/hover-bike从本地生成的概念图转3D:
threejs-image-generatorbash
python3 <this-skill-dir>/scripts/threejs_3d_asset.py image \
--image assets/concepts/hover-bike-front.png \
--model-version v3.1-20260211 \
--enable-image-autofix \
--texture-alignment original_image \
--texture-quality detailed \
--wait --download --out-dir assets/models/hover-bike状态查询与下载:
bash
python3 <this-skill-dir>/scripts/threejs_3d_asset.py status TASK_ID
python3 <this-skill-dir>/scripts/threejs_3d_asset.py download TASK_ID --out-dir assets/models纹理制作、骨骼绑定、动画制作或格式转换:
bash
python3 <this-skill-dir>/scripts/threejs_3d_asset.py postprocess \
--type texture_model --original-task-id TASK_ID \
--texture-prompt "brushed gunmetal, orange hazard decals, worn edges" \
--wait --download --out-dir assets/models/retextured
python3 <this-skill-dir>/scripts/threejs_3d_asset.py postprocess \
--type animate_prerigcheck --original-task-id TASK_ID --waitRig version is routed by --rig-type: biped -> v1.0-20240301 (the v2.x rigger
骨骼绑定版本由 --rig-type 决定:biped -> v1.0-20240301(v2.x绑定器在人形模型上会失败),其他身体结构 -> v2.5-20260210。仅当需要覆盖该路由时才传入 --model-version 参数。
fails on humanoids), other body plans -> v2.5-20260210. Only pass
—
--model-version to override that routing.
—
python3 <this-skill-dir>/scripts/threejs_3d_asset.py postprocess
--type animate_rig --original-task-id TASK_ID --rig-type biped --spec tripo --wait
--type animate_rig --original-task-id TASK_ID --rig-type biped --spec tripo --wait
python3 <this-skill-dir>/scripts/threejs_3d_asset.py postprocess
--type animate_rig --original-task-id TASK_ID --rig-type biped --spec tripo --wait
--type animate_rig --original-task-id TASK_ID --rig-type biped --spec tripo --wait
animate_retarget takes the RIG task ID, not the generation task ID.
animate_retarget 需要传入骨骼绑定任务的ID,而非生成任务的ID。
Pass the same --rig-type used for the rig so the version routing matches
传入与骨骼绑定时相同的 --rig-type 参数,确保版本路由匹配(双足骨骼绑定使用旧路径:输出FBX,每个任务对应一个动画)。
(biped rigs use the legacy path: FBX output, ONE animation per task).
非双足骨骼绑定可通过 --animations 参数在一个任务中批量处理最多5个预设动画。
Non-biped rigs may batch up to 5 presets per task via --animations.
切勿使用 --animate-in-place 参数:它会破坏烘焙效果(肢体镜像/蒙皮炸开)。请在引擎中移除根运动。
NEVER pass --animate-in-place: it corrupts the bake (mirrored limbs / exploded
—
skinning). Strip root motion in the engine instead.
—
python3 <this-skill-dir>/scripts/threejs_3d_asset.py postprocess
--type animate_retarget --original-task-id RIG_TASK_ID --rig-type quadruped
--animations preset:idle,preset:walk,preset:run
--wait --download --out-dir assets/models/animated
--type animate_retarget --original-task-id RIG_TASK_ID --rig-type quadruped
--animations preset:idle,preset:walk,preset:run
--wait --download --out-dir assets/models/animated
python3 <this-skill-dir>/scripts/threejs_3d_asset.py postprocess
--type conversion --original-task-id TASK_ID --format GLTF
--face-limit 20000 --wait --download --out-dir assets/models/gltf
--type conversion --original-task-id TASK_ID --format GLTF
--face-limit 20000 --wait --download --out-dir assets/models/gltf
python3 <this-skill-dir>/scripts/threejs_3d_asset.py postprocess
--type stylize_model --original-task-id TASK_ID --style voxel
--wait --download --out-dir assets/models/voxel
--type stylize_model --original-task-id TASK_ID --style voxel
--wait --download --out-dir assets/models/voxel
Animated character pipeline (generation -> prerigcheck -> validated rig with retries -> retargets -> downloads). The pipeline routes itself by body plan: biped characters automatically use the v1.0-20240301 anatomical rig with one FBX per animation (plain preset names are mapped onto the preset:biped:* library); creatures use the v2.5-20260210 rig with GLB clips:
```bash
python3 <this-skill-dir>/scripts/threejs_3d_asset.py character-pipeline \
--prompt "stylized cyber runner character, T-pose, full body, game-ready outfit, readable silhouette" \
--animations preset:idle,preset:walk,preset:run,preset:jump \
--out-dir assets/models/cyber-runnerpython3 <this-skill-dir>/scripts/threejs_3d_asset.py postprocess
--type animate_retarget --original-task-id RIG_TASK_ID --rig-type quadruped
--animations preset:idle,preset:walk,preset:run
--wait --download --out-dir assets/models/animated
--type animate_retarget --original-task-id RIG_TASK_ID --rig-type quadruped
--animations preset:idle,preset:walk,preset:run
--wait --download --out-dir assets/models/animated
python3 <this-skill-dir>/scripts/threejs_3d_asset.py postprocess
--type conversion --original-task-id TASK_ID --format GLTF
--face-limit 20000 --wait --download --out-dir assets/models/gltf
--type conversion --original-task-id TASK_ID --format GLTF
--face-limit 20000 --wait --download --out-dir assets/models/gltf
python3 <this-skill-dir>/scripts/threejs_3d_asset.py postprocess
--type stylize_model --original-task-id TASK_ID --style voxel
--wait --download --out-dir assets/models/voxel
--type stylize_model --original-task-id TASK_ID --style voxel
--wait --download --out-dir assets/models/voxel
动画角色流水线(生成 -> 预绑定检查 -> 带重试的验证绑定 -> 动画重定向 -> 下载)。流水线会根据身体结构自动路由:双足角色自动使用v1.0-20240301解剖学骨骼绑定,每个动画对应一个FBX(普通预设名称会映射到preset:biped:*库);生物使用v2.5-20260210骨骼绑定,输出GLB动画片段:
```bash
python3 <this-skill-dir>/scripts/threejs_3d_asset.py character-pipeline \
--prompt "stylized cyber runner character, T-pose, full body, game-ready outfit, readable silhouette" \
--animations preset:idle,preset:walk,preset:run,preset:jump \
--out-dir assets/models/cyber-runnerCreature example: stance language matters — generate in the pose the preset expects.
生物示例:姿态很重要——按预设期望的姿态生成模型。
python3 <this-skill-dir>/scripts/threejs_3d_asset.py character-pipeline
--prompt "stylized wolf, quadrupedal stance, all four legs planted and separated, full body"
--rig-type quadruped --animations preset:quadruped:walk
--out-dir assets/models/wolf
--prompt "stylized wolf, quadrupedal stance, all four legs planted and separated, full body"
--rig-type quadruped --animations preset:quadruped:walk
--out-dir assets/models/wolf
undefinedpython3 <this-skill-dir>/scripts/threejs_3d_asset.py character-pipeline
--prompt "stylized wolf, quadrupedal stance, all four legs planted and separated, full body"
--rig-type quadruped --animations preset:quadruped:walk
--out-dir assets/models/wolf
--prompt "stylized wolf, quadrupedal stance, all four legs planted and separated, full body"
--rig-type quadruped --animations preset:quadruped:walk
--out-dir assets/models/wolf
undefinedThree.js Image Generator Pairing
Three.js Image Generator 搭配使用
Use before 3D generation when the asset benefits from a strong 2D reference:
threejs-image-generator- Character concept, full-body T-pose/A-pose, front/side/back variants.
- Building, prop, vehicle, weapon, pickup, enemy, obstacle, or terrain tile reference.
- Style sheet for a whole asset family.
- Texture references: terrain, rock, metal, fabric, decals, skyboxes, backgrounds, UI materials.
- Logos, faction marks, pickup icons, hazard signs, cockpit decals, HUD symbols, and GUI panels.
Load for prompt patterns before generating or editing 2D inputs.
references/image-generator-workflows.md当资产需要高质量2D参考时,在3D生成前使用:
threejs-image-generator- 角色概念图、全身T字/A字姿态、正面/侧面/背面变体。
- 建筑、道具、载具、武器、拾取物、敌人、障碍物或地形块参考图。
- 整个资产系列的风格指南。
- 纹理参考图:地形、岩石、金属、织物、贴花、天空盒、背景、UI材质。
- 标志、派系标识、拾取物图标、危险标识、驾驶舱贴花、HUD符号和GUI面板。
在生成或编辑2D输入之前,请查看获取提示模板。
references/image-generator-workflows.mdThree.js Integration
Three.js 集成
Load before importing Tripo outputs into a browser game. In short:
references/threejs-integration.md- Prefer GLB/PBR outputs for Three.js.
- Use for loading.
GLTFLoader - Use for rigged/animated GLBs.
AnimationMixer - Keep generated model files out of client-side API flows; generation is a tooling step.
- Inspect triangle count, texture count, material count, file size, scale, pivot, bounds, and animation clips.
- Use generated 3D assets as hero/high-fidelity content, then build surrounding prop kits procedurally or with additional /
threejs-3d-generatorpasses.threejs-image-generator
在将Tripo输出导入浏览器游戏之前,请查看。简要说明:
references/threejs-integration.md- 优先选择GLB/PBR输出用于Three.js。
- 使用加载模型。
GLTFLoader - 使用处理带骨骼绑定/动画的GLB文件。
AnimationMixer - 不要将生成的模型文件放入客户端API流程中;生成是工具链步骤。
- 检查三角形数量、纹理数量、材质数量、文件大小、缩放比例、轴心点、边界和动画片段。
- 将生成的3D资产作为主角/高保真内容使用,然后通过程序化生成或额外的/
threejs-3d-generator处理来构建周边道具库。threejs-image-generator
Rigging and Animation Reliability
骨骼绑定与动画可靠性
Load for the full parameter tables, retarget mechanics, and the animation prohibitions (the canonical source for all three). The rules that prevent most failures:
references/api-notes.md- Generate characters as one fused mesh: keep and
--quadoff (--generate-partsdisables texturing;generate_partsforces FBX output).quad - Require full-body T-pose or A-pose, arms away from body, symmetric, no props fused to the silhouette. Verify the rendered preview is actually in T/A-pose before rigging; regenerate if not.
- Run first (it takes no model version) and use the detected
animate_prerigcheckforrig_typeand preset selection.animate_rigmeans regenerate with a clearer pose, not force-rig.riggable=false - does not guarantee a usable rig. After rigging, validate the skeleton before retargeting:
riggable=true(thethreejs_3d_asset.py validate-rig rig-model.glb --rig-type bipeddoes this automatically). Check both presence AND chain depth: a rig with a 1-bone leg or 2-bone arm warps every clip.character-pipeline - Auto-rigging is nondeterministic. On validation failure, retry the rig task (~25 credits) before regenerating the model — (default 2) automates this, and
character-pipeline --rig-retries Nresumes from an existing generation. Armored/hard-surface characters need the most retries; organic meshes usually rig first try.--model-task-id TASK_ID - Creatures get exactly one preset (walk/march). For multi-mode creatures (crawl + fly dragons), rig the same model twice — ground rig type for the locomotion preset, for wing chains — and drive wings procedurally in Three.js or via external clips on a
avian-spec rig.mixamo - Rig version is the main quality lever, and it differs by body plan (measured June 2026). The routes this automatically; only override
character-pipelinedeliberately:--rig-model-version- HUMANOIDS: (anatomical Mixamo-like skeleton with twist bones + the large
v1.0-20240301clip library: idle, walk, run, slash, jump, dances, ...). The v2.x limb-chain rigger went 0/16 on humanoid meshes — armored or not, T-pose or A-pose — always producing asymmetric chains.preset:biped:* - CREATURES: (v2.x handles quadruped/avian well: symmetric 5-6 bone chains).
v2.5-20260210
- HUMANOIDS:
- For v1.0 rigs, retarget with (omit the version): the retarget enum rejects explicit
--model-version default(HTTP 400 code 2017) but the server default handles v1.0 rigs.v1.0-20240301 - v1.0 retargets must use (the script enforces this): Tripo's GLB bake on this path exports twist-bone transforms in the wrong space and limbs collapse into the torso — the FBX of the same task is correct. Load with three.js
--out-format fbxor convert offline. v2.5 creature retargets are fine as GLB.FBXLoader - Use (default) when Tripo presets will be retargeted;
--spec triporigs cannot be used with Tripo retarget and are only for external animation pipelines.--spec mixamo - takes the RIG task ID (not the generation task ID). Batch up to 5 presets per task with
animate_retarget; batched clips return named--animations,NlaTrack, … in request order — map by index and rename after import. SeeNlaTrack.001for the v1.0-vs-v2.5 batching and out-format rules.references/api-notes.md - Only 16 presets exist for v2.5 rigs (no ; use
preset:attack/preset:slash). Non-biped rig types have a single locomotion preset each; plan extra creature motion procedurally or via external retargeting.preset:shoot - A creature's MESH STANCE drives how presets read: a quadruped walk on an upright-standing dragon looks like a human walking. Generate creatures in the stance the animation expects (horizontal body, all fours planted) — the pipeline only auto-appends T-pose language for biped rigs.
- After download, run (keyframe QA: flags scale tracks, limb-stretching translation tracks, extreme rotations, and reports per-clip duration/channel coverage), then verify motion visually in the engine.
threejs_3d_asset.py validate-animation clip.glb - Never use (verified to corrupt clips: mirrored/crossed limbs on v1.0 rigs, exploded skinning on v2.5 — full detail in
--animate-in-place). Keep root motion baked and convert to in-place at import instead; exact engine snippet inreferences/api-notes.md.references/threejs-integration.md - After download, inspect clip names and counts before wiring the
gltf.animations.AnimationMixer
查看获取完整参数表、重定向机制和动画禁用规则(这是所有相关内容的权威来源)。以下是避免大多数失败的规则:
references/api-notes.md- 将生成为单个融合网格的角色:关闭和
--quad参数(--generate-parts会禁用纹理制作;generate_parts会强制输出FBX)。quad - 要求角色为全身T字或A字姿态,手臂远离身体,对称,没有与轮廓融合的道具。在绑定骨骼之前,验证渲染预览确实是T字/A字姿态;如果不是,请重新生成。
- 先运行(不需要指定模型版本),并将检测到的
animate_prerigcheck用于rig_type和预设选择。animate_rig意味着需要重新生成姿态更清晰的模型,而非强制绑定。riggable=false - 并不保证绑定可用。绑定后,在重定向动画之前验证骨骼:
riggable=true(threejs_3d_asset.py validate-rig rig-model.glb --rig-type biped会自动执行此操作)。检查骨骼是否存在以及链深度:只有1根骨骼的腿或2根骨骼的手臂会导致所有动画片段变形。character-pipeline - 自动骨骼绑定是非确定性的。如果验证失败,请在重新生成模型之前重试绑定任务(约25个积分)——(默认值为2)会自动执行此操作,
character-pipeline --rig-retries N可从现有生成任务恢复。带装甲/硬表面的角色需要最多的重试次数;有机网格通常第一次就能绑定成功。--model-task-id TASK_ID - 生物只能使用一个预设动画(行走/行进)。对于多模式生物(如爬行+飞行的龙),请为同一个模型绑定两次骨骼——使用地面骨骼类型处理移动预设,使用骨骼类型处理翅膀链——然后在Three.js中程序化驱动翅膀,或通过外部动画片段驱动
avian规格的骨骼绑定。mixamo - 骨骼绑定版本是主要的质量控制因素,且因身体结构而异(统计于2026年6月)。会自动路由版本;仅在有意调整时才覆盖
character-pipeline参数:--rig-model-version- 人形:(类似Mixamo的解剖学骨骼,带扭转骨骼+庞大的
v1.0-20240301动画库: idle、walk、run、slash、jump、舞蹈等)。v2.x肢体链绑定器在16次人形网格测试中全部失败——无论是否带装甲、是T字还是A字姿态,都会生成不对称的链。preset:biped:* - 生物:(v2.x能很好地处理四足/飞行动物:对称的5-6骨骼链)。
v2.5-20260210
- 人形:
- 对于v1.0骨骼绑定,重定向时使用(省略版本号):重定向枚举会拒绝显式的
--model-version default(HTTP 400错误码2017),但服务器默认值可以处理v1.0骨骼绑定。v1.0-20240301 - v1.0重定向必须使用(脚本会强制执行此要求):Tripo在此路径上的GLB烘焙会以错误空间输出扭转骨骼变换,导致肢体缩进躯干——同一任务的FBX输出是正确的。使用three.js的
--out-format fbx加载,或离线转换格式。v2.5生物重定向的GLB输出是正常的。FBXLoader - 当要重定向Tripo预设动画时,使用(默认值);
--spec tripo骨骼绑定无法用于Tripo动画重定向,仅适用于外部动画流水线。--spec mixamo - 需要传入骨骼绑定任务的ID(而非生成任务的ID)。通过
animate_retarget参数可在一个任务中批量处理最多5个预设动画;批量处理的动画片段会以--animations、NlaTrack……的名称按请求顺序返回——请按索引映射并在导入后重命名。查看NlaTrack.001获取v1.0与v2.5的批量处理和输出格式规则。references/api-notes.md - v2.5骨骼绑定仅支持16个预设动画(没有;请使用
preset:attack/preset:slash)。非双足骨骼类型各有一个移动预设;请通过程序化生成或外部重定向来规划额外的生物动作。preset:shoot - 生物的网格姿态会影响预设动画的效果:直立姿态的龙使用四足行走预设会看起来像人类行走。请按动画期望的姿态生成生物(身体水平,四肢着地)——流水线仅会为双足骨骼绑定自动添加T字姿态描述。
- 下载后,运行(关键帧质量检查:标记缩放轨道、肢体拉伸平移轨道、极端旋转,并报告每个动画片段的时长/通道覆盖情况),然后在引擎中直观验证动作。
threejs_3d_asset.py validate-animation clip.glb - 切勿使用参数(已证实会破坏动画片段:v1.0骨骼绑定会出现肢体镜像/交叉,v2.5会出现蒙皮炸开——详细信息见
--animate-in-place)。保留烘焙的根运动,在导入时转换为原地运动;references/api-notes.md中有具体的引擎代码片段。references/threejs-integration.md - 下载后,在连接之前,检查
AnimationMixer中的动画片段名称和数量。gltf.animations
Quality Rules
质量规则
- Improve the user's prompt with material, silhouette, camera/readability, scale, and game-use constraints.
- For riggable characters, include full-body T-pose or A-pose in the prompt or create a T-pose reference image first.
- For Three.js games, request GLB/PBR, reasonable face limits, and texture quality matched to the performance budget.
- For mobile/browser games, favor ,
smart_low_poly, later conversion, or low-poly postprocess when the asset is too expensive.face_limit - Always download output URLs immediately after success.
- Report the credential probe output, reference ledger, task IDs, output paths, model version, texture/geometry settings, animations, conversion settings, Three.js import notes, and any missing/failed steps.
- 为用户的提示添加材质、轮廓、相机/可读性、缩放比例和游戏使用约束,以优化效果。
- 对于可绑定骨骼的角色,在提示中包含全身T字或A字姿态,或先创建T字姿态参考图。
- 对于Three.js游戏,请求GLB/PBR格式、合理的面数限制,以及与性能预算匹配的纹理质量。
- 对于移动端/浏览器游戏,当资产性能开销过大时,优先选择、
smart_low_poly、后期格式转换或低多边形后处理。face_limit - 任务成功后立即下载输出URL。
- 报告凭证探测输出、参考台账、任务ID、输出路径、模型版本、纹理/几何设置、动画、转换设置、Three.js导入注意事项,以及任何缺失/失败的步骤。