2431 lines
69 KiB
TypeScript
2431 lines
69 KiB
TypeScript
import {
|
|
type MaterialPresetPayload,
|
|
type MaterialTarget,
|
|
MaterialTarget as MaterialTargetSchema,
|
|
} from './schema/material'
|
|
|
|
export type MaterialCatalogItem = {
|
|
id: string
|
|
label: string
|
|
category: MaterialCategory
|
|
description?: string
|
|
previewThumbnailUrl?: string
|
|
previewColor?: string
|
|
preset: MaterialPresetPayload
|
|
}
|
|
|
|
const WALL_TARGETS: MaterialTarget[] = [MaterialTargetSchema.enum.wall]
|
|
|
|
const SLAB_TARGETS: MaterialTarget[] = [MaterialTargetSchema.enum.slab]
|
|
|
|
const WALL_AND_SLAB_TARGETS: MaterialTarget[] = [
|
|
MaterialTargetSchema.enum.wall,
|
|
MaterialTargetSchema.enum.slab,
|
|
]
|
|
|
|
const STAIR_TARGETS: MaterialTarget[] = [
|
|
MaterialTargetSchema.enum.stair,
|
|
MaterialTargetSchema.enum['stair-segment'],
|
|
]
|
|
|
|
const STAIR_AND_FENCE_TARGETS: MaterialTarget[] = [
|
|
...STAIR_TARGETS,
|
|
MaterialTargetSchema.enum.fence,
|
|
]
|
|
|
|
const ROOF_TARGETS: MaterialTarget[] = [
|
|
MaterialTargetSchema.enum.roof,
|
|
MaterialTargetSchema.enum['roof-segment'],
|
|
]
|
|
|
|
const CEILING_TARGETS: MaterialTarget[] = [MaterialTargetSchema.enum.ceiling]
|
|
|
|
export const MATERIAL_CATEGORIES = ['wood', 'flooring', 'roof', 'other'] as const
|
|
export type MaterialCategory = (typeof MATERIAL_CATEGORIES)[number]
|
|
|
|
export const MATERIAL_CATALOG: MaterialCatalogItem[] = [
|
|
{
|
|
id: 'wood-finewood27',
|
|
label: 'Finewood 27',
|
|
category: 'wood',
|
|
description: 'Fine wood finish',
|
|
previewThumbnailUrl: '/material/wood/finewood_27/finewood_27_basecolor.webp',
|
|
preset: {
|
|
maps: {
|
|
albedoMap: '/material/wood/finewood_27/finewood_27_basecolor.webp',
|
|
aoMap: '/material/wood/finewood_27/finewood_27_ambientocclusion.webp',
|
|
normalMap: '/material/wood/finewood_27/finewood_27_normal.webp',
|
|
roughnessMap: '/material/wood/finewood_27/finewood_27_roughness.webp',
|
|
},
|
|
mapProperties: {
|
|
color: '#ffffff',
|
|
roughness: 0.5,
|
|
metalness: 0,
|
|
repeatX: 1,
|
|
repeatY: 1,
|
|
rotation: 0,
|
|
wrapS: 'Repeat',
|
|
wrapT: 'Repeat',
|
|
normalScaleX: 1,
|
|
normalScaleY: 1,
|
|
emissiveIntensity: 1,
|
|
displacementScale: 0,
|
|
transparent: false,
|
|
flipY: true,
|
|
bumpScale: 1,
|
|
emissiveColor: '#000000',
|
|
aoMapIntensity: 1,
|
|
side: 0,
|
|
opacity: 1,
|
|
lightMapIntensity: 1,
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'wood-floorplank1',
|
|
label: 'Floor Plank 1',
|
|
category: 'wood',
|
|
description: 'Wood plank finish',
|
|
previewThumbnailUrl: '/material/wood/floor_plank_1/floor_plank-diffuse.webp',
|
|
preset: {
|
|
maps: {
|
|
albedoMap: '/material/wood/floor_plank_1/floor_plank-diffuse.webp',
|
|
aoMap: '/material/wood/floor_plank_1/floor_plank-ao.webp',
|
|
metalnessMap: '/material/wood/floor_plank_1/floor_plank-specular.webp',
|
|
normalMap: '/material/wood/floor_plank_1/floor_plank-normal.webp',
|
|
},
|
|
mapProperties: {
|
|
color: '#ffffff',
|
|
roughness: 0.45,
|
|
metalness: 0,
|
|
repeatX: 0.4,
|
|
repeatY: 0.4,
|
|
rotation: 0,
|
|
wrapS: 'Repeat',
|
|
wrapT: 'Repeat',
|
|
normalScaleX: 1,
|
|
normalScaleY: 1,
|
|
emissiveIntensity: 1,
|
|
displacementScale: 0,
|
|
transparent: false,
|
|
flipY: true,
|
|
bumpScale: 1,
|
|
emissiveColor: '#000000',
|
|
aoMapIntensity: 1,
|
|
side: 0,
|
|
opacity: 1,
|
|
lightMapIntensity: 1,
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'wood-hungarianparquet10',
|
|
label: 'Hungarian Parquet 10',
|
|
category: 'wood',
|
|
description: 'Parquet wood finish',
|
|
previewThumbnailUrl: '/material/wood/hungarian_parquet_10/Hungarian Parquet_10_baseColor.webp',
|
|
preset: {
|
|
maps: {
|
|
albedoMap: '/material/wood/hungarian_parquet_10/Hungarian Parquet_10_baseColor.webp',
|
|
metalnessMap: '/material/wood/hungarian_parquet_10/Hungarian Parquet_10_specularLevel.webp',
|
|
normalMap: '/material/wood/hungarian_parquet_10/Hungarian Parquet_10_normal.webp',
|
|
roughnessMap: '/material/wood/hungarian_parquet_10/Hungarian Parquet_10_roughness.webp',
|
|
},
|
|
mapProperties: {
|
|
color: '#ffffff',
|
|
roughness: 0.5,
|
|
metalness: 0,
|
|
repeatX: 1,
|
|
repeatY: 1,
|
|
rotation: 0,
|
|
wrapS: 'Repeat',
|
|
wrapT: 'Repeat',
|
|
normalScaleX: 1,
|
|
normalScaleY: 1,
|
|
emissiveIntensity: 1,
|
|
displacementScale: 0,
|
|
transparent: false,
|
|
flipY: true,
|
|
bumpScale: 1,
|
|
emissiveColor: '#000000',
|
|
aoMapIntensity: 1,
|
|
side: 0,
|
|
opacity: 1,
|
|
lightMapIntensity: 1,
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'wood-hungarianparquet2',
|
|
label: 'Hungarian Parquet 2',
|
|
category: 'wood',
|
|
description: 'Parquet wood finish',
|
|
previewThumbnailUrl: '/material/wood/hungarian_parquet_2/Hungarian Parquet_2_baseColor.webp',
|
|
preset: {
|
|
maps: {
|
|
albedoMap: '/material/wood/hungarian_parquet_2/Hungarian Parquet_2_baseColor.webp',
|
|
metalnessMap: '/material/wood/hungarian_parquet_2/Hungarian Parquet_2_specularLevel.webp',
|
|
normalMap: '/material/wood/hungarian_parquet_2/Hungarian Parquet_2_normal.webp',
|
|
roughnessMap: '/material/wood/hungarian_parquet_2/Hungarian Parquet_2_roughness.webp',
|
|
},
|
|
mapProperties: {
|
|
color: '#ffffff',
|
|
roughness: 0.5,
|
|
metalness: 0,
|
|
repeatX: 1,
|
|
repeatY: 1,
|
|
rotation: 0,
|
|
wrapS: 'Repeat',
|
|
wrapT: 'Repeat',
|
|
normalScaleX: 1,
|
|
normalScaleY: 1,
|
|
emissiveIntensity: 1,
|
|
displacementScale: 0,
|
|
transparent: false,
|
|
flipY: true,
|
|
bumpScale: 1,
|
|
emissiveColor: '#000000',
|
|
aoMapIntensity: 1,
|
|
side: 0,
|
|
opacity: 1,
|
|
lightMapIntensity: 1,
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'wood-squareparquet21',
|
|
label: 'Square Parquet 21',
|
|
category: 'wood',
|
|
description: 'Parquet wood finish',
|
|
previewThumbnailUrl:
|
|
'/material/wood/square_parquet_21/Square Pattern Parquet_21_baseColor.webp',
|
|
preset: {
|
|
maps: {
|
|
albedoMap: '/material/wood/square_parquet_21/Square Pattern Parquet_21_baseColor.webp',
|
|
metalnessMap:
|
|
'/material/wood/square_parquet_21/Square Pattern Parquet_21_specularLevel.webp',
|
|
normalMap: '/material/wood/square_parquet_21/Square Pattern Parquet_21_normal.webp',
|
|
roughnessMap: '/material/wood/square_parquet_21/Square Pattern Parquet_21_roughness.webp',
|
|
},
|
|
mapProperties: {
|
|
color: '#ffffff',
|
|
roughness: 0.5,
|
|
metalness: 0,
|
|
repeatX: 1,
|
|
repeatY: 1,
|
|
rotation: 0,
|
|
wrapS: 'Repeat',
|
|
wrapT: 'Repeat',
|
|
normalScaleX: 1,
|
|
normalScaleY: 1,
|
|
emissiveIntensity: 1,
|
|
displacementScale: 0,
|
|
transparent: false,
|
|
flipY: true,
|
|
bumpScale: 1,
|
|
emissiveColor: '#000000',
|
|
aoMapIntensity: 1,
|
|
side: 0,
|
|
opacity: 1,
|
|
lightMapIntensity: 1,
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'wood-squareparquet23',
|
|
label: 'Square Parquet 23',
|
|
category: 'wood',
|
|
description: 'Parquet wood finish',
|
|
previewThumbnailUrl:
|
|
'/material/wood/square_wood_parquet_23/Square Pattern Parquet_23_baseColor.webp',
|
|
preset: {
|
|
maps: {
|
|
albedoMap: '/material/wood/square_wood_parquet_23/Square Pattern Parquet_23_baseColor.webp',
|
|
metalnessMap:
|
|
'/material/wood/square_wood_parquet_23/Square Pattern Parquet_23_specularLevel.webp',
|
|
normalMap: '/material/wood/square_wood_parquet_23/Square Pattern Parquet_23_normal.webp',
|
|
roughnessMap:
|
|
'/material/wood/square_wood_parquet_23/Square Pattern Parquet_23_roughness.webp',
|
|
},
|
|
mapProperties: {
|
|
color: '#ffffff',
|
|
roughness: 0.5,
|
|
metalness: 0,
|
|
repeatX: 1,
|
|
repeatY: 1,
|
|
rotation: 0,
|
|
wrapS: 'Repeat',
|
|
wrapT: 'Repeat',
|
|
normalScaleX: 1,
|
|
normalScaleY: 1,
|
|
emissiveIntensity: 1,
|
|
displacementScale: 0,
|
|
transparent: false,
|
|
flipY: true,
|
|
bumpScale: 1,
|
|
emissiveColor: '#000000',
|
|
aoMapIntensity: 1,
|
|
side: 0,
|
|
opacity: 1,
|
|
lightMapIntensity: 1,
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'wood-woodfine1',
|
|
label: 'Wood Fine 1',
|
|
category: 'wood',
|
|
description: 'Fine wood finish',
|
|
previewThumbnailUrl: '/material/wood/wood_fine/wood_fine_1-diffuse.webp',
|
|
preset: {
|
|
maps: {
|
|
albedoMap: '/material/wood/wood_fine/wood_fine_1-diffuse.webp',
|
|
aoMap: '/material/wood/wood_fine/wood_fine_1-ao.webp',
|
|
metalnessMap: '/material/wood/wood_fine/wood_fine_1-specular.webp',
|
|
normalMap: '/material/wood/wood_fine/wood_fine_1-normal.webp',
|
|
},
|
|
mapProperties: {
|
|
color: '#ffffff',
|
|
roughness: 0.45,
|
|
metalness: 0,
|
|
repeatX: 1,
|
|
repeatY: 1,
|
|
rotation: 0,
|
|
wrapS: 'Repeat',
|
|
wrapT: 'Repeat',
|
|
normalScaleX: 1,
|
|
normalScaleY: 1,
|
|
emissiveIntensity: 1,
|
|
displacementScale: 0,
|
|
transparent: false,
|
|
flipY: true,
|
|
bumpScale: 1,
|
|
emissiveColor: '#000000',
|
|
aoMapIntensity: 1,
|
|
side: 0,
|
|
opacity: 1,
|
|
lightMapIntensity: 1,
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'wood-woodfine11',
|
|
label: 'Wood Fine 11',
|
|
category: 'wood',
|
|
description: 'Fine wood finish',
|
|
previewThumbnailUrl: '/material/wood/wood_fine_11/wood_fine_11-diffuse.webp',
|
|
preset: {
|
|
maps: {
|
|
albedoMap: '/material/wood/wood_fine_11/wood_fine_11-diffuse.webp',
|
|
aoMap: '/material/wood/wood_fine_11/wood_fine_11-ao.webp',
|
|
metalnessMap: '/material/wood/wood_fine_11/wood_fine_11-specular.webp',
|
|
normalMap: '/material/wood/wood_fine_11/wood_fine_11-normal.webp',
|
|
},
|
|
mapProperties: {
|
|
color: '#ffffff',
|
|
roughness: 0.45,
|
|
metalness: 0,
|
|
repeatX: 1,
|
|
repeatY: 1,
|
|
rotation: 0,
|
|
wrapS: 'Repeat',
|
|
wrapT: 'Repeat',
|
|
normalScaleX: 1,
|
|
normalScaleY: 1,
|
|
emissiveIntensity: 1,
|
|
displacementScale: 0,
|
|
transparent: false,
|
|
flipY: true,
|
|
bumpScale: 1,
|
|
emissiveColor: '#000000',
|
|
aoMapIntensity: 1,
|
|
side: 0,
|
|
opacity: 1,
|
|
lightMapIntensity: 1,
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'wood-woodfine13',
|
|
label: 'Wood Fine 13',
|
|
category: 'wood',
|
|
description: 'Fine wood finish',
|
|
previewThumbnailUrl: '/material/wood/wood_fine_13/wood_fine_13-diffuse.webp',
|
|
preset: {
|
|
maps: {
|
|
albedoMap: '/material/wood/wood_fine_13/wood_fine_13-diffuse.webp',
|
|
aoMap: '/material/wood/wood_fine_13/wood_fine_13-ao.webp',
|
|
metalnessMap: '/material/wood/wood_fine_13/wood_fine_13-specular.webp',
|
|
normalMap: '/material/wood/wood_fine_13/wood_fine_13-normal.webp',
|
|
},
|
|
mapProperties: {
|
|
color: '#ffffff',
|
|
roughness: 0.45,
|
|
metalness: 0,
|
|
repeatX: 1,
|
|
repeatY: 1,
|
|
rotation: 0,
|
|
wrapS: 'Repeat',
|
|
wrapT: 'Repeat',
|
|
normalScaleX: 1,
|
|
normalScaleY: 1,
|
|
emissiveIntensity: 1,
|
|
displacementScale: 0,
|
|
transparent: false,
|
|
flipY: true,
|
|
bumpScale: 1,
|
|
emissiveColor: '#000000',
|
|
aoMapIntensity: 1,
|
|
side: 0,
|
|
opacity: 1,
|
|
lightMapIntensity: 1,
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'wood-woodfine2',
|
|
label: 'Wood Fine 2',
|
|
category: 'wood',
|
|
description: 'Fine wood finish',
|
|
previewThumbnailUrl: '/material/wood/wood_fine_2/wood_fine_2-diffuse.webp',
|
|
preset: {
|
|
maps: {
|
|
albedoMap: '/material/wood/wood_fine_2/wood_fine_2-diffuse.webp',
|
|
aoMap: '/material/wood/wood_fine_2/wood_fine_2-ao.webp',
|
|
metalnessMap: '/material/wood/wood_fine_2/wood_fine_2-specular.webp',
|
|
normalMap: '/material/wood/wood_fine_2/wood_fine_2-normal.webp',
|
|
},
|
|
mapProperties: {
|
|
color: '#ffffff',
|
|
roughness: 0.45,
|
|
metalness: 0,
|
|
repeatX: 1,
|
|
repeatY: 1,
|
|
rotation: 0,
|
|
wrapS: 'Repeat',
|
|
wrapT: 'Repeat',
|
|
normalScaleX: 1,
|
|
normalScaleY: 1,
|
|
emissiveIntensity: 1,
|
|
displacementScale: 0,
|
|
transparent: false,
|
|
flipY: true,
|
|
bumpScale: 1,
|
|
emissiveColor: '#000000',
|
|
aoMapIntensity: 1,
|
|
side: 0,
|
|
opacity: 1,
|
|
lightMapIntensity: 1,
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'wood-woodfine22',
|
|
label: 'Wood Fine 22',
|
|
category: 'wood',
|
|
description: 'Fine wood finish',
|
|
previewThumbnailUrl: '/material/wood/wood_fine_22/wood_fine_22-diffuse.webp',
|
|
preset: {
|
|
maps: {
|
|
albedoMap: '/material/wood/wood_fine_22/wood_fine_22-diffuse.webp',
|
|
aoMap: '/material/wood/wood_fine_22/wood_fine_22-ao.webp',
|
|
metalnessMap: '/material/wood/wood_fine_22/wood_fine_22-specular.webp',
|
|
normalMap: '/material/wood/wood_fine_22/wood_fine_22-normal.webp',
|
|
},
|
|
mapProperties: {
|
|
color: '#ffffff',
|
|
roughness: 0.45,
|
|
metalness: 0,
|
|
repeatX: 1,
|
|
repeatY: 1,
|
|
rotation: 0,
|
|
wrapS: 'Repeat',
|
|
wrapT: 'Repeat',
|
|
normalScaleX: 1,
|
|
normalScaleY: 1,
|
|
emissiveIntensity: 1,
|
|
displacementScale: 0,
|
|
transparent: false,
|
|
flipY: true,
|
|
bumpScale: 1,
|
|
emissiveColor: '#000000',
|
|
aoMapIntensity: 1,
|
|
side: 0,
|
|
opacity: 1,
|
|
lightMapIntensity: 1,
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'wood-woodfine24',
|
|
label: 'Wood Fine 24',
|
|
category: 'wood',
|
|
description: 'Fine wood finish',
|
|
previewThumbnailUrl: '/material/wood/wood_fine_24/wood_fine_24-diffuse.webp',
|
|
preset: {
|
|
maps: {
|
|
albedoMap: '/material/wood/wood_fine_24/wood_fine_24-diffuse.webp',
|
|
aoMap: '/material/wood/wood_fine_24/wood_fine_24-ao.webp',
|
|
metalnessMap: '/material/wood/wood_fine_24/wood_fine_24-specular.webp',
|
|
normalMap: '/material/wood/wood_fine_24/wood_fine_24-normal.webp',
|
|
},
|
|
mapProperties: {
|
|
color: '#ffffff',
|
|
roughness: 0.45,
|
|
metalness: 0,
|
|
repeatX: 1,
|
|
repeatY: 1,
|
|
rotation: 0,
|
|
wrapS: 'Repeat',
|
|
wrapT: 'Repeat',
|
|
normalScaleX: 1,
|
|
normalScaleY: 1,
|
|
emissiveIntensity: 1,
|
|
displacementScale: 0,
|
|
transparent: false,
|
|
flipY: true,
|
|
bumpScale: 1,
|
|
emissiveColor: '#000000',
|
|
aoMapIntensity: 1,
|
|
side: 0,
|
|
opacity: 1,
|
|
lightMapIntensity: 1,
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'wood-woodparquet14',
|
|
label: 'Wood Parquet 14',
|
|
category: 'wood',
|
|
description: 'Parquet wood finish',
|
|
previewThumbnailUrl: '/material/wood/wood_parquet_14/woodparquet_14_basecolor.webp',
|
|
preset: {
|
|
maps: {
|
|
albedoMap: '/material/wood/wood_parquet_14/woodparquet_14_basecolor.webp',
|
|
aoMap: '/material/wood/wood_parquet_14/woodparquet_14_ambientocclusion.webp',
|
|
metalnessMap: '/material/wood/wood_parquet_14/woodparquet_14_metallic.webp',
|
|
normalMap: '/material/wood/wood_parquet_14/woodparquet_14_normal.webp',
|
|
roughnessMap: '/material/wood/wood_parquet_14/woodparquet_14_roughness.webp',
|
|
},
|
|
mapProperties: {
|
|
color: '#ffffff',
|
|
roughness: 0.5,
|
|
metalness: 0,
|
|
repeatX: 1,
|
|
repeatY: 1,
|
|
rotation: 0,
|
|
wrapS: 'Repeat',
|
|
wrapT: 'Repeat',
|
|
normalScaleX: 1,
|
|
normalScaleY: 1,
|
|
emissiveIntensity: 1,
|
|
displacementScale: 0,
|
|
transparent: false,
|
|
flipY: true,
|
|
bumpScale: 1,
|
|
emissiveColor: '#000000',
|
|
aoMapIntensity: 1,
|
|
side: 0,
|
|
opacity: 1,
|
|
lightMapIntensity: 1,
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'wood-woodenparquet11',
|
|
label: 'Wooden Parquet 11',
|
|
category: 'wood',
|
|
description: 'Parquet wood finish',
|
|
previewThumbnailUrl: '/material/wood/wooden_parquet_11/Classic Parquet_11_baseColor.webp',
|
|
preset: {
|
|
maps: {
|
|
albedoMap: '/material/wood/wooden_parquet_11/Classic Parquet_11_baseColor.webp',
|
|
metalnessMap: '/material/wood/wooden_parquet_11/Classic Parquet_11_specularLevel.webp',
|
|
normalMap: '/material/wood/wooden_parquet_11/Classic Parquet_11_normal.webp',
|
|
roughnessMap: '/material/wood/wooden_parquet_11/Classic Parquet_11_roughness.webp',
|
|
},
|
|
mapProperties: {
|
|
color: '#ffffff',
|
|
roughness: 0.5,
|
|
metalness: 0,
|
|
repeatX: 1,
|
|
repeatY: 1,
|
|
rotation: 0,
|
|
wrapS: 'Repeat',
|
|
wrapT: 'Repeat',
|
|
normalScaleX: 1,
|
|
normalScaleY: 1,
|
|
emissiveIntensity: 1,
|
|
displacementScale: 0,
|
|
transparent: false,
|
|
flipY: true,
|
|
bumpScale: 1,
|
|
emissiveColor: '#000000',
|
|
aoMapIntensity: 1,
|
|
side: 0,
|
|
opacity: 1,
|
|
lightMapIntensity: 1,
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'wood-woodparquet121',
|
|
label: 'Wood Parquet 121',
|
|
category: 'wood',
|
|
description: 'Parquet wood finish',
|
|
previewThumbnailUrl: '/material/wood/woodparquet_121/woodparquet_121_basecolor.webp',
|
|
preset: {
|
|
maps: {
|
|
albedoMap: '/material/wood/woodparquet_121/woodparquet_121_basecolor.webp',
|
|
aoMap: '/material/wood/woodparquet_121/woodparquet_121_ambientocclusion.webp',
|
|
normalMap: '/material/wood/woodparquet_121/woodparquet_121_normal.webp',
|
|
roughnessMap: '/material/wood/woodparquet_121/woodparquet_121_roughness.webp',
|
|
},
|
|
mapProperties: {
|
|
color: '#ffffff',
|
|
roughness: 0.5,
|
|
metalness: 0,
|
|
repeatX: 1,
|
|
repeatY: 1,
|
|
rotation: 0,
|
|
wrapS: 'Repeat',
|
|
wrapT: 'Repeat',
|
|
normalScaleX: 1,
|
|
normalScaleY: 1,
|
|
emissiveIntensity: 1,
|
|
displacementScale: 0,
|
|
transparent: false,
|
|
flipY: true,
|
|
bumpScale: 1,
|
|
emissiveColor: '#000000',
|
|
aoMapIntensity: 1,
|
|
side: 0,
|
|
opacity: 1,
|
|
lightMapIntensity: 1,
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'wood-woodparquet56',
|
|
label: 'Wood Parquet 56',
|
|
category: 'wood',
|
|
description: 'Parquet wood finish',
|
|
previewThumbnailUrl: '/material/wood/woodparquet_56/woodparquet_56_basecolor.webp',
|
|
preset: {
|
|
maps: {
|
|
albedoMap: '/material/wood/woodparquet_56/woodparquet_56_basecolor.webp',
|
|
aoMap: '/material/wood/woodparquet_56/woodparquet_56_ambientocclusion.webp',
|
|
metalnessMap: '/material/wood/woodparquet_56/woodparquet_56_metallic.webp',
|
|
normalMap: '/material/wood/woodparquet_56/woodparquet_56_normal.webp',
|
|
roughnessMap: '/material/wood/woodparquet_56/woodparquet_56_roughness.webp',
|
|
},
|
|
mapProperties: {
|
|
color: '#ffffff',
|
|
roughness: 0.5,
|
|
metalness: 0,
|
|
repeatX: 1,
|
|
repeatY: 1,
|
|
rotation: 0,
|
|
wrapS: 'Repeat',
|
|
wrapT: 'Repeat',
|
|
normalScaleX: 1,
|
|
normalScaleY: 1,
|
|
emissiveIntensity: 1,
|
|
displacementScale: 0,
|
|
transparent: false,
|
|
flipY: true,
|
|
bumpScale: 1,
|
|
emissiveColor: '#000000',
|
|
aoMapIntensity: 1,
|
|
side: 0,
|
|
opacity: 1,
|
|
lightMapIntensity: 1,
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'wood-woodparquet65',
|
|
label: 'Wood Parquet 65',
|
|
category: 'wood',
|
|
description: 'Parquet wood finish',
|
|
previewThumbnailUrl: '/material/wood/woodparquet_65/woodparquet_65_BaseColor.webp',
|
|
preset: {
|
|
maps: {
|
|
albedoMap: '/material/wood/woodparquet_65/woodparquet_65_BaseColor.webp',
|
|
aoMap: '/material/wood/woodparquet_65/woodparquet_65_AmbientOcclusion.webp',
|
|
metalnessMap: '/material/wood/woodparquet_65/woodparquet_65_Metallic.webp',
|
|
normalMap: '/material/wood/woodparquet_65/woodparquet_65_Normal.webp',
|
|
roughnessMap: '/material/wood/woodparquet_65/woodparquet_65_Roughness.webp',
|
|
},
|
|
mapProperties: {
|
|
color: '#ffffff',
|
|
roughness: 0.5,
|
|
metalness: 0,
|
|
repeatX: 1,
|
|
repeatY: 1,
|
|
rotation: 0,
|
|
wrapS: 'Repeat',
|
|
wrapT: 'Repeat',
|
|
normalScaleX: 1,
|
|
normalScaleY: 1,
|
|
emissiveIntensity: 1,
|
|
displacementScale: 0,
|
|
transparent: false,
|
|
flipY: true,
|
|
bumpScale: 1,
|
|
emissiveColor: '#000000',
|
|
aoMapIntensity: 1,
|
|
side: 0,
|
|
opacity: 1,
|
|
lightMapIntensity: 1,
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'wood-woodparquet99',
|
|
label: 'Wood Parquet 99',
|
|
category: 'wood',
|
|
description: 'Parquet wood finish',
|
|
previewThumbnailUrl: '/material/wood/woodparquet_99/woodparquet_99_basecolor.webp',
|
|
preset: {
|
|
maps: {
|
|
albedoMap: '/material/wood/woodparquet_99/woodparquet_99_basecolor.webp',
|
|
aoMap: '/material/wood/woodparquet_99/woodparquet_99_ambientocclusion.webp',
|
|
metalnessMap: '/material/wood/woodparquet_99/woodparquet_99_metallic.webp',
|
|
normalMap: '/material/wood/woodparquet_99/woodparquet_99_normal.webp',
|
|
roughnessMap: '/material/wood/woodparquet_99/woodparquet_99_roughness.webp',
|
|
},
|
|
mapProperties: {
|
|
color: '#ffffff',
|
|
roughness: 0.5,
|
|
metalness: 0,
|
|
repeatX: 1,
|
|
repeatY: 1,
|
|
rotation: 0,
|
|
wrapS: 'Repeat',
|
|
wrapT: 'Repeat',
|
|
normalScaleX: 1,
|
|
normalScaleY: 1,
|
|
emissiveIntensity: 1,
|
|
displacementScale: 0,
|
|
transparent: false,
|
|
flipY: true,
|
|
bumpScale: 1,
|
|
emissiveColor: '#000000',
|
|
aoMapIntensity: 1,
|
|
side: 0,
|
|
opacity: 1,
|
|
lightMapIntensity: 1,
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'wood-woodplank19',
|
|
label: 'Wood Plank 19',
|
|
category: 'wood',
|
|
description: 'Wood plank finish',
|
|
previewThumbnailUrl: '/material/wood/woodplank_19/woodplank_19_basecolor.webp',
|
|
preset: {
|
|
maps: {
|
|
albedoMap: '/material/wood/woodplank_19/woodplank_19_basecolor.webp',
|
|
aoMap: '/material/wood/woodplank_19/woodplank_19_ambientocclusion.webp',
|
|
normalMap: '/material/wood/woodplank_19/woodplank_19_normal.webp',
|
|
roughnessMap: '/material/wood/woodplank_19/woodplank_19_roughness.webp',
|
|
},
|
|
mapProperties: {
|
|
color: '#ffffff',
|
|
roughness: 0.5,
|
|
metalness: 0,
|
|
repeatX: 1,
|
|
repeatY: 1,
|
|
rotation: 0,
|
|
wrapS: 'Repeat',
|
|
wrapT: 'Repeat',
|
|
normalScaleX: 1,
|
|
normalScaleY: 1,
|
|
emissiveIntensity: 1,
|
|
displacementScale: 0,
|
|
transparent: false,
|
|
flipY: true,
|
|
bumpScale: 1,
|
|
emissiveColor: '#000000',
|
|
aoMapIntensity: 1,
|
|
side: 0,
|
|
opacity: 1,
|
|
lightMapIntensity: 1,
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'wood-woodplank48',
|
|
label: 'Wood Plank 48',
|
|
category: 'wood',
|
|
description: 'Wood plank finish',
|
|
previewThumbnailUrl: '/material/wood/woodplank_48/woodplank_48_BaseColor.webp',
|
|
preset: {
|
|
maps: {
|
|
albedoMap: '/material/wood/woodplank_48/woodplank_48_BaseColor.webp',
|
|
aoMap: '/material/wood/woodplank_48/woodplank_48_AmbientOcclusion.webp',
|
|
normalMap: '/material/wood/woodplank_48/woodplank_48_Normal.webp',
|
|
roughnessMap: '/material/wood/woodplank_48/woodplank_48_Roughness.webp',
|
|
},
|
|
mapProperties: {
|
|
color: '#ffffff',
|
|
roughness: 0.5,
|
|
metalness: 0,
|
|
repeatX: 1,
|
|
repeatY: 1,
|
|
rotation: 0,
|
|
wrapS: 'Repeat',
|
|
wrapT: 'Repeat',
|
|
normalScaleX: 1,
|
|
normalScaleY: 1,
|
|
emissiveIntensity: 1,
|
|
displacementScale: 0,
|
|
transparent: false,
|
|
flipY: true,
|
|
bumpScale: 1,
|
|
emissiveColor: '#000000',
|
|
aoMapIntensity: 1,
|
|
side: 0,
|
|
opacity: 1,
|
|
lightMapIntensity: 1,
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'flooring-tile85a',
|
|
label: 'Quarry Tile',
|
|
category: 'flooring',
|
|
description: 'Floor tile finish',
|
|
previewThumbnailUrl: '/material/flooring/tile_quarry/tile_quarry_basecolor.webp',
|
|
preset: {
|
|
maps: {
|
|
albedoMap: '/material/flooring/tile_quarry/tile_quarry_basecolor.webp',
|
|
aoMap: '/material/flooring/tile_quarry/tile_quarry_ambientocclusion.webp',
|
|
normalMap: '/material/flooring/tile_quarry/tile_quarry_normal.webp',
|
|
roughnessMap: '/material/flooring/tile_quarry/tile_quarry_roughness.webp',
|
|
},
|
|
mapProperties: {
|
|
color: '#ffffff',
|
|
roughness: 0.5,
|
|
metalness: 0,
|
|
repeatX: 0.3,
|
|
repeatY: 0.3,
|
|
rotation: 0,
|
|
wrapS: 'Repeat',
|
|
wrapT: 'Repeat',
|
|
normalScaleX: 1,
|
|
normalScaleY: 1,
|
|
emissiveIntensity: 1,
|
|
displacementScale: 0,
|
|
transparent: false,
|
|
flipY: true,
|
|
bumpScale: 1,
|
|
emissiveColor: '#000000',
|
|
aoMapIntensity: 1,
|
|
side: 0,
|
|
opacity: 1,
|
|
lightMapIntensity: 1,
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'flooring-rusticbrick',
|
|
label: 'Rustic Brick',
|
|
category: 'flooring',
|
|
description: 'Brick finish',
|
|
previewThumbnailUrl: '/material/flooring/brick_wall_rustic/brick_wall_rustic_basecolor.jpg',
|
|
preset: {
|
|
maps: {
|
|
albedoMap: '/material/flooring/brick_wall_rustic/brick_wall_rustic_basecolor.jpg',
|
|
aoMap: '/material/flooring/brick_wall_rustic/brick_wall_rustic_ambientocclusion.jpg',
|
|
metalnessMap: '/material/flooring/brick_wall_rustic/brick_wall_rustic_metallic.jpg',
|
|
normalMap: '/material/flooring/brick_wall_rustic/brick_wall_rustic_normal.jpg',
|
|
roughnessMap: '/material/flooring/brick_wall_rustic/brick_wall_rustic_roughness.jpg',
|
|
},
|
|
mapProperties: {
|
|
color: '#ffffff',
|
|
roughness: 0.5,
|
|
metalness: 0,
|
|
repeatX: 1.5,
|
|
repeatY: 1.5,
|
|
rotation: 0,
|
|
wrapS: 'Repeat',
|
|
wrapT: 'Repeat',
|
|
normalScaleX: 1,
|
|
normalScaleY: 1,
|
|
emissiveIntensity: 1,
|
|
displacementScale: 0,
|
|
transparent: false,
|
|
flipY: true,
|
|
bumpScale: 1,
|
|
emissiveColor: '#000000',
|
|
aoMapIntensity: 1,
|
|
side: 0,
|
|
opacity: 1,
|
|
lightMapIntensity: 1,
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'flooring-agedbrick',
|
|
label: 'Aged Brick',
|
|
category: 'flooring',
|
|
description: 'Brick finish',
|
|
previewThumbnailUrl: '/material/flooring/brick_wall_aged/brick_wall_aged_basecolor.jpg',
|
|
preset: {
|
|
maps: {
|
|
albedoMap: '/material/flooring/brick_wall_aged/brick_wall_aged_basecolor.jpg',
|
|
aoMap: '/material/flooring/brick_wall_aged/brick_wall_aged_ambientocclusion.jpg',
|
|
metalnessMap: '/material/flooring/brick_wall_aged/brick_wall_aged_metallic.jpg',
|
|
normalMap: '/material/flooring/brick_wall_aged/brick_wall_aged_normal.jpg',
|
|
roughnessMap: '/material/flooring/brick_wall_aged/brick_wall_aged_roughness.jpg',
|
|
},
|
|
mapProperties: {
|
|
color: '#ffffff',
|
|
roughness: 0.5,
|
|
metalness: 0,
|
|
repeatX: 1.5,
|
|
repeatY: 1.5,
|
|
rotation: 0,
|
|
wrapS: 'Repeat',
|
|
wrapT: 'Repeat',
|
|
normalScaleX: 1,
|
|
normalScaleY: 1,
|
|
emissiveIntensity: 1,
|
|
displacementScale: 0,
|
|
transparent: false,
|
|
flipY: true,
|
|
bumpScale: 1,
|
|
emissiveColor: '#000000',
|
|
aoMapIntensity: 1,
|
|
side: 0,
|
|
opacity: 1,
|
|
lightMapIntensity: 1,
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'flooring-weatheredbrick',
|
|
label: 'Weathered Brick',
|
|
category: 'flooring',
|
|
description: 'Brick finish',
|
|
previewThumbnailUrl:
|
|
'/material/flooring/brick_wall_weathered/brick_wall_weathered_basecolor.jpg',
|
|
preset: {
|
|
maps: {
|
|
albedoMap: '/material/flooring/brick_wall_weathered/brick_wall_weathered_basecolor.jpg',
|
|
aoMap: '/material/flooring/brick_wall_weathered/brick_wall_weathered_ambientocclusion.jpg',
|
|
normalMap: '/material/flooring/brick_wall_weathered/brick_wall_weathered_normal.jpg',
|
|
roughnessMap: '/material/flooring/brick_wall_weathered/brick_wall_weathered_roughness.jpg',
|
|
},
|
|
mapProperties: {
|
|
color: '#ffffff',
|
|
roughness: 0.5,
|
|
metalness: 0,
|
|
repeatX: 1,
|
|
repeatY: 1,
|
|
rotation: 0,
|
|
wrapS: 'Repeat',
|
|
wrapT: 'Repeat',
|
|
normalScaleX: 1,
|
|
normalScaleY: 1,
|
|
emissiveIntensity: 1,
|
|
displacementScale: 0,
|
|
transparent: false,
|
|
flipY: true,
|
|
bumpScale: 1,
|
|
emissiveColor: '#000000',
|
|
aoMapIntensity: 1,
|
|
side: 0,
|
|
opacity: 1,
|
|
lightMapIntensity: 1,
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'flooring-garagedoor',
|
|
label: 'Garage Panel',
|
|
category: 'flooring',
|
|
description: 'Panel finish',
|
|
previewThumbnailUrl: '/material/flooring/garage_panel/garage_panel_diffuse.jpg',
|
|
preset: {
|
|
maps: {
|
|
albedoMap: '/material/flooring/garage_panel/garage_panel_diffuse.jpg',
|
|
aoMap: '/material/flooring/garage_panel/garage_panel_ao.jpg',
|
|
metalnessMap: '/material/flooring/garage_panel/garage_panel_specular.jpg',
|
|
normalMap: '/material/flooring/garage_panel/garage_panel_normal.jpg',
|
|
},
|
|
mapProperties: {
|
|
color: '#ffffff',
|
|
roughness: 0.45,
|
|
metalness: 0,
|
|
repeatX: 1,
|
|
repeatY: 1,
|
|
rotation: 0,
|
|
wrapS: 'Repeat',
|
|
wrapT: 'Repeat',
|
|
normalScaleX: 1,
|
|
normalScaleY: 1,
|
|
emissiveIntensity: 1,
|
|
displacementScale: 0,
|
|
transparent: false,
|
|
flipY: true,
|
|
bumpScale: 1,
|
|
emissiveColor: '#000000',
|
|
aoMapIntensity: 1,
|
|
side: 0,
|
|
opacity: 1,
|
|
lightMapIntensity: 1,
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'flooring-greenlabradorite',
|
|
label: 'Green Labradorite',
|
|
category: 'flooring',
|
|
description: 'Stone flooring finish',
|
|
previewThumbnailUrl: '/material/flooring/green_labradorite/green_labradorite_diffuse.jpg',
|
|
preset: {
|
|
maps: {
|
|
albedoMap: '/material/flooring/green_labradorite/green_labradorite_diffuse.jpg',
|
|
aoMap: '/material/flooring/green_labradorite/green_labradorite_ao.jpg',
|
|
metalnessMap: '/material/flooring/green_labradorite/green_labradorite_specular.jpg',
|
|
normalMap: '/material/flooring/green_labradorite/green_labradorite_normal.jpg',
|
|
},
|
|
mapProperties: {
|
|
color: '#ffffff',
|
|
roughness: 0.35,
|
|
metalness: 0,
|
|
repeatX: 0.6,
|
|
repeatY: 1,
|
|
rotation: 0,
|
|
wrapS: 'Repeat',
|
|
wrapT: 'Repeat',
|
|
normalScaleX: 1,
|
|
normalScaleY: 1,
|
|
emissiveIntensity: 1,
|
|
displacementScale: 0,
|
|
transparent: false,
|
|
flipY: true,
|
|
bumpScale: 1,
|
|
emissiveColor: '#000000',
|
|
aoMapIntensity: 1,
|
|
side: 0,
|
|
opacity: 1,
|
|
lightMapIntensity: 1,
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'flooring-ground13',
|
|
label: 'Earth Ground',
|
|
category: 'flooring',
|
|
description: 'Ground surface finish',
|
|
previewThumbnailUrl: '/material/flooring/ground_earth/ground_earth_basecolor.jpg',
|
|
preset: {
|
|
maps: {
|
|
albedoMap: '/material/flooring/ground_earth/ground_earth_basecolor.jpg',
|
|
aoMap: '/material/flooring/ground_earth/ground_earth_ambientocclusion.jpg',
|
|
metalnessMap: '/material/flooring/ground_earth/ground_earth_metallic.jpg',
|
|
normalMap: '/material/flooring/ground_earth/ground_earth_normal.jpg',
|
|
roughnessMap: '/material/flooring/ground_earth/ground_earth_roughness.jpg',
|
|
},
|
|
mapProperties: {
|
|
color: '#ffffff',
|
|
roughness: 0.5,
|
|
metalness: 0,
|
|
repeatX: 1,
|
|
repeatY: 1,
|
|
rotation: 0,
|
|
wrapS: 'Repeat',
|
|
wrapT: 'Repeat',
|
|
normalScaleX: 1,
|
|
normalScaleY: 1,
|
|
emissiveIntensity: 1,
|
|
displacementScale: 0,
|
|
transparent: false,
|
|
flipY: true,
|
|
bumpScale: 1,
|
|
emissiveColor: '#000000',
|
|
aoMapIntensity: 1,
|
|
side: 0,
|
|
opacity: 1,
|
|
lightMapIntensity: 1,
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'flooring-pooltiles',
|
|
label: 'Pool Tiles',
|
|
category: 'flooring',
|
|
description: 'Pool tile finish',
|
|
previewThumbnailUrl: '/material/flooring/pool_tiles/pool_tiles_diffuse.jpg',
|
|
preset: {
|
|
maps: {
|
|
albedoMap: '/material/flooring/pool_tiles/pool_tiles_diffuse.jpg',
|
|
aoMap: '/material/flooring/pool_tiles/pool_tiles_ao.jpg',
|
|
metalnessMap: '/material/flooring/pool_tiles/pool_tiles_specular.jpg',
|
|
normalMap: '/material/flooring/pool_tiles/pool_tiles_normal.jpg',
|
|
},
|
|
mapProperties: {
|
|
color: '#ffffff',
|
|
roughness: 0.45,
|
|
metalness: 0,
|
|
repeatX: 1,
|
|
repeatY: 1,
|
|
rotation: 0,
|
|
wrapS: 'Repeat',
|
|
wrapT: 'Repeat',
|
|
normalScaleX: 1,
|
|
normalScaleY: 1,
|
|
emissiveIntensity: 1,
|
|
displacementScale: 0,
|
|
transparent: false,
|
|
flipY: true,
|
|
bumpScale: 1,
|
|
emissiveColor: '#000000',
|
|
aoMapIntensity: 1,
|
|
side: 0,
|
|
opacity: 1,
|
|
lightMapIntensity: 1,
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'flooring-tiles3',
|
|
label: 'Checker Tiles',
|
|
category: 'flooring',
|
|
description: 'Tile flooring finish',
|
|
previewThumbnailUrl: '/material/flooring/tiles_checker/tiles_checker_diffuse.jpg',
|
|
preset: {
|
|
maps: {
|
|
albedoMap: '/material/flooring/tiles_checker/tiles_checker_diffuse.jpg',
|
|
aoMap: '/material/flooring/tiles_checker/tiles_checker_ao.jpg',
|
|
metalnessMap: '/material/flooring/tiles_checker/tiles_checker_specular.jpg',
|
|
normalMap: '/material/flooring/tiles_checker/tiles_checker_normal.jpg',
|
|
},
|
|
mapProperties: {
|
|
color: '#ffffff',
|
|
roughness: 0.45,
|
|
metalness: 0,
|
|
repeatX: 1,
|
|
repeatY: 1,
|
|
rotation: 0,
|
|
wrapS: 'Repeat',
|
|
wrapT: 'Repeat',
|
|
normalScaleX: 1,
|
|
normalScaleY: 1,
|
|
emissiveIntensity: 1,
|
|
displacementScale: 0,
|
|
transparent: false,
|
|
flipY: true,
|
|
bumpScale: 1,
|
|
emissiveColor: '#000000',
|
|
aoMapIntensity: 1,
|
|
side: 0,
|
|
opacity: 1,
|
|
lightMapIntensity: 1,
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'flooring-tiles4',
|
|
label: 'Grid Tiles',
|
|
category: 'flooring',
|
|
description: 'Tile flooring finish',
|
|
previewThumbnailUrl: '/material/flooring/tiles_grid/tiles_grid_diffuse.jpg',
|
|
preset: {
|
|
maps: {
|
|
albedoMap: '/material/flooring/tiles_grid/tiles_grid_diffuse.jpg',
|
|
aoMap: '/material/flooring/tiles_grid/tiles_grid_ao.jpg',
|
|
metalnessMap: '/material/flooring/tiles_grid/tiles_grid_specular.jpg',
|
|
normalMap: '/material/flooring/tiles_grid/tiles_grid_normal.jpg',
|
|
},
|
|
mapProperties: {
|
|
color: '#ffffff',
|
|
roughness: 0.45,
|
|
metalness: 0,
|
|
repeatX: 1,
|
|
repeatY: 1,
|
|
rotation: 0,
|
|
wrapS: 'Repeat',
|
|
wrapT: 'Repeat',
|
|
normalScaleX: 1,
|
|
normalScaleY: 1,
|
|
emissiveIntensity: 1,
|
|
displacementScale: 0,
|
|
transparent: false,
|
|
flipY: true,
|
|
bumpScale: 1,
|
|
emissiveColor: '#000000',
|
|
aoMapIntensity: 1,
|
|
side: 0,
|
|
opacity: 1,
|
|
lightMapIntensity: 1,
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'flooring-wallstone1',
|
|
label: 'Stone Wall',
|
|
category: 'flooring',
|
|
description: 'Stone finish',
|
|
previewThumbnailUrl: '/material/flooring/stone_wall/stone_wall_diffuse.webp',
|
|
preset: {
|
|
maps: {
|
|
albedoMap: '/material/flooring/stone_wall/stone_wall_diffuse.webp',
|
|
aoMap: '/material/flooring/stone_wall/stone_wall_ao.webp',
|
|
metalnessMap: '/material/flooring/stone_wall/stone_wall_specular.webp',
|
|
normalMap: '/material/flooring/stone_wall/stone_wall_normal.webp',
|
|
},
|
|
mapProperties: {
|
|
color: '#ffffff',
|
|
roughness: 0.45,
|
|
metalness: 0,
|
|
repeatX: 1,
|
|
repeatY: 1,
|
|
rotation: 0,
|
|
wrapS: 'Repeat',
|
|
wrapT: 'Repeat',
|
|
normalScaleX: 1,
|
|
normalScaleY: 1,
|
|
emissiveIntensity: 1,
|
|
displacementScale: 0,
|
|
transparent: false,
|
|
flipY: true,
|
|
bumpScale: 1,
|
|
emissiveColor: '#000000',
|
|
aoMapIntensity: 1,
|
|
side: 0,
|
|
opacity: 1,
|
|
lightMapIntensity: 1,
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'flooring-woodenceramic3',
|
|
label: 'Wooden Ceramic 3',
|
|
category: 'flooring',
|
|
description: 'Wood-look ceramic flooring finish',
|
|
previewThumbnailUrl: '/material/flooring/wooden_ceramic_3/wooden_ceramic-diffuse.webp',
|
|
preset: {
|
|
maps: {
|
|
albedoMap: '/material/flooring/wooden_ceramic_3/wooden_ceramic-diffuse.webp',
|
|
aoMap: '/material/flooring/wooden_ceramic_3/wooden_ceramic-ao.webp',
|
|
metalnessMap: '/material/flooring/wooden_ceramic_3/wooden_ceramic-specular.webp',
|
|
normalMap: '/material/flooring/wooden_ceramic_3/wooden_ceramic-normal.webp',
|
|
},
|
|
mapProperties: {
|
|
color: '#ffffff',
|
|
roughness: 0.45,
|
|
metalness: 0,
|
|
repeatX: 1,
|
|
repeatY: 1,
|
|
rotation: 0,
|
|
wrapS: 'Repeat',
|
|
wrapT: 'Repeat',
|
|
normalScaleX: 1,
|
|
normalScaleY: 1,
|
|
emissiveIntensity: 1,
|
|
displacementScale: 0,
|
|
transparent: false,
|
|
flipY: true,
|
|
bumpScale: 1,
|
|
emissiveColor: '#000000',
|
|
aoMapIntensity: 1,
|
|
side: 0,
|
|
opacity: 1,
|
|
lightMapIntensity: 1,
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'flooring-ceramic53',
|
|
label: 'Ceramic Mosaic',
|
|
category: 'flooring',
|
|
description: 'Ceramic flooring finish',
|
|
previewThumbnailUrl: '/material/flooring/ceramic_mosaic/ceramic_mosaic_basecolor.jpg',
|
|
preset: {
|
|
maps: {
|
|
albedoMap: '/material/flooring/ceramic_mosaic/ceramic_mosaic_basecolor.jpg',
|
|
aoMap: '/material/flooring/ceramic_mosaic/ceramic_mosaic_ambientocclusion.jpg',
|
|
metalnessMap: '/material/flooring/ceramic_mosaic/ceramic_mosaic_metallic.jpg',
|
|
normalMap: '/material/flooring/ceramic_mosaic/ceramic_mosaic_normal.png',
|
|
roughnessMap: '/material/flooring/ceramic_mosaic/ceramic_mosaic_roughness.jpg',
|
|
},
|
|
mapProperties: {
|
|
color: '#ffffff',
|
|
roughness: 0.5,
|
|
metalness: 0,
|
|
repeatX: 0.5,
|
|
repeatY: 0.5,
|
|
rotation: 0,
|
|
wrapS: 'Repeat',
|
|
wrapT: 'Repeat',
|
|
normalScaleX: 1,
|
|
normalScaleY: 1,
|
|
emissiveIntensity: 1,
|
|
displacementScale: 0,
|
|
transparent: false,
|
|
flipY: true,
|
|
bumpScale: 1,
|
|
emissiveColor: '#000000',
|
|
aoMapIntensity: 1,
|
|
side: 0,
|
|
opacity: 1,
|
|
lightMapIntensity: 1,
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'flooring-terrazzo19',
|
|
label: 'Terrazzo',
|
|
category: 'flooring',
|
|
description: 'Terrazzo flooring finish',
|
|
previewThumbnailUrl: '/material/flooring/terrazzo/terrazzo_basecolor.jpg',
|
|
preset: {
|
|
maps: {
|
|
albedoMap: '/material/flooring/terrazzo/terrazzo_basecolor.jpg',
|
|
metalnessMap: '/material/flooring/terrazzo/terrazzo_metallic.jpg',
|
|
normalMap: '/material/flooring/terrazzo/terrazzo_normal.jpg',
|
|
roughnessMap: '/material/flooring/terrazzo/terrazzo_roughness.jpg',
|
|
},
|
|
mapProperties: {
|
|
color: '#ffffff',
|
|
roughness: 0.5,
|
|
metalness: 0,
|
|
repeatX: 0.5,
|
|
repeatY: 0.5,
|
|
rotation: 0,
|
|
wrapS: 'Repeat',
|
|
wrapT: 'Repeat',
|
|
normalScaleX: 1,
|
|
normalScaleY: 1,
|
|
emissiveIntensity: 1,
|
|
displacementScale: 0,
|
|
transparent: false,
|
|
flipY: true,
|
|
bumpScale: 1,
|
|
emissiveColor: '#000000',
|
|
aoMapIntensity: 1,
|
|
side: 0,
|
|
opacity: 1,
|
|
lightMapIntensity: 1,
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'flooring-tile79',
|
|
label: 'Stone Tile',
|
|
category: 'flooring',
|
|
description: 'Floor tile finish',
|
|
previewThumbnailUrl: '/material/flooring/tile_stone/tile_stone_basecolor.webp',
|
|
preset: {
|
|
maps: {
|
|
albedoMap: '/material/flooring/tile_stone/tile_stone_basecolor.webp',
|
|
aoMap: '/material/flooring/tile_stone/tile_stone_ambientocclusion.webp',
|
|
normalMap: '/material/flooring/tile_stone/tile_stone_normal.webp',
|
|
roughnessMap: '/material/flooring/tile_stone/tile_stone_roughness.webp',
|
|
},
|
|
mapProperties: {
|
|
color: '#ffffff',
|
|
roughness: 0.5,
|
|
metalness: 0,
|
|
repeatX: 0.5,
|
|
repeatY: 0.5,
|
|
rotation: 0,
|
|
wrapS: 'Repeat',
|
|
wrapT: 'Repeat',
|
|
normalScaleX: 1,
|
|
normalScaleY: 1,
|
|
emissiveIntensity: 1,
|
|
displacementScale: 0,
|
|
transparent: false,
|
|
flipY: true,
|
|
bumpScale: 1,
|
|
emissiveColor: '#000000',
|
|
aoMapIntensity: 1,
|
|
side: 0,
|
|
opacity: 1,
|
|
lightMapIntensity: 1,
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'flooring-tile86',
|
|
label: 'Terracotta Tile',
|
|
category: 'flooring',
|
|
description: 'Floor tile finish',
|
|
previewThumbnailUrl: '/material/flooring/tile_terracotta/tile_terracotta_basecolor.webp',
|
|
preset: {
|
|
maps: {
|
|
albedoMap: '/material/flooring/tile_terracotta/tile_terracotta_basecolor.webp',
|
|
aoMap: '/material/flooring/tile_terracotta/tile_terracotta_ambientocclusion.webp',
|
|
normalMap: '/material/flooring/tile_terracotta/tile_terracotta_normal.webp',
|
|
roughnessMap: '/material/flooring/tile_terracotta/tile_terracotta_roughness.webp',
|
|
},
|
|
mapProperties: {
|
|
color: '#ffffff',
|
|
roughness: 0.5,
|
|
metalness: 0,
|
|
repeatX: 0.5,
|
|
repeatY: 0.5,
|
|
rotation: 0,
|
|
wrapS: 'Repeat',
|
|
wrapT: 'Repeat',
|
|
normalScaleX: 1,
|
|
normalScaleY: 1,
|
|
emissiveIntensity: 1,
|
|
displacementScale: 0,
|
|
transparent: false,
|
|
flipY: true,
|
|
bumpScale: 1,
|
|
emissiveColor: '#000000',
|
|
aoMapIntensity: 1,
|
|
side: 0,
|
|
opacity: 1,
|
|
lightMapIntensity: 1,
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'flooring-greenquartzitea',
|
|
label: 'Green Quartzite A',
|
|
category: 'flooring',
|
|
description: 'Green quartzite flooring finish',
|
|
previewThumbnailUrl:
|
|
'/material/flooring/green_glass_quartzite/green_glass_quartzite_diffuse.jpg',
|
|
preset: {
|
|
maps: {
|
|
albedoMap: '/material/flooring/green_glass_quartzite/green_glass_quartzite_diffuse.jpg',
|
|
aoMap: '/material/flooring/green_glass_quartzite/green_glass_quartzite_ao.jpg',
|
|
metalnessMap: '/material/flooring/green_glass_quartzite/green_glass_quartzite_specular.jpg',
|
|
normalMap: '/material/flooring/green_glass_quartzite/green_glass_quartzite_normal.jpg',
|
|
},
|
|
mapProperties: {
|
|
color: '#ffffff',
|
|
roughness: 0.35,
|
|
metalness: 0,
|
|
repeatX: 1,
|
|
repeatY: 1,
|
|
rotation: 0,
|
|
wrapS: 'Repeat',
|
|
wrapT: 'Repeat',
|
|
normalScaleX: 1,
|
|
normalScaleY: 1,
|
|
emissiveIntensity: 1,
|
|
displacementScale: 0,
|
|
transparent: false,
|
|
flipY: true,
|
|
bumpScale: 1,
|
|
emissiveColor: '#000000',
|
|
aoMapIntensity: 1,
|
|
side: 0,
|
|
opacity: 1,
|
|
lightMapIntensity: 1,
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'flooring-darkceramic22',
|
|
label: 'Dark Ceramic Grunge',
|
|
category: 'flooring',
|
|
description: 'Dark ceramic flooring finish',
|
|
previewThumbnailUrl: '/material/flooring/dark_ceramic_grunge/dark_ceramic_grunge_basecolor.jpg',
|
|
preset: {
|
|
maps: {
|
|
albedoMap: '/material/flooring/dark_ceramic_grunge/dark_ceramic_grunge_basecolor.jpg',
|
|
aoMap: '/material/flooring/dark_ceramic_grunge/dark_ceramic_grunge_ambientocclusion.jpg',
|
|
metalnessMap: '/material/flooring/dark_ceramic_grunge/dark_ceramic_grunge_metallic.jpg',
|
|
normalMap: '/material/flooring/dark_ceramic_grunge/dark_ceramic_grunge_normal.jpg',
|
|
roughnessMap: '/material/flooring/dark_ceramic_grunge/dark_ceramic_grunge_roughness.jpg',
|
|
},
|
|
mapProperties: {
|
|
color: '#ffffff',
|
|
roughness: 0.5,
|
|
metalness: 0,
|
|
repeatX: 1,
|
|
repeatY: 1,
|
|
rotation: 0,
|
|
wrapS: 'Repeat',
|
|
wrapT: 'Repeat',
|
|
normalScaleX: 1,
|
|
normalScaleY: 1,
|
|
emissiveIntensity: 1,
|
|
displacementScale: 0,
|
|
transparent: false,
|
|
flipY: true,
|
|
bumpScale: 1,
|
|
emissiveColor: '#000000',
|
|
aoMapIntensity: 1,
|
|
side: 0,
|
|
opacity: 1,
|
|
lightMapIntensity: 1,
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'flooring-lightceramic24',
|
|
label: 'Light Ceramic Grunge',
|
|
category: 'flooring',
|
|
description: 'Light ceramic flooring finish',
|
|
previewThumbnailUrl:
|
|
'/material/flooring/light_ceramic_grunge/light_ceramic_grunge_basecolor.jpg',
|
|
preset: {
|
|
maps: {
|
|
albedoMap: '/material/flooring/light_ceramic_grunge/light_ceramic_grunge_basecolor.jpg',
|
|
aoMap: '/material/flooring/light_ceramic_grunge/light_ceramic_grunge_ambientocclusion.jpg',
|
|
metalnessMap: '/material/flooring/light_ceramic_grunge/light_ceramic_grunge_metallic.jpg',
|
|
normalMap: '/material/flooring/light_ceramic_grunge/light_ceramic_grunge_normal.jpg',
|
|
roughnessMap: '/material/flooring/light_ceramic_grunge/light_ceramic_grunge_roughness.jpg',
|
|
},
|
|
mapProperties: {
|
|
color: '#ffffff',
|
|
roughness: 0.5,
|
|
metalness: 0,
|
|
repeatX: 1,
|
|
repeatY: 1,
|
|
rotation: 0,
|
|
wrapS: 'Repeat',
|
|
wrapT: 'Repeat',
|
|
normalScaleX: 1,
|
|
normalScaleY: 1,
|
|
emissiveIntensity: 1,
|
|
displacementScale: 0,
|
|
transparent: false,
|
|
flipY: true,
|
|
bumpScale: 1,
|
|
emissiveColor: '#000000',
|
|
aoMapIntensity: 1,
|
|
side: 0,
|
|
opacity: 1,
|
|
lightMapIntensity: 1,
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'flooring-statuarettowhite',
|
|
label: 'Statuaretto White',
|
|
category: 'flooring',
|
|
description: 'White marble flooring finish',
|
|
previewThumbnailUrl: '/material/flooring/statuaretto/statuaretto_diffuse.jpg',
|
|
preset: {
|
|
maps: {
|
|
albedoMap: '/material/flooring/statuaretto/statuaretto_diffuse.jpg',
|
|
aoMap: '/material/flooring/statuaretto/statuaretto_ao.jpg',
|
|
metalnessMap: '/material/flooring/statuaretto/statuaretto_specular.jpg',
|
|
normalMap: '/material/flooring/statuaretto/statuaretto_normal.jpg',
|
|
},
|
|
mapProperties: {
|
|
color: '#ffffff',
|
|
roughness: 0.35,
|
|
metalness: 0,
|
|
repeatX: 1,
|
|
repeatY: 1,
|
|
rotation: 0,
|
|
wrapS: 'Repeat',
|
|
wrapT: 'Repeat',
|
|
normalScaleX: 1,
|
|
normalScaleY: 1,
|
|
emissiveIntensity: 1,
|
|
displacementScale: 0,
|
|
transparent: false,
|
|
flipY: true,
|
|
bumpScale: 1,
|
|
emissiveColor: '#000000',
|
|
aoMapIntensity: 1,
|
|
side: 0,
|
|
opacity: 1,
|
|
lightMapIntensity: 1,
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'flooring-tile20',
|
|
label: 'Mosaic Tile',
|
|
category: 'flooring',
|
|
description: 'Floor tile finish',
|
|
previewThumbnailUrl: '/material/flooring/tile_mosaic/tile_mosaic_basecolor.webp',
|
|
preset: {
|
|
maps: {
|
|
albedoMap: '/material/flooring/tile_mosaic/tile_mosaic_basecolor.webp',
|
|
aoMap: '/material/flooring/tile_mosaic/tile_mosaic_ambientocclusion.webp',
|
|
metalnessMap: '/material/flooring/tile_mosaic/tile_mosaic_metallic.webp',
|
|
normalMap: '/material/flooring/tile_mosaic/tile_mosaic_normal.webp',
|
|
roughnessMap: '/material/flooring/tile_mosaic/tile_mosaic_roughness.webp',
|
|
},
|
|
mapProperties: {
|
|
color: '#ffffff',
|
|
roughness: 0.5,
|
|
metalness: 0,
|
|
repeatX: 1,
|
|
repeatY: 1,
|
|
rotation: 0,
|
|
wrapS: 'Repeat',
|
|
wrapT: 'Repeat',
|
|
normalScaleX: 1,
|
|
normalScaleY: 1,
|
|
emissiveIntensity: 1,
|
|
displacementScale: 0,
|
|
transparent: false,
|
|
flipY: true,
|
|
bumpScale: 1,
|
|
emissiveColor: '#000000',
|
|
aoMapIntensity: 1,
|
|
side: 0,
|
|
opacity: 1,
|
|
lightMapIntensity: 1,
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'flooring-tile68',
|
|
label: 'Pattern Tile',
|
|
category: 'flooring',
|
|
description: 'Floor tile finish',
|
|
previewThumbnailUrl: '/material/flooring/tile_pattern/tile_pattern_basecolor.webp',
|
|
preset: {
|
|
maps: {
|
|
albedoMap: '/material/flooring/tile_pattern/tile_pattern_basecolor.webp',
|
|
aoMap: '/material/flooring/tile_pattern/tile_pattern_ambientocclusion.webp',
|
|
metalnessMap: '/material/flooring/tile_pattern/tile_pattern_metallic.webp',
|
|
normalMap: '/material/flooring/tile_pattern/tile_pattern_normal.webp',
|
|
roughnessMap: '/material/flooring/tile_pattern/tile_pattern_roughness.webp',
|
|
},
|
|
mapProperties: {
|
|
color: '#ffffff',
|
|
roughness: 0.5,
|
|
metalness: 0,
|
|
repeatX: 1,
|
|
repeatY: 1,
|
|
rotation: 0,
|
|
wrapS: 'Repeat',
|
|
wrapT: 'Repeat',
|
|
normalScaleX: 1,
|
|
normalScaleY: 1,
|
|
emissiveIntensity: 1,
|
|
displacementScale: 0,
|
|
transparent: false,
|
|
flipY: true,
|
|
bumpScale: 1,
|
|
emissiveColor: '#000000',
|
|
aoMapIntensity: 1,
|
|
side: 0,
|
|
opacity: 1,
|
|
lightMapIntensity: 1,
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'flooring-woodenceramic2',
|
|
label: 'Wooden Ceramic 2',
|
|
category: 'flooring',
|
|
description: 'Wood-look ceramic flooring finish',
|
|
previewThumbnailUrl: '/material/flooring/wooden_ceramic_2/wooden_ceramic-diffuse.webp',
|
|
preset: {
|
|
maps: {
|
|
albedoMap: '/material/flooring/wooden_ceramic_2/wooden_ceramic-diffuse.webp',
|
|
aoMap: '/material/flooring/wooden_ceramic_2/wooden_ceramic-ao.webp',
|
|
metalnessMap: '/material/flooring/wooden_ceramic_2/wooden_ceramic-specular.webp',
|
|
normalMap: '/material/flooring/wooden_ceramic_2/wooden_ceramic-normal.webp',
|
|
},
|
|
mapProperties: {
|
|
color: '#ffffff',
|
|
roughness: 0.45,
|
|
metalness: 0,
|
|
repeatX: 1.5,
|
|
repeatY: 1.5,
|
|
rotation: 0,
|
|
wrapS: 'Repeat',
|
|
wrapT: 'Repeat',
|
|
normalScaleX: 1,
|
|
normalScaleY: 1,
|
|
emissiveIntensity: 1,
|
|
displacementScale: 0,
|
|
transparent: false,
|
|
flipY: true,
|
|
bumpScale: 1,
|
|
emissiveColor: '#000000',
|
|
aoMapIntensity: 1,
|
|
side: 0,
|
|
opacity: 1,
|
|
lightMapIntensity: 1,
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'flooring-woodparquet76',
|
|
label: 'Wood Parquet',
|
|
category: 'flooring',
|
|
description: 'Wood parquet flooring finish',
|
|
previewThumbnailUrl: '/material/flooring/woodparquet/woodparquet_basecolor.webp',
|
|
preset: {
|
|
maps: {
|
|
albedoMap: '/material/flooring/woodparquet/woodparquet_basecolor.webp',
|
|
aoMap: '/material/flooring/woodparquet/woodparquet_ambientocclusion.webp',
|
|
metalnessMap: '/material/flooring/woodparquet/woodparquet_metallic.webp',
|
|
normalMap: '/material/flooring/woodparquet/woodparquet_normal.webp',
|
|
roughnessMap: '/material/flooring/woodparquet/woodparquet_roughness.webp',
|
|
},
|
|
mapProperties: {
|
|
color: '#ffffff',
|
|
roughness: 0.5,
|
|
metalness: 0,
|
|
repeatX: 1,
|
|
repeatY: 1,
|
|
rotation: 0,
|
|
wrapS: 'Repeat',
|
|
wrapT: 'Repeat',
|
|
normalScaleX: 1,
|
|
normalScaleY: 1,
|
|
emissiveIntensity: 1,
|
|
displacementScale: 0,
|
|
transparent: false,
|
|
flipY: true,
|
|
bumpScale: 1,
|
|
emissiveColor: '#000000',
|
|
aoMapIntensity: 1,
|
|
side: 0,
|
|
opacity: 1,
|
|
lightMapIntensity: 1,
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'roof-classicshingles',
|
|
label: 'Classic Shingles',
|
|
category: 'roof',
|
|
description: 'Classic roof shingle finish',
|
|
previewThumbnailUrl:
|
|
'/material/roofing/roof_shingles_classic/roof_shingles_classic_basecolor.webp',
|
|
preset: {
|
|
maps: {
|
|
albedoMap: '/material/roofing/roof_shingles_classic/roof_shingles_classic_basecolor.webp',
|
|
aoMap:
|
|
'/material/roofing/roof_shingles_classic/roof_shingles_classic_ambientocclusion.webp',
|
|
metalnessMap: '/material/roofing/roof_shingles_classic/roof_shingles_classic_metallic.webp',
|
|
normalMap: '/material/roofing/roof_shingles_classic/roof_shingles_classic_normal.webp',
|
|
roughnessMap:
|
|
'/material/roofing/roof_shingles_classic/roof_shingles_classic_roughness.webp',
|
|
},
|
|
mapProperties: {
|
|
color: '#ffffff',
|
|
roughness: 1,
|
|
metalness: 0.15,
|
|
repeatX: 1,
|
|
repeatY: 1,
|
|
rotation: 0,
|
|
wrapS: 'Repeat',
|
|
wrapT: 'Repeat',
|
|
normalScaleX: 1,
|
|
normalScaleY: 1,
|
|
emissiveIntensity: 1,
|
|
displacementScale: 0,
|
|
transparent: false,
|
|
flipY: true,
|
|
bumpScale: 1,
|
|
emissiveColor: '#000000',
|
|
aoMapIntensity: 1,
|
|
side: 0,
|
|
opacity: 1,
|
|
lightMapIntensity: 1,
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'roof-claytiles',
|
|
label: 'Clay Tiles',
|
|
category: 'roof',
|
|
description: 'Clay roof tile finish',
|
|
previewThumbnailUrl: '/material/roofing/roof_tiles_clay/roof_tiles_clay_basecolor.webp',
|
|
preset: {
|
|
maps: {
|
|
albedoMap: '/material/roofing/roof_tiles_clay/roof_tiles_clay_basecolor.webp',
|
|
aoMap: '/material/roofing/roof_tiles_clay/roof_tiles_clay_ambientocclusion.webp',
|
|
metalnessMap: '/material/roofing/roof_tiles_clay/roof_tiles_clay_metallic.png',
|
|
normalMap: '/material/roofing/roof_tiles_clay/roof_tiles_clay_normal.webp',
|
|
roughnessMap: '/material/roofing/roof_tiles_clay/roof_tiles_clay_roughness.webp',
|
|
},
|
|
mapProperties: {
|
|
color: '#ffffff',
|
|
roughness: 1,
|
|
metalness: 0.1,
|
|
repeatX: 1,
|
|
repeatY: 1,
|
|
rotation: 0,
|
|
wrapS: 'Repeat',
|
|
wrapT: 'Repeat',
|
|
normalScaleX: 1,
|
|
normalScaleY: 1,
|
|
emissiveIntensity: 1,
|
|
displacementScale: 0,
|
|
transparent: false,
|
|
flipY: true,
|
|
bumpScale: 1,
|
|
emissiveColor: '#000000',
|
|
aoMapIntensity: 1,
|
|
side: 0,
|
|
opacity: 1,
|
|
lightMapIntensity: 1,
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'roof-terracottatiles',
|
|
label: 'Terracotta Tiles',
|
|
category: 'roof',
|
|
description: 'Terracotta roof tile finish',
|
|
previewThumbnailUrl:
|
|
'/material/roofing/roof_tiles_terracotta/roof_tiles_terracotta_basecolor.webp',
|
|
preset: {
|
|
maps: {
|
|
albedoMap: '/material/roofing/roof_tiles_terracotta/roof_tiles_terracotta_basecolor.webp',
|
|
aoMap:
|
|
'/material/roofing/roof_tiles_terracotta/roof_tiles_terracotta_ambientocclusion.webp',
|
|
metalnessMap: '/material/roofing/roof_tiles_terracotta/roof_tiles_terracotta_metallic.webp',
|
|
normalMap: '/material/roofing/roof_tiles_terracotta/roof_tiles_terracotta_normal.webp',
|
|
roughnessMap:
|
|
'/material/roofing/roof_tiles_terracotta/roof_tiles_terracotta_roughness.webp',
|
|
},
|
|
mapProperties: {
|
|
color: '#ffffff',
|
|
roughness: 1,
|
|
metalness: 0.1,
|
|
repeatX: 1,
|
|
repeatY: 1,
|
|
rotation: 0,
|
|
wrapS: 'Repeat',
|
|
wrapT: 'Repeat',
|
|
normalScaleX: 1,
|
|
normalScaleY: 1,
|
|
emissiveIntensity: 1,
|
|
displacementScale: 0,
|
|
transparent: false,
|
|
flipY: true,
|
|
bumpScale: 1,
|
|
emissiveColor: '#000000',
|
|
aoMapIntensity: 1,
|
|
side: 0,
|
|
opacity: 1,
|
|
lightMapIntensity: 1,
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'roof-weatheredshingles',
|
|
label: 'Weathered Shingles',
|
|
category: 'roof',
|
|
description: 'Weathered roof shingle finish',
|
|
previewThumbnailUrl:
|
|
'/material/roofing/roof_shingles_weathered/roof_shingles_weathered_basecolor.webp',
|
|
preset: {
|
|
maps: {
|
|
albedoMap:
|
|
'/material/roofing/roof_shingles_weathered/roof_shingles_weathered_basecolor.webp',
|
|
aoMap:
|
|
'/material/roofing/roof_shingles_weathered/roof_shingles_weathered_ambientocclusion.webp',
|
|
metalnessMap:
|
|
'/material/roofing/roof_shingles_weathered/roof_shingles_weathered_metallic.webp',
|
|
normalMap: '/material/roofing/roof_shingles_weathered/roof_shingles_weathered_normal.webp',
|
|
roughnessMap:
|
|
'/material/roofing/roof_shingles_weathered/roof_shingles_weathered_roughness.webp',
|
|
},
|
|
mapProperties: {
|
|
color: '#ffffff',
|
|
roughness: 1,
|
|
metalness: 0.1,
|
|
repeatX: 1,
|
|
repeatY: 1,
|
|
rotation: 0,
|
|
wrapS: 'Repeat',
|
|
wrapT: 'Repeat',
|
|
normalScaleX: 1,
|
|
normalScaleY: 1,
|
|
emissiveIntensity: 1,
|
|
displacementScale: 0,
|
|
transparent: false,
|
|
flipY: true,
|
|
bumpScale: 1,
|
|
emissiveColor: '#000000',
|
|
aoMapIntensity: 1,
|
|
side: 0,
|
|
opacity: 1,
|
|
lightMapIntensity: 1,
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'preset-white',
|
|
label: 'White',
|
|
category: 'other',
|
|
description: 'Clean painted finish',
|
|
previewColor: '#ffffff',
|
|
preset: {
|
|
maps: {},
|
|
mapProperties: {
|
|
color: '#ffffff',
|
|
roughness: 0.9,
|
|
metalness: 0,
|
|
repeatX: 1,
|
|
repeatY: 1,
|
|
rotation: 0,
|
|
wrapS: 'Repeat',
|
|
wrapT: 'Repeat',
|
|
normalScaleX: 1,
|
|
normalScaleY: 1,
|
|
emissiveIntensity: 1,
|
|
displacementScale: 0.02,
|
|
transparent: false,
|
|
flipY: true,
|
|
bumpScale: 1,
|
|
emissiveColor: '#000000',
|
|
aoMapIntensity: 1,
|
|
side: 0,
|
|
opacity: 1,
|
|
lightMapIntensity: 1,
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'preset-softwhite',
|
|
label: 'Soft White',
|
|
category: 'other',
|
|
description: 'Warm off-white painted finish',
|
|
previewColor: '#f2eee6',
|
|
preset: {
|
|
maps: {},
|
|
mapProperties: {
|
|
color: '#f2eee6',
|
|
roughness: 0.9,
|
|
metalness: 0,
|
|
repeatX: 1,
|
|
repeatY: 1,
|
|
rotation: 0,
|
|
wrapS: 'Repeat',
|
|
wrapT: 'Repeat',
|
|
normalScaleX: 1,
|
|
normalScaleY: 1,
|
|
emissiveIntensity: 1,
|
|
displacementScale: 0.02,
|
|
transparent: false,
|
|
flipY: true,
|
|
bumpScale: 1,
|
|
emissiveColor: '#000000',
|
|
aoMapIntensity: 1,
|
|
side: 0,
|
|
opacity: 1,
|
|
lightMapIntensity: 1,
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'preset-cream',
|
|
label: 'Cream',
|
|
category: 'other',
|
|
description: 'Soft cream painted finish',
|
|
previewColor: '#efe3cc',
|
|
preset: {
|
|
maps: {},
|
|
mapProperties: {
|
|
color: '#efe3cc',
|
|
roughness: 0.9,
|
|
metalness: 0,
|
|
repeatX: 1,
|
|
repeatY: 1,
|
|
rotation: 0,
|
|
wrapS: 'Repeat',
|
|
wrapT: 'Repeat',
|
|
normalScaleX: 1,
|
|
normalScaleY: 1,
|
|
emissiveIntensity: 1,
|
|
displacementScale: 0.02,
|
|
transparent: false,
|
|
flipY: true,
|
|
bumpScale: 1,
|
|
emissiveColor: '#000000',
|
|
aoMapIntensity: 1,
|
|
side: 0,
|
|
opacity: 1,
|
|
lightMapIntensity: 1,
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'preset-beige',
|
|
label: 'Beige',
|
|
category: 'other',
|
|
description: 'Balanced beige painted finish',
|
|
previewColor: '#d9c7ad',
|
|
preset: {
|
|
maps: {},
|
|
mapProperties: {
|
|
color: '#d9c7ad',
|
|
roughness: 0.9,
|
|
metalness: 0,
|
|
repeatX: 1,
|
|
repeatY: 1,
|
|
rotation: 0,
|
|
wrapS: 'Repeat',
|
|
wrapT: 'Repeat',
|
|
normalScaleX: 1,
|
|
normalScaleY: 1,
|
|
emissiveIntensity: 1,
|
|
displacementScale: 0.02,
|
|
transparent: false,
|
|
flipY: true,
|
|
bumpScale: 1,
|
|
emissiveColor: '#000000',
|
|
aoMapIntensity: 1,
|
|
side: 0,
|
|
opacity: 1,
|
|
lightMapIntensity: 1,
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'preset-greige',
|
|
label: 'Greige',
|
|
category: 'other',
|
|
description: 'Neutral greige painted finish',
|
|
previewColor: '#c8c1b8',
|
|
preset: {
|
|
maps: {},
|
|
mapProperties: {
|
|
color: '#c8c1b8',
|
|
roughness: 0.9,
|
|
metalness: 0,
|
|
repeatX: 1,
|
|
repeatY: 1,
|
|
rotation: 0,
|
|
wrapS: 'Repeat',
|
|
wrapT: 'Repeat',
|
|
normalScaleX: 1,
|
|
normalScaleY: 1,
|
|
emissiveIntensity: 1,
|
|
displacementScale: 0.02,
|
|
transparent: false,
|
|
flipY: true,
|
|
bumpScale: 1,
|
|
emissiveColor: '#000000',
|
|
aoMapIntensity: 1,
|
|
side: 0,
|
|
opacity: 1,
|
|
lightMapIntensity: 1,
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'preset-sage',
|
|
label: 'Sage',
|
|
category: 'other',
|
|
description: 'Muted sage painted finish',
|
|
previewColor: '#bcc5b2',
|
|
preset: {
|
|
maps: {},
|
|
mapProperties: {
|
|
color: '#bcc5b2',
|
|
roughness: 0.9,
|
|
metalness: 0,
|
|
repeatX: 1,
|
|
repeatY: 1,
|
|
rotation: 0,
|
|
wrapS: 'Repeat',
|
|
wrapT: 'Repeat',
|
|
normalScaleX: 1,
|
|
normalScaleY: 1,
|
|
emissiveIntensity: 1,
|
|
displacementScale: 0.02,
|
|
transparent: false,
|
|
flipY: true,
|
|
bumpScale: 1,
|
|
emissiveColor: '#000000',
|
|
aoMapIntensity: 1,
|
|
side: 0,
|
|
opacity: 1,
|
|
lightMapIntensity: 1,
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'preset-softblue',
|
|
label: 'Soft Blue',
|
|
category: 'other',
|
|
description: 'Muted blue painted finish',
|
|
previewColor: '#c7d6e3',
|
|
preset: {
|
|
maps: {},
|
|
mapProperties: {
|
|
color: '#c7d6e3',
|
|
roughness: 0.9,
|
|
metalness: 0,
|
|
repeatX: 1,
|
|
repeatY: 1,
|
|
rotation: 0,
|
|
wrapS: 'Repeat',
|
|
wrapT: 'Repeat',
|
|
normalScaleX: 1,
|
|
normalScaleY: 1,
|
|
emissiveIntensity: 1,
|
|
displacementScale: 0.02,
|
|
transparent: false,
|
|
flipY: true,
|
|
bumpScale: 1,
|
|
emissiveColor: '#000000',
|
|
aoMapIntensity: 1,
|
|
side: 0,
|
|
opacity: 1,
|
|
lightMapIntensity: 1,
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'preset-terracotta',
|
|
label: 'Terracotta',
|
|
category: 'other',
|
|
description: 'Warm terracotta painted finish',
|
|
previewColor: '#c86f4c',
|
|
preset: {
|
|
maps: {},
|
|
mapProperties: {
|
|
color: '#c86f4c',
|
|
roughness: 0.9,
|
|
metalness: 0,
|
|
repeatX: 1,
|
|
repeatY: 1,
|
|
rotation: 0,
|
|
wrapS: 'Repeat',
|
|
wrapT: 'Repeat',
|
|
normalScaleX: 1,
|
|
normalScaleY: 1,
|
|
emissiveIntensity: 1,
|
|
displacementScale: 0.02,
|
|
transparent: false,
|
|
flipY: true,
|
|
bumpScale: 1,
|
|
emissiveColor: '#000000',
|
|
aoMapIntensity: 1,
|
|
side: 0,
|
|
opacity: 1,
|
|
lightMapIntensity: 1,
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'preset-dustyrose',
|
|
label: 'Dusty Rose',
|
|
category: 'other',
|
|
description: 'Muted rose painted finish',
|
|
previewColor: '#c48a8d',
|
|
preset: {
|
|
maps: {},
|
|
mapProperties: {
|
|
color: '#c48a8d',
|
|
roughness: 0.9,
|
|
metalness: 0,
|
|
repeatX: 1,
|
|
repeatY: 1,
|
|
rotation: 0,
|
|
wrapS: 'Repeat',
|
|
wrapT: 'Repeat',
|
|
normalScaleX: 1,
|
|
normalScaleY: 1,
|
|
emissiveIntensity: 1,
|
|
displacementScale: 0.02,
|
|
transparent: false,
|
|
flipY: true,
|
|
bumpScale: 1,
|
|
emissiveColor: '#000000',
|
|
aoMapIntensity: 1,
|
|
side: 0,
|
|
opacity: 1,
|
|
lightMapIntensity: 1,
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'preset-olive',
|
|
label: 'Olive',
|
|
category: 'other',
|
|
description: 'Natural olive painted finish',
|
|
previewColor: '#8d9368',
|
|
preset: {
|
|
maps: {},
|
|
mapProperties: {
|
|
color: '#8d9368',
|
|
roughness: 0.9,
|
|
metalness: 0,
|
|
repeatX: 1,
|
|
repeatY: 1,
|
|
rotation: 0,
|
|
wrapS: 'Repeat',
|
|
wrapT: 'Repeat',
|
|
normalScaleX: 1,
|
|
normalScaleY: 1,
|
|
emissiveIntensity: 1,
|
|
displacementScale: 0.02,
|
|
transparent: false,
|
|
flipY: true,
|
|
bumpScale: 1,
|
|
emissiveColor: '#000000',
|
|
aoMapIntensity: 1,
|
|
side: 0,
|
|
opacity: 1,
|
|
lightMapIntensity: 1,
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'preset-forest',
|
|
label: 'Forest',
|
|
category: 'other',
|
|
description: 'Deep forest green painted finish',
|
|
previewColor: '#4f6b57',
|
|
preset: {
|
|
maps: {},
|
|
mapProperties: {
|
|
color: '#4f6b57',
|
|
roughness: 0.9,
|
|
metalness: 0,
|
|
repeatX: 1,
|
|
repeatY: 1,
|
|
rotation: 0,
|
|
wrapS: 'Repeat',
|
|
wrapT: 'Repeat',
|
|
normalScaleX: 1,
|
|
normalScaleY: 1,
|
|
emissiveIntensity: 1,
|
|
displacementScale: 0.02,
|
|
transparent: false,
|
|
flipY: true,
|
|
bumpScale: 1,
|
|
emissiveColor: '#000000',
|
|
aoMapIntensity: 1,
|
|
side: 0,
|
|
opacity: 1,
|
|
lightMapIntensity: 1,
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'preset-slateblue',
|
|
label: 'Slate Blue',
|
|
category: 'other',
|
|
description: 'Muted slate blue painted finish',
|
|
previewColor: '#6f87a4',
|
|
preset: {
|
|
maps: {},
|
|
mapProperties: {
|
|
color: '#6f87a4',
|
|
roughness: 0.9,
|
|
metalness: 0,
|
|
repeatX: 1,
|
|
repeatY: 1,
|
|
rotation: 0,
|
|
wrapS: 'Repeat',
|
|
wrapT: 'Repeat',
|
|
normalScaleX: 1,
|
|
normalScaleY: 1,
|
|
emissiveIntensity: 1,
|
|
displacementScale: 0.02,
|
|
transparent: false,
|
|
flipY: true,
|
|
bumpScale: 1,
|
|
emissiveColor: '#000000',
|
|
aoMapIntensity: 1,
|
|
side: 0,
|
|
opacity: 1,
|
|
lightMapIntensity: 1,
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'preset-navy',
|
|
label: 'Navy',
|
|
category: 'other',
|
|
description: 'Classic navy painted finish',
|
|
previewColor: '#2f4865',
|
|
preset: {
|
|
maps: {},
|
|
mapProperties: {
|
|
color: '#2f4865',
|
|
roughness: 0.9,
|
|
metalness: 0,
|
|
repeatX: 1,
|
|
repeatY: 1,
|
|
rotation: 0,
|
|
wrapS: 'Repeat',
|
|
wrapT: 'Repeat',
|
|
normalScaleX: 1,
|
|
normalScaleY: 1,
|
|
emissiveIntensity: 1,
|
|
displacementScale: 0.02,
|
|
transparent: false,
|
|
flipY: true,
|
|
bumpScale: 1,
|
|
emissiveColor: '#000000',
|
|
aoMapIntensity: 1,
|
|
side: 0,
|
|
opacity: 1,
|
|
lightMapIntensity: 1,
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'preset-mustard',
|
|
label: 'Mustard',
|
|
category: 'other',
|
|
description: 'Warm mustard painted finish',
|
|
previewColor: '#c8a449',
|
|
preset: {
|
|
maps: {},
|
|
mapProperties: {
|
|
color: '#c8a449',
|
|
roughness: 0.9,
|
|
metalness: 0,
|
|
repeatX: 1,
|
|
repeatY: 1,
|
|
rotation: 0,
|
|
wrapS: 'Repeat',
|
|
wrapT: 'Repeat',
|
|
normalScaleX: 1,
|
|
normalScaleY: 1,
|
|
emissiveIntensity: 1,
|
|
displacementScale: 0.02,
|
|
transparent: false,
|
|
flipY: true,
|
|
bumpScale: 1,
|
|
emissiveColor: '#000000',
|
|
aoMapIntensity: 1,
|
|
side: 0,
|
|
opacity: 1,
|
|
lightMapIntensity: 1,
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'preset-charcoal',
|
|
label: 'Charcoal',
|
|
category: 'other',
|
|
description: 'Dark charcoal painted finish',
|
|
previewColor: '#4e5257',
|
|
preset: {
|
|
maps: {},
|
|
mapProperties: {
|
|
color: '#4e5257',
|
|
roughness: 0.9,
|
|
metalness: 0,
|
|
repeatX: 1,
|
|
repeatY: 1,
|
|
rotation: 0,
|
|
wrapS: 'Repeat',
|
|
wrapT: 'Repeat',
|
|
normalScaleX: 1,
|
|
normalScaleY: 1,
|
|
emissiveIntensity: 1,
|
|
displacementScale: 0.02,
|
|
transparent: false,
|
|
flipY: true,
|
|
bumpScale: 1,
|
|
emissiveColor: '#000000',
|
|
aoMapIntensity: 1,
|
|
side: 0,
|
|
opacity: 1,
|
|
lightMapIntensity: 1,
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'preset-metal',
|
|
label: 'Metal',
|
|
category: 'other',
|
|
description: 'Brushed metal finish',
|
|
previewColor: '#c0c0c0',
|
|
preset: {
|
|
maps: {},
|
|
mapProperties: {
|
|
color: '#c7ccd2',
|
|
roughness: 0.26,
|
|
metalness: 0.82,
|
|
repeatX: 1,
|
|
repeatY: 1,
|
|
rotation: 0,
|
|
wrapS: 'Repeat',
|
|
wrapT: 'Repeat',
|
|
normalScaleX: 1,
|
|
normalScaleY: 1,
|
|
emissiveIntensity: 1,
|
|
displacementScale: 0.02,
|
|
transparent: false,
|
|
flipY: true,
|
|
bumpScale: 1,
|
|
emissiveColor: '#000000',
|
|
aoMapIntensity: 1,
|
|
side: 0,
|
|
opacity: 1,
|
|
lightMapIntensity: 1,
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'preset-glass',
|
|
label: 'Glass',
|
|
category: 'other',
|
|
description: 'Light glass finish',
|
|
previewColor: '#87ceeb',
|
|
preset: {
|
|
maps: {},
|
|
mapProperties: {
|
|
color: '#87ceeb',
|
|
roughness: 0.1,
|
|
metalness: 0.1,
|
|
repeatX: 1,
|
|
repeatY: 1,
|
|
rotation: 0,
|
|
wrapS: 'Repeat',
|
|
wrapT: 'Repeat',
|
|
normalScaleX: 1,
|
|
normalScaleY: 1,
|
|
emissiveIntensity: 1,
|
|
displacementScale: 0.02,
|
|
transparent: true,
|
|
flipY: true,
|
|
bumpScale: 1,
|
|
emissiveColor: '#000000',
|
|
aoMapIntensity: 1,
|
|
side: 2,
|
|
opacity: 0.3,
|
|
lightMapIntensity: 1,
|
|
},
|
|
},
|
|
},
|
|
]
|
|
|
|
export function getMaterialsForCategory(category: MaterialCategory): MaterialCatalogItem[] {
|
|
return MATERIAL_CATALOG.filter((item) => item.category === category)
|
|
}
|
|
|
|
export function getCatalogMaterialById(id?: string): MaterialCatalogItem | undefined {
|
|
if (!id) return undefined
|
|
return MATERIAL_CATALOG.find((item) => item.id === id)
|
|
}
|
|
|
|
export const LIBRARY_MATERIAL_REF_PREFIX = 'library:'
|
|
|
|
export function toLibraryMaterialRef(id: string) {
|
|
return `${LIBRARY_MATERIAL_REF_PREFIX}${id}`
|
|
}
|
|
|
|
export function getLibraryMaterialIdFromRef(materialRef?: string | null) {
|
|
if (!materialRef) return null
|
|
if (!materialRef.startsWith(LIBRARY_MATERIAL_REF_PREFIX)) return null
|
|
return materialRef.slice(LIBRARY_MATERIAL_REF_PREFIX.length)
|
|
}
|
|
|
|
export function getMaterialPresetByRef(materialRef?: string | null): MaterialPresetPayload | null {
|
|
const materialId = getLibraryMaterialIdFromRef(materialRef)
|
|
if (!materialId) return null
|
|
return getCatalogMaterialById(materialId)?.preset ?? null
|
|
}
|