ThreeJS JSON 对象场景格式 4

ThreeJS JSON Object Scene format 4

我是 Threejs 的新手。

我正在尝试了解 JSON 对象场景格式 4 的 JSON 结构。

"object": {
    "uuid": "89529CC6-CBAC-412F-AFD1-FEEAE785BA19",
    "type": "Scene",
    "matrix": [1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],
    "children": [
        {
            "uuid": "33FA38D9-0AAC-4657-9BBE-5E5780DDFB2F",
            "name": "Box 1",
            "type": "Mesh",
            "geometry": "C3BF1E70-0BE7-4E6D-B184-C9F1E84A3423",
            "material": "87D95D6C-6BB4-4B8F-8166-A3A6945BA5E3",
            "matrix": [1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]
        },
        {
            "uuid": "16F2E381-2B73-44C4-A7BB-38D7E1CD2381",
            "name": "PointLight 1",
            "type": "PointLight",
            "color": 16777215,
            "intensity": 1,
            "distance": 0,
            "matrix": [1,0,0,0,0,1,0,0,0,0,1,0,100,200,150,1]
        }
    ]
}

“矩阵”:[1,0,0,0,0,1,0,0,0,0,1,0,100,200,150,1]

这个矩阵是否描述了这个:“矩阵”:[xx,xy,xz,?,yx,yy,yz,?,zx,zy,zz,?,px,py,pz,?]

什么是“?”在这个矩阵中?

JSON中的矩阵属性指的是Object3D.matrix属性其实是一个4x4的矩阵

three.js中的Matrix4class将其编号存储在elements属性中。它是一个数组,其中包含 column-major 顺序的数字。当矩阵为 serialized/deserialized 时,将保持此顺序。

所以您在 JSON 中看到的是 column-major 顺序的序列化 4x4 矩阵。