Bedrock 3D 渲染引擎 (Bedrock 3D Engine)
PeroCore 使用了一套自研的、基于 Three.js 的高性能 3D 渲染引擎,专门用于解析和驱动 Minecraft Bedrock (基岩版) 格式的模型与动画。
🎮 3D 视窗演示 (Interactive Demo)
这是一个运行在浏览器中的 PeroCore 3D 渲染引擎 的实时演示。
交互指南
- 左键拖拽: 旋转模型
- Ctrl + 左键: 平移位置
- 滚轮: 缩放视角
- 右键菜单: 在桌面端右键模型可进入外观设置与调试面板。
🕹️ 桌面端操作指南 (Desktop Usage)
在 PeroCore 桌面端 中,Pet3DView 是用户与 AI 交互的主要窗口。
1. UI 组件概览
当你的鼠标悬停在模型身上时,会激活 UI 覆盖层 (UI Overlay)。
- 状态标签 (Status Tags) (左上角):
❤️ Mood: 当前情绪状态(如:开心、生气、疲惫)。✨ Vibe: 当前环境氛围(如:轻松、紧张)。💭 Mind: 当前的心理活动(如:“主人正在干嘛呀?”)。
- 悬浮触发器 (Floating Trigger): 一个跟随 UI 缩放的动态光球,用于唤起输入框。
- 输入框 (Chat Input): 按
Enter发送消息。在工作模式下会被禁用。 - 工具栏 (Toolbar):
🎨 外观设置: 快速更换衣服、配饰。🔄 重载: 重新加载模型资源(当模型出现显示异常时使用)。📏 调整大小: 切换窗口尺寸。🎙️ 语音模式: 切换 关闭 / VAD (自动感应) / PTT (按住说话)。💬 聊天: 打开独立的聊天窗口。⚙️ 面板: 打开设置与仪表盘。
2. 模型交互 (Model Interaction)
- 视线追踪: 模型的头部和眼睛会自动跟随你的鼠标移动。
- 拖拽与物理反馈: 拖动桌面窗口时,模型会呈现出“被拎起来”的物理惯性效果。
- 对话与气泡: AI 的回复会以气泡形式显示在头顶。
3. 语音交互 (Voice Interaction)
PeroCore 支持两种语音模式:
- VAD (自动感应): 自动检测环境音量,当你说话时自动录音,说完自动发送。
- PTT (按住说话): 屏幕上会出现一个悬浮的麦克风图标,按住说话,松开发送。
🛠️ 技术实现细节
1. 模型格式与安全性
为了保护创作者的版权并提高加载性能,PeroCore 采用了自研的 .Pero 加密模型格式。
.Pero格式: 这是一个经过加密和压缩的容器格式,内部封装了几何数据、纹理和私有元数据。- 原生闭源模块 (Rust Native): 模型解密与核心解析逻辑运行在 Rust 编写的闭源原生模块 中。
- 安全性: 密钥管理完全由 Rust 内部处理,JS 层无法拦截解密后的原始几何数据,有效防止模型被非法提取。
- 性能: 利用 Rust 的并发能力进行二进制数据解析,显著优于纯 JS 的处理速度。
2. 渲染管线 (Rendering Pipeline)
- 基座 (Base): 使用
Three.js进行底层渲染。 - 提供者层 (Provider Layer): 通过
PeroSecureProvider调用 Native 模块完成数据加载。 - 解析器 (AvatarRenderer): 将 Native 模块返回的骨骼数据转换为 Three.js 的层级树。
- 动画引擎 (AnimationEngine): 支持多轨道动画混合及 Molang 表达式驱动。
3. 性能优化 (Performance)
- 离屏渲染: 3D 渲染在独立的 WebContents 中进行。
- GPU 加速: 充分利用顶点着色器处理骨骼蒙皮动画。
- 按需更新: 窗口最小化时自动暂停渲染循环。
