本帖最后由 gmshiwoge 于 2026-7-13 16:15 编辑
原项目:https://github.com/pascalorg/editor
Ubuntu 部署步骤# 1. 安装 Node.js 18+(如果没有)
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs
# 2. 克隆你的 fork
git clone https://github.com/gmshiwoge/editor.git
cd editor
# 3. 切换到最新分支
git checkout feat/editor-enhancements
# 4. 安装依赖(用 npm 或 bun)
npm install
# 或者: curl -fsSL https://bun.sh/install | bash && bun install
# 5. 构建
npx turbo build --filter=editor --no-cache
# 6. 启动(端口 3000)
cd apps/editor && npx next start --port 3000
如果 Ubuntu 有 GPU(WebGPU 需要),确保 Chrome 113+ 或者用 --enable-unsafe-webgpu 启动浏览器。服务端本身不需要 GPU,WebGPU 是客户端浏览器的事。
部署完毕进入http://localhost:3000/scenes 或者 http://ip:3000/scenes 创建新场景
详细更新说明新功能1. HA 接管系统 - 灯光面板:绑定 HA 实体后,灯光开关由 HA light.turn_on/turn_off 控制
- 门面板:摆动门通过 swingAngle(弧度 0π/2)控制开合;推拉/折叠门通过 operationState(01)控制
- 窗面板:通过 operationState(0~1)控制开合
- 绑定实体后立即读取当前 HA 状态并同步到 3D 模型
2. HA 模式按钮 - 工具栏底部新增「HA」按钮,点击切换 HA 模式
- 开启后:每个绑定了 HA 实体的节点显示悬浮标签(友好名称)
- 关闭后:不显示任何 HA 标签
- 原「显示」菜单中的「HA 名称」和「HA 实体」开关已移除
3. HA 状态控制圆点 - 每个 HA 悬浮标签右侧有绿色/灰色圆点
- 绿色 = 实体当前 ON,灰色 = OFF
- 点击立即切换颜色(乐观 UI),后台异步发送 HA API 请求
- 支持灯光 toggle、门窗开合控制
4. 导出 App(GLB + 场景数据) - 设置面板新增「导出 App」按钮
- 导出 ZIP 包含 3 个文件:
- model.glb — 3D 模型,每个节点含 pascalId
- scene.json — HA 实体绑定、门窗控制数据、节点信息
- README.txt — Unity C# 完整集成指南
Bug 修复
| | | operationState 改为正确设置 swingAngle
| | handleUpdate 读取实时 store 状态而非闭包值
| | |
|
|
HA 使用办法1. 连接 Home Assistant2. 绑定实体到节点- 选中一个灯光/门/窗节点
- 侧面板出现「HA 实体」选择器,选择对应的 HA 实体
- 绑定后默认开启 HA 接管
3. 接管模式- 开启:节点状态由 HA 自动控制,面板上的开关变为只读,显示「HA 接管」标签
- 关闭:恢复手动控制,面板开关可操作
- 门/窗面板右上角有「HA 接管」切换按钮
4. HA 模式查看与控制- 点击工具栏「HA」按钮开启 HA 模式
- 所有绑定了 HA 实体的节点显示悬浮标签
- 绿色圆点 = ON,灰色 = OFF
- 点击圆点直接控制设备(无需打开侧面板)
5. 导出给 Unity- 设置 → 导出 App → 下载 ZIP
- 解压后用 model.glb 导入 Unity
- 用 scene.json 中的 haBindings 字段匹配节点,挂载 HA 控制脚本
|