warrior-doll-kit
v0.1.0
Published
关节式切件骨架成品包(披甲武将):13 根骨 —— 腿三层(髋→膝→踝)、臂两层(肩→肘,拳焊在前臂上),外加一把环首刀。idle/walk/run/attack/jump/dash/heavy 七个动作,Cocos Creator 3.8。npm 装包后跑 warrior-doll-sync 把资源同步进工程 assets/resources/。
Readme
warrior-doll 关节式骨架包
披甲武将:12 件切件 + 一把环首刀,13 根骨 —— 腿三层(髋→膝→踝)、臂两层(肩→肘,拳焊在前臂上,没有腕关节)。
7 个动作:idle walk run attack jump dash heavy。
零外部依赖 —— 动作是 Cocos 原生 cc.AnimationClip,运行时一个 WarriorDoll 组件必挂,WarriorDollGhost(残影)可选。
由骨架仓库 RIG=warrior python3 tools/pack-kit.py 打出,skins.ts 是生成物,别手改。
运行时脚本和 hero-doll-kit / ogre-doll-kit 是同一份代码、类名加了前缀,几个包装进同一个工程不撞 @ccclass。
接入(Cocos Creator 3.8)
npm i warrior-doll-kit
npx warrior-doll-sync # 同步进 assets/resources/warrior-doll/或者整个 warrior-doll/ 文件夹连 .meta 一起拷进目标工程的 assets/resources/。
- 把
warrior-doll.prefab拖进场景(或instantiate); - 根节点挂
WarriorDoll组件; - 代码:
const doll = node.getComponent(WarriorDoll);
doll.play('walk'); // idle / walk / run 循环,其余一次性
doll.crossFade('heavy', 0.1);
doll.bone('arm-back-lower'); // 任意一根骨
doll.slot('weapon'); // 刀挂在后手前臂下
node.on(WarriorDoll.EVENT, (name, clip, payload) => {}); // footstep / hit / land / charge- 想要残影:再挂
WarriorDollGhost,每帧gh.step(该不该留影, dt)。
动作
| 剪辑 | 时长 | 帧事件 | 说明 |
|---|---|---|---|
| idle | 2.4s 循环 | — | 呼吸靠膝不靠挪躯干 |
| walk | 1.07s 循环 | footstep ×2 | 从 Spine 官方骨架重定向,腿 17 个关键帧 |
| run | 0.53s 循环 | footstep ×2 | 同上 |
| attack | 0.4s | hit | 扎马步挥刀,脚钉死、力从腰和臂上走 |
| jump | 0.95s | land | 预蹲 → 蹬伸 → 顶点收腿 → 落地压扁回弹 |
| dash | 0.43s | hit | 突进斩:沉身蓄 → 横向窜出 → 刹住收刀 |
| heavy | 1.13s | charge / hit | 蓄力重斩:举过顶抖 32 帧 → 砸下来收弓步 |
角色朝右。往左走把角色节点(预制体的父节点)scale.x 取负。
骨骼名:body head arm-{front,back}-{upper,lower} leg-{front,back}-{upper,lower} foot-{front,back} weapon。
front = 近侧(画在前景,不压暗),back = 远侧(压暗 0.72,刀在这只手上)。
★贴图和预制体的 .meta 是脚本生成的,不是 Creator 导出的。首次导入请看一眼预制体里贴图有没有掉。
许可
UNLICENSED —— 私有包,美术资源未授权二次分发。
