打造专属BongoCat:零基础模型定制与社区贡献全指南
你是否也曾想过让屏幕上的Bongo Cat拥有独特外观?是否希望分享自己设计的猫咪模型却不知从何下手?本文将带你从零开始完成模型定制、格式转换到社区贡献的全流程,让你的创意作品被全球用户看见。
模型定制基础
BongoCat支持三种官方模型类型,分别适配不同交互场景:
- 标准模型:src-tauri/assets/models/standard - 基础静态展示模型
- 键盘模型:src-tauri/assets/models/keyboard - 响应键盘输入的互动模型
- 手柄模型:src-tauri/assets/models/gamepad - 适配游戏手柄操作的模型
每个模型目录包含必要的配置文件和资源:
.model3.json- 模型主配置文件.moc3- 模型数据文件.cdi3.json- 模型物理碰撞配置texture_*.png- 纹理图片资源live2d_motion*.motion3.json- 动作配置文件
模型文件结构解析
以标准模型为例,核心文件结构如下:
standard/
├── cat.model3.json # 模型定义
├── demomodel.moc3 # 模型数据
├── demomodel.cdi3.json # 碰撞配置
├── demomodel.1024/ # 纹理图集
│ ├── texture_00.png
│ ├── texture_01.png
│ └── texture_02.png
├── live2d_expression*.exp3.json # 表情配置
└── live2d_motion*.motion3.json # 动作配置
模型加载逻辑在src/utils/live2d.ts中实现,通过load()方法读取模型配置并初始化:
public async load(path: string) {
this.initApp()
this.destroy()
const files = await readDir(path)
const modelFile = files.find(file => file.name.endsWith('.model3.json'))
if (!modelFile) {
throw new Error('未找到模型主配置文件,请确认模型文件是否完整。')
}
// ...加载模型的后续逻辑
}
自定义模型制作步骤
1. 基础资源准备
- 纹理图片:建议使用3张2048×2048的PNG图片,按身体部位拆分绘制
- 动作设计:规划至少3种基础表情和5种互动动作
- 配置文件:复制官方模型的JSON配置作为模板修改
2. 模型转换流程
若已有其他格式模型,可使用官方提供的在线转换工具: 🔗 BongoCat模型在线转换工具
转换后的文件需验证完整性,确保包含所有必要的配置文件。
3. 本地测试方法
完成模型制作后,通过以下步骤在本地测试:
- 将模型文件夹放入
src-tauri/assets/models目录 - 启动开发环境:
pnpm install
pnpm tauri dev
- 在应用设置中切换至自定义模型
- 测试所有交互动作和表情切换是否正常
模型加载状态管理在src/composables/useModel.ts中实现,通过handleLoad()方法处理模型加载和错误反馈。
社区贡献规范
贡献前准备工作
- 环境搭建:
# 安装依赖
pnpm install
# 启动开发服务器
pnpm tauri dev
- 代码规范:
- 遵循conventional-changelog提交规范
- 使用ESLint进行代码检查:
pnpm lint - 确保所有交互功能在三大平台(Windows/macOS/Linux)测试通过
模型提交 checklist
提交模型前请确认:
- [ ] 所有文件使用UTF-8编码
- [ ] 纹理图片压缩至合理大小(单张不超过2MB)
- [ ] 提供完整的动作集(至少包含 idle、press、release 状态)
- [ ] 包含模型预览图(200×200像素)
- [ ] 填写模型信息文档(作者、版本、说明)
Pull Request 流程
- Fork项目仓库
- 创建特性分支:
git checkout -b model/your-model-name - 提交模型文件至
src-tauri/assets/models/目录 - 更新模型列表:src/constants/index.ts
- 提交PR,标题格式:
feat: add [model-type] model [model-name]
高级模型优化技巧
性能优化建议
- 纹理图集合并:将多个小图合并为图集减少绘制调用
- 动作简化:非关键动作使用简化曲线减少计算量
- 分层加载:优先加载低分辨率纹理,再异步加载高清资源
交互体验增强
通过src/composables/useModel.ts中的方法可以自定义交互逻辑:
// 设置参数值控制模型状态
public setParameterValue(id: string, value: number | boolean) {
const coreModel = this.getCoreModel()
return coreModel?.setParameterValueById?.(id, Number(value))
}
常见可调整参数:
ParamMouseX/ParamMouseY- 控制模型朝向CatParamLeftHandDown/CatParamRightHandDown- 控制手部动作ParamAngleX/ParamAngleY- 控制模型旋转角度
社区资源与交流
模型资源库
Awesome-BongoCat 仓库收集了社区创建的各类模型: 📦 Awesome-BongoCat
在线转换工具
将其他格式模型转换为BongoCat兼容格式: 🔗 BongoCat模型转换工具
社区支持渠道
遇到技术问题可通过以下方式获取帮助:
- QQ群:加入交流群
- Issue跟踪:GitHub Issues
- 贡献指南:.github/CONTRIBUTING.md
贡献案例展示
社区用户贡献的模型案例:
蒸汽朋克风格模型
- 特点:金属质感纹理,齿轮联动动画
- 交互:按键时齿轮转动特效
- 文件结构:src-tauri/assets/models/steampunk
像素艺术模型
- 特点:8-bit风格像素画,复古动画
- 优化:简化纹理至256色,降低资源体积
- 动作:添加复古游戏风格的按键反馈
总结与展望
通过本文介绍的方法,你已经掌握了BongoCat模型定制的全流程。无论是修改现有模型还是创建全新设计,都可以通过社区贡献机制分享你的作品。
BongoCat项目持续欢迎各类贡献,包括但不限于:
- 新模型设计
- 模型转换工具改进
- 交互逻辑优化
- 文档翻译与教程编写
立即开始你的创作,让全球用户使用你设计的BongoCat模型!
所有贡献者将被列入项目贡献者名单,优质模型创作者将获得社区荣誉徽章。详细贡献指南请参考.github/CONTRIBUTING.md。
Kimi-K2.5Kimi K2.5 是一款开源的原生多模态智能体模型,它在 Kimi-K2-Base 的基础上,通过对约 15 万亿混合视觉和文本 tokens 进行持续预训练构建而成。该模型将视觉与语言理解、高级智能体能力、即时模式与思考模式,以及对话式与智能体范式无缝融合。Python00- QQwen3-Coder-Next2026年2月4日,正式发布的Qwen3-Coder-Next,一款专为编码智能体和本地开发场景设计的开源语言模型。Python00
xw-cli实现国产算力大模型零门槛部署,一键跑通 Qwen、GLM-4.7、Minimax-2.1、DeepSeek-OCR 等模型Go06
PaddleOCR-VL-1.5PaddleOCR-VL-1.5 是 PaddleOCR-VL 的新一代进阶模型,在 OmniDocBench v1.5 上实现了 94.5% 的全新 state-of-the-art 准确率。 为了严格评估模型在真实物理畸变下的鲁棒性——包括扫描伪影、倾斜、扭曲、屏幕拍摄和光照变化——我们提出了 Real5-OmniDocBench 基准测试集。实验结果表明,该增强模型在新构建的基准测试集上达到了 SOTA 性能。此外,我们通过整合印章识别和文本检测识别(text spotting)任务扩展了模型的能力,同时保持 0.9B 的超紧凑 VLM 规模,具备高效率特性。Python00
KuiklyUI基于KMP技术的高性能、全平台开发框架,具备统一代码库、极致易用性和动态灵活性。 Provide a high-performance, full-platform development framework with unified codebase, ultimate ease of use, and dynamic flexibility. 注意:本仓库为Github仓库镜像,PR或Issue请移步至Github发起,感谢支持!Kotlin08
VLOOKVLOOK™ 是优雅好用的 Typora/Markdown 主题包和增强插件。 VLOOK™ is an elegant and practical THEME PACKAGE × ENHANCEMENT PLUGIN for Typora/Markdown.Less00