游乐游手机版
首页/AI热点日报/热点详情

利用LLM构建沉浸式3D虚拟世界

类型:热点整理2026-06-30
探索未来交互新维度——阿里云DataV团队近期取得了突破性成果。当大语言模型(LLM)与3D世界深度融合,将迸发出怎样的创新火花?本文将深入剖析这套基于LLM的实时可交互3D世界方案,从模型表示、场景理解到自然语言操控,逐步揭秘背后的核心技术细节。 背景介绍 大型语言模型(LLMs)的飞速发展,使机

探索未来交互新维度——阿里云DataV团队近期取得了突破性成果。当大语言模型(LLM)与3D世界深度融合,将迸发出怎样的创新火花?本文将深入剖析这套基于LLM的实时可交互3D世界方案,从模型表示、场景理解到自然语言操控,逐步揭秘背后的核心技术细节。

基于LLM打造沉浸式3D世界

背景介绍

大型语言模型(LLMs)的飞速发展,使机器对人类语言的理解能力跨越了多个台阶。然而,物理世界本质上是三维的。要让机器在真实环境中真正发挥作用——例如自动驾驶、机器人导航、增强现实等场景——大模型必须学会感知和理解3D空间。

将LLM与3D数据相结合,理论上前景广阔,但实践挑战重重。3D数据的表示形式多种多样,模型的扩展性与计算效率始终是技术瓶颈。更重要的是,要在真实、复杂的动态环境中落地应用,还需攻克数据多样性、环境复杂性等一系列关键难题。

阿里云DataV团队始终致力于三维交互的前沿探索。最近,他们基于虚幻引擎和通义千问大模型家族,打造了一套创新方案,成功实现了用自然语言直接与3D世界进行交互。具体而言,能够完成以下能力:

  1. 模型搜索与创建:通过自然语言描述,从模型库中精准匹配并生成对应模型到场景中。例如,用户说出“生成一张现代风格的双人床”,场景内便会立即出现一张符合描述的床。

  2. 3D对象操作:与场景中的物体进行物理级交互——如拿起、移动物体,甚至执行一系列复杂动作序列。例如,“把咖啡桌和杯子的相对位置调换一下”。

  3. 场景理解与编辑:实时修改场景内容,比如重新布置房间布局,或者将物体颜色改为对色盲更友好的配色方案。

【视频:LLM驱动的三维场景交互预览】

一、三维世界的元数据生成与表达

模型信息的收集

3D世界的最小单元是模型。如何让大模型“看懂”3D模型?我们先了解几种常见的3D表示方式:多边形网格紧凑但缺乏结构化;点云存储占用低但缺少表面拓扑信息;体素网格直观但高分辨率下内存消耗巨大;神经场(如NeRF)连续可微但渲染速度慢;混合表示(如Instant NGP)在质量与速度间取得平衡;3D高斯溅射则通过高效光栅化实现高质量实时渲染。

但传统LLM仅接受文本输入,无法直接处理这些3D表示。因此,团队的核心思路是:将3D物体或场景的信息“翻译”到语言空间,让LLM能够通过文字感知三维世界。

如何精准描述一个模型?他们设计了一套模型描述文件,涵盖资产信息、语义描述、几何信息、材质信息等内容:

{
  //1. 资产信息
  "ReferencePath":"/Game/ArchVizInteriorVol3/Meshes/SM_Bed.SM_Bed",//资产引用路径
  "Name":"SM_Bed",//资产名字

  //2. 语义描述
  "Description":"这是一张床",// 语音描述

  //3. 几何信息
  "Pivot":"物体中心",//物体锚点
  "GeometryInfo":{
    "vertices":59997,//顶点数
    "Triangles":"114502",//三角形数
    "xxx":""
  },
  "BoundingBox":{
    "center":[xx,xx],
    "extend":[xx,xx]
  },//包围盒信息

  //4. 基本材质信息
  "Materials":[
    {"MI_Bed_Fabric_1":[
      "BaseColor":xxx,
      "BaseFallof":xxx
    ]}
  ]
}

大部分信息可直接从Unreal引擎的资产解析中获取:资产引用路径、材质参数、几何数据。但最核心的是语义描述字段(Description)——传统做法依赖人工打标签,耗时费力,且想要完整描述一个模型可能需要成千上万个标签。例如用户提出“我想要一张红色双人床上有个黑色小熊”,人工标签根本难以覆盖这种组合需求。

团队采用视觉-语言模型(VLM)来自动生成语义描述。以通义千问VL-Max为例,该模型不仅能识别出床的主体结构,甚至连光影效果、设计风格都能详细描述。具体流程:

  1. 对每个模型,从UE资产生成基本信息
  2. 生成一张640×640的缩略图(可多视角拍摄)
  3. 向大模型发起请求:“这是一个三维模型的截图,请帮我详细描述这个三维模型的信息”
  4. 将模型返回的描述填入Description字段
  5. 将所有信息整理到DataTable,导出.csv文件

通过这种方式,为每个模型建立了自然语言空间中的表示,并借助“ReferencePath”与实体模型建立关联。

模型搜索

信息库构建完成后,如何让大模型利用它进行高效搜索?团队采用知识检索增强(RAG)技术。以阿里云百炼平台+通义千问-max为例,操作步骤简洁明了:

  1. 在“数据管理”下导入三维模型库信息
  2. 在“知识索引”中创建知识库
  3. 在“我的应用”中创建RAG应用,并绑定知识库
  4. 在Unreal引擎中通过HTTP调用百炼的应用接口

测试效果验证:用户输入“我想要一张双人床”“我想要一张现代风格的双人床”“我想要一张红色双人床”,系统均能快速返回符合描述的模型ReferencePath。搜索效率获得显著提升。

【模型搜索和创建】

二、基于大模型的3D场景理解

单个模型的问题解决后,下一步是理解整个场景——即场景级标注:为整个3D场景生成描述,涵盖房间类型、风格、关键物体及其相互关系,同时建立描述与场景中实体的映射关系。

直接将不同视角的场景截图提供给VLM,模型能够准确给出物体信息、布局、空间关系等描述。但关键难题在于Mapping——VLM只提供了抽象文本描述,并未告知Unreal引擎哪个Actor对应哪个描述。例如场景中有两盏吊灯,VLM描述“有两个大型吊灯”,但引擎无法区分哪个是第一盏、哪个是第二盏。没有这种映射,后续交互便无从开展。

团队尝试了三种策略来解决这个“多对多”映射问题。

策略一:逐个暴露,逐个识别

  • 隐藏所有模型,然后逐个显示,对每个模型拍摄独立照片,交由VLM识别。
  • 优势:识别准确,无干扰。
  • 劣势:场景中模型较多时循环次数巨大;且脱离场景上下文可能导致识别偏差(同一个杯子,在咖啡厅里是咖啡杯,在酒吧里则可能被识别为酒杯)。

策略二:保留场景,高亮目标

  • 保留全部物体,但通过黄色框(outline)高亮当前需要识别的物体,然后拍照交给VLM。
  • 优势:识别准确,且保留了场景辅助信息,使识别更符合逻辑。
  • 劣势:同样需要逐个遍历,循环量较大。

策略三:批量框选,联合识别

  • 针对某个关键视角,在屏幕空间内为每个Actor生成唯一标识符(例如在红色框内写入UUID),一张图中同时框选多个物体,让VLM一次性返回所有框内物体的描述。
  • 优势:准确度高,保留场景信息,同时大幅减少模型调用次数。
  • 劣势:遮挡可能导致误判。

综合运用上述三种策略,团队能够获取场景的全局信息(如房间类型、风格)、关键物体及其关系,同时建立文本描述与引擎内实体的精准映射。最终形成一份场景描述文件,包含每个物体的名称、UUID、描述、变换、包围盒等信息。这份文件配合当前场景截图,构成了大模型与3D场景之间“握手”的关键桥梁。

{
    "name": "StaticMeshActor_1",
    "uUId": "7D70F97241D37F14A1C649860C7FE24D",
    "Description": "一张双人床",
    "transform": { ... },
    "boundingBoxCenter": { ... },
    "boundingBoxExtent": { ... }
},
{
    "name": "StaticMeshActor_2",
    "uUId": "453F4F714546496132DA4EA97D22A636",
    "Description": "一个书架",
    "transform": { ... },
    "boundingBoxCenter": { ... },
    "boundingBoxExtent": { ... }
}

三、对话式的3D世界交互

当模型和场景都能被大模型“理解”之后,下一步就是让它“动手”——通过自然语言驱动Unreal引擎执行物理交互。核心思路是:将动作序列“标记化”,让LLM输出结构化的函数调用。

举例说明:用户提出“在场景中的桌子上放置一个杯子”。大模型需要:①收集场景信息,确定桌子的位置;②前往模型库查找杯子的ReferencePath;③生成杯子并放置到桌子上。这三个步骤对应三个函数调用,否则指令将仅停留在语言层面,无法产生实际动作。

团队通过Function Calling实现这一机制。以生成物体的函数`spawn_object`为例,函数描述如下:

{
    "type": "function",
    "function": {
        "description": "在场景中生成或者放置一个物体",
        "parameters": {
            "type": "object",
            "properties": {
                "ReferencePath": {
                    "type": "string",
                    "description": "要生成物体的ReferencePath"
                },
                "description": {
                    "type": "string",
                    "description": "要生成物体的描述"
                },
                // 位置、旋转、缩放参数...
            },
            "required": ["ReferencePath", "description", "pos_x", "pos_y", ...]
        },
        "name": "spawn_object"
    }
}

当用户输入“把杯子移动到咖啡桌的顶部中心位置”时,大模型会调用`GatherSceneInfo`获取场景信息,调用`GetObjectReferencePath`查找杯子,然后调用`MoveObject`并传入计算好的位置参数。Unreal引擎收到函数调用后,真正执行杯子的移动操作。

【输入:把杯子移动到咖啡桌的顶部中心位置】

总结

该方案围绕三个核心模块展开:

  1. 3D模型表示:让大模型“认识”3D模型——通过VLM自动生成语义描述,建立语言空间的模型知识库。
  2. 3D场景理解:让大模型“理解”3D场景——通过多策略映射,建立文本描述与引擎实体的精准关联。
  3. 3D世界交互:借助Function Calling,将LLM的推理结果转化为Unreal引擎的实际操作函数。

展望

LLM在上下文学习、逐步推理、开放词汇及世界知识方面具备独特优势,使其在空间理解与交互领域潜力巨大。将LLM与3D技术深度融合,有望在多个领域带来颠覆性变革:

  • 自动驾驶:大模型在数据标注、仿真、感知环节发挥巨大作用。从人工标注向AI主导转变,视觉大模型的精度与泛化能力能大幅降低数据生产成本。
  • 具身智能:LLM的规划、工具使用与决策能力,可用于创建能够在3D环境中自主导航、与物体交互、选择合适工具的智能体。
  • 3D生成:结合LLM,可根据自然语言生成情景化的对象或场景,彻底改变传统建模复杂耗时的局面。

总的来说,LLM在处理、理解与生成3D数据方面展现出强大的变革潜力,为空间智能的进一步发展铺平了道路。

来源:https://www.53ai.com/news/MultimodalLargeModel/2025022097603.html

相关热点

继续查看同栏目近期热点。

延伸阅读

补充最近整理过的热点入口。