Skip to content

Blender Avalonia Bridge 是什么

Blender Avalonia Bridge 是一个把 Avalonia UI 接入 Blender 的桥接工具套件。

Bridge 把 Avalonia 带进 Blender,在保留 Avalonia 几乎完整框架能力的同时,提供 Blender 原生的绘制与交互体验。

Blender Avalonia Bridge 总览
Offscreen 模式中的 Blender 内嵌 UI
Blender Avalonia Bridge 运行模式
Desktop 模式中的独立 Avalonia 窗口

项目仓库包含四个主要部分

模块介绍功能路径
avalonia bridge core.NET / Avalonia 侧运行时,包含自定义 offscreen Avalonia backend、稳定 frame pump、帧传输、输入派发、业务通道和 BlenderApi承载 Avalonia UI,并与 Blender 侧桥接模块交换 frame、input 和 business 消息src/BlenderAvaloniaBridge.Core
blender bridge coreBlender 侧运行时,包含 BridgeController、socket transport、业务端点和 View3DOverlayHost启动 Avalonia 进程、转发输入、接收最新 frame,并在 3D View 中绘制 overlaysrc/blender_extension/avalonia_bridge/core
avalonia sample一个单独可运行的 Avalonia 示例程序,接入了 avalonia bridge core用于功能展示、offscreen / desktop 模式验证和代码示例src/BlenderAvaloniaBridge.Sample
blender extension一个组装了 blender bridge core 的扩展(插件)提供 Blender 面板配置、启动入口和示例集成src/blender_extension/avalonia_bridge

总的来说,这个项目是这样用

  • Avalonia 侧负责 UI、状态和业务逻辑,并在 offscreen 模式下通过自定义 Avalonia backend 与稳定 frame pump 产出 frame
  • Blender 侧负责宿主、输入转发、最新 frame 消费、3D View overlay 绘制和业务请求转发

这样你不需要在 Blender 里自己维护一整套 GPU 绘制 UI 框架,也不需要把所有业务都写成 Python 面板逻辑。

它不是什么

它不是一个“只在 Blender Python 里堆面板”的方案。

如果你只是要做一个很简单的 Blender 面板或小工具,直接用传统 addon 开发更轻。

这个 bridge 更适合“Blender 负责宿主、输入和 overlay,Avalonia 程序负责 UI、业务和 offscreen frame 生产”的分工模式。

优势

1. 适合复杂 UI

你可以直接用 Avalonia 构建桌面级 UI,而不需要在 Blender 里维护一套自定义 GPU UI 层。

2. 适合复用 .NET / Avalonia 技术栈

如果你熟悉 Avalonia、C# 和 .NET,就可以继续使用现有框架、库和工程组织方式。

3. 适合把复杂业务放在独立进程

把业务逻辑放在 .NET 侧,更适合处理大量数据、复杂计算或已有后端式模块。

4. 适合减少 Python 业务源码分发

如果你不希望把核心业务代码直接以 Python 源码形式分发,可以使用 .NET AOT 把 Avalonia 项目编译为原生程序。

Offscreen 模式下的已知限制

  • 当前只支持 Windows 和 macOS 平台
  • Frame cadence 受 Blender redraw 调度和 bridge 目标帧率影响。Blender 只消费最新 frame,不会反向请求 bridge 加速产帧
  • 不支持外部拖拽,因为 Blender 会先捕获 drop 事件

下一步

  • 想先跑通一套最小示例,请看快速开始
  • 想接入你自己的 Blender 扩展和 Avalonia 程序,请看集成指南