3D-Front数据集 json说明

主要组成以mesh为一个组成单元

bash 复制代码
  "mesh": [
    {
      "aid": [],
      "jid": "",
      "uid": "12131533353694159/0",
      "xyz": [
        -2.1253,
        0,
        1.3118,
        -4.1093,
        0,
        3.1478,
        -4.1093,
        0,
        1.3118,
        -4.1093,
        0,
        3.1478,
        -2.1253,
        0,
        1.3118,
        -2.1253,
        0,
        3.1478
      ],
      "normal": [
        -4.1093,
        1,
        1.3118,
        -4.1093,
        1,
        1.3118,
        -4.1093,
        1,
        1.3118,
        -4.1093,
        1,
        1.3118,
        -4.1093,
        1,
        1.3118,
        -4.1093,
        1,
        1.3118
      ],
      "uv": [
        0.01131,
        0.01667,
        0.29205,
        -0.43018,
        0.01131,
        -0.43018,
        0.29205,
        -0.43018,
        0.01131,
        0.01667,
        0.29205,
        0.01667
      ],
      "faces": [
        0,
        2,
        1,
        3,
        5,
        4
      ],
      "material": "sge/23ce4eae-862c-4e22-b703-9f566d400e44/220",
      "type": "Floor"
    },

核心几何字段

bash 复制代码
xyz - 顶点坐标
	含义:存储所有顶点的3D坐标
	格式:[x1, y1, z1, x2, y2, z2, ...]
	作用:定义mesh的几何形状,用于生成点云
faces - 面索引
	含义:定义如何连接顶点形成三角面片
	格式:[v1, v2, v3, v4, v5, v6, ...](每3个索引一个三角形)
	作用:与xyz配合定义完整的3D网格,用于点云采样
normal - 法线向量
	含义:每个顶点的法线方向
	作用:用于光照计算和渲染
uv - UV纹理坐标
	含义:纹理映射坐标
	作用:定义纹理如何贴到mesh表面,与material配合使用

标识和引用字段

bash 复制代码
uid - 唯一标识符
	含义:在整个场景中唯一标识这个mesh
	作用:被scene.room[].children[].ref引用,用于查找和存储
material - 材质引用
	含义:指向material数组中某个材质的uid
	作用:关联mesh与材质信息(纹理、UV变换等)
	对应关系:mesh.material → material[].uid
jid - 资源ID
	含义:资源标识符
	作用:在mesh中较少使用;在furniture中用于查找3D-FUTURE模型文件
	对应关系:furniture.jid → model_info.json中的model_id → OBJ文件路径
aid - 附件ID
	含义:附件ID数组
	作用:当前代码中较少使用,主要用于数据完整性

分类和组织字段

bash 复制代码
type - 网格类型
	含义:标识mesh的类别
	可能值:"Wall", "Floor", "Ceil", "Others"
	作用:用于语义分类和点云标签分配
	语义映射:wall→1, floor→2, ceil→3, others→4
constructid - 构造ID
	含义:标识属于同一构造单元的mesh
	作用:将相关mesh分组(如同一面墙的不同部分)
instanceid - 实例ID
	含义:标识mesh在场景中的具体实例
	作用:区分同一构造单元中的不同实例

字段关系

bash 复制代码
mesh.material → material.uid → 获取材质信息(texture, UVTransform)
mesh.uid ← scene.room[].children[].ref → 房间引用mesh
mesh.type → 语义标签 → 点云生成时的标签分配
mesh.xyz + mesh.faces → 构建3D网格 → 采样点云

与其他文件的对应

bash 复制代码
与Material的关系:
	mesh.material(字符串)→ material[].uid → 获取material.texture和material.UVTransform
与Room的关系:
	scene.room[].children[].ref → mesh.uid → 将mesh关联到房间
与3D-FUTURE的关系:
	注意:mesh的jid通常不直接对应3D-FUTURE模型
	只有furniture.jid才对应3D-FUTURE模型文件
相关推荐
lingzhilab19 分钟前
零知IDE——零知ESP32 + INA219电流传感器实现18650锂电池智能充放电监测系统
ide·单片机·json
全栈前端老曹20 分钟前
【包管理】npm最常见的10大问题故障和解决方案
前端·javascript·rust·npm·node.js·json·最佳实践
韩师学子--小倪9 小时前
fastjson与gson的toString差异
java·json
CG_MAGIC17 小时前
效果图云渲染平台如何选择?
3d·3dmax·建模教程·渲云渲染·渲云
安生爱学习❤18 小时前
(CVPR 2025) Birth and Death of a Rose 不靠 3D 数据,从 2D 扩散模型生成 4D 对象
3d
zstar-_20 小时前
3DTiles的构建和加载方案
3d
memmolo20 小时前
【3D传感技术系列博客】
算法·计算机视觉·3d
YAY_tyy1 天前
综合实战:基于 Turfjs 的智慧园区空间管理系统
前端·3d·cesium·turfjs
乐居生活官1 天前
CES消费电子热浪衔接Formnext制造浪潮:深圳3D打印展的全民创造进行时
3d·制造
YAY_tyy1 天前
Turfjs 性能优化:大数据量地理要素处理技巧
前端·3d·arcgis·cesium·turfjs