集成概览
如果你只是想先运行仓库自带示例,请看快速开始。
接入范围
一次完整接入包含两部分:
- Avalonia 程序负责 UI、状态和业务逻辑,并作为 bridge 进程启动
- Blender 扩展负责启动 bridge、绘制 overlay、转发输入和承载业务通道
常见接入顺序:
- 配置 Blender 侧
BridgeConfig - 修改 Avalonia 程序入口,支持 bridge 启动
- 在 Blender 侧组装
BridgeController与可选的View3DOverlayHost - 在 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 + business;desktop只建立business连接。width和height:Avalonia 逻辑窗口尺寸。render_scaling:offscreen UI 模式下的渲染密度和 Blender overlay 显示倍率。target_fps:bridge 进程的目标产帧率,默认120。
executable_path 可以指向开发期的 Debug / Release 可执行文件。发布场景优先使用 AOT 可执行文件。路径应对 Blender 进程可见,并与当前平台一致,例如 Windows 上的 .exe 或 macOS 上的应用可执行文件。
其中 window_mode、width、height、render_scaling 和 target_fps 会作为 bridge 启动参数影响 Avalonia 端运行方式。
在 offscreen UI 模式下,width 和 height 始终是逻辑 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、businessBlenderAvaloniaBridge.Sample和 Blender addon 壳层负责示例 UI、配置组装与业务代码- 集成时通常不需要修改两侧 core,主要在 Avalonia app 层和 Blender addon 层接入
分侧接入
- Avalonia 侧接入:看 Avalonia 侧接入
- Blender 侧接入:看 Blender 侧接入