跳至主内容
← 返回

发布与分享

本节介绍如何将场景编辑器中的场景发布到艾克斯虚拟空间,以及发布后的管理和分享。

发布流程概览

┌─────────────────────────────────────────────────────────────────────────────┐
│                           发布流程                                          │
├─────────────────────────────────────────────────────────────────────────────┤
│                                                                              │
│   ┌──────────┐    ┌──────────┐    ┌──────────┐    ┌──────────┐             │
│   │ 1. 准备   │───→│ 2. 预览   │───→│ 3. 导出   │───→│ 4. 发布   │             │
│   └──────────┘    └──────────┘    └──────────┘    └──────────┘             │
│        │               │               │               │                   │
│        ▼               ▼               ▼               ▼                   │
│   • 检查场景      • 生成缩略图     • 导出 GLB      • 上传到                  │
│   • 保存项目      • 预览场景       • 压缩优化      •   Reticulum             │
│   • 优化性能      • 检查问题       • 验证格式      • 生成房间                │
│                                                                              │
└─────────────────────────────────────────────────────────────────────────────┘

1. 发布前准备

场景检查清单

必需元素:

  • 至少一个 Spawn Point(出生点)
  • Scene Preview Camera 设置好角度(用于缩略图)
  • 基本的光照配置
  • Floor Plan 覆盖可行走区域

性能优化:

  • 静态元素已标记为 Static
  • 阴影设置合理(仅主光源开启)
  • 模型面数在合理范围
  • 纹理尺寸适中(< 2048x2048)

用户体验:

  • 出生点位置合理(不会卡在物体中)
  • 场景可以正常导航
  • 重要内容可见
  • 音频音量合适

保存项目

本地保存:

  1. Ctrl + S 或 File → Save
  2. 项目保存到浏览器本地存储
  3. 登录后可同步到云端

命名规范:

  • 使用描述性名称
  • 避免特殊字符
  • 可以添加版本号(如 "Meeting Room v2")

2. 发布场景

发布步骤

方法一:通过工具栏

  1. 点击工具栏的 Publish 按钮
  2. 等待场景处理
  3. 填写场景信息
  4. 点击 Publish

方法二:通过菜单

  1. File → Publish to Hubs
  2. 等待场景处理
  3. 填写场景信息
  4. 点击 Publish

发布对话框

┌─────────────────────────────────────────────────────────────┐
│                      发布场景                               │
├─────────────────────────────────────────────────────────────┤
│                                                              │
│  Scene Name:                                                │
│  [Meeting Room                    ]                        │
│                                                              │
│  Description:                                               │
│  [A modern conference room for up to 8 people.            │
│   Features a large screen for presentations.]              │
│                                                              │
│  Allow Remixing:  [✓] 允许他人基于此场景创建               │
│                                                              │
│  Attribution:                                               │
│  [Created by Your Name           ]                        │
│                                                              │
│  ┌─────────────────────────────────────────────────────┐   │
│  │                  场景预览                            │   │
│  │                                                      │   │
│  │              [缩略图预览区域]                        │   │
│  │                                                      │   │
│  └─────────────────────────────────────────────────────┘   │
│                                                              │
│  [取消]                              [发布到 Hubs]         │
│                                                              │
└─────────────────────────────────────────────────────────────┘

发布选项

选项 说明 建议
Scene Name 场景名称 使用简洁描述性名称
Description 场景描述 说明场景用途和特点
Allow Remixing 允许再创作 公开场景建议勾选
Attribution 署名 填写作者信息

发布过程

发布时会执行以下操作:

  1. 生成缩略图

    • 使用 Scene Preview Camera 角度
    • 生成场景预览图
  2. 导出 GLB

    • 将场景转换为 GLB 格式
    • 包含所有几何体、材质、纹理
    • 添加 MOZ_hubs_components 扩展数据
  3. 优化处理

    • 压缩纹理
    • 优化几何体
    • 减少文件大小
  4. 上传到 Reticulum

    • 上传到 Hubs 后端服务器
    • 生成场景 ID
  5. 创建 Hubs 房间

    • 生成可访问的房间链接
    • 设置默认房间配置

3. 发布后的管理

查看已发布场景

  1. 点击头像或菜单
  2. 选择 My Scenes
  3. 查看所有已发布场景列表

场景管理选项

选项 功能
Open 在 Hubs 中打开场景
Edit 在场景编辑器中编辑场景
Duplicate 复制场景(创建新版本)
Delete 删除场景
Share 获取分享链接

更新已发布场景

  1. 在场景编辑器中打开原项目
  2. 进行修改
  3. 再次点击 Publish
  4. 选择 Update Existing Scene
  5. 选择要更新的场景
  6. 确认更新

