乐于分享
好东西不私藏

Pet-RS 桌面宠物机器人技术文档

Pet-RS 桌面宠物机器人技术文档

声明: AI辅助写一篇文档试试水。。。

======================

🤖

Pet-RS 桌面宠物机器人技术文档

基于 Rust + egui 的可爱桌面宠物

摘要:一个基于 Rust + egui 的可爱桌面宠物,具有跟随鼠标和周期性可爱动作的功能。本文详解技术架构、行为系统、动画系统设计与实现。

📋 项目概述

属性
项目名称
pet-rs
版本
0.1.0
语言
Rust 2021 Edition
GUI 框架
egui 0.29 + eframe
主要特性
透明窗口、鼠标穿透、行为系统、动画系统

✨ 功能特性

  • 跟随鼠标
    : 宠物会平滑地跟随鼠标移动
  • 可爱动作
    : 周期性执行眨眼、跳跃、挥手、旋转、心跳等动作
  • 透明窗口
    : 无边框透明窗口,鼠标穿透
  • 总是置顶
    : 宠物窗口始终显示在最上层
  • 设置面板
    : 可调整大小、速度,测试各种动作

🏗️ 技术架构

┌─────────────────────────────────────┐ │      eframe 应用层 (main.rs)         │ │  - 窗口配置(透明、无边框、置顶)      │ │  - 输入事件处理                      │ │  - 渲染循环                          │ └─────────────────────────────────────┘               │               ▼ ┌─────────────────────────────────────┐ │      宠物核心层                      │ │  ┌─────────────┐  ┌──────────────┐  │ │  │  Pet (pet)  │  │ BehaviorMgr  │  │ │  │  - 位置/目标 │  │  - 行为注册   │  │ │  │  - 配置     │  │  - 行为调度   │  │ │  │  - 动画状态  │  │  - 优先级/冷却 │  │ │  │  - 绘制方法  │  │              │  │ │  └─────────────┘  └──────────────┘  │ └─────────────────────────────────────┘               │               ▼ ┌─────────────────────────────────────┐ │      egui 渲染引擎                   │ └─────────────────────────────────────┘

🔧 核心模块

1. DesktopPet (main.rs)

职责: 应用主体,管理窗口、事件和渲染循环

struct DesktopPet {     pet: Pet,                    // 宠物实例     show_settings: bool,         // 设置面板显示状态     window_offset: Vec2,         // 窗口偏移 }

2. Pet 模块 (pet.rs)

PetConfig 配置:

字段
默认值
说明
size
80.0
基础尺寸
primary_color
天蓝色
主颜色
move_speed
300.0
移动速度 (像素/秒)

🧠 行为系统设计

enum BehaviorType {     Idle,           // 待机     Blink,          // 眨眼     Jump,           // 跳跃     Wave,           // 挥手     Spin,           // 旋转     HeartBeat,      // 心跳     Yawn,           // 打哈欠     Nod,            // 点头 }
行为
持续时间
权重
Idle
2s
5.0
Blink
200ms
3.0
Jump
500ms
1.5
Wave
800ms
1.0

🎨 动画系统

使用正弦函数和线性插值 (lerp) 实现平滑动画过渡,每个行为对应不同的动画状态更新逻辑。

fn lerp(a: f32, b: f32, t: f32) -> f32 {     a + (b - a) * t.clamp(0.0, 1.0) }

⚡ 性能优化

  • 增量渲染
    : egui 只在需要时重绘
  • 轻量级计算
    : 使用简单数学公式
  • Release 优化
    : LTO + opt-level 3

🚀 快速开始

# 开发模式运行 cargo run  # 发布模式运行(性能最优) cargo run --release

文档版本: 1.0 | 最后更新: 2026-03-02

本站文章均为手工撰写未经允许谢绝转载:夜雨聆风 » Pet-RS 桌面宠物机器人技术文档

评论 抢沙发

2 + 9 =
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
×
订阅图标按钮