[开源] 💘C × SDL3 × OpenGL,将三股神秘力量聚合在一起! Bong~ BongoCat

去年 12 月份的的时候和佬们分享了我是如何用纯 C 仅用 100kb 就是实现了 runcat 的托盘动画,同时还支持自定义 GIF❗️

记得刚开始做Catime的时候有一个心结 🥺,就是纯 C 来做 ui 真的是一种灾难

当时的想法是语言本身的问题,毕竟....

Catime 的第一版 Ui 自然就是跟上个世纪的老古董 一样丑,是真的丑!

后续虽然引入了 Windows Common Controls 6.0带来了些看起来现代的外观,但是

唔~咋说呢,看起来就是稍微好了那么一点点 ,但是看起来这不依然还是个老古董 嘛 ,而且在 win10 上这个是没有的,导致 win11 像个老古董 ,win10 则像个远古遗迹 🗿

之前为了控制 Catime 的体积在1mb 以下,曾考虑用 CSS 实现字体样式,但是....这压根不可能,所以就搓了些GDI 自绘 的样式临时凑合着作为一个过渡方案

然后前段时间也不知道哪根筋搭对了,我突然想:既然我都能直接渲染样式了,那我为什么不干脆试试直接画 ui 呢?🤡ui 他不就是几张图往一起一摞,再写点交互逻辑嘛!对吧对吧对吧!!!结果发现实现起来只是需要处理的交互逻辑多了一点而已,比样式的实现简单实在是太多了!


正在这个时候

跟一位给 BongoCat 做模型的朋友唠嗑,聊着聊着才知道------BongoCat 的 mver 和 tauri 两个版本也陆续停更了

我当时寻思:啊?这...那...要不我来试试? 🤔

毕竟 Catime 这边咱还有还有个"体积必须小于 1 MB"的硬性限制(哈哈哈,因为感觉这样可以给自己挑战感),UI 能发挥的空间确实比较有限,既然 BongoCat 这边刚好空出来了,那不如......我来折腾一下?

来吧,那我们直接来看成品吧,注意接下来你看到的所有的 ui 全部都是用纯 C 写‼️

啥?你这咋还有 C++?

因为live2dCubism Native Framework (可以理解为让模型动起来的骨架 )本身提供的是 C++ 接口,所以我们专门写了一层 C++来完成模型加载、动作更新和渲染,再通过 C ABI 接回整个 C 项目,也就是说,C++只被隔离在 live2d 适配层,ui 和其余应用主体依然全部都是 C !!!

https://github.com/vladelaina/BongoCat

  1. 偏好设置

  2. 模型

  3. 快捷键

  4. 关于

需要模型?欢迎访问我们的官网:bongocat.pet

我们与优秀的模型师携手,为佬们带来丰富的免费模型,持续探索更多有趣的桌面体验!

如果喜欢某位作者的作品,别忘了前往作者主页点个关注,感谢佬的支持喵❗️

📦 使用 Cloudflare R2 存储,点击即可直接下载!!无需跳转网盘,没有任何网盘推广和广告,干净利落

[

如果只是改个外观 ui 啥的那也太无聊了吧

首先就是来到我们最擅长的资源占用

怎么还有 2.7%的 cpu 占用!!!?,因为这是虚拟机

只有 5mb !纯原生 ,还跨平台❗️

OBS 捕获优化

大部分情况可以直接捕获❗️无需要扣绿幕,同时任务栏不会有软件的 logo

由于 OpenGL 的问题还有有一部的几率出现无法直接捕获的问题,我们也可以应对

哈哈哈,实在是太喜欢这个开关了,左侧就是背景颜色的选择,优雅~

更加方便的换模型!表情!动作!

以前换模型,表情,动作都需要打开设置或者用快捷键,现在只需要两步了!鼠标右键 然后 选择就行

同时还有鼠标滚动 直接调整缩放 (哈哈哈,这块是从 Catime 学过来的),按住Ctrl+滚动 就是调整透明度

就这?那你这不过只是在修复了 tauri 版本的 bug 而已啊,本质不就是一个换壳吗⁉️

以前的模型是这样的

就是感觉桌宠只是在乱动

现在‼️

先吐槽一下这块的逻辑磨了开发者一个多星期 ,工作量远比想的特别麻烦!!基本就是慢慢的 出来的,就是不断地去试参数人都麻了

但是这一切都是特别值得的 ,桌宠会盯着鼠标所在的位置看 ,同时桌宠的鼠标 是和用户的鼠标在屏幕上的位置对应的!💕

现在!就是真的互动了

同时支持mver 版本和tauri版本模型❗️

当前市面上出现了一个很割裂 的事,几乎所有的模型师发的 BongoCat 模型 用的都是mver 版本 的,同时 tauri 版本用的是单独的一套模型组织格式

也就是说如果你想要新的模型在 tauri 版本上使用那么你需要经过一次模型的转换

在做 bongocat 的时候我也遇到了一样的纠结 ,是走mver 版本的 模型组织格式还是tauri 版的,想来想去,算了算了,不想了

我全都要

‼️同时支持 mver 版本 和 tauri 版本模型格式‼️

更棒的是 我们会将tauri 版本的重新转换为 mver 版本 保存,所以我们的模型格式走的还是 mver 版本,这样方便佬们直接将导入的模型继续在 mver 版本上使用

一个二次元老婆多无聊,必须一群啊

支持同时拥有 8 个"老婆"

当前演示所用虚拟机大小 ,相信佬们的 cpu 应该能做到更低

最后祝佬们玩的开心,如果能点击 star 那实在是太感谢了💕

https://github.com/vladelaina/BongoCat

本次演示的所有的模型 都可以在我们的官网上下载

bongocat.pet