注意:

  • 更新会替换原有场景
  • 已创建的 Hubs 房间不受影响
  • 可以回滚到之前的版本

4. 分享场景

获取分享链接

发布后,你会获得:

链接类型 用途 格式
场景页面 查看场景详情 https://hubs.local:4000/scenes/{scene-id}
直接房间 直接进入房间 https://hubs.local:4000/{room-code}
嵌入代码 嵌入网页 iframe 代码

分享方式

直接分享链接:

  1. 复制房间链接
  2. 发送给朋友或同事
  3. 点击链接即可进入

社交媒体分享:

  • 分享到 Twitter
  • 分享到 Facebook
  • 复制链接分享到其他平台

嵌入网页:

<iframe 
  src="https://hubs.local:4000/{room-code}" 
  width="100%" 
  height="100%"
  allow="xr-spatial-tracking"
></iframe>

5. 房间设置

创建房间

发布场景后,可以:

  1. 创建私人房间

    • 只有自己可以进入
    • 需要邀请链接才能加入
  2. 创建公共房间

    • 任何人可以通过链接加入
    • 显示在公共房间列表

房间权限

权限 说明
Room Owner 房间创建者,拥有所有权限
Moderator 主持人,可以踢人、静音
Participant 普通参与者
Spectator 旁观者,只能观看

房间设置选项

在 Hubs 房间中可以设置:

  • 房间名称:自定义房间显示名称
  • 最大人数:设置房间人数上限
  • 语音模式:开启/关闭语音
  • 视频模式:开启/关闭视频
  • 媒体权限:谁可以放置媒体
  • 锁定房间:防止新用户加入

6. 场景权限

权限级别

级别 可见性 可再创作
Private 仅自己 否
Unlisted 知道链接的人 取决于设置
Public 所有人 取决于设置

设置场景权限

  1. 进入 My Scenes
  2. 选择场景
  3. 点击 Settings
  4. 调整权限选项

允许再创作 (Remix)

勾选 Allow Remixing 后:

  • 其他用户可以将你的场景作为模板
  • 创建他们自己的版本
  • 原场景署名会保留

7. 性能优化与发布

导出前优化

文件大小优化:

优化项 目标
GLB 文件大小 < 50MB
纹理总大小 < 100MB
三角形总数 < 500k

优化技巧:

  1. 纹理压缩

    • 使用 JPG 代替 PNG(无透明度)
    • 降低纹理分辨率
    • 使用纹理图集
  2. 模型优化

    • 减少多边形数量
    • 合并相同材质的网格
    • 删除隐藏的面
  3. 光照烘焙

    • 静态光照预先计算
    • 减少实时光源数量

移动端优化

针对移动端用户的额外优化:

  • 进一步降低模型面数
  • 使用更小的纹理
  • 减少粒子效果
  • 简化后期处理

8. 故障排除

发布失败

问题:发布按钮无响应

解决方案:

  1. 检查网络连接
  2. 确认已登录
  3. 尝试刷新页面
  4. 检查浏览器控制台错误

问题:导出失败

解决方案:

  1. 检查场景是否有损坏的元素
  2. 尝试删除最近添加的元素
  3. 检查模型文件是否完整
  4. 减少场景复杂度

问题:上传超时

解决方案:

  1. 压缩场景资源
  2. 减少文件大小
  3. 使用更快的网络
  4. 分批发布(先简化场景)

发布后问题

问题:场景加载慢

解决方案:

  1. 优化纹理大小
  2. 减少模型面数
  3. 使用 CDN 加速
  4. 启用压缩

问题:某些元素不显示

解决方案:

  1. 检查元素是否设置为 Visible
  2. 确认资源链接有效
  3. 检查 CORS 设置
  4. 重新导入资源

问题:导航网格有问题

解决方案:

  1. 调整 Floor Plan 参数
  2. 检查 Floor Plan 覆盖范围
  3. 重新生成导航网格
  4. 添加更多碰撞体

9. 最佳实践

发布前检查流程

发布前 24 小时:
├── 完成场景设计
├── 进行性能测试
└── 收集反馈

发布前 1 小时:
├── 最终检查清单
├── 测试发布流程
└── 准备描述文字

发布时:
├── 保存项目
├── 生成预览图
├── 填写场景信息
└── 确认发布

发布后:
├── 测试房间链接
├── 检查移动端体验
└── 收集用户反馈

场景描述模板

[场景名称]

简介:
[一句话描述场景的用途和特点]

特点:
• [特点1]
• [特点2]
• [特点3]

适合场景:
• [使用场景1]
• [使用场景2]

建议人数:[X] 人
预计加载时间:[X] 秒

下一步