const regex = /(\s\{\s*"\$name": "use_specular_aa",\s*"\$type": "::bool",\s*"\$value": )true(\s*\})/gm;
// Alternative syntax using RegExp constructor
// const regex = new RegExp('(\\s\\{\\s*"\\$name": "use_specular_aa",\\s*"\\$type": "::bool",\\s*"\\$value": )true(\\s*\\})', 'gm')
const str = ` "\$name": "Materials",
"\$type": "tdb::Folder",
"\$children": [
{
"\$name": "Official_colours",
"\$type": "tdb::Folder",
"\$children": [
{
"\$name": "car_Dodge_Viper_ACR_carpaint_silver",
"\$type": "@tts::editor::MaterialEntity",
"\$params": {
"lightmapSpecificParams": {
"shadowColor": {
"\$isSet": false,
"\$hasValue": false
},
"normalMap": {
"\$isSet": false,
"\$hasValue": false
},
"transparencyMap": {
"\$isSet": false,
"\$hasValue": false
},
"diffuseMapOverride": {
"\$isSet": false,
"\$hasValue": false
},
"diffuseColorOverride": {
"\$isSet": false,
"\$hasValue": false
},
"normalMapUVChannelIdx": 1,
"diffuseMapUVChannelIdx": 1,
"emissiveMultiplier": 1.0,
"singleSided": false
},
"metashaderRef": {
"is_initialized": true,
"value": "resources/shaders/carpaint.jshader"
},
"features": [
{
"\$name": "albedo_map",
"\$type": "::bool",
"\$value": false
},
{
"\$name": "normal_map",
"\$type": "::bool",
"\$value": false
},
{
"\$name": "roughness_map",
"\$type": "::bool",
"\$value": false
},
{
"\$name": "occlusion_map",
"\$type": "::bool",
"\$value": true
},
{
"\$name": "metalness_map",
"\$type": "::bool",
"\$value": false
},
{
"\$name": "tint_map",
"\$type": "::bool",
"\$value": false
},
{
"\$name": "emissive_map",
"\$type": "::bool",
"\$value": false
},
{
"\$name": "dual_tone",
"\$type": "::bool",
"\$value": true
},
{
"\$name": "dirt_map",
"\$type": "::bool",
"\$value": true
},
{
"\$name": "dirt_map_no_occlusion",
"\$type": "::bool",
"\$value": true
},
{
"\$name": "damage_map",
"\$type": "::bool",
"\$value": true
},
{
"\$name": "emissive_diffuse",
"\$type": "::bool",
"\$value": false
},
{
"\$name": "normal_map_uv2",
"\$type": "::bool",
"\$value": false
},
{
"\$name": "specular_dual_tone",
"\$type": "::bool",
"\$value": true
},
{
"\$name": "always_use_transparency",
"\$type": "::bool",
"\$value": false
},
{
"\$name": "use_paint_flakes",
"\$type": "::bool",
"\$value": true
},
{
"\$name": "use_diffuse_reflection",
"\$type": "::bool",
"\$value": false
},
{
"\$name": "use_material_texture_mask",
"\$type": "::bool",
"\$value": false
},
{
"\$name": "use_LOD_alpha_switch",
"\$type": "::bool",
"\$value": false
},
{
"\$name": "use_floor_ao",
"\$type": "::bool",
"\$value": false
},
{
"\$name": "use_specular_aa",
"\$type": "::bool",
"\$value": true
}
],
"constants": [
{
"\$name": "albedoColor",
"\$type": "::editor::material::LinearRGBAf",
"\$value": [
0.03235999867320061,
0.03824000060558319,
0.04236000031232834,
1.0
]
},
{
"\$name": "metalness",
"\$type": "::editor::material::UNorm",
"\$value": 0.10000000149011612
},
{
"\$name": "reflectionExponent",
"\$type": "::ReflectionFresnelExponent",
"\$value": 5.0
},
{
"\$name": "reflectionScale",
"\$type": "::ReflectionScale",
"\$value": 1.5
},
{
"\$name": "flakesTilingMultiplier",
"\$type": "::NoiseTilingMultiplier",
"\$value": [
30.0,
30.0
]
},
{
"\$name": "dualToneAlbedoColor",
"\$type": "::editor::material::LinearRGBf",
"\$value": [
0.25308001041412356,
0.29142001271247866,
0.3487899899482727
]
},
{
"\$name": "dualTonePower",
"\$type": "::MaterialExponent",
"\$value": 10.0
},
{
"\$name": "dirtFactor",
"\$type": "::editor::material::UNorm",
"\$value": 0.0
},
{
"\$name": "damageFactorPerSideLRFB",
"\$type": "::DamageFactorPerSideLRFB",
"\$value": [
0.0,
0.0,
0.0,
0.0
]
},
{
"\$name": "roughness",
"\$type": "::editor::material::UNorm",
"\$value": 0.10000000149011612
},
{
"\$name": "generalFlakesScale",
"\$type": "::CarpaintFlakesScale",
"\$value": 1.0
},
{
"\$name": "directionalFlakesScale",
"\$type": "::CarpaintFlakesScale",
"\$value": 1.0
},
{
"\$name": "specularAAAmount",
"\$type": "::editor::material::UNorm",
"\$value": 1.0
}
],
"textures": [
{
"\$name": "attributes",
"\$type": "::AttributesMapReference",
"\$value": {
"is_initialized": true,
"value": "resources/gfx3D/cars/textures/car_Dodge_Viper_ACR_2016_carpaint_mk.tga"
}
},
{
"\$name": "damage",
"\$type": "::editor::TextureReference",
"\$value": {
"is_initialized": true,
"value": "resources/gfx3D/cars/textures/car_damage_mk.tga"
}
},
{
"\$name": "dirt",
"\$type": "::editor::TextureReference",
"\$value": {
"is_initialized": true,
"value": "resources/gfx3D/cars/textures/car_dirt_mud_dfa.tga"
}
},
{
"\$name": "flakes",
"\$type": "::editor::TextureReference",
"\$value": {
"is_initialized": true,
"value": "resources/gfx3D/cars/textures/car_flake05_noise.tga"
}
}
],
"renderState": {
"blendingMode": "Opaque",
"depthWrite": "Auto",
"twoSided": false,
"renderLayer": 0,
"renderPass": {
"\$isSet": false,
"\$hasValue": false
}
},
"materialComponent": {}
}
},
{
"\$name": "car_Dodge_Viper_ACR_carpaint_red",
"\$type": "@tts::editor::MaterialEntity",
"\$params": {
"lightmapSpecificParams": {
"shadowColor": {
"\$isSet": false,
"\$hasValue": false
},
"normalMap": {
"\$isSet": false,
"\$hasValue": false
},
"transparencyMap": {
"\$isSet": false,
"\$hasValue": false
},
"diffuseMapOverride": {
"\$isSet": false,
"\$hasValue": false
},
"diffuseColorOverride": {
"\$isSet": false,
"\$hasValue": false
},
"normalMapUVChannelIdx": 1,
"diffuseMapUVChannelIdx": 1,
"emissiveMultiplier": 1.0,
"singleSided": false
},
"metashaderRef": {
"is_initialized": true,
"value": "resources/shaders/carpaint.jshader"
},
"features": [
{
"\$name": "albedo_map",
"\$type": "::bool",
"\$value": false
},
{
"\$name": "normal_map",
"\$type": "::bool",
"\$value": false
},
{
"\$name": "roughness_map",
"\$type": "::bool",
"\$value": false
},
{
"\$name": "occlusion_map",
"\$type": "::bool",
"\$value": true
},
{
"\$name": "metalness_map",
"\$type": "::bool",
"\$value": false
},
{
"\$name": "tint_map",
"\$type": "::bool",
"\$value": false
},
{
"\$name": "emissive_map",
"\$type": "::bool",
"\$value": false
},
{
"\$name": "dual_tone",
"\$type": "::bool",
"\$value": true
},
{
"\$name": "dirt_map",
"\$type": "::bool",
"\$value": true
},
{
"\$name": "dirt_map_no_occlusion",
"\$type": "::bool",
"\$value": true
},
{
"\$name": "damage_map",
"\$type": "::bool",
"\$value": true
},
{
"\$name": "emissive_diffuse",
"\$type": "::bool",
"\$value": false
},
{
"\$name": "normal_map_uv2",
"\$type": "::bool",
"\$value": false
},
{
"\$name": "specular_dual_tone",
"\$type": "::bool",
"\$value": true
},
{
"\$name": "always_use_transparency",
"\$type": "::bool",
"\$value": false
},
{
"\$name": "use_paint_flakes",
"\$type": "::bool",
"\$value": true
},
{
"\$name": "use_diffuse_reflection",
"\$type": "::bool",
"\$value": false
},
{
"\$name": "use_material_texture_mask",
"\$type": "::bool",
"\$value": false
},
{
"\$name": "use_LOD_alpha_switch",
"\$type": "::bool",
"\$value": false
},
{
"\$name": "use_floor_ao",
"\$type": "::bool",
"\$value": false
},
{
"\$name": "use_specular_aa",
"\$type": "::bool",
"\$value": true
}
],
"constants": [
{
"\$name": "albedoColor",
"\$type": "::editor::material::LinearRGBAf",
"\$value": [
0.21041999757289887,
0.0,
0.0,
1.0
]
},
{
"\$name": "metalness",
"\$type": "::editor::material::UNorm",
"\$value": 0.10000000149011612
},
{
"\$name": "reflectionExponent",
"\$type": "::ReflectionFresnelExponent",
"\$value": 5.0
},
{
"\$name": "reflectionScale",
"\$type": "::ReflectionScale",
"\$value": 1.5
},
{
"\$name": "flakesTilingMultiplier",
"\$type": "::NoiseTilingMultiplier",
"\$value": [
30.0,
30.0
]
},
{
"\$name": "dualToneAlbedoColor",
"\$type": "::editor::material::LinearRGBf",
"\$value": [
0.6226800084114075,
0.0,
0.0
]
},
{
"\$name": "dualTonePower",
"\$type": "::MaterialExponent",
"\$value": 30.0
},
{
"\$name": "dirtFactor",
"\$type": "::editor::material::UNorm",
"\$value": 0.0
},
{
"\$name": "damageFactorPerSideLRFB",
"\$type": "::DamageFactorPerSideLRFB",
"\$value": [
0.0,
0.0,
0.0,
0.0
]
},
{
"\$name": "roughness",
"\$type": "::editor::material::UNorm",
"\$value": 0.0
},
{
"\$name": "generalFlakesScale",
"\$type": "::CarpaintFlakesScale",
"\$value": 1.0
},
{
"\$name": "directionalFlakesScale",
"\$type": "::CarpaintFlakesScale",
"\$value": 1.0
},
{
"\$name": "specularAAAmount",
"\$type": "::editor::material::UNorm",
"\$value": 1.0
}
],
"textures": [
{
"\$name": "damage",
"\$type": "::editor::TextureReference",
"\$value": {
"is_initialized": true,
"value": "resources/gfx3D/cars/textures/car_damage_mk.tga"
}
},
{
"\$name": "dirt",
"\$type": "::editor::TextureReference",
"\$value": {
"is_initialized": true,
"value": "resources/gfx3D/cars/textures/car_dirt_mud_dfa.tga"
}
},
{
"\$name": "flakes",
"\$type": "::editor::TextureReference",
"\$value": {
"is_initialized": true,
"value": "resources/gfx3D/cars/textures/car_flake05_noise.tga"
}
},
{
"\$name": "attributes",
"\$type": "::AttributesMapReference",
"\$value": {
"is_initialized": true,
"value": "resources/gfx3D/cars/textures/car_Dodge_Viper_ACR_2016_carpaint_mk.tga"
}
}
],
"renderState": {
"blendingMode": "Opaque",
"depthWrite": "Auto",
"twoSided": false,
"renderLayer": 0,
"renderPass": {
"\$isSet": false,
"\$hasValue": false
}
},
"materialComponent": {}
}
},
{
"\$name": "car_Dodge_Viper_ACR_carpaint_blue",
"\$type": "@tts::editor::MaterialEntity",
"\$params": {
"lightmapSpecificParams": {
"shadowColor": {
"\$isSet": false,
"\$hasValue": false
},
"normalMap": {
"\$isSet": false,
"\$hasValue": false
},
"transparencyMap": {
"\$isSet": false,
"\$hasValue": false
},
"diffuseMapOverride": {
"\$isSet": false,
"\$hasValue": false
},
"diffuseColorOverride": {
"\$isSet": false,
"\$hasValue": false
},
"normalMapUVChannelIdx": 1,
"diffuseMapUVChannelIdx": 1,
"emissiveMultiplier": 1.0,
"singleSided": false
},
"metashaderRef": {
"is_initialized": true,
"value": "resources/shaders/carpaint.jshader"
},
"features": [
{
"\$name": "albedo_map",
"\$type": "::bool",
"\$value": false
},
{
"\$name": "normal_map",
"\$type": "::bool",
"\$value": false
},
{
"\$name": "roughness_map",
"\$type": "::bool",
"\$value": false
},
{
"\$name": "occlusion_map",
"\$type": "::bool",
"\$value": true
},
{
"\$name": "metalness_map",
"\$type": "::bool",
"\$value": false
},
{
"\$name": "tint_map",
"\$type": "::bool",
"\$value": false
},
{
"\$name": "emissive_map",
"\$type": "::bool",
"\$value": false
},
{
"\$name": "dual_tone",
"\$type": "::bool",
"\$value": true
},
{
"\$name": "dirt_map",
"\$type": "::bool",
"\$value": true
},
{
"\$name": "dirt_map_no_occlusion",
"\$type": "::bool",
"\$value": true
},
{
"\$name": "damage_map",
"\$type": "::bool",
"\$value": true
},
{
"\$name": "emissive_diffuse",
"\$type": "::bool",
"\$value": false
},
{
"\$name": "normal_map_uv2",
"\$type": "::bool",
"\$value": false
},
{
"\$name": "specular_dual_tone",
"\$type": "::bool",
"\$value": true
},
{
"\$name": "always_use_transparency",
"\$type": "::bool",
"\$value": false
},
{
"\$name": "use_paint_flakes",
"\$type": "::bool",
"\$value": true
},
{
"\$name": "use_diffuse_reflection",
"\$type": "::bool",
"\$value": false
},
{
"\$name": "use_material_texture_mask",
"\$type": "::bool",
"\$value": false
},
{
"\$name": "use_LOD_alpha_switch",
"\$type": "::bool",
"\$value": false
},
{
"\$name": "use_floor_ao",
"\$type": "::bool",
"\$value": false
},
{
"\$name": "use_specular_aa",
"\$type": "::bool",
"\$value": true
}
],
"constants": [
{
"\$name": "albedoColor",
"\$type": "::editor::material::LinearRGBAf",
"\$value": [
0.00022000000171829015,
0.0294599998742342,
0.19374999403953553,
1.0
]
},
{
"\$name": "metalness",
"\$type": "::editor::material::UNorm",
"\$value": 0.10000000149011612
},
{
"\$name": "reflectionExponent",
"\$type": "::ReflectionFresnelExponent",
"\$value": 5.0
},
{
"\$name": "reflectionScale",
"\$type": "::ReflectionScale",
"\$value": 1.5
},
{
"\$name": "flakesTilingMultiplier",
"\$type": "::NoiseTilingMultiplier",
"\$value": [
30.0,
30.0
]
},
{
"\$name": "dualToneAlbedoColor",
"\$type": "::editor::material::LinearRGBf",
"\$value": [
0.0,
0.028839999809861184,
0.3259499967098236
]
},
{
"\$name": "dualTonePower",
"\$type": "::MaterialExponent",
"\$value": 15.0
},
{
"\$name": "dirtFactor",
"\$type": "::editor::material::UNorm",
"\$value": 0.0
},
{
"\$name": "damageFactorPerSideLRFB",
"\$type": "::DamageFactorPerSideLRFB",
"\$value": [
0.0,
0.0,
0.0,
0.0
]
},
{
"\$name": "roughness",
"\$type": "::editor::material::UNorm",
"\$value": 0.0
},
{
"\$name": "generalFlakesScale",
"\$type": "::CarpaintFlakesScale",
"\$value": 1.0
},
{
"\$name": "directionalFlakesScale",
"\$type": "::CarpaintFlakesScale",
"\$value": 1.0
},
{
"\$name": "specularAAAmount",
"\$type": "::editor::material::UNorm",
"\$value": 1.0
}
],
"textures": [
{
"\$name": "damage",
"\$type": "::editor::TextureReference",
"\$value": {
"is_initialized": true,
"value": "resources/gfx3D/cars/textures/car_damage_mk.tga"
}
},
{
"\$name": "dirt",
"\$type": "::editor::TextureReference",
"\$value": {
"is_initialized": true,
"value": "resources/gfx3D/cars/textures/car_dirt_mud_dfa.tga"
}
},
{
"\$name": "flakes",
"\$type": "::editor::TextureReference",
"\$value": {
"is_initialized": true,
"value": "resources/gfx3D/cars/textures/car_flake05_noise.tga"
}
},
{
"\$name": "attributes",
"\$type": "::AttributesMapReference",
"\$value": {
"is_initialized": true,
"value": "resources/gfx3D/cars/textures/car_Dodge_Viper_ACR_2016_carpaint_mk.tga"
}
}
],
"renderState": {
"blendingMode": "Opaque",
"depthWrite": "Auto",
"twoSided": false,
"renderLayer": 0,
"renderPass": {
"\$isSet": false,
"\$hasValue": false
}
},
"materialComponent": {}
}
},
{
"\$name": "car_Dodge_Viper_ACR_LOD_red",
"\$type": "@tts::editor::MaterialEntity",
"\$params": {
"lightmapSpecificParams": {
"shadowColor": {
"\$isSet": false,
"\$hasValue": false
},
"normalMap": {
"\$isSet": false,
"\$hasValue": false
},
"transparencyMap": {
"\$isSet": false,
"\$hasValue": false
},
"diffuseMapOverride": {
"\$isSet": false,
"\$hasValue": false
},
"diffuseColorOverride": {
"\$isSet": false,
"\$hasValue": false
},
"normalMapUVChannelIdx": 1,
"diffuseMapUVChannelIdx": 1,
"emissiveMultiplier": 1.0,
"singleSided": false
},
"metashaderRef": {
"is_initialized": true,
"value": "resources/shaders/carpaint.jshader"
},
"features": [
{
"\$name": "albedo_map",
"\$type": "::bool",
"\$value": true
},
{
"\$name": "normal_map",
"\$type": "::bool",
"\$value": false
},
{
"\$name": "roughness_map",
"\$type": "::bool",
"\$value": true
},
{
"\$name": "occlusion_map",
"\$type": "::bool",
"\$value": true
},
{
"\$name": "metalness_map",
"\$type": "::bool",
"\$value": true
},
{
"\$name": "tint_map",
"\$type": "::bool",
"\$value": true
},
{
"\$name": "emissive_map",
"\$type": "::bool",
"\$value": false
},
{
"\$name": "dual_tone",
"\$type": "::bool",
"\$value": true
},
{
"\$name": "dirt_map",
"\$type": "::bool",
"\$value": true
},
{
"\$name": "dirt_map_no_occlusion",
"\$type": "::bool",
"\$value": true
},
{
"\$name": "damage_map",
"\$type": "::bool",
"\$value": true
},
{
"\$name": "emissive_diffuse",
"\$type": "::bool",
"\$value": false
},
{
"\$name": "normal_map_uv2",
"\$type": "::bool",
"\$value": false
},
{
"\$name": "specular_dual_tone",
"\$type": "::bool",
"\$value": false
},
{
"\$name": "always_use_transparency",
"\$type": "::bool",
"\$value": false
},
{
"\$name": "use_paint_flakes",
"\$type": "::bool",
"\$value": false
},
{
"\$name": "use_diffuse_reflection",
"\$type": "::bool",
"\$value": false
},
{
"\$name": "use_material_texture_mask",
"\$type": "::bool",
"\$value": true
},
{
"\$name": "use_LOD_alpha_switch",
"\$type": "::bool",
"\$value": false
},
{
"\$name": "use_floor_ao",
"\$type": "::bool",
"\$value": false
},
{
"\$name": "use_specular_aa",
"\$type": "::bool",
"\$value": true
}
],
"constants": [
{
"\$name": "albedoColor",
"\$type": "::editor::material::LinearRGBAf",
"\$value": [
1.0,
1.0,
1.0,
1.0
]
},
{
"\$name": "metalness",
"\$type": "::editor::material::UNorm",
"\$value": 0.10000000149011612
},
{
"\$name": "reflectionExponent",
"\$type": "::ReflectionFresnelExponent",
"\$value": 5.0
},
{
"\$name": "reflectionScale",
"\$type": "::ReflectionScale",
"\$value": 1.5
},
{
"\$name": "dualToneAlbedoColor",
"\$type": "::editor::material::LinearRGBf",
"\$value": [
1.0,
1.0,
1.0
]
},
{
"\$name": "dualTonePower",
"\$type": "::MaterialExponent",
"\$value": 30.0
},
{
"\$name": "dirtFactor",
"\$type": "::editor::material::UNorm",
"\$value": 0.0
},
{
"\$name": "damageFactorPerSideLRFB",
"\$type": "::DamageFactorPerSideLRFB",
"\$value": [
0.0,
0.0,
0.0,
0.0
]
},
{
"\$name": "roughness",
"\$type": "::editor::material::UNorm",
"\$value": 0.0
},
{
"\$name": "albedoColor2",
"\$type": "::editor::material::LinearRGBf",
"\$value": [
0.21041999757289887,
0.0,
0.0
]
},
{
"\$name": "dualToneAlbedoColor2",
"\$type": "::editor::material::LinearRGBf",
"\$value": [
0.6226800084114075,
0.0,
0.0
]
},
{
"\$name": "specularAAAmount",
"\$type": "::editor::material::UNorm",
"\$value": 1.0
}
],
"textures": [
{
"\$name": "albedo",
"\$type": "::AnyDiffuseOrAlbedoMapReference",
"\$value": {
"is_initialized": true,
"value": "resources/gfx3D/cars/textures/car_Dodge_Viper_ACR_2016_LOD_al.tga"
}
},
{
"\$name": "attributes",
"\$type": "::AttributesMapReference",
"\$value": {
"is_initialized": true,
"value": "resources/gfx3D/cars/textures/car_Dodge_Viper_ACR_2016_LOD_mk.tga"
}
},
{
"\$name": "dirt",
"\$type": "::editor::TextureReference",
"\$value": {
"is_initialized": true,
"value": "resources/gfx3D/cars/textures/car_dirt_mud_dfa.tga"
}
},
{
"\$name": "damage",
"\$type": "::editor::TextureReference",
"\$value": {
"is_initialized": true,
"value": "resources/gfx3D/cars/textures/car_damage_mk.tga"
}
},
{
"\$name": "tintEmissive",
"\$type": "::editor::TextureReference",
"\$value": {
"is_initialized": true,
"value": "resources/gfx3D/cars/textures/car_Dodge_Viper_ACR_2016_LOD_tem.tga"
}
}
],
"renderState": {
"blendingMode": "Opaque",
"depthWrite": "Auto",
"twoSided": false,
"renderLayer": 0,
"renderPass": {
"\$isSet": false,
"\$hasValue": false
}
},
"materialComponent": {}
}
},
{
"\$name": "car_Dodge_Viper_ACR_LOD_blue",
"\$type": "@tts::editor::MaterialEntity",
"\$params": {
"lightmapSpecificParams": {
"shadowColor": {
"\$isSet": false,
"\$hasValue": false
},
"normalMap": {
"\$isSet": false,
"\$hasValue": false
},
"transparencyMap": {
"\$isSet": false,
"\$hasValue": false
},
"diffuseMapOverride": {
"\$isSet": false,
"\$hasValue": false
},
"diffuseColorOverride": {
"\$isSet": false,
"\$hasValue": false
},
"normalMapUVChannelIdx": 1,
"diffuseMapUVChannelIdx": 1,
"emissiveMultiplier": 1.0,
"singleSided": false
},
"metashaderRef": {
"is_initialized": true,
"value": "resources/shaders/carpaint.jshader"
},
"features": [
{
"\$name": "albedo_map",
"\$type": "::bool",
"\$value": true
},
{
"\$name": "normal_map",
"\$type": "::bool",
"\$value": false
},
{
"\$name": "roughness_map",
"\$type": "::bool",
"\$value": true
},
{
"\$name": "occlusion_map",
"\$type": "::bool",
"\$value": true
},
{
"\$name": "metalness_map",
"\$type": "::bool",
"\$value": true
},
{
"\$name": "tint_map",
"\$type": "::bool",
"\$value": true
},
{
"\$name": "emissive_map",
"\$type": "::bool",
"\$value": false
},
{
"\$name": "dual_tone",
"\$type": "::bool",
"\$value": true
},
{
"\$name": "dirt_map",
"\$type": "::bool",
"\$value": true
},
{
"\$name": "dirt_map_no_occlusion",
"\$type": "::bool",
"\$value": true
},
{
"\$name": "damage_map",
"\$type": "::bool",
"\$value": true
},
{
"\$name": "emissive_diffuse",
"\$type": "::bool",
"\$value": false
},
{
"\$name": "normal_map_uv2",
"\$type": "::bool",
"\$value": false
},
{
"\$name": "specular_dual_tone",
"\$type": "::bool",
"\$value": false
},
{
"\$name": "always_use_transparency",
"\$type": "::bool",
"\$value": false
},
{
"\$name": "use_paint_flakes",
"\$type": "::bool",
"\$value": false
},
{
"\$name": "use_diffuse_reflection",
"\$type": "::bool",
"\$value": false
},
{
"\$name": "use_material_texture_mask",
"\$type": "::bool",
"\$value": true
},
{
"\$name": "use_LOD_alpha_switch",
"\$type": "::bool",
"\$value": false
},
{
"\$name": "use_floor_ao",
"\$type": "::bool",
"\$value": false
},
{
"\$name": "use_specular_aa",
"\$type": "::bool",
"\$value": false
}
],
"constants": [
{
"\$name": "albedoColor",
"\$type": "::editor::material::LinearRGBAf",
"\$value": [
1.0,
1.0,
1.0,
1.0
]
},
{
"\$name": "metalness",
"\$type": "::editor::material::UNorm",
"\$value": 0.10000000149011612
},
{
"\$name": "reflectionExponent",
"\$type": "::ReflectionFresnelExponent",
"\$value": 5.0
},
{
"\$name": "reflectionScale",
"\$type": "::ReflectionScale",
"\$value": 1.5
},
{
"\$name": "dualToneAlbedoColor",
"\$type": "::editor::material::LinearRGBf",
"\$value": [
1.0,
1.0,
1.0
]
},
{
"\$name": "dualTonePower",
"\$type": "::MaterialExponent",
"\$value": 15.0
},
{
"\$name": "dirtFactor",
"\$type": "::editor::material::UNorm",
"\$value": 0.0
},
{
"\$name": "damageFactorPerSideLRFB",
"\$type": "::DamageFactorPerSideLRFB",
"\$value": [
0.0,
0.0,
0.0,
0.0
]
},
{
"\$name": "roughness",
"\$type": "::editor::material::UNorm",
"\$value": 0.0
},
{
"\$name": "albedoColor2",
"\$type": "::editor::material::LinearRGBf",
"\$value": [
0.00022000000171829015,
0.0294599998742342,
0.19374999403953553
]
},
{
"\$name": "dualToneAlbedoColor2",
"\$type": "::editor::material::LinearRGBf",
"\$value": [
0.0,
0.028839999809861184,
0.3259499967098236
]
}
],
"textures": [
{
"\$name": "albedo",
"\$type": "::AnyDiffuseOrAlbedoMapReference",
"\$value": {
"is_initialized": true,
"value": "resources/gfx3D/cars/textures/car_Dodge_Viper_ACR_2016_LOD_al.tga"
}
},
{
"\$name": "attributes",
"\$type": "::AttributesMapReference",
"\$value": {
"is_initialized": true,
"value": "resources/gfx3D/cars/textures/car_Dodge_Viper_ACR_2016_LOD_mk.tga"
}
},
{
"\$name": "dirt",
"\$type": "::editor::TextureReference",
"\$value": {
"is_initialized": true,
"value": "resources/gfx3D/cars/textures/car_dirt_mud_dfa.tga"
}
},
{
"\$name": "damage",
"\$type": "::editor::TextureReference",
"\$value": {
"is_initialized": true,
"value": "resources/gfx3D/cars/textures/car_damage_mk.tga"
}
},
{
"\$name": "tintEmissive",
"\$type": "::editor::TextureReference",
"\$value": {
"is_initialized": true,
"value": "resources/gfx3D/cars/textures/car_Dodge_Viper_ACR_2016_LOD_tem.tga"
}
}
],
"renderState": {
"blendingMode": "Opaque",
"depthWrite": "Auto",
"twoSided": false,
"renderLayer": 0,
"renderPass": {
"\$isSet": false,
"\$hasValue": false
}
},
"materialComponent": {}
}
},`;
// Reset `lastIndex` if this regex is defined globally
// regex.lastIndex = 0;
let m;
while ((m = regex.exec(str)) !== null) {
// This is necessary to avoid infinite loops with zero-width matches
if (m.index === regex.lastIndex) {
regex.lastIndex++;
}
// The result can be accessed through the `m`-variable.
m.forEach((match, groupIndex) => {
console.log(`Found match, group ${groupIndex}: ${match}`);
});
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for JavaScript, please visit: https://developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions