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模型文件
相关推荐
ChoSeitaku1 小时前
NO.4|protobuf网络版通讯录|httplib|JSON、XML、ProtoBuf对比
xml·json
yeflx1 小时前
激光雷达点云处理项目:从零搭建 3D 视觉检测系统
人工智能·3d·视觉检测
出门吃三碗饭1 小时前
3DGS如何提升面向仿真的三维高斯重建质量
3d·机器人
青衫客362 小时前
浅谈 Java 后端对象映射:从 JSON → VO → Entity 的原理与实践
java·json
qqxhb10 小时前
11|结构化输出:为什么 JSON 能让系统更稳定
json·ai编程·结构化·规范模板
twe775825812 小时前
动态揭示CCP-RIE技术中的缺陷形成:从微观机理到3D动画演示
科技·3d·制造·动画
小黑要努力21 小时前
json-c安装以及amixer使用
linux·运维·json
2401_863801461 天前
3DTiles总体介绍,什么是3DTiles,主要用途
3d·arcgis·3dtiles
菩提树下的凡夫1 天前
3D相机如何获取高精度的xyz
数码相机·3d
听风者一号1 天前
cssMoudle生成器
前端·javascript·json