Why JSON format?

  • It is an optional file you can upload in addition to JPEG photos in creating 3D Tour. 

  • You may already have spatial information of the pictures taken in cases such as exporting photo-realistically rendered images. If so, the information including each pictures’ positions, orientations and connections can be uploaded in the form of JSON format and it will automatically align and create your 3D tour. It will set without unnecessary algorithmic calculations or manual inputs.

Details about JSON format

  • Each tour must have more than one Section information, each section must have more than 1 panorama information. 

  • All the panorama photos in the tour must have unique names and they can belong to only one section. 

(Unicode is not supported, all the file names should be in ASCII) 

  • The connection information of panorama photos are defined with the name of the other connected panorama names, and the connection info can also include the panos belong other sections as well. 

  • The connection info of the panos should be mutually registered between connected panos. 

(i.e. If the connection info of pano A includes pano B, the connection info of pano B also must include pano A) 

  • The transformtion_matris is 4X4 matrix, which represents the location and orientation of each panorama photo in the global coordinate system. And currently the supported metric is "meter" only but it will support  “centimeter”, “millimeter”, “inch”, “feet”, “yard”, “mile”, as well. 

  • Current version is 1.0

  • “Tour_name” and “section_name” can be ASCII or UNICODE and it can be 255 byte long.


Sample data

{
    "format": "Cupix 3D Tour Structure",
    "tour_name": "BlackStone 3 Photos - 8/3/2018, 5:23:31 PM",
    "unit": "meter",
    "version": [
        1,
        0
    ],
    "sections": [
        {
            "panoramas": [
                {
                    "connections": [
                        "R360_(7) A.JPG",
                        "R360_(8) A.JPG"
                    ],
                    "file_name": "R360_(6) A.JPG",
                    "transformation_matrix": [
                        -0.9751261046125089,
                        0.05537820172414033,
                        0.2146213756293497,
                        0.06918879776532715,
                        0.20400683839957906,
                        -0.1543481831903705,
                        0.9667253220186381,
                        0.8029864153577804,
                        0.08666192929679087,
                        0.9864633257854204,
                        0.13921141077844798,
                        1.529911294553305,
                        0,
                        0,
                        0,
                        1
                    ]
                },
                {
                    "connections": [
                        "R360_(6) A.JPG",
                        "R360_(8) A.JPG"
                    ],
                    "file_name": "R360_(7) A.JPG",
                    "transformation_matrix": [
                        -0.8357839310058041,
                        0.02474755425253168,
                        -0.5485004824346131,
                        0.5285489098895007,
                        -0.5456044405591157,
                        -0.14931188678105667,
                        0.8246343158685889,
                        -0.5126317673734498,
                        -0.06148995946217466,
                        0.9884804090240733,
                        0.13829485117292406,
                        1.272607730847493,
                        0,
                        0,
                        0,
                        1
                    ]
                },
                {
                    "connections": [
                        "R360_(6) A.JPG",
                        "R360_(7) A.JPG"
                    ],
                    "file_name": "R360_(8) A.JPG",
                    "transformation_matrix": [
                        -0.5277222005058098,
                        0.0959332143722708,
                        0.8439822850472096,
                        -0.5977377076548279,
                        0.8312007427600614,
                        -0.14634792900481336,
                        0.5363651824187735,
                        -0.29035464798433047,
                        0.17497029556021165,
                        0.9845705165483097,
                        -0.00250870790770354,
                        1.397480974599202,
                        0,
                        0,
                        0,
                        1
                    ]
                }
            ],
            "section_name": "Section1",
            "transformation_matrix": [
                1,
                0,
                0,
                0,
                0,
                1,
                0,
                0,
                0,
                0,
                1,
                0,
                0,
                0,
                0,
                1
            ]
        }
    ]
}




What is an OBJ 3D file?

  • If you decided to upload JSON format to create a tour, then you will have one more option to upload OBJ 3D file along with the JSON format. 

  • It is a mesh neutral file that includes polygon and texture images that will visualize your tour in 3D (Mesh)

  • Why do you need the mesh?

    • You can add any 3D objects on the underlying mesh in your tour (attach the object to the mesh)

    • You can measure simply by picking points on 3D mesh instead of using the “Two common points method”

    • You don’t have to manually add occlusion (virtual mesh) to substitute the mesh