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模型文件
相关推荐
deli0070072 小时前
JSON 树形查看器:粘贴即解析,折叠展开一目了然
前端·数据库·json·ai编程
lv__pf5 小时前
ajax的使用、json、jquery
ajax·json·jquery
云飞云共享云桌面6 小时前
智能装备工厂研发团队如何利用单台服务器承载 10 路 SolidWorks 并发?
运维·服务器·3d·自动化·制造
cuicuiniu52110 小时前
3D图纸交付格式不对怎么办?如何快速进行3D格式转换?
3d·cad·cad看图·cad看图王
问君能有几多愁~12 小时前
Qt Json 序列化操作
开发语言·qt·json
云飞云共享云桌面13 小时前
机械企业三维设计优化:一台高性能 SolidWorks 服务器满足 10 人建模需求
运维·服务器·3d·自动化·负载均衡
小手cool15 小时前
JSON.parseObject 返回 List 时不能强制转换的解决方案
java·json·list
玖玥拾1 天前
Unity3D RPG 入门项目(十一)主角完整战斗、怪物自动刷新、四大类型技能系统
游戏·3d·unity·游戏引擎
leisoo80971 天前
ig50数据落盘ClickHousevsTimescaleDBvsDuckDB实测对比 IG50免费开源股票数据API接口
开发语言·jvm·数据库·python·json
浪浪山小野猪1 天前
JSON 常见错误大全:尾逗号、单引号、注释,一次讲透
json