Skip to content

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 支持两种语音模式:

  1. VAD (自动感应): 自动检测环境音量,当你说话时自动录音,说完自动发送。
  2. 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 加速: 充分利用顶点着色器处理骨骼蒙皮动画。
  • 按需更新: 窗口最小化时自动暂停渲染循环。