Mml

🌐 HTML 式语法构建 3D 元宇宙场景

使用 MML 标记语言构建 3D 元宇宙场景,支持模型、动画、碰撞检测、用户交互与空间音频,适用于 Otherside 等兼容环境。

收藏
4k
安装
1k
版本
1.0.0
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心用法

MML(Metaverse Markup Language)是一种 HTML 风格的标记语言,专为构建 3D 交互场景而设计。开发者通过编写 .html 格式的 MML 文档,利用 WebSocket 传输,由客户端(Web/Three.js 或 Unreal Engine)实时渲染。文档支持标准 DOM 脚本,可通过 <script> 标签实现动态交互。

核心元素体系:

  • 几何体m-cubem-spherem-cylinderm-plane 用于基础 3D 形状
  • 资源加载m-model(GLTF/OBJ/FBX)、m-character 用于复杂模型与角色
  • 媒体呈现m-imagem-video(支持 WHEP 流)、m-audio 实现空间音视频
  • 交互组件m-interactionm-promptm-link 处理点击与输入
  • 探测系统m-position-probem-chat-probe 实现用户位置追踪与聊天监听
  • 动画系统m-attr-anim(关键帧动画)、m-attr-lerp(平滑过渡)
  • 容器与嵌入m-group(变换容器)、m-frame(嵌套文档)

典型开发模式:

  • 使用 collision-interval 属性启用碰撞事件(collisionstart/move/end
  • 通过 m-position-probe 追踪用户进入/移动/离开指定范围
  • 利用标准 DOM API(getElementByIdaddEventListenersetAttribute)编写交互逻辑

显著优点

1. 低门槛 Web 技术栈:采用类 HTML 语法与标准 JavaScript,前端开发者无需学习复杂游戏引擎即可构建 3D 场景
2. 实时协作能力:WebSocket 传输支持多用户同步,内置 connectionId 机制便于识别不同用户

3. 跨平台渲染:同一文档可在 Web(Three.js)与 Unreal Engine 双端运行(部分特性有差异)

4. 丰富的动画系统:30+ 种缓动函数,支持循环、往返、延迟等高级动画控制

5. 空间化媒体:音频支持锥形衰减、视频支持 WHEP 流媒体,适合沉浸式体验

6. 模块化架构m-frame 支持文档嵌套,m-group 实现层级变换,便于团队协作与代码复用

潜在局限

1. 平台兼容性差异m-linkm-attr-lerpm-frame 边界控制等特性仅限 Web 端,跨平台项目需条件适配
2. 性能依赖网络:WebSocket 实时传输对延迟敏感,复杂场景可能出现同步延迟

3. 脚本能力边界:虽支持标准 DOM,但无法直接调用底层图形 API,高级着色器或物理模拟需外部方案

4. 生态成熟度:相比 Unity/Unreal 等成熟引擎,第三方工具链与社区资源相对有限

5. 文档时间系统:动画基于文档生命周期时间(非真实时间),长时运行场景需考虑时间累积精度

适合人群

  • 前端开发者:熟悉 HTML/CSS/JS,希望快速进入 3D/WebXR 领域
  • 元宇宙内容创作者:需要在 Otherside 等平台构建可交互虚拟空间
  • 原型验证团队:快速迭代 3D 交互概念,无需重型引擎部署流程
  • 教育/展览场景:空间音频、位置触发、聊天互动等功能契合导览与展示需求

常规风险

  • XSS 风险:MML 支持内联脚本与外部文档嵌入(m-frame),需验证 src 来源可信性
  • 资源加载安全:远程模型/媒体 URL 可能被劫持,建议配置 CSP 与 HTTPS 强制
  • 用户隐私m-position-probem-chat-probe 可追踪用户位置与聊天内容,需明确告知并获得同意
  • DoS 隐患:高频 collision-intervalposition-probe 配置可能导致服务端计算过载
  • 供应链风险:依赖 mml.io 官方运行时与 DashBODK Studio 工具链,需关注更新与安全通告

Mml 内容

references文件夹
手动下载zip · 6.3 kB
elements.mdtext/markdown
请选择文件