import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "(\\s\\{\\s*\"\\$name\": \"use_specular_aa\",\\s*\"\\$type\": \"::bool\",\\s*\"\\$value\": )true(\\s*\\})";
final String string = " \"$name\": \"Materials\",\n"
+ " \"$type\": \"tdb::Folder\",\n"
+ " \"$children\": [\n"
+ " {\n"
+ " \"$name\": \"Official_colours\",\n"
+ " \"$type\": \"tdb::Folder\",\n"
+ " \"$children\": [\n"
+ " {\n"
+ " \"$name\": \"car_Dodge_Viper_ACR_carpaint_silver\",\n"
+ " \"$type\": \"@tts::editor::MaterialEntity\",\n"
+ " \"$params\": {\n"
+ " \"lightmapSpecificParams\": {\n"
+ " \"shadowColor\": {\n"
+ " \"$isSet\": false,\n"
+ " \"$hasValue\": false\n"
+ " },\n"
+ " \"normalMap\": {\n"
+ " \"$isSet\": false,\n"
+ " \"$hasValue\": false\n"
+ " },\n"
+ " \"transparencyMap\": {\n"
+ " \"$isSet\": false,\n"
+ " \"$hasValue\": false\n"
+ " },\n"
+ " \"diffuseMapOverride\": {\n"
+ " \"$isSet\": false,\n"
+ " \"$hasValue\": false\n"
+ " },\n"
+ " \"diffuseColorOverride\": {\n"
+ " \"$isSet\": false,\n"
+ " \"$hasValue\": false\n"
+ " },\n"
+ " \"normalMapUVChannelIdx\": 1,\n"
+ " \"diffuseMapUVChannelIdx\": 1,\n"
+ " \"emissiveMultiplier\": 1.0,\n"
+ " \"singleSided\": false\n"
+ " },\n"
+ " \"metashaderRef\": {\n"
+ " \"is_initialized\": true,\n"
+ " \"value\": \"resources/shaders/carpaint.jshader\"\n"
+ " },\n"
+ " \"features\": [\n"
+ " {\n"
+ " \"$name\": \"albedo_map\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": false\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"normal_map\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": false\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"roughness_map\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": false\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"occlusion_map\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": true\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"metalness_map\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": false\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"tint_map\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": false\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"emissive_map\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": false\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"dual_tone\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": true\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"dirt_map\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": true\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"dirt_map_no_occlusion\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": true\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"damage_map\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": true\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"emissive_diffuse\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": false\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"normal_map_uv2\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": false\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"specular_dual_tone\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": true\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"always_use_transparency\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": false\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"use_paint_flakes\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": true\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"use_diffuse_reflection\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": false\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"use_material_texture_mask\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": false\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"use_LOD_alpha_switch\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": false\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"use_floor_ao\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": false\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"use_specular_aa\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": true\n"
+ " }\n"
+ " ],\n"
+ " \"constants\": [\n"
+ " {\n"
+ " \"$name\": \"albedoColor\",\n"
+ " \"$type\": \"::editor::material::LinearRGBAf\",\n"
+ " \"$value\": [\n"
+ " 0.03235999867320061,\n"
+ " 0.03824000060558319,\n"
+ " 0.04236000031232834,\n"
+ " 1.0\n"
+ " ]\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"metalness\",\n"
+ " \"$type\": \"::editor::material::UNorm\",\n"
+ " \"$value\": 0.10000000149011612\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"reflectionExponent\",\n"
+ " \"$type\": \"::ReflectionFresnelExponent\",\n"
+ " \"$value\": 5.0\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"reflectionScale\",\n"
+ " \"$type\": \"::ReflectionScale\",\n"
+ " \"$value\": 1.5\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"flakesTilingMultiplier\",\n"
+ " \"$type\": \"::NoiseTilingMultiplier\",\n"
+ " \"$value\": [\n"
+ " 30.0,\n"
+ " 30.0\n"
+ " ]\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"dualToneAlbedoColor\",\n"
+ " \"$type\": \"::editor::material::LinearRGBf\",\n"
+ " \"$value\": [\n"
+ " 0.25308001041412356,\n"
+ " 0.29142001271247866,\n"
+ " 0.3487899899482727\n"
+ " ]\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"dualTonePower\",\n"
+ " \"$type\": \"::MaterialExponent\",\n"
+ " \"$value\": 10.0\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"dirtFactor\",\n"
+ " \"$type\": \"::editor::material::UNorm\",\n"
+ " \"$value\": 0.0\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"damageFactorPerSideLRFB\",\n"
+ " \"$type\": \"::DamageFactorPerSideLRFB\",\n"
+ " \"$value\": [\n"
+ " 0.0,\n"
+ " 0.0,\n"
+ " 0.0,\n"
+ " 0.0\n"
+ " ]\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"roughness\",\n"
+ " \"$type\": \"::editor::material::UNorm\",\n"
+ " \"$value\": 0.10000000149011612\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"generalFlakesScale\",\n"
+ " \"$type\": \"::CarpaintFlakesScale\",\n"
+ " \"$value\": 1.0\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"directionalFlakesScale\",\n"
+ " \"$type\": \"::CarpaintFlakesScale\",\n"
+ " \"$value\": 1.0\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"specularAAAmount\",\n"
+ " \"$type\": \"::editor::material::UNorm\",\n"
+ " \"$value\": 1.0\n"
+ " }\n"
+ " ],\n"
+ " \"textures\": [\n"
+ " {\n"
+ " \"$name\": \"attributes\",\n"
+ " \"$type\": \"::AttributesMapReference\",\n"
+ " \"$value\": {\n"
+ " \"is_initialized\": true,\n"
+ " \"value\": \"resources/gfx3D/cars/textures/car_Dodge_Viper_ACR_2016_carpaint_mk.tga\"\n"
+ " }\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"damage\",\n"
+ " \"$type\": \"::editor::TextureReference\",\n"
+ " \"$value\": {\n"
+ " \"is_initialized\": true,\n"
+ " \"value\": \"resources/gfx3D/cars/textures/car_damage_mk.tga\"\n"
+ " }\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"dirt\",\n"
+ " \"$type\": \"::editor::TextureReference\",\n"
+ " \"$value\": {\n"
+ " \"is_initialized\": true,\n"
+ " \"value\": \"resources/gfx3D/cars/textures/car_dirt_mud_dfa.tga\"\n"
+ " }\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"flakes\",\n"
+ " \"$type\": \"::editor::TextureReference\",\n"
+ " \"$value\": {\n"
+ " \"is_initialized\": true,\n"
+ " \"value\": \"resources/gfx3D/cars/textures/car_flake05_noise.tga\"\n"
+ " }\n"
+ " }\n"
+ " ],\n"
+ " \"renderState\": {\n"
+ " \"blendingMode\": \"Opaque\",\n"
+ " \"depthWrite\": \"Auto\",\n"
+ " \"twoSided\": false,\n"
+ " \"renderLayer\": 0,\n"
+ " \"renderPass\": {\n"
+ " \"$isSet\": false,\n"
+ " \"$hasValue\": false\n"
+ " }\n"
+ " },\n"
+ " \"materialComponent\": {}\n"
+ " }\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"car_Dodge_Viper_ACR_carpaint_red\",\n"
+ " \"$type\": \"@tts::editor::MaterialEntity\",\n"
+ " \"$params\": {\n"
+ " \"lightmapSpecificParams\": {\n"
+ " \"shadowColor\": {\n"
+ " \"$isSet\": false,\n"
+ " \"$hasValue\": false\n"
+ " },\n"
+ " \"normalMap\": {\n"
+ " \"$isSet\": false,\n"
+ " \"$hasValue\": false\n"
+ " },\n"
+ " \"transparencyMap\": {\n"
+ " \"$isSet\": false,\n"
+ " \"$hasValue\": false\n"
+ " },\n"
+ " \"diffuseMapOverride\": {\n"
+ " \"$isSet\": false,\n"
+ " \"$hasValue\": false\n"
+ " },\n"
+ " \"diffuseColorOverride\": {\n"
+ " \"$isSet\": false,\n"
+ " \"$hasValue\": false\n"
+ " },\n"
+ " \"normalMapUVChannelIdx\": 1,\n"
+ " \"diffuseMapUVChannelIdx\": 1,\n"
+ " \"emissiveMultiplier\": 1.0,\n"
+ " \"singleSided\": false\n"
+ " },\n"
+ " \"metashaderRef\": {\n"
+ " \"is_initialized\": true,\n"
+ " \"value\": \"resources/shaders/carpaint.jshader\"\n"
+ " },\n"
+ " \"features\": [\n"
+ " {\n"
+ " \"$name\": \"albedo_map\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": false\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"normal_map\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": false\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"roughness_map\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": false\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"occlusion_map\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": true\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"metalness_map\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": false\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"tint_map\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": false\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"emissive_map\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": false\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"dual_tone\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": true\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"dirt_map\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": true\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"dirt_map_no_occlusion\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": true\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"damage_map\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": true\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"emissive_diffuse\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": false\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"normal_map_uv2\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": false\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"specular_dual_tone\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": true\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"always_use_transparency\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": false\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"use_paint_flakes\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": true\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"use_diffuse_reflection\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": false\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"use_material_texture_mask\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": false\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"use_LOD_alpha_switch\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": false\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"use_floor_ao\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": false\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"use_specular_aa\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": true\n"
+ " }\n"
+ " ],\n"
+ " \"constants\": [\n"
+ " {\n"
+ " \"$name\": \"albedoColor\",\n"
+ " \"$type\": \"::editor::material::LinearRGBAf\",\n"
+ " \"$value\": [\n"
+ " 0.21041999757289887,\n"
+ " 0.0,\n"
+ " 0.0,\n"
+ " 1.0\n"
+ " ]\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"metalness\",\n"
+ " \"$type\": \"::editor::material::UNorm\",\n"
+ " \"$value\": 0.10000000149011612\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"reflectionExponent\",\n"
+ " \"$type\": \"::ReflectionFresnelExponent\",\n"
+ " \"$value\": 5.0\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"reflectionScale\",\n"
+ " \"$type\": \"::ReflectionScale\",\n"
+ " \"$value\": 1.5\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"flakesTilingMultiplier\",\n"
+ " \"$type\": \"::NoiseTilingMultiplier\",\n"
+ " \"$value\": [\n"
+ " 30.0,\n"
+ " 30.0\n"
+ " ]\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"dualToneAlbedoColor\",\n"
+ " \"$type\": \"::editor::material::LinearRGBf\",\n"
+ " \"$value\": [\n"
+ " 0.6226800084114075,\n"
+ " 0.0,\n"
+ " 0.0\n"
+ " ]\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"dualTonePower\",\n"
+ " \"$type\": \"::MaterialExponent\",\n"
+ " \"$value\": 30.0\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"dirtFactor\",\n"
+ " \"$type\": \"::editor::material::UNorm\",\n"
+ " \"$value\": 0.0\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"damageFactorPerSideLRFB\",\n"
+ " \"$type\": \"::DamageFactorPerSideLRFB\",\n"
+ " \"$value\": [\n"
+ " 0.0,\n"
+ " 0.0,\n"
+ " 0.0,\n"
+ " 0.0\n"
+ " ]\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"roughness\",\n"
+ " \"$type\": \"::editor::material::UNorm\",\n"
+ " \"$value\": 0.0\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"generalFlakesScale\",\n"
+ " \"$type\": \"::CarpaintFlakesScale\",\n"
+ " \"$value\": 1.0\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"directionalFlakesScale\",\n"
+ " \"$type\": \"::CarpaintFlakesScale\",\n"
+ " \"$value\": 1.0\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"specularAAAmount\",\n"
+ " \"$type\": \"::editor::material::UNorm\",\n"
+ " \"$value\": 1.0\n"
+ " }\n"
+ " ],\n"
+ " \"textures\": [\n"
+ " {\n"
+ " \"$name\": \"damage\",\n"
+ " \"$type\": \"::editor::TextureReference\",\n"
+ " \"$value\": {\n"
+ " \"is_initialized\": true,\n"
+ " \"value\": \"resources/gfx3D/cars/textures/car_damage_mk.tga\"\n"
+ " }\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"dirt\",\n"
+ " \"$type\": \"::editor::TextureReference\",\n"
+ " \"$value\": {\n"
+ " \"is_initialized\": true,\n"
+ " \"value\": \"resources/gfx3D/cars/textures/car_dirt_mud_dfa.tga\"\n"
+ " }\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"flakes\",\n"
+ " \"$type\": \"::editor::TextureReference\",\n"
+ " \"$value\": {\n"
+ " \"is_initialized\": true,\n"
+ " \"value\": \"resources/gfx3D/cars/textures/car_flake05_noise.tga\"\n"
+ " }\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"attributes\",\n"
+ " \"$type\": \"::AttributesMapReference\",\n"
+ " \"$value\": {\n"
+ " \"is_initialized\": true,\n"
+ " \"value\": \"resources/gfx3D/cars/textures/car_Dodge_Viper_ACR_2016_carpaint_mk.tga\"\n"
+ " }\n"
+ " }\n"
+ " ],\n"
+ " \"renderState\": {\n"
+ " \"blendingMode\": \"Opaque\",\n"
+ " \"depthWrite\": \"Auto\",\n"
+ " \"twoSided\": false,\n"
+ " \"renderLayer\": 0,\n"
+ " \"renderPass\": {\n"
+ " \"$isSet\": false,\n"
+ " \"$hasValue\": false\n"
+ " }\n"
+ " },\n"
+ " \"materialComponent\": {}\n"
+ " }\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"car_Dodge_Viper_ACR_carpaint_blue\",\n"
+ " \"$type\": \"@tts::editor::MaterialEntity\",\n"
+ " \"$params\": {\n"
+ " \"lightmapSpecificParams\": {\n"
+ " \"shadowColor\": {\n"
+ " \"$isSet\": false,\n"
+ " \"$hasValue\": false\n"
+ " },\n"
+ " \"normalMap\": {\n"
+ " \"$isSet\": false,\n"
+ " \"$hasValue\": false\n"
+ " },\n"
+ " \"transparencyMap\": {\n"
+ " \"$isSet\": false,\n"
+ " \"$hasValue\": false\n"
+ " },\n"
+ " \"diffuseMapOverride\": {\n"
+ " \"$isSet\": false,\n"
+ " \"$hasValue\": false\n"
+ " },\n"
+ " \"diffuseColorOverride\": {\n"
+ " \"$isSet\": false,\n"
+ " \"$hasValue\": false\n"
+ " },\n"
+ " \"normalMapUVChannelIdx\": 1,\n"
+ " \"diffuseMapUVChannelIdx\": 1,\n"
+ " \"emissiveMultiplier\": 1.0,\n"
+ " \"singleSided\": false\n"
+ " },\n"
+ " \"metashaderRef\": {\n"
+ " \"is_initialized\": true,\n"
+ " \"value\": \"resources/shaders/carpaint.jshader\"\n"
+ " },\n"
+ " \"features\": [\n"
+ " {\n"
+ " \"$name\": \"albedo_map\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": false\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"normal_map\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": false\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"roughness_map\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": false\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"occlusion_map\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": true\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"metalness_map\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": false\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"tint_map\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": false\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"emissive_map\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": false\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"dual_tone\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": true\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"dirt_map\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": true\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"dirt_map_no_occlusion\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": true\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"damage_map\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": true\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"emissive_diffuse\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": false\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"normal_map_uv2\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": false\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"specular_dual_tone\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": true\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"always_use_transparency\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": false\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"use_paint_flakes\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": true\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"use_diffuse_reflection\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": false\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"use_material_texture_mask\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": false\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"use_LOD_alpha_switch\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": false\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"use_floor_ao\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": false\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"use_specular_aa\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": true\n"
+ " }\n"
+ " ],\n"
+ " \"constants\": [\n"
+ " {\n"
+ " \"$name\": \"albedoColor\",\n"
+ " \"$type\": \"::editor::material::LinearRGBAf\",\n"
+ " \"$value\": [\n"
+ " 0.00022000000171829015,\n"
+ " 0.0294599998742342,\n"
+ " 0.19374999403953553,\n"
+ " 1.0\n"
+ " ]\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"metalness\",\n"
+ " \"$type\": \"::editor::material::UNorm\",\n"
+ " \"$value\": 0.10000000149011612\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"reflectionExponent\",\n"
+ " \"$type\": \"::ReflectionFresnelExponent\",\n"
+ " \"$value\": 5.0\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"reflectionScale\",\n"
+ " \"$type\": \"::ReflectionScale\",\n"
+ " \"$value\": 1.5\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"flakesTilingMultiplier\",\n"
+ " \"$type\": \"::NoiseTilingMultiplier\",\n"
+ " \"$value\": [\n"
+ " 30.0,\n"
+ " 30.0\n"
+ " ]\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"dualToneAlbedoColor\",\n"
+ " \"$type\": \"::editor::material::LinearRGBf\",\n"
+ " \"$value\": [\n"
+ " 0.0,\n"
+ " 0.028839999809861184,\n"
+ " 0.3259499967098236\n"
+ " ]\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"dualTonePower\",\n"
+ " \"$type\": \"::MaterialExponent\",\n"
+ " \"$value\": 15.0\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"dirtFactor\",\n"
+ " \"$type\": \"::editor::material::UNorm\",\n"
+ " \"$value\": 0.0\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"damageFactorPerSideLRFB\",\n"
+ " \"$type\": \"::DamageFactorPerSideLRFB\",\n"
+ " \"$value\": [\n"
+ " 0.0,\n"
+ " 0.0,\n"
+ " 0.0,\n"
+ " 0.0\n"
+ " ]\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"roughness\",\n"
+ " \"$type\": \"::editor::material::UNorm\",\n"
+ " \"$value\": 0.0\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"generalFlakesScale\",\n"
+ " \"$type\": \"::CarpaintFlakesScale\",\n"
+ " \"$value\": 1.0\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"directionalFlakesScale\",\n"
+ " \"$type\": \"::CarpaintFlakesScale\",\n"
+ " \"$value\": 1.0\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"specularAAAmount\",\n"
+ " \"$type\": \"::editor::material::UNorm\",\n"
+ " \"$value\": 1.0\n"
+ " }\n"
+ " ],\n"
+ " \"textures\": [\n"
+ " {\n"
+ " \"$name\": \"damage\",\n"
+ " \"$type\": \"::editor::TextureReference\",\n"
+ " \"$value\": {\n"
+ " \"is_initialized\": true,\n"
+ " \"value\": \"resources/gfx3D/cars/textures/car_damage_mk.tga\"\n"
+ " }\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"dirt\",\n"
+ " \"$type\": \"::editor::TextureReference\",\n"
+ " \"$value\": {\n"
+ " \"is_initialized\": true,\n"
+ " \"value\": \"resources/gfx3D/cars/textures/car_dirt_mud_dfa.tga\"\n"
+ " }\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"flakes\",\n"
+ " \"$type\": \"::editor::TextureReference\",\n"
+ " \"$value\": {\n"
+ " \"is_initialized\": true,\n"
+ " \"value\": \"resources/gfx3D/cars/textures/car_flake05_noise.tga\"\n"
+ " }\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"attributes\",\n"
+ " \"$type\": \"::AttributesMapReference\",\n"
+ " \"$value\": {\n"
+ " \"is_initialized\": true,\n"
+ " \"value\": \"resources/gfx3D/cars/textures/car_Dodge_Viper_ACR_2016_carpaint_mk.tga\"\n"
+ " }\n"
+ " }\n"
+ " ],\n"
+ " \"renderState\": {\n"
+ " \"blendingMode\": \"Opaque\",\n"
+ " \"depthWrite\": \"Auto\",\n"
+ " \"twoSided\": false,\n"
+ " \"renderLayer\": 0,\n"
+ " \"renderPass\": {\n"
+ " \"$isSet\": false,\n"
+ " \"$hasValue\": false\n"
+ " }\n"
+ " },\n"
+ " \"materialComponent\": {}\n"
+ " }\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"car_Dodge_Viper_ACR_LOD_red\",\n"
+ " \"$type\": \"@tts::editor::MaterialEntity\",\n"
+ " \"$params\": {\n"
+ " \"lightmapSpecificParams\": {\n"
+ " \"shadowColor\": {\n"
+ " \"$isSet\": false,\n"
+ " \"$hasValue\": false\n"
+ " },\n"
+ " \"normalMap\": {\n"
+ " \"$isSet\": false,\n"
+ " \"$hasValue\": false\n"
+ " },\n"
+ " \"transparencyMap\": {\n"
+ " \"$isSet\": false,\n"
+ " \"$hasValue\": false\n"
+ " },\n"
+ " \"diffuseMapOverride\": {\n"
+ " \"$isSet\": false,\n"
+ " \"$hasValue\": false\n"
+ " },\n"
+ " \"diffuseColorOverride\": {\n"
+ " \"$isSet\": false,\n"
+ " \"$hasValue\": false\n"
+ " },\n"
+ " \"normalMapUVChannelIdx\": 1,\n"
+ " \"diffuseMapUVChannelIdx\": 1,\n"
+ " \"emissiveMultiplier\": 1.0,\n"
+ " \"singleSided\": false\n"
+ " },\n"
+ " \"metashaderRef\": {\n"
+ " \"is_initialized\": true,\n"
+ " \"value\": \"resources/shaders/carpaint.jshader\"\n"
+ " },\n"
+ " \"features\": [\n"
+ " {\n"
+ " \"$name\": \"albedo_map\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": true\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"normal_map\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": false\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"roughness_map\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": true\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"occlusion_map\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": true\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"metalness_map\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": true\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"tint_map\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": true\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"emissive_map\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": false\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"dual_tone\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": true\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"dirt_map\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": true\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"dirt_map_no_occlusion\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": true\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"damage_map\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": true\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"emissive_diffuse\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": false\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"normal_map_uv2\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": false\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"specular_dual_tone\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": false\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"always_use_transparency\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": false\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"use_paint_flakes\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": false\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"use_diffuse_reflection\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": false\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"use_material_texture_mask\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": true\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"use_LOD_alpha_switch\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": false\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"use_floor_ao\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": false\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"use_specular_aa\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": true\n"
+ " }\n"
+ " ],\n"
+ " \"constants\": [\n"
+ " {\n"
+ " \"$name\": \"albedoColor\",\n"
+ " \"$type\": \"::editor::material::LinearRGBAf\",\n"
+ " \"$value\": [\n"
+ " 1.0,\n"
+ " 1.0,\n"
+ " 1.0,\n"
+ " 1.0\n"
+ " ]\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"metalness\",\n"
+ " \"$type\": \"::editor::material::UNorm\",\n"
+ " \"$value\": 0.10000000149011612\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"reflectionExponent\",\n"
+ " \"$type\": \"::ReflectionFresnelExponent\",\n"
+ " \"$value\": 5.0\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"reflectionScale\",\n"
+ " \"$type\": \"::ReflectionScale\",\n"
+ " \"$value\": 1.5\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"dualToneAlbedoColor\",\n"
+ " \"$type\": \"::editor::material::LinearRGBf\",\n"
+ " \"$value\": [\n"
+ " 1.0,\n"
+ " 1.0,\n"
+ " 1.0\n"
+ " ]\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"dualTonePower\",\n"
+ " \"$type\": \"::MaterialExponent\",\n"
+ " \"$value\": 30.0\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"dirtFactor\",\n"
+ " \"$type\": \"::editor::material::UNorm\",\n"
+ " \"$value\": 0.0\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"damageFactorPerSideLRFB\",\n"
+ " \"$type\": \"::DamageFactorPerSideLRFB\",\n"
+ " \"$value\": [\n"
+ " 0.0,\n"
+ " 0.0,\n"
+ " 0.0,\n"
+ " 0.0\n"
+ " ]\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"roughness\",\n"
+ " \"$type\": \"::editor::material::UNorm\",\n"
+ " \"$value\": 0.0\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"albedoColor2\",\n"
+ " \"$type\": \"::editor::material::LinearRGBf\",\n"
+ " \"$value\": [\n"
+ " 0.21041999757289887,\n"
+ " 0.0,\n"
+ " 0.0\n"
+ " ]\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"dualToneAlbedoColor2\",\n"
+ " \"$type\": \"::editor::material::LinearRGBf\",\n"
+ " \"$value\": [\n"
+ " 0.6226800084114075,\n"
+ " 0.0,\n"
+ " 0.0\n"
+ " ]\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"specularAAAmount\",\n"
+ " \"$type\": \"::editor::material::UNorm\",\n"
+ " \"$value\": 1.0\n"
+ " }\n"
+ " ],\n"
+ " \"textures\": [\n"
+ " {\n"
+ " \"$name\": \"albedo\",\n"
+ " \"$type\": \"::AnyDiffuseOrAlbedoMapReference\",\n"
+ " \"$value\": {\n"
+ " \"is_initialized\": true,\n"
+ " \"value\": \"resources/gfx3D/cars/textures/car_Dodge_Viper_ACR_2016_LOD_al.tga\"\n"
+ " }\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"attributes\",\n"
+ " \"$type\": \"::AttributesMapReference\",\n"
+ " \"$value\": {\n"
+ " \"is_initialized\": true,\n"
+ " \"value\": \"resources/gfx3D/cars/textures/car_Dodge_Viper_ACR_2016_LOD_mk.tga\"\n"
+ " }\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"dirt\",\n"
+ " \"$type\": \"::editor::TextureReference\",\n"
+ " \"$value\": {\n"
+ " \"is_initialized\": true,\n"
+ " \"value\": \"resources/gfx3D/cars/textures/car_dirt_mud_dfa.tga\"\n"
+ " }\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"damage\",\n"
+ " \"$type\": \"::editor::TextureReference\",\n"
+ " \"$value\": {\n"
+ " \"is_initialized\": true,\n"
+ " \"value\": \"resources/gfx3D/cars/textures/car_damage_mk.tga\"\n"
+ " }\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"tintEmissive\",\n"
+ " \"$type\": \"::editor::TextureReference\",\n"
+ " \"$value\": {\n"
+ " \"is_initialized\": true,\n"
+ " \"value\": \"resources/gfx3D/cars/textures/car_Dodge_Viper_ACR_2016_LOD_tem.tga\"\n"
+ " }\n"
+ " }\n"
+ " ],\n"
+ " \"renderState\": {\n"
+ " \"blendingMode\": \"Opaque\",\n"
+ " \"depthWrite\": \"Auto\",\n"
+ " \"twoSided\": false,\n"
+ " \"renderLayer\": 0,\n"
+ " \"renderPass\": {\n"
+ " \"$isSet\": false,\n"
+ " \"$hasValue\": false\n"
+ " }\n"
+ " },\n"
+ " \"materialComponent\": {}\n"
+ " }\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"car_Dodge_Viper_ACR_LOD_blue\",\n"
+ " \"$type\": \"@tts::editor::MaterialEntity\",\n"
+ " \"$params\": {\n"
+ " \"lightmapSpecificParams\": {\n"
+ " \"shadowColor\": {\n"
+ " \"$isSet\": false,\n"
+ " \"$hasValue\": false\n"
+ " },\n"
+ " \"normalMap\": {\n"
+ " \"$isSet\": false,\n"
+ " \"$hasValue\": false\n"
+ " },\n"
+ " \"transparencyMap\": {\n"
+ " \"$isSet\": false,\n"
+ " \"$hasValue\": false\n"
+ " },\n"
+ " \"diffuseMapOverride\": {\n"
+ " \"$isSet\": false,\n"
+ " \"$hasValue\": false\n"
+ " },\n"
+ " \"diffuseColorOverride\": {\n"
+ " \"$isSet\": false,\n"
+ " \"$hasValue\": false\n"
+ " },\n"
+ " \"normalMapUVChannelIdx\": 1,\n"
+ " \"diffuseMapUVChannelIdx\": 1,\n"
+ " \"emissiveMultiplier\": 1.0,\n"
+ " \"singleSided\": false\n"
+ " },\n"
+ " \"metashaderRef\": {\n"
+ " \"is_initialized\": true,\n"
+ " \"value\": \"resources/shaders/carpaint.jshader\"\n"
+ " },\n"
+ " \"features\": [\n"
+ " {\n"
+ " \"$name\": \"albedo_map\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": true\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"normal_map\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": false\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"roughness_map\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": true\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"occlusion_map\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": true\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"metalness_map\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": true\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"tint_map\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": true\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"emissive_map\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": false\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"dual_tone\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": true\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"dirt_map\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": true\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"dirt_map_no_occlusion\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": true\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"damage_map\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": true\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"emissive_diffuse\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": false\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"normal_map_uv2\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": false\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"specular_dual_tone\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": false\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"always_use_transparency\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": false\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"use_paint_flakes\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": false\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"use_diffuse_reflection\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": false\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"use_material_texture_mask\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": true\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"use_LOD_alpha_switch\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": false\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"use_floor_ao\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": false\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"use_specular_aa\",\n"
+ " \"$type\": \"::bool\",\n"
+ " \"$value\": false\n"
+ " }\n"
+ " ],\n"
+ " \"constants\": [\n"
+ " {\n"
+ " \"$name\": \"albedoColor\",\n"
+ " \"$type\": \"::editor::material::LinearRGBAf\",\n"
+ " \"$value\": [\n"
+ " 1.0,\n"
+ " 1.0,\n"
+ " 1.0,\n"
+ " 1.0\n"
+ " ]\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"metalness\",\n"
+ " \"$type\": \"::editor::material::UNorm\",\n"
+ " \"$value\": 0.10000000149011612\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"reflectionExponent\",\n"
+ " \"$type\": \"::ReflectionFresnelExponent\",\n"
+ " \"$value\": 5.0\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"reflectionScale\",\n"
+ " \"$type\": \"::ReflectionScale\",\n"
+ " \"$value\": 1.5\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"dualToneAlbedoColor\",\n"
+ " \"$type\": \"::editor::material::LinearRGBf\",\n"
+ " \"$value\": [\n"
+ " 1.0,\n"
+ " 1.0,\n"
+ " 1.0\n"
+ " ]\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"dualTonePower\",\n"
+ " \"$type\": \"::MaterialExponent\",\n"
+ " \"$value\": 15.0\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"dirtFactor\",\n"
+ " \"$type\": \"::editor::material::UNorm\",\n"
+ " \"$value\": 0.0\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"damageFactorPerSideLRFB\",\n"
+ " \"$type\": \"::DamageFactorPerSideLRFB\",\n"
+ " \"$value\": [\n"
+ " 0.0,\n"
+ " 0.0,\n"
+ " 0.0,\n"
+ " 0.0\n"
+ " ]\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"roughness\",\n"
+ " \"$type\": \"::editor::material::UNorm\",\n"
+ " \"$value\": 0.0\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"albedoColor2\",\n"
+ " \"$type\": \"::editor::material::LinearRGBf\",\n"
+ " \"$value\": [\n"
+ " 0.00022000000171829015,\n"
+ " 0.0294599998742342,\n"
+ " 0.19374999403953553\n"
+ " ]\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"dualToneAlbedoColor2\",\n"
+ " \"$type\": \"::editor::material::LinearRGBf\",\n"
+ " \"$value\": [\n"
+ " 0.0,\n"
+ " 0.028839999809861184,\n"
+ " 0.3259499967098236\n"
+ " ]\n"
+ " }\n"
+ " ],\n"
+ " \"textures\": [\n"
+ " {\n"
+ " \"$name\": \"albedo\",\n"
+ " \"$type\": \"::AnyDiffuseOrAlbedoMapReference\",\n"
+ " \"$value\": {\n"
+ " \"is_initialized\": true,\n"
+ " \"value\": \"resources/gfx3D/cars/textures/car_Dodge_Viper_ACR_2016_LOD_al.tga\"\n"
+ " }\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"attributes\",\n"
+ " \"$type\": \"::AttributesMapReference\",\n"
+ " \"$value\": {\n"
+ " \"is_initialized\": true,\n"
+ " \"value\": \"resources/gfx3D/cars/textures/car_Dodge_Viper_ACR_2016_LOD_mk.tga\"\n"
+ " }\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"dirt\",\n"
+ " \"$type\": \"::editor::TextureReference\",\n"
+ " \"$value\": {\n"
+ " \"is_initialized\": true,\n"
+ " \"value\": \"resources/gfx3D/cars/textures/car_dirt_mud_dfa.tga\"\n"
+ " }\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"damage\",\n"
+ " \"$type\": \"::editor::TextureReference\",\n"
+ " \"$value\": {\n"
+ " \"is_initialized\": true,\n"
+ " \"value\": \"resources/gfx3D/cars/textures/car_damage_mk.tga\"\n"
+ " }\n"
+ " },\n"
+ " {\n"
+ " \"$name\": \"tintEmissive\",\n"
+ " \"$type\": \"::editor::TextureReference\",\n"
+ " \"$value\": {\n"
+ " \"is_initialized\": true,\n"
+ " \"value\": \"resources/gfx3D/cars/textures/car_Dodge_Viper_ACR_2016_LOD_tem.tga\"\n"
+ " }\n"
+ " }\n"
+ " ],\n"
+ " \"renderState\": {\n"
+ " \"blendingMode\": \"Opaque\",\n"
+ " \"depthWrite\": \"Auto\",\n"
+ " \"twoSided\": false,\n"
+ " \"renderLayer\": 0,\n"
+ " \"renderPass\": {\n"
+ " \"$isSet\": false,\n"
+ " \"$hasValue\": false\n"
+ " }\n"
+ " },\n"
+ " \"materialComponent\": {}\n"
+ " }\n"
+ " },";
final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE);
final Matcher matcher = pattern.matcher(string);
while (matcher.find()) {
System.out.println("Full match: " + matcher.group(0));
for (int i = 1; i <= matcher.groupCount(); i++) {
System.out.println("Group " + i + ": " + matcher.group(i));
}
}
}
}
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 Java, please visit: https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html