{
    "options": {
        "calculateTangentSpace": {
            "name": "Calculate Tangent Space",
            "description": "Calculates the tangents and bitangents for the imported meshes.",
            "value": false,
            "type": "Boolean"
        },
        "joinIdenticalVertices": {
            "name": "Join Identical Vertices",
            "description": "Identifies and joins identical vertex data sets within all imported meshes.",
            "value": true,
            "type": "Boolean"
        },
        "generateNormals": {
            "name": "Generate Normals",
            "description": "Generates normals for all faces of all meshes",
            "value": false,
            "type": "Boolean"
        },
        "generateSmoothNormals": {
            "name": "Generate Smooth Normals",
            "description": "Generates smooth normals for all vertices in the mesh.",
            "value": true,
            "type": "Boolean"
        },
        "splitLargeMeshes": {
            "name": "Split Large Meshes",
            "description": "Splits large meshes into smaller sub-meshes.",
            "value": true,
            "type": "Boolean"
        },
        "preTransformVertices": {
            "name": "Pre-transform Vertices",
            "description": "Removes the node graph and pre-transforms all vertices with the local transformation matrices of their nodes.",
            "value": false,
            "type": "Boolean"
        },
        "limitBoneWeights": {
            "name": "Limit Bone Weights",
            "description": "Limits the number of bones simultaneously affecting a single vertex to a maximum value (4).",
            "value": true,
            "type": "Boolean"
        },
        "improveCacheLocality": {
            "name": "Improve Cache Locality",
            "description": "Reorders triangles for better vertex cache locality.",
            "value": true,
            "type": "Boolean"
        },
        "removeRedundantMaterials": {
            "name": "Remove Redundant Materials",
            "description": "Searches for redundant/unreferenced materials and removes them.",
            "value": true,
            "type": "Boolean"
        },
        "fixInfacingNormals": {
            "name": "Fix Infacing Normals",
            "description": "Tries to determine which meshes have normal vectors that are facing inwards and inverts them.",
            "value": false,
            "type": "Boolean"
        },
        "findDegenerates": {
            "name": "Find Degenerates",
            "description": "This step searches all meshes for degenerate primitives and converts them to proper lines or points.",
            "value": true,
            "type": "Boolean"
        },
        "findInvalidData": {
            "name": "Find Invalid Data",
            "description": "This step searches all meshes for invalid data, such as zeroed normal vectors or invalid UV coords and removes/fixes them. This is intended to get rid of some common exporter errors.",
            "value": true,
            "type": "Boolean"
        },
        "transformUVCoordinates": {
            "name": "Transform UV Coordinates",
            "description": "This step applies per-texture UV transformations and bakes them into stand-alone vtexture coordinate channels.",
            "value": false,
            "type": "Boolean"
        },
        "findInstances": {
            "name": "Find Instances",
            "description": "This step searches for duplicate meshes and replaces them with references to the first mesh.",
            "value": false,
            "type": "Boolean"
        },
        "optimizeMeshes": {
            "name": "Optimize Meshes",
            "description": "A postprocessing step to reduce the number of meshes.",
            "value": false,
            "type": "Boolean"
        },
        "optimizeGraph": {
            "name": "Optimize Graph",
            "description": "A postprocessing step to optimize the scene hierarchy.",
            "value": false,
            "type": "Boolean"
        },
        "globalScale": {
            "name": "Enable Global Scale",
            "description": "This step will perform a global scale of the model.",
            "value": false,
            "type": "Boolean"
        },
        "globalScaleValue": {
            "name": "Global Scale Value",
            "description": "Global Scale factor.",
            "value": 100,
            "type": "Real",
            "conditions": [
                {
                    "mode": "Equals",
                    "property": "globalScale",
                    "value": true
                }
            ]
        },
        "dropNormals": {
            "name": "Drop Normals",
            "description": "Drops normals for all faces of all meshes.",
            "value": false,
            "type": "Boolean"
        },
        "removeComponentNormals": {
            "name": "Remove Normal Components",
            "description": "Removes Normal component from meshes.",
            "value": false,
            "type": "Boolean"
        },
        "removeComponentTangentsAndBitangents": {
            "name": "Remove Tangent Components",
            "description": "Removes Tangents and Bitangents components from meshes.",
            "value": false,
            "type": "Boolean"
        },
        "removeComponentColors": {
            "name": "Remove Color Components",
            "description": "Removes any Color components from meshes.",
            "value": false,
            "type": "Boolean"
        },
        "removeComponentUVs": {
            "name": "Remove UV Components",
            "description": "Removes any UV components from meshes.",
            "value": false,
            "type": "Boolean"
        },
        "removeComponentBoneWeights": {
            "name": "Remove Bone Weight components",
            "description": "Removes any bone weights from meshes.",
            "value": false,
            "type": "Boolean"
        },
        "removeComponentAnimations": {
            "name": "Remove Animation Components",
            "description": "Removes any animation components from meshes.",
            "value": false,
            "type": "Boolean"
        },
        "removeComponentTextures": {
            "name": "Remove Texture Components",
            "description": "Removes any embedded texture components from meshes.",
            "value": false,
            "type": "Boolean"
        },
        "fbxPreservePivots": {
            "name": "FBX: Preserve Pivot Points",
            "description": "Set whether the fbx importer will preserve pivot points (as extra nodes)",
            "value": false,
            "type": "Boolean"
        }
    },
    "groups": {
        "globalScale": {
            "name": "Global Scale",
            "items": [
                "globalScale",
                "globalScaleValue"
            ]
        },
        "removeComponents": {
            "name": "Strip Imported Components",
            "items": [
                "removeComponentNormals",
                "removeComponentTangentsAndBitangents",
                "removeComponentColors",
                "removeComponentUVs",
                "removeComponentBoneWeights",
                "removeComponentAnimations",
                "removeComponentTextures"
            ]
        }
    }
}
