Skip to content

集成概览

如果你只是想先运行仓库自带示例,请看快速开始

接入范围

一次完整接入包含两部分:

  • Avalonia 程序负责 UI、状态和业务逻辑,并作为 bridge 进程启动
  • Blender 扩展负责启动 bridge、绘制 overlay、转发输入和承载业务通道

常见接入顺序:

  1. 配置 Blender 侧 BridgeConfig
  2. 修改 Avalonia 程序入口,支持 bridge 启动
  3. 在 Blender 侧组装 BridgeController 与可选的 View3DOverlayHost
  4. 在 modal operator 中驱动 tick_once()handle_event(context, event)

公共配置

下面这些配置由 Blender 侧 Python runtime / addon 在创建 BridgeConfig 时提供。

  • executable_path:Avalonia 程序可执行文件路径。Blender 侧通过这个路径启动 bridge 进程。
  • window_mode:运行模式。headless 是 offscreen UI 的兼容配置值,启用 frames + input + businessdesktop 只建立 business 连接。
  • widthheight:Avalonia 逻辑窗口尺寸。
  • render_scaling:offscreen UI 模式下的渲染密度和 Blender overlay 显示倍率。
  • target_fps:bridge 进程的目标产帧率,默认 120

executable_path 可以指向开发期的 Debug / Release 可执行文件。发布场景优先使用 AOT 可执行文件。路径应对 Blender 进程可见,并与当前平台一致,例如 Windows 上的 .exe 或 macOS 上的应用可执行文件。

其中 window_modewidthheightrender_scalingtarget_fps 会作为 bridge 启动参数影响 Avalonia 端运行方式。

在 offscreen UI 模式下,widthheight 始终是逻辑 UI 尺寸。render_scaling 会增大渲染 frame 尺寸和 Blender overlay 显示尺寸,输入坐标仍映射回逻辑尺寸。

Frame producer 在 bridge 进程中按 target_fps 稳定产帧。Blender 的 modal timer 使用同一个目标帧率消费最新收到的 frame,不会反向请求 bridge 加速产帧。

Core 与 Sample / Addon 的边界

  • BlenderAvaloniaBridge.Core 和 Blender 侧 avalonia_bridge/core 负责桥接基础设施:进程、传输、frame、input、business
  • BlenderAvaloniaBridge.Sample 和 Blender addon 壳层负责示例 UI、配置组装与业务代码
  • 集成时通常不需要修改两侧 core,主要在 Avalonia app 层和 Blender addon 层接入

分侧接入

相关章节