DyberPet 桌宠怎么搭:完整上手指南
【免费下载链接】DyberPetDesktop Cyber Pet Framework based on PySide6项目地址: https://gitcode.com/GitHub_Trending/dy/DyberPet
DyberPet 是基于 PySide6 的开源桌面宠物框架,让喜欢的角色住进桌面,带动画、交互、养成与商店系统,还能用 JSON 配置创作自己的角色和物品,做出真正"会生活"的桌面宠物。
它到底是什么
大多数桌面宠物本质是个 GIF 播放器:播几段动画,到此为止。DyberPet 在动画之上多了一层数值系统。每个角色有饱食度、好感度、活力值,饱食度随时间自然下降,你不喂它它就饿;点击互动、完成任务会涨好感度,好感度到级会解锁新动作和新物品。所以"养成"这两个字在这里是成立的,不是宣传词。
另一个差异是模组自由度。角色行为、物品属性、通知音效全部由 JSON 配置文件驱动,加一个新角色不用改代码,把一文件夹序列帧丢进res/role/就能被程序识别加载。对想动手的人来说,这比"只读"的皮肤替换系统好玩得多。
🚀 3 分钟跑起来
Windows 用户走最短路径:从项目 Release 下载最新版 v0.8.5 打包的 EXE,双击run_DyberPet.exe即可,不装 Python 也能玩。
如果你想改代码,开发者路径也就三步:
conda create -n dyber python=3.9 pip install PySide6-Fluent-Widgets==1.5.4 pyside6==6.5.2 tendo apscheduler pynput python run_DyberPet.py跑起来之后你第一眼会看到:左侧角色管理界面列出所有可用角色,右侧角色面板显示选中角色的饱食度和好感度,桌面上站着一个角色,头顶弹出"下午好"的对话气泡。
🎯 核心能力速览
拍拍它、让它跟着鼠标走
左键单击角色触发拍拍动作,大概率冒出浮动心心,小概率抛物线掉落物品到任务栏。右键角色弹出菜单,选"跟随鼠标",角色就变成一条跟着光标移动的小尾巴,拖拽移动时还有落地反弹的判定。
用喂食维持它的状态
饱食度随时间下降,降到很低时角色只剩睡觉动作可播。右键菜单进背包,选中食物点使用,角色按喜好程度播放不同的进食动画,饱食度和好感度对应上涨。
用番茄钟盯着它干活
任务面板里启动番茄钟或自定义时长的专注时间,期间角色只播放focus专注动画,倒计时结束掉落物品奖励,开始、结束、取消都会推送不同通知。
对话气泡与通知栏
角色头顶的对话气泡负责"说话":启动问候、饿了提醒、被频繁点击的吐槽,触发逻辑和文案都在配置里定义,气泡带倒计时和结束语音。数值变化、任务状态则走右下角通知栏,同类通知会自动合并,不会刷屏。
对话内容支持线性流程和分支选项两种结构,配置成图如下,分支节点的选项由你在配置里写死:
召唤同伴和迷你宠物
右键菜单"召唤同伴"可让多个角色同屏,注意是召唤而不是多开进程。背包里subpet类型的物品能召唤迷你宠物,它们自动排队跟随主宠物,还能附带 Buff 增益。
🎨 从零开始定制
以"我想做一个自己的角色"为线索,一共四步。
第一步,准备序列帧。在res/role/YOURPET/action/放透明背景 PNG,所有帧尺寸一致、脚底贴图片底部,每个动作同一前缀加从 0 开始的序号,如stand_0.png、stand_1.png。至少要给出default(待机)、drag(拖拽)、fall(下落)三个动作,缺失的会被程序用 default 顶替。
第二步,写动作参数res/role/YOURPET/act_conf.json,只给关键字段:
"default": { "images": "stand", "act_num": 1, "frame_refresh": 0.1 }images是帧序列公共前缀,act_num是帧数,frame_refresh是每帧间隔秒数。
第三步,写角色参数res/role/YOURPET/pet_conf.json,声明width/height,把default、drag、fall映射到动作名,再在random_act里定义随机播放的动作组合和概率。
第四步,启动程序。新角色直接出现在角色管理列表,点"启动"上桌面;配置有问题时系统模块会检查模组文件夹并给出错误提示,照着改即可。完整的参数说明在 docs/art_dev.md。
👥 谁会用、怎么用
考研党和久坐办公的打工人:设 25 分钟番茄钟,专注时段角色切换成安静动画,结束铃响加物品掉落,桌面相当于一个软性的督促装置,比倒计时弹窗更有存在感。
角色爱好者:把喜欢的作品角色做成模组导入,日常喂食、养好感度,到级解锁新动作和收藏品的过程本身就像在收集图鉴,现有角色与物品模组合集见 docs/collection.md。
想练手的独立开发者:全项目是"JSON 配置驱动 UI + Qt 信号槽"的典型样本,信号连接集中在 run_DyberPet.py 的__connectSignalToSlot里,照着读一遍能搞清各模块怎么串起来。
🛠️ 进阶与避坑
单实例锁:程序用SingleInstance禁止多开,双点run_DyberPet.py第二次不会有任何反应。想同屏多角色用"召唤同伴",不是再开一个进程。
文件命名:模组文件夹和文件名必须用英文,开发文档明确提到部分系统解压中文文件名会乱码并导致程序崩溃,这一步最常被忽略。
内存与噪音:res/role/NAME/note/里的随机语音直接占内存,加一两个足够;金币掉落动画上限 10 个,多角色同屏时优先减少同屏气泡数量,比降帧率更管用。
🌟 社区与生态
使用问题与功能建议走 Issue 反馈;角色、物品、音效、迷你宠物四类模组都可扩展,LLM 对话模块在开发中。关键入口:素材开发文档 docs/art_dev.md、角色与模组合集 docs/collection.md、配置示例res/role/Kitty/。
打开res/role/目录,把Kitty文件夹复制一份改个名,把action/里的 PNG 换成你的序列帧、改两个 JSON 的前缀字段,你的角色就能出现在桌面上。
【免费下载链接】DyberPetDesktop Cyber Pet Framework based on PySide6项目地址: https://gitcode.com/GitHub_Trending/dy/DyberPet
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考