ProjectAR
你的 Blender 场景,实时出现在房间里。
一款 Blender 插件加一款 iPhone 应用,通过本地网络把你正在编辑的场景实时传输到增强现实中。移动物体、添加修改器或更换材质,AR 视图都会在不到一秒内同步更新。
在 AR 中检查模型,通常意味着每次修改后都要导出、发送、再重新打开。ProjectAR 让 Blender 保持打开,只发送发生变化的部分,因此桌上的模型永远就是文件里的模型。
看看亮点。
一切,皆可传输。
插件会发送哪些内容,又如何让手机运行流畅。
实时传输。物体变换最高每秒更新 60 次;几何体或材质变化时重新发送网格。
只传变化。只有在设备连接、打开文件、单位缩放改变或按下 Resync 时,才会发送完整场景。
应用修改器。求值后的几何体,与视口中显示的完全一致。
实例。集合、粒子和 Geometry Nodes 实例,上限由你设定。
选择传输内容。所有可见物体、选中项或某一个集合;任意物体都可在 AR 中隐藏。
AR 原点。世界原点或 3D 游标会落在你点按的位置,远离原点的模型也能轻松放置。
暂停更新。大量编辑时暂停传输,恢复后手机会自动同步。
基础材质。来自 Principled BSDF 的 Base Color、Metallic、Roughness 和 Alpha。
自动发现。在每个网络接口上运行 Bonjour,也可手动粘贴 IP。
多设备。同时连接多部手机,每部都有独立的数据计数和断开按钮。
记住你的设置。端口、更新频率和各项上限都会保留,服务器还可以随 Blender 一同启动。
照顾较慢的手机。为每个物体设定三角面和实例预算,并为跟不上的设备自动重新同步。
工作原理。
Blender 的数据只在其主线程上读取;只有封装完成的字节帧才会进入网络线程。
监视场景
depsgraph 处理器会标记每一个发生变化的物体。
构建帧
Blender 主线程上的计时器把删除、网格和变换转换为字节帧。
发送到每部手机
每台设备各有一个发送线程,负责传送完成的帧。
互相发现
Bonjour 以
_viewar._tcp广播服务器,也可手动输入 IP。放置场景
网格进入 RealityKit 的 Y 轴向上坐标空间;点按一个表面即可放置场景。
网络上传输的一帧
协议版本 1 不支持实例化:每个实例都作为普通物体发送,并带有稳定的 id,例如 Trees/Pine#0.12;被多个实例共享的网格在每次更新时只三角化一次。
旧款 iPhone,同样适用。
面板会随时统计三角面和实例数量,在场景变得过重之前发出提醒,并列出所有被跳过的内容。
每秒更新次数
默认 30 次;动画繁重的场景建议 15 至 20 次。
场景规模
整个场景请控制在约一百万个三角面以内;超过时面板会发出提醒。
预览时
降低视口中的细分级别,隐藏不需要的内容,或只传输一个集合。
雕刻时
暂停更新,之后再让手机同步跟上。
一分钟,即可连接。
电脑和手机处于同一网络,Blender 已获防火墙放行,应用就能找到它。
技术规格
- 插件
- Blender 4.2 或更高版本,已在 5.2 LTS 上测试,支持 Windows、macOS 和 Linux。无需额外的 Python 包;Bonjour 库以 wheel 形式随附。
- 应用
- ProjectAR iOS 应用,需在支持 ARKit 的 iPhone 或 iPad 上运行
- 网络
- 电脑与手机连接同一 Wi-Fi 或局域网,且未启用客户端隔离
- 传输内容
- 网格、曲线、曲面、元球和文本物体及其实例,含逐角法线和当前活动的 UV 贴图
- 材质
- 来自 Principled BSDF 的 Base Color、Metallic、Roughness 和 Alpha
- 暂不支持
- 灯光、摄像机和图像纹理
- 隐私
- 服务器仅在你按下 Start Server 后启动,只在本地网络上监听,从不连接互联网