# Woop 2D Character Importer

适用于 Unity 6000.3 及以上版本。插件会把 `.woop` 压缩包中的 `woop.json` 和部件 PNG、JPG 或 WebP 导入为一个可直接拖入场景的 2D 角色资源。

## 安装

### 一键安装（推荐）

1. 把 `WoopImporter-0.3.3.unitypackage` 直接拖入 Unity 的 Project 窗口，或选择 `Assets > Import Package > Custom Package...`。
2. 在弹出的窗口中选择 `Import`。
3. 把 `.woop` 文件拖入项目的 `Assets` 文件夹。

### Package Manager 安装

也可以把整个 `com.yaozhihao.woop` 文件夹复制到 Unity 项目的 `Packages` 文件夹。

插件已内置 `unity.webp` 0.3.22 解码器，不需要另行安装 WebP 依赖。

安装后可通过 `Woop > 打开工具面板` 打开插件面板。面板提供 Logo、`导入 WOOP` 和 `访问官网` 按钮；导入的角色默认保存到 `Assets/Woop`。

导入后的 `.woop` 本身就是可实例化的 GameObject 资源。把它拖进 Scene，进入 Play 模式后使用 `W/A/S/D` 移动，按 `Space` 跳跃。

如果需要一个普通、可自由编辑的 `.prefab` 文件：选中导入后的 `.woop`，执行菜单 `Assets > Woop > Create Editable Prefab Copy`。

## 自动生成的内容

- 每个 Woop 部件对应一个 `SpriteRenderer`，按 `rest.matrix` 和 `zIndex` 恢复位置、旋转、缩放及层级。
- 根据 joints 和 anchors 自动建立 `Rig/Bone_part_*` 分片骨骼层级；选中角色根节点即可在 Scene 视图前景看到粗青色骨骼、橙色关节点和部件名称。
- 根物体带有 `Rigidbody2D` 和 `WoopCharacterController2D`；主体部件带有跟随其缩放和旋转的 `CapsuleCollider2D`。
- `WoopRigMetadata` 保存原始部件和关节关系，供后续开发骨骼动画或 IK 使用。
- 自动读取 `rigSemantics.roles`，明确映射左右上臂、下臂、手、腿、上下躯干和头部；不同角色不再依赖固定的 `part_XXX` 编号。
- 行走时左右腿交替、双臂反向摆动，下臂与手带有延迟；待机时手臂自然垂坠晃动，腿部保持较轻的自然摆动。
- `WoopRigMotion2D` 默认提供约 4° 的明显待机摆动和约 6° 的移动摆动；需要在 Animation 窗口手动制作关键帧时，可以暂时禁用该组件。
- 跳跃采用视觉抛物线，并在腾空时驱动画面左腿 `part_002`、右腿 `part_001` 向两侧展开。
- 默认关闭 2D 重力并锁定旋转；移动速度、每单位像素数、贴图过滤方式和碰撞体开关可在 `.woop` 的 Import Settings 中调整后重新导入。

## 输入

无需额外输入依赖，同时兼容 Unity Input System 和旧 Input Manager：

- 安装并启用 Input System 时，插件会自动检测并读取当前键盘的 WASD。
- 未启用 Input System 时，使用旧版 `UnityEngine.Input`。

默认左右移动时会自动翻转角色朝向。该行为可在角色上的 `WoopCharacterController2D` 中关闭。
