@zephyr3d/editor 0.3.8 → 0.3.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{index-BZ1L8ggE.js → index-CO6yA4Rj.js} +313 -11
- package/dist/assistant/zephyr-types-index.json +13834 -11679
- package/dist/index.html +1 -1
- package/dist/modules/zephyr3d_backend-webgpu.js +1 -1
- package/dist/modules/zephyr3d_backend-webgpu.js.map +1 -1
- package/dist/modules/zephyr3d_device.js +2 -2
- package/dist/modules/zephyr3d_device.js.map +1 -1
- package/dist/modules/zephyr3d_scene.js +2325 -515
- package/dist/modules/zephyr3d_scene.js.map +1 -1
- package/dist/vendor/zephyr3d/backend-webgpu/dist/renderpass_webgpu.js +1 -1
- package/dist/vendor/zephyr3d/backend-webgpu/dist/renderpass_webgpu.js.map +1 -1
- package/dist/vendor/zephyr3d/device/dist/device.js +2 -2
- package/dist/vendor/zephyr3d/device/dist/device.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/app/engine.js +3 -1
- package/dist/vendor/zephyr3d/scene/dist/app/engine.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/asset/assetmanager.js +1 -0
- package/dist/vendor/zephyr3d/scene/dist/asset/assetmanager.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/camera/camera.js +87 -0
- package/dist/vendor/zephyr3d/scene/dist/camera/camera.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/index.d.ts +158 -4
- package/dist/vendor/zephyr3d/scene/dist/index.js +3 -0
- package/dist/vendor/zephyr3d/scene/dist/index.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/material/meshmaterial.js +8 -1
- package/dist/vendor/zephyr3d/scene/dist/material/meshmaterial.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/material/shader/helper.js +6 -0
- package/dist/vendor/zephyr3d/scene/dist/material/shader/helper.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/material/skin.js +263 -0
- package/dist/vendor/zephyr3d/scene/dist/material/skin.js.map +1 -0
- package/dist/vendor/zephyr3d/scene/dist/posteffect/compositor.js +3 -0
- package/dist/vendor/zephyr3d/scene/dist/posteffect/compositor.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/posteffect/skinsss.js +194 -0
- package/dist/vendor/zephyr3d/scene/dist/posteffect/skinsss.js.map +1 -0
- package/dist/vendor/zephyr3d/scene/dist/posteffect/ssr.js +26 -49
- package/dist/vendor/zephyr3d/scene/dist/posteffect/ssr.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/posteffect/sss.js +1 -0
- package/dist/vendor/zephyr3d/scene/dist/posteffect/sss.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/posteffect/taa.js +2 -40
- package/dist/vendor/zephyr3d/scene/dist/posteffect/taa.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/render/abuffer_oit.js +1 -0
- package/dist/vendor/zephyr3d/scene/dist/render/abuffer_oit.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/render/drawable_mixin.js +1 -0
- package/dist/vendor/zephyr3d/scene/dist/render/drawable_mixin.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/render/fbm_wavegenerator.js +1 -0
- package/dist/vendor/zephyr3d/scene/dist/render/fbm_wavegenerator.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/render/gerstner_wavegenerator.js +1 -0
- package/dist/vendor/zephyr3d/scene/dist/render/gerstner_wavegenerator.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/render/globalbindgroup_allocator.js +1 -0
- package/dist/vendor/zephyr3d/scene/dist/render/globalbindgroup_allocator.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/render/lightpass.js +4 -1
- package/dist/vendor/zephyr3d/scene/dist/render/lightpass.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/render/render_queue.js +1 -0
- package/dist/vendor/zephyr3d/scene/dist/render/render_queue.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/render/renderer.js +1 -0
- package/dist/vendor/zephyr3d/scene/dist/render/renderer.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/render/rendergraph/device_pool_allocator.js +12 -5
- package/dist/vendor/zephyr3d/scene/dist/render/rendergraph/device_pool_allocator.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/render/rendergraph/forward_plus_builder.js +78 -8
- package/dist/vendor/zephyr3d/scene/dist/render/rendergraph/forward_plus_builder.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/scene/basesprite.js +1 -0
- package/dist/vendor/zephyr3d/scene/dist/scene/basesprite.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/scene/batchgroup.js +1 -0
- package/dist/vendor/zephyr3d/scene/dist/scene/batchgroup.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/scene/environment.js +1 -0
- package/dist/vendor/zephyr3d/scene/dist/scene/environment.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/scene/light.js +158 -154
- package/dist/vendor/zephyr3d/scene/dist/scene/light.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/scene/mesh.js +1 -0
- package/dist/vendor/zephyr3d/scene/dist/scene/mesh.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/scene/msdftext.js +1 -0
- package/dist/vendor/zephyr3d/scene/dist/scene/msdftext.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/scene/msdftextsprite.js +1 -0
- package/dist/vendor/zephyr3d/scene/dist/scene/msdftextsprite.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/scene/particlesys.js +1 -0
- package/dist/vendor/zephyr3d/scene/dist/scene/particlesys.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/scene/scene.js +1 -0
- package/dist/vendor/zephyr3d/scene/dist/scene/scene.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/scene/terrain-cm/grass.js +1 -0
- package/dist/vendor/zephyr3d/scene/dist/scene/terrain-cm/grass.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/scene/terrain-cm/grassmaterial.js +1 -0
- package/dist/vendor/zephyr3d/scene/dist/scene/terrain-cm/grassmaterial.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/scene/terrain-cm/terrain-cm.js +1 -0
- package/dist/vendor/zephyr3d/scene/dist/scene/terrain-cm/terrain-cm.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/scene/water.js +1 -0
- package/dist/vendor/zephyr3d/scene/dist/scene/water.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/shaders/shadow.js +617 -1
- package/dist/vendor/zephyr3d/scene/dist/shaders/shadow.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/shadow/esm.js +1 -0
- package/dist/vendor/zephyr3d/scene/dist/shadow/esm.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/shadow/pcf_opt.js +1 -0
- package/dist/vendor/zephyr3d/scene/dist/shadow/pcf_opt.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/shadow/pcf_pd.js +1 -0
- package/dist/vendor/zephyr3d/scene/dist/shadow/pcf_pd.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/shadow/pcss.js +182 -0
- package/dist/vendor/zephyr3d/scene/dist/shadow/pcss.js.map +1 -0
- package/dist/vendor/zephyr3d/scene/dist/shadow/shader.js +1 -0
- package/dist/vendor/zephyr3d/scene/dist/shadow/shader.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/shadow/shadow_impl.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/shadow/shadowmapper.js +183 -105
- package/dist/vendor/zephyr3d/scene/dist/shadow/shadowmapper.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/shadow/ssm.js +1 -0
- package/dist/vendor/zephyr3d/scene/dist/shadow/ssm.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/shadow/vsm.js +1 -0
- package/dist/vendor/zephyr3d/scene/dist/shadow/vsm.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/utility/serialization/manager.js +3 -1
- package/dist/vendor/zephyr3d/scene/dist/utility/serialization/manager.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/utility/serialization/scene/animation.js +1 -0
- package/dist/vendor/zephyr3d/scene/dist/utility/serialization/scene/animation.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/utility/serialization/scene/batch.js +1 -0
- package/dist/vendor/zephyr3d/scene/dist/utility/serialization/scene/batch.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/utility/serialization/scene/camera.js +122 -0
- package/dist/vendor/zephyr3d/scene/dist/utility/serialization/scene/camera.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/utility/serialization/scene/common.js +1 -0
- package/dist/vendor/zephyr3d/scene/dist/utility/serialization/scene/common.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/utility/serialization/scene/light.js +102 -21
- package/dist/vendor/zephyr3d/scene/dist/utility/serialization/scene/light.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/utility/serialization/scene/material.js +195 -3
- package/dist/vendor/zephyr3d/scene/dist/utility/serialization/scene/material.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/utility/serialization/scene/mesh.js +1 -0
- package/dist/vendor/zephyr3d/scene/dist/utility/serialization/scene/mesh.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/utility/serialization/scene/node.js +1 -0
- package/dist/vendor/zephyr3d/scene/dist/utility/serialization/scene/node.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/utility/serialization/scene/particle.js +1 -0
- package/dist/vendor/zephyr3d/scene/dist/utility/serialization/scene/particle.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/utility/serialization/scene/primitive.js +1 -0
- package/dist/vendor/zephyr3d/scene/dist/utility/serialization/scene/primitive.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/utility/serialization/scene/sprite.js +1 -0
- package/dist/vendor/zephyr3d/scene/dist/utility/serialization/scene/sprite.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/utility/serialization/scene/terrain.js +1 -0
- package/dist/vendor/zephyr3d/scene/dist/utility/serialization/scene/terrain.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/utility/serialization/scene/text.js +1 -0
- package/dist/vendor/zephyr3d/scene/dist/utility/serialization/scene/text.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/utility/serialization/scene/water.js +1 -0
- package/dist/vendor/zephyr3d/scene/dist/utility/serialization/scene/water.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/values.js +1 -0
- package/dist/vendor/zephyr3d/scene/dist/values.js.map +1 -1
- package/electron/main.cjs +30 -6
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"material.js","sources":["../../../../src/utility/serialization/scene/material.ts"],"sourcesContent":["import type { FaceMode, Texture2D } from '@zephyr3d/device';\r\nimport type { BlendMode } from '../../../material';\r\nimport {\r\n BlinnMaterial,\r\n LambertMaterial,\r\n MeshMaterial,\r\n MToonMaterial,\r\n ParticleMaterial,\r\n PBRBluePrintMaterial,\r\n PBRMetallicRoughnessMaterial,\r\n PBRSpecularGlossinessMaterial,\r\n SubsurfaceProfile,\r\n type MToonOutlineWidthMode,\r\n type SubsurfaceProfilePreset,\r\n SpriteBlueprintMaterial,\r\n UnlitMaterial\r\n} from '../../../material';\r\nimport type { PBRBlueprintOutputName } from '../../../material/pbrblueprint';\r\nimport { defineProps, type PropertyAccessor, type SerializableClass } from '../types';\r\nimport type { Nullable } from '@zephyr3d/base';\r\nimport { Vector2, Vector3, Vector4 } from '@zephyr3d/base';\r\nimport { getTextureProps } from './common';\r\nimport type { ResourceManager } from '../manager';\r\nimport { getMeshMaterialInstanceUniformsClass } from './common';\r\nimport { SpriteMaterial } from '../../../material/sprite';\r\nimport { StandardSpriteMaterial } from '../../../material/sprite_std';\r\nimport type { PBRReflectionMode } from '../../../material/mixins/lightmodel/pbrmetallicroughness';\r\n\r\ntype PBRMaterial = PBRMetallicRoughnessMaterial | PBRSpecularGlossinessMaterial;\r\ntype LitPropTypes = LambertMaterial | BlinnMaterial | PBRMaterial;\r\ntype UnlitPropTypes = UnlitMaterial | LitPropTypes;\r\n\r\nfunction createBlueprintOutputHiddenPredicate(_outputs: readonly PBRBlueprintOutputName[]) {\r\n return function (this: any) {\r\n return this instanceof PBRBluePrintMaterial;\r\n };\r\n}\r\n\r\nexport function getSubsurfaceProfileClass(): SerializableClass {\r\n return {\r\n ctor: SubsurfaceProfile,\r\n name: 'SubsurfaceProfile',\r\n getProps() {\r\n return defineProps([\r\n {\r\n name: 'Preset',\r\n type: 'string',\r\n default: 'skin_default',\r\n options: {\r\n label: 'LookPreset',\r\n enum: {\r\n labels: [\r\n 'Skin Thin',\r\n 'Skin Default',\r\n 'Skin HeavyMakeup',\r\n 'Wax Backlit',\r\n 'Wax Soft',\r\n 'Jade Backlit',\r\n 'Jade Soft'\r\n ],\r\n values: [\r\n 'skin_thin',\r\n 'skin_default',\r\n 'skin_heavy_makeup',\r\n 'wax_backlit',\r\n 'wax_soft',\r\n 'jade_backlit',\r\n 'jade_soft'\r\n ]\r\n }\r\n },\r\n get(this: SubsurfaceProfile, value) {\r\n value.str[0] = this.preset;\r\n },\r\n set(this: SubsurfaceProfile, value) {\r\n this.preset = value.str[0] as SubsurfaceProfilePreset;\r\n }\r\n },\r\n {\r\n name: 'ScatterColor',\r\n type: 'rgb',\r\n default: [1, 0.45, 0.17],\r\n options: {\r\n label: 'MeanFreePathColor',\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: SubsurfaceProfile, value) {\r\n value.num[0] = this.meanFreePathColor.x;\r\n value.num[1] = this.meanFreePathColor.y;\r\n value.num[2] = this.meanFreePathColor.z;\r\n },\r\n set(this: SubsurfaceProfile, value) {\r\n this.meanFreePathColor = new Vector3(value.num[0], value.num[1], value.num[2]);\r\n }\r\n },\r\n {\r\n name: 'ScatterDistance',\r\n type: 'float',\r\n default: 0.92,\r\n options: {\r\n label: 'MeanFreePathDistance',\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 8\r\n },\r\n get(this: SubsurfaceProfile, value) {\r\n value.num[0] = this.meanFreePathDistance;\r\n },\r\n set(this: SubsurfaceProfile, value) {\r\n this.meanFreePathDistance = value.num[0];\r\n }\r\n },\r\n {\r\n name: 'ScatterWeight',\r\n type: 'float',\r\n default: 0.82,\r\n options: {\r\n label: 'ScatterWeight',\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 8\r\n },\r\n get(this: SubsurfaceProfile, value) {\r\n value.num[0] = this.strength;\r\n },\r\n set(this: SubsurfaceProfile, value) {\r\n this.strength = value.num[0];\r\n }\r\n },\r\n {\r\n name: 'ScatterScale',\r\n type: 'float',\r\n default: 0.96,\r\n options: {\r\n label: 'ScatterScale',\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 8\r\n },\r\n get(this: SubsurfaceProfile, value) {\r\n value.num[0] = this.scale;\r\n },\r\n set(this: SubsurfaceProfile, value) {\r\n this.scale = value.num[0];\r\n }\r\n },\r\n {\r\n name: 'WorldUnitScale',\r\n type: 'float',\r\n default: 1,\r\n options: {\r\n label: 'WorldUnitScale',\r\n animatable: true,\r\n minValue: 0.05,\r\n maxValue: 4\r\n },\r\n get(this: SubsurfaceProfile, value) {\r\n value.num[0] = this.worldUnitScale;\r\n },\r\n set(this: SubsurfaceProfile, value) {\r\n this.worldUnitScale = value.num[0];\r\n }\r\n },\r\n {\r\n name: 'BoundaryColorBleed',\r\n type: 'float',\r\n default: 0.22,\r\n options: {\r\n label: 'BoundaryColorBleed',\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: SubsurfaceProfile, value) {\r\n value.num[0] = this.boundaryColorBleed;\r\n },\r\n set(this: SubsurfaceProfile, value) {\r\n this.boundaryColorBleed = value.num[0];\r\n }\r\n },\r\n {\r\n name: 'TransmissionTintColor',\r\n type: 'rgb',\r\n default: [1, 0.46, 0.34],\r\n options: {\r\n label: 'TransmissionTintColor',\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: SubsurfaceProfile, value) {\r\n value.num[0] = this.transmissionTintColor.x;\r\n value.num[1] = this.transmissionTintColor.y;\r\n value.num[2] = this.transmissionTintColor.z;\r\n },\r\n set(this: SubsurfaceProfile, value) {\r\n this.transmissionTintColor = new Vector3(value.num[0], value.num[1], value.num[2]);\r\n }\r\n },\r\n {\r\n name: 'ExtinctionScale',\r\n type: 'float',\r\n default: 1.06,\r\n options: {\r\n label: 'ExtinctionScale',\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 4\r\n },\r\n get(this: SubsurfaceProfile, value) {\r\n value.num[0] = this.extinctionScale;\r\n },\r\n set(this: SubsurfaceProfile, value) {\r\n this.extinctionScale = value.num[0];\r\n }\r\n },\r\n {\r\n name: 'NormalScale',\r\n type: 'float',\r\n default: 1,\r\n options: {\r\n label: 'NormalScale',\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 2\r\n },\r\n get(this: SubsurfaceProfile, value) {\r\n value.num[0] = this.normalScale;\r\n },\r\n set(this: SubsurfaceProfile, value) {\r\n this.normalScale = value.num[0];\r\n }\r\n },\r\n {\r\n name: 'ScatteringDistribution',\r\n type: 'float',\r\n default: 0.6,\r\n options: {\r\n label: 'ScatteringDistribution',\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: SubsurfaceProfile, value) {\r\n value.num[0] = this.scatteringDistribution;\r\n },\r\n set(this: SubsurfaceProfile, value) {\r\n this.scatteringDistribution = value.num[0];\r\n }\r\n }\r\n ]);\r\n }\r\n };\r\n}\r\n\r\nfunction getPBRCommonProps(manager: ResourceManager): PropertyAccessor<PBRMaterial>[] {\r\n const supportsSSSThicknessAuthoring = function (this: PBRMaterial) {\r\n return (\r\n !this.$isInstance &&\r\n !!(this.transmission || (this as PBRMaterial & { subsurfaceProfile?: unknown }).subsurfaceProfile)\r\n );\r\n };\r\n return defineProps([\r\n {\r\n name: 'IOR',\r\n description: 'Index of refraction for the material surface',\r\n type: 'float',\r\n default: 1.5,\r\n options: {\r\n animatable: true\r\n },\r\n get(this: PBRMaterial, value) {\r\n value.num[0] = this.ior;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.ior = value.num[0];\r\n },\r\n isValid() {\r\n return !this.$isInstance;\r\n }\r\n },\r\n {\r\n name: 'OcclusionStrength',\r\n description: 'Strength multiplier for the occlusion texture effect',\r\n type: 'float',\r\n phase: 2,\r\n default: 1,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: PBRMaterial, value) {\r\n value.num[0] = this.occlusionStrength;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.occlusionStrength = value.num[0];\r\n },\r\n isHidden: createBlueprintOutputHiddenPredicate(['AO']),\r\n isValid(this: PBRMaterial) {\r\n return !this.$isInstance && !!this.occlusionTexture;\r\n }\r\n },\r\n ...getTextureProps<PBRMaterial>(manager, 'occlusionTexture', '2D', false, 0, undefined, ['AO']),\r\n {\r\n name: 'EmissiveColor',\r\n description: 'Base self-illumination color emitted by the material',\r\n type: 'rgb',\r\n options: {\r\n animatable: true\r\n },\r\n get(this: PBRMaterial, value) {\r\n value.num[0] = this.emissiveColor.x;\r\n value.num[1] = this.emissiveColor.y;\r\n value.num[2] = this.emissiveColor.z;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.emissiveColor = new Vector3(value.num[0], value.num[1], value.num[2]);\r\n },\r\n isHidden: createBlueprintOutputHiddenPredicate(['Emissive']),\r\n getDefaultValue(this: PBRMaterial) {\r\n return this.$isInstance ? this.coreMaterial.emissiveColor : [0, 0, 0];\r\n }\r\n },\r\n {\r\n name: 'EmissiveStrength',\r\n description: 'Intensity multiplier for the emissive color and emissive texture',\r\n type: 'float',\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: PBRMaterial, value) {\r\n value.num[0] = this.emissiveStrength;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.emissiveStrength = value.num[0];\r\n },\r\n isHidden: createBlueprintOutputHiddenPredicate(['Emissive']),\r\n getDefaultValue(this: PBRMaterial) {\r\n return this.$isInstance ? this.coreMaterial.emissiveStrength : 1;\r\n }\r\n },\r\n {\r\n name: 'RectSpecularScale',\r\n type: 'float',\r\n options: {\r\n label: 'RectSpecularScale',\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 4\r\n },\r\n get(this: PBRMaterial, value) {\r\n value.num[0] = this.rectSpecularScale;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.rectSpecularScale = value.num[0];\r\n },\r\n getDefaultValue(this: PBRMaterial) {\r\n return this.$isInstance ? this.coreMaterial.rectSpecularScale : 1;\r\n }\r\n },\r\n ...getTextureProps<PBRMaterial>(manager, 'emissiveTexture', '2D', true, 0, undefined, ['Emissive']),\r\n ...getTextureProps<PBRMaterial>(manager, 'specularTexture', '2D', false, 0, undefined, [\r\n 'SpecularWeight'\r\n ]),\r\n {\r\n name: 'Transmission',\r\n description: 'If true, enables light transmission through the material',\r\n type: 'bool',\r\n phase: 0,\r\n default: false,\r\n get(this: PBRMaterial, value) {\r\n value.bool[0] = this.transmission;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.transmission = value.bool[0];\r\n },\r\n isValid() {\r\n return !this.$isInstance;\r\n }\r\n },\r\n {\r\n name: 'TransmissionFactor',\r\n description: 'Amount of transmitted light, from fully opaque to fully transparent',\r\n type: 'float',\r\n phase: 1,\r\n default: 0,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: PBRMaterial, value) {\r\n value.num[0] = this.transmissionFactor;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.transmissionFactor = value.num[0];\r\n },\r\n isValid() {\r\n return supportsSSSThicknessAuthoring.call(this);\r\n }\r\n },\r\n ...getTextureProps<PBRMaterial>(manager, 'transmissionTexture', '2D', false, 1, function () {\r\n return this.transmission || !!(this as PBRMaterial & { subsurfaceProfile?: unknown }).subsurfaceProfile;\r\n }),\r\n {\r\n name: 'ThicknessFactor',\r\n description: 'Physical thickness used by transmission and volume attenuation',\r\n type: 'float',\r\n phase: 1,\r\n default: 0,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 99999\r\n },\r\n get(this: PBRMaterial, value) {\r\n value.num[0] = this.thicknessFactor;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.thicknessFactor = value.num[0];\r\n },\r\n isValid() {\r\n return supportsSSSThicknessAuthoring.call(this);\r\n }\r\n },\r\n ...getTextureProps<PBRMaterial>(manager, 'thicknessTexture', '2D', false, 1, function () {\r\n return this.transmission || !!(this as PBRMaterial & { subsurfaceProfile?: unknown }).subsurfaceProfile;\r\n }),\r\n {\r\n name: 'AttenuationColor',\r\n description: 'Color tint applied to transmitted light as it travels through the material',\r\n type: 'rgb',\r\n phase: 1,\r\n default: [1, 1, 1],\r\n options: {\r\n animatable: true\r\n },\r\n get(this: PBRMaterial, value) {\r\n value.num[0] = this.attenuationColor.x;\r\n value.num[1] = this.attenuationColor.y;\r\n value.num[2] = this.attenuationColor.z;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.attenuationColor = new Vector3(value.num[0], value.num[1], value.num[2]);\r\n },\r\n isValid() {\r\n return supportsSSSThicknessAuthoring.call(this);\r\n }\r\n },\r\n {\r\n name: 'AttenuationDistance',\r\n description: 'Distance over which transmitted light is attenuated inside the material',\r\n type: 'float',\r\n phase: 1,\r\n default: 99999,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 99999\r\n },\r\n get(this: PBRMaterial, value) {\r\n value.num[0] = this.attenuationDistance;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.attenuationDistance = value.num[0];\r\n },\r\n isValid() {\r\n return supportsSSSThicknessAuthoring.call(this);\r\n }\r\n },\r\n {\r\n name: 'Iridescence',\r\n description: 'If true, enables thin-film iridescence on the material surface',\r\n type: 'bool',\r\n phase: 0,\r\n default: false,\r\n get(this: PBRMaterial, value) {\r\n value.bool[0] = this.iridescence;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.iridescence = value.bool[0];\r\n },\r\n isValid() {\r\n return !this.$isInstance;\r\n }\r\n },\r\n {\r\n name: 'IridescenceFactor',\r\n description: 'Strength of the iridescence effect',\r\n type: 'float',\r\n phase: 1,\r\n default: 0,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: PBRMaterial, value) {\r\n value.num[0] = this.iridescenceFactor;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.iridescenceFactor = value.num[0];\r\n },\r\n isValid() {\r\n return !this.$isInstance && !!this.iridescence;\r\n }\r\n },\r\n ...getTextureProps<PBRMaterial>(manager, 'iridescenceTexture', '2D', false, 1, function () {\r\n return this.iridescence;\r\n }),\r\n {\r\n name: 'IridescenceIOR',\r\n description: 'Index of refraction used for the iridescence layer',\r\n type: 'float',\r\n phase: 1,\r\n default: 1.3,\r\n options: {\r\n animatable: true\r\n },\r\n get(this: PBRMaterial, value) {\r\n value.num[0] = this.iridescenceIor;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.iridescenceIor = value.num[0];\r\n },\r\n isValid() {\r\n return !this.$isInstance && !!this.iridescence;\r\n }\r\n },\r\n {\r\n name: 'IridescenceThicknessMin',\r\n description: 'Minimum thin-film thickness used for iridescence, typically in nanometers',\r\n type: 'float',\r\n phase: 1,\r\n default: 100,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1000\r\n },\r\n get(this: PBRMaterial, value) {\r\n value.num[0] = this.iridescenceThicknessMin;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.iridescenceThicknessMin = value.num[0];\r\n },\r\n isValid() {\r\n return !this.$isInstance && !!this.iridescence;\r\n }\r\n },\r\n {\r\n name: 'IridescenceThicknessMax',\r\n description: 'Maximum thin-film thickness used for iridescence, typically in nanometers',\r\n type: 'float',\r\n phase: 1,\r\n default: 400,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1000\r\n },\r\n get(this: PBRMaterial, value) {\r\n value.num[0] = this.iridescenceThicknessMax;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.iridescenceThicknessMax = value.num[0];\r\n },\r\n isValid() {\r\n return !this.$isInstance && !!this.iridescence;\r\n }\r\n },\r\n ...getTextureProps<PBRMaterial>(manager, 'iridescenceThicknessTexture', '2D', false, 1, function () {\r\n return this.iridescence;\r\n }),\r\n {\r\n name: 'ClearCoat',\r\n description: 'If true, enables a clear coat layer on top of the material',\r\n type: 'bool',\r\n phase: 0,\r\n default: false,\r\n get(this: PBRMaterial, value) {\r\n value.bool[0] = this.clearcoat;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.clearcoat = value.bool[0];\r\n },\r\n isValid() {\r\n return !this.$isInstance;\r\n }\r\n },\r\n {\r\n name: 'ClearCoatIntensity',\r\n description: 'Strength of the clear coat layer',\r\n type: 'float',\r\n phase: 1,\r\n default: 0,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: PBRMaterial, value) {\r\n value.num[0] = this.clearcoatIntensity;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.clearcoatIntensity = value.num[0];\r\n },\r\n isValid() {\r\n return !this.$isInstance && !!this.clearcoat;\r\n }\r\n },\r\n ...getTextureProps<PBRMaterial>(manager, 'clearcoatIntensityTexture', '2D', false, 1, function () {\r\n return this.clearcoat;\r\n }),\r\n {\r\n name: 'ClearCoatRoughnessFactor',\r\n description: 'Roughness of the clear coat layer',\r\n type: 'float',\r\n phase: 1,\r\n default: 0,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: PBRMaterial, value) {\r\n value.num[0] = this.clearcoatRoughnessFactor;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.clearcoatRoughnessFactor = value.num[0];\r\n },\r\n isValid() {\r\n return !this.$isInstance && !!this.clearcoat;\r\n }\r\n },\r\n ...getTextureProps<PBRMaterial>(manager, 'clearcoatRoughnessTexture', '2D', false, 1, function () {\r\n return this.clearcoat;\r\n }),\r\n ...getTextureProps<PBRMaterial>(manager, 'clearcoatNormalTexture', '2D', false, 1, function () {\r\n return this.clearcoat;\r\n }),\r\n {\r\n name: 'Sheen',\r\n description: 'If true, enables a soft fabric-like sheen layer',\r\n type: 'bool',\r\n phase: 0,\r\n default: false,\r\n get(this: PBRMaterial, value) {\r\n value.bool[0] = this.sheen;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.sheen = value.bool[0];\r\n },\r\n isValid() {\r\n return !this.$isInstance;\r\n }\r\n },\r\n {\r\n name: 'SheenColorFactor',\r\n description: 'Color of the sheen layer',\r\n type: 'rgb',\r\n phase: 1,\r\n default: [0, 0, 0],\r\n options: {\r\n animatable: true\r\n },\r\n get(this: PBRMaterial, value) {\r\n value.num[0] = this.sheenColorFactor.x;\r\n value.num[1] = this.sheenColorFactor.y;\r\n value.num[2] = this.sheenColorFactor.z;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.sheenColorFactor = new Vector3(value.num[0], value.num[1], value.num[2]);\r\n },\r\n isValid() {\r\n return !this.$isInstance && !!this.sheen;\r\n }\r\n },\r\n ...getTextureProps<PBRMaterial>(manager, 'sheenColorTexture', '2D', true, 1, function () {\r\n return this.sheen;\r\n }),\r\n {\r\n name: 'SheenRoughnessFactor',\r\n description: 'Roughness of the sheen layer',\r\n type: 'float',\r\n phase: 1,\r\n default: 0,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: PBRMaterial, value) {\r\n value.num[0] = this.sheenRoughnessFactor;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.sheenRoughnessFactor = value.num[0];\r\n },\r\n isValid() {\r\n return !this.$isInstance && !!this.sheen;\r\n }\r\n },\r\n ...getTextureProps<PBRMaterial>(manager, 'sheenRoughnessTexture', '2D', false, 1, function () {\r\n return this.sheen;\r\n }),\r\n ...getLitMaterialProps(manager)\r\n ]);\r\n}\r\n\r\nfunction getLitMaterialProps(manager: ResourceManager): PropertyAccessor<LitPropTypes>[] {\r\n return defineProps([\r\n ...getUnlitMaterialProps(manager),\r\n {\r\n name: 'doubleSidedLighting',\r\n description: 'If true, lighting is evaluated on both sides of the surface',\r\n type: 'bool',\r\n default: false,\r\n isValid(this: LitPropTypes) {\r\n return !this.$isInstance && this.cullMode !== 'back';\r\n },\r\n get(this: LitPropTypes, value) {\r\n value.bool[0] = this.doubleSidedLighting;\r\n },\r\n set(this: LitPropTypes, value) {\r\n this.doubleSidedLighting = value.bool[0];\r\n }\r\n },\r\n {\r\n name: 'vertexNormal',\r\n description: 'If true, uses vertex normals for lighting and normal mapping',\r\n type: 'bool',\r\n default: true,\r\n get(this: LitPropTypes, value) {\r\n value.bool[0] = this.vertexNormal;\r\n },\r\n set(this: LitPropTypes, value) {\r\n this.vertexNormal = value.bool[0];\r\n },\r\n isHidden: createBlueprintOutputHiddenPredicate(['Normal']),\r\n isValid(this: LitPropTypes) {\r\n return !this.$isInstance;\r\n }\r\n },\r\n {\r\n name: 'vertexTangent',\r\n description: 'If true, uses vertex tangents for tangent-space normal mapping',\r\n type: 'bool',\r\n default: false,\r\n get(this: LitPropTypes, value) {\r\n value.bool[0] = this.vertexTangent;\r\n },\r\n set(this: LitPropTypes, value) {\r\n this.vertexTangent = value.bool[0];\r\n },\r\n isHidden: createBlueprintOutputHiddenPredicate(['Tangent']),\r\n isValid(this: LitPropTypes) {\r\n return !this.$isInstance && !!this.vertexNormal;\r\n }\r\n },\r\n ...getTextureProps<LitPropTypes>(manager, 'normalTexture', '2D', false, 0, undefined, ['Normal'])\r\n ]);\r\n}\r\n\r\nfunction getUnlitMaterialProps(manager: ResourceManager): PropertyAccessor<UnlitPropTypes>[] {\r\n return defineProps([\r\n {\r\n name: 'vertexColor',\r\n description: 'If true, multiplies the material color by per-vertex color data',\r\n type: 'bool',\r\n default: false,\r\n get(this: UnlitPropTypes, value) {\r\n value.bool[0] = this.vertexColor;\r\n },\r\n set(this: UnlitPropTypes, value) {\r\n this.vertexColor = value.bool[0];\r\n },\r\n isHidden: createBlueprintOutputHiddenPredicate(['BaseColor']),\r\n isValid(this: UnlitPropTypes) {\r\n return !this.$isInstance;\r\n }\r\n },\r\n {\r\n name: 'AlbedoColor',\r\n description: 'Base RGBA color of the material before lighting',\r\n type: 'rgba',\r\n options: {\r\n animatable: true\r\n },\r\n get(this: UnlitPropTypes, value) {\r\n const color = this.albedoColor;\r\n value.num[0] = color.x;\r\n value.num[1] = color.y;\r\n value.num[2] = color.z;\r\n value.num[3] = color.w;\r\n },\r\n set(this: UnlitPropTypes, value) {\r\n this.albedoColor = new Vector4(value.num[0], value.num[1], value.num[2], value.num[3]);\r\n },\r\n isHidden: createBlueprintOutputHiddenPredicate(['BaseColor', 'Opacity']),\r\n getDefaultValue(this: UnlitPropTypes) {\r\n return this.$isInstance ? this.coreMaterial.albedoColor : [1, 1, 1, 1];\r\n }\r\n },\r\n ...getTextureProps<UnlitPropTypes>(manager, 'albedoTexture', '2D', true, 0, undefined, [\r\n 'BaseColor',\r\n 'Opacity'\r\n ])\r\n ]);\r\n}\r\n\r\nfunction getMToonMaterialProps(manager: ResourceManager): PropertyAccessor<MToonMaterial>[] {\r\n return defineProps([\r\n {\r\n name: 'AlbedoColor',\r\n description: 'Base RGBA color of the MToon material',\r\n type: 'rgba',\r\n options: {\r\n animatable: true\r\n },\r\n get(this: MToonMaterial, value) {\r\n const color = this.albedoColor;\r\n value.num[0] = color.x;\r\n value.num[1] = color.y;\r\n value.num[2] = color.z;\r\n value.num[3] = color.w;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.albedoColor = new Vector4(value.num[0], value.num[1], value.num[2], value.num[3]);\r\n },\r\n getDefaultValue(this: MToonMaterial) {\r\n return this.$isInstance ? this.coreMaterial.albedoColor : [1, 1, 1, 1];\r\n }\r\n },\r\n ...getTextureProps<MToonMaterial>(manager, 'albedoTexture', '2D', true, 0),\r\n {\r\n name: 'NormalScale',\r\n description: 'Scalar applied to the MToon normal texture',\r\n type: 'float',\r\n phase: 1,\r\n default: 1,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 2\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.normalScale;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.normalScale = value.num[0];\r\n },\r\n isValid(this: MToonMaterial) {\r\n return !this.$isInstance && !!this.normalTexture;\r\n }\r\n },\r\n ...getTextureProps<MToonMaterial>(manager, 'normalTexture', '2D', false, 0),\r\n {\r\n name: 'DoubleSidedLighting',\r\n description: 'If true, MToon lighting is evaluated on both sides of the surface',\r\n type: 'bool',\r\n default: true,\r\n get(this: MToonMaterial, value) {\r\n value.bool[0] = this.doubleSidedLighting;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.doubleSidedLighting = value.bool[0];\r\n }\r\n },\r\n {\r\n name: 'EmissiveColor',\r\n description: 'Base self-illumination color emitted by the MToon material',\r\n type: 'rgb',\r\n options: {\r\n animatable: true\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.emissiveColor.x;\r\n value.num[1] = this.emissiveColor.y;\r\n value.num[2] = this.emissiveColor.z;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.emissiveColor = new Vector3(value.num[0], value.num[1], value.num[2]);\r\n },\r\n getDefaultValue(this: MToonMaterial) {\r\n return this.$isInstance ? this.coreMaterial.emissiveColor : [0, 0, 0];\r\n }\r\n },\r\n {\r\n name: 'EmissiveStrength',\r\n description: 'Intensity multiplier for the MToon emissive color and texture',\r\n type: 'float',\r\n default: 1,\r\n options: {\r\n animatable: true,\r\n minValue: 0\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.emissiveStrength;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.emissiveStrength = value.num[0];\r\n },\r\n getDefaultValue(this: MToonMaterial) {\r\n return this.$isInstance ? this.coreMaterial.emissiveStrength : 1;\r\n }\r\n },\r\n ...getTextureProps<MToonMaterial>(manager, 'emissiveTexture', '2D', true, 0),\r\n {\r\n name: 'ShadeColorFactor',\r\n description: 'MToon shadow-side color factor',\r\n type: 'rgb',\r\n default: [0, 0, 0],\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.shadeColorFactor.x;\r\n value.num[1] = this.shadeColorFactor.y;\r\n value.num[2] = this.shadeColorFactor.z;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.shadeColorFactor = new Vector3(value.num[0], value.num[1], value.num[2]);\r\n },\r\n getDefaultValue(this: MToonMaterial) {\r\n return this.$isInstance ? this.coreMaterial.shadeColorFactor : [0, 0, 0];\r\n }\r\n },\r\n ...getTextureProps<MToonMaterial>(manager, 'shadeMultiplyTexture', '2D', true, 0),\r\n {\r\n name: 'ShadingShiftFactor',\r\n description: 'MToon terminator shift factor',\r\n type: 'float',\r\n default: 0,\r\n options: {\r\n animatable: true,\r\n minValue: -1,\r\n maxValue: 1\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.shadingShiftFactor;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.shadingShiftFactor = value.num[0];\r\n },\r\n getDefaultValue(this: MToonMaterial) {\r\n return this.$isInstance ? this.coreMaterial.shadingShiftFactor : 0;\r\n }\r\n },\r\n {\r\n name: 'ShadingShiftTextureScale',\r\n description: 'Scale applied to the MToon shading shift texture',\r\n type: 'float',\r\n phase: 1,\r\n default: 1,\r\n options: {\r\n animatable: true\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.shadingShiftTextureScale;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.shadingShiftTextureScale = value.num[0];\r\n },\r\n isValid(this: MToonMaterial) {\r\n return !this.$isInstance && !!this.shadingShiftTexture;\r\n }\r\n },\r\n ...getTextureProps<MToonMaterial>(manager, 'shadingShiftTexture', '2D', false, 0),\r\n {\r\n name: 'ShadingToonyFactor',\r\n description: 'MToon shadow edge sharpness factor',\r\n type: 'float',\r\n default: 0.9,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 0.99\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.shadingToonyFactor;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.shadingToonyFactor = value.num[0];\r\n },\r\n getDefaultValue(this: MToonMaterial) {\r\n return this.$isInstance ? this.coreMaterial.shadingToonyFactor : 0.9;\r\n }\r\n },\r\n {\r\n name: 'GIEqualizationFactor',\r\n description: 'MToon indirect lighting equalization factor',\r\n type: 'float',\r\n default: 0.9,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.giEqualizationFactor;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.giEqualizationFactor = value.num[0];\r\n },\r\n getDefaultValue(this: MToonMaterial) {\r\n return this.$isInstance ? this.coreMaterial.giEqualizationFactor : 0.9;\r\n }\r\n },\r\n {\r\n name: 'MatcapFactor',\r\n description: 'MToon matcap color factor',\r\n type: 'rgb',\r\n default: [1, 1, 1],\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.matcapFactor.x;\r\n value.num[1] = this.matcapFactor.y;\r\n value.num[2] = this.matcapFactor.z;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.matcapFactor = new Vector3(value.num[0], value.num[1], value.num[2]);\r\n },\r\n getDefaultValue(this: MToonMaterial) {\r\n return this.$isInstance ? this.coreMaterial.matcapFactor : [1, 1, 1];\r\n }\r\n },\r\n ...getTextureProps<MToonMaterial>(manager, 'matcapTexture', '2D', true, 0),\r\n {\r\n name: 'ParametricRimColorFactor',\r\n description: 'MToon parametric rim color factor',\r\n type: 'rgb',\r\n default: [0, 0, 0],\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.parametricRimColorFactor.x;\r\n value.num[1] = this.parametricRimColorFactor.y;\r\n value.num[2] = this.parametricRimColorFactor.z;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.parametricRimColorFactor = new Vector3(value.num[0], value.num[1], value.num[2]);\r\n },\r\n getDefaultValue(this: MToonMaterial) {\r\n return this.$isInstance ? this.coreMaterial.parametricRimColorFactor : [0, 0, 0];\r\n }\r\n },\r\n {\r\n name: 'ParametricRimFresnelPowerFactor',\r\n description: 'MToon parametric rim Fresnel power factor',\r\n type: 'float',\r\n default: 5,\r\n options: {\r\n animatable: true,\r\n minValue: 0\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.parametricRimFresnelPowerFactor;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.parametricRimFresnelPowerFactor = value.num[0];\r\n },\r\n getDefaultValue(this: MToonMaterial) {\r\n return this.$isInstance ? this.coreMaterial.parametricRimFresnelPowerFactor : 5;\r\n }\r\n },\r\n {\r\n name: 'ParametricRimLiftFactor',\r\n description: 'MToon parametric rim lift factor',\r\n type: 'float',\r\n default: 0,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.parametricRimLiftFactor;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.parametricRimLiftFactor = value.num[0];\r\n },\r\n getDefaultValue(this: MToonMaterial) {\r\n return this.$isInstance ? this.coreMaterial.parametricRimLiftFactor : 0;\r\n }\r\n },\r\n {\r\n name: 'RimLightingMixFactor',\r\n description: 'MToon rim lighting mix factor',\r\n type: 'float',\r\n default: 1,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.rimLightingMixFactor;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.rimLightingMixFactor = value.num[0];\r\n },\r\n getDefaultValue(this: MToonMaterial) {\r\n return this.$isInstance ? this.coreMaterial.rimLightingMixFactor : 1;\r\n }\r\n },\r\n ...getTextureProps<MToonMaterial>(manager, 'rimMultiplyTexture', '2D', true, 0),\r\n {\r\n name: 'OutlineWidthMode',\r\n description: 'MToon outline width mode',\r\n type: 'string',\r\n default: 'none',\r\n options: {\r\n enum: {\r\n labels: ['None', 'World Coordinates', 'Screen Coordinates'],\r\n values: ['none', 'worldCoordinates', 'screenCoordinates']\r\n }\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.str[0] = this.outlineWidthMode;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.outlineWidthMode = value.str[0] as MToonOutlineWidthMode;\r\n },\r\n isValid(this: MToonMaterial) {\r\n return !this.$isInstance;\r\n }\r\n },\r\n {\r\n name: 'OutlineWidthFactor',\r\n description: 'MToon outline width factor',\r\n type: 'float',\r\n default: 0,\r\n options: {\r\n animatable: true,\r\n minValue: 0\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.outlineWidthFactor;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.outlineWidthFactor = value.num[0];\r\n },\r\n isValid(this: MToonMaterial) {\r\n return !this.$isInstance && this.outlineWidthMode !== 'none';\r\n }\r\n },\r\n ...getTextureProps<MToonMaterial>(manager, 'outlineWidthMultiplyTexture', '2D', false, 1, function () {\r\n return this.outlineWidthMode !== 'none';\r\n }),\r\n {\r\n name: 'OutlineColorFactor',\r\n description: 'MToon outline color factor',\r\n type: 'rgb',\r\n default: [0, 0, 0],\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.outlineColorFactor.x;\r\n value.num[1] = this.outlineColorFactor.y;\r\n value.num[2] = this.outlineColorFactor.z;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.outlineColorFactor = new Vector3(value.num[0], value.num[1], value.num[2]);\r\n },\r\n isValid(this: MToonMaterial) {\r\n return !this.$isInstance && this.outlineWidthMode !== 'none';\r\n }\r\n },\r\n {\r\n name: 'OutlineLightingMixFactor',\r\n description: 'MToon outline lighting mix factor',\r\n type: 'float',\r\n default: 1,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.outlineLightingMixFactor;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.outlineLightingMixFactor = value.num[0];\r\n },\r\n isValid(this: MToonMaterial) {\r\n return !this.$isInstance && this.outlineWidthMode !== 'none';\r\n }\r\n },\r\n {\r\n name: 'OutlineUsesTangentNormals',\r\n description: 'Use the tangent attribute xyz as smooth normals for MToon outline expansion',\r\n type: 'boolean',\r\n default: false,\r\n get(this: MToonMaterial, value) {\r\n value.bool[0] = this.outlineUsesTangentNormals;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.outlineUsesTangentNormals = value.bool[0];\r\n },\r\n isValid(this: MToonMaterial) {\r\n return !this.$isInstance && this.outlineWidthMode !== 'none';\r\n }\r\n },\r\n ...getTextureProps<MToonMaterial>(manager, 'uvAnimationMaskTexture', '2D', false, 0),\r\n {\r\n name: 'UVAnimationScrollXSpeedFactor',\r\n description: 'MToon UV animation scroll speed on the X axis',\r\n type: 'float',\r\n default: 0,\r\n options: {\r\n animatable: true\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.uvAnimationScrollXSpeedFactor;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.uvAnimationScrollXSpeedFactor = value.num[0];\r\n },\r\n getDefaultValue(this: MToonMaterial) {\r\n return this.$isInstance ? this.coreMaterial.uvAnimationScrollXSpeedFactor : 0;\r\n }\r\n },\r\n {\r\n name: 'UVAnimationScrollYSpeedFactor',\r\n description: 'MToon UV animation scroll speed on the Y axis',\r\n type: 'float',\r\n default: 0,\r\n options: {\r\n animatable: true\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.uvAnimationScrollYSpeedFactor;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.uvAnimationScrollYSpeedFactor = value.num[0];\r\n },\r\n getDefaultValue(this: MToonMaterial) {\r\n return this.$isInstance ? this.coreMaterial.uvAnimationScrollYSpeedFactor : 0;\r\n }\r\n },\r\n {\r\n name: 'UVAnimationRotationSpeedFactor',\r\n description: 'MToon UV animation rotation speed',\r\n type: 'float',\r\n default: 0,\r\n options: {\r\n animatable: true\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.uvAnimationRotationSpeedFactor;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.uvAnimationRotationSpeedFactor = value.num[0];\r\n },\r\n getDefaultValue(this: MToonMaterial) {\r\n return this.$isInstance ? this.coreMaterial.uvAnimationRotationSpeedFactor : 0;\r\n }\r\n },\r\n {\r\n name: 'TransparentWithZWrite',\r\n description: 'If true, transparent MToon pixels also write depth',\r\n type: 'bool',\r\n default: false,\r\n get(this: MToonMaterial, value) {\r\n value.bool[0] = this.transparentWithZWrite;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.transparentWithZWrite = value.bool[0];\r\n },\r\n isValid(this: MToonMaterial) {\r\n return !this.$isInstance;\r\n }\r\n },\r\n {\r\n name: 'RenderQueueOffsetNumber',\r\n description: 'MToon render queue offset number',\r\n type: 'int',\r\n default: 0,\r\n options: {\r\n minValue: -9,\r\n maxValue: 9\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.renderQueueOffsetNumber;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.renderQueueOffsetNumber = value.num[0];\r\n },\r\n isValid(this: MToonMaterial) {\r\n return !this.$isInstance;\r\n }\r\n }\r\n ]);\r\n}\r\n\r\n/** @internal */\r\nexport function getMeshMaterialClass(): SerializableClass[] {\r\n return [\r\n {\r\n ctor: MeshMaterial,\r\n name: 'MeshMaterial',\r\n getProps() {\r\n return defineProps([\r\n {\r\n name: 'AlphaCutoff',\r\n description:\r\n 'If greater then 0, pixels which have alpha smaller than alpha cutoff will be discarded',\r\n type: 'float',\r\n default: 0,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: MeshMaterial, value) {\r\n value.num[0] = this.alphaCutoff;\r\n },\r\n set(this: MeshMaterial, value) {\r\n this.alphaCutoff = value.num[0];\r\n },\r\n isValid() {\r\n return !this.$isInstance;\r\n }\r\n },\r\n {\r\n name: 'AlphaToCoverage',\r\n description: 'If true, alpha-to-coverage will be enabled',\r\n type: 'bool',\r\n default: false,\r\n get(this: MeshMaterial, value) {\r\n value.bool[0] = this.alphaToCoverage;\r\n },\r\n set(this: MeshMaterial, value) {\r\n this.alphaToCoverage = value.bool[0];\r\n },\r\n isValid() {\r\n return !this.$isInstance;\r\n }\r\n },\r\n {\r\n name: 'AlphaDither',\r\n description: 'If true, alpha-dithering will be enabled',\r\n type: 'bool',\r\n default: false,\r\n get(this: MeshMaterial, value) {\r\n value.bool[0] = this.alphaDither;\r\n },\r\n set(this: MeshMaterial, value) {\r\n this.alphaDither = value.bool[0];\r\n },\r\n isValid(this: MeshMaterial) {\r\n return !this.$isInstance && this.alphaCutoff > 0;\r\n }\r\n },\r\n {\r\n name: 'BlendMode',\r\n description: 'Blending mode for this material',\r\n type: 'string',\r\n options: {\r\n enum: { labels: ['None', 'Blend', 'Additive'], values: ['none', 'blend', 'additive'] }\r\n },\r\n default: 'none',\r\n get(this: MeshMaterial, value) {\r\n value.str[0] = this.blendMode;\r\n },\r\n set(this: MeshMaterial, value) {\r\n this.blendMode = value.str[0] as BlendMode;\r\n },\r\n isValid() {\r\n return !this.$isInstance;\r\n }\r\n },\r\n {\r\n name: 'TransparentShadowCaster',\r\n type: 'bool',\r\n default: false,\r\n get(this: MeshMaterial, value) {\r\n value.bool[0] = this.transparentShadowCaster;\r\n },\r\n set(this: MeshMaterial, value) {\r\n this.transparentShadowCaster = value.bool[0];\r\n },\r\n isValid(this: MeshMaterial) {\r\n return !this.$isInstance && this.blendMode !== 'none';\r\n }\r\n },\r\n {\r\n name: 'ShadowAlphaCutoff',\r\n type: 'float',\r\n default: 0.5,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: MeshMaterial, value) {\r\n value.num[0] = this.shadowAlphaCutoff;\r\n },\r\n set(this: MeshMaterial, value) {\r\n this.shadowAlphaCutoff = value.num[0];\r\n },\r\n isValid(this: MeshMaterial) {\r\n return !this.$isInstance && this.blendMode !== 'none' && this.transparentShadowCaster;\r\n }\r\n },\r\n {\r\n name: 'CullMode',\r\n description: 'Cull mode for this material',\r\n type: 'string',\r\n options: {\r\n enum: { labels: ['None', 'Front', 'Back'], values: ['none', 'front', 'back'] }\r\n },\r\n default: 'back',\r\n get(this: MeshMaterial, value) {\r\n value.str[0] = this.cullMode;\r\n },\r\n set(this: MeshMaterial, value) {\r\n this.cullMode = value.str[0] as FaceMode;\r\n },\r\n isValid() {\r\n return !this.$isInstance;\r\n }\r\n },\r\n {\r\n name: 'Opacity',\r\n description: 'Opacity value for this material, no effect if blendingMode is `none`',\r\n type: 'float',\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n default: 1,\r\n get(this: MeshMaterial, value) {\r\n value.num[0] = this.opacity;\r\n },\r\n set(this: MeshMaterial, value) {\r\n this.opacity = value.num[0];\r\n },\r\n isHidden: createBlueprintOutputHiddenPredicate(['Opacity']),\r\n getDefaultValue(this: MeshMaterial) {\r\n return this.$isInstance ? this.coreMaterial.opacity : 1;\r\n }\r\n },\r\n {\r\n name: 'TAAStrength',\r\n description: 'TAA strength for this material',\r\n type: 'float',\r\n options: {\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n default: 15 / 16,\r\n get(this: MeshMaterial, value) {\r\n value.num[0] = this.TAAStrength;\r\n },\r\n set(this: MeshMaterial, value) {\r\n this.TAAStrength = value.num[0];\r\n },\r\n isValid(this: MeshMaterial) {\r\n return !this.$isInstance;\r\n }\r\n }\r\n ]);\r\n }\r\n },\r\n getMeshMaterialInstanceUniformsClass(MeshMaterial)\r\n ];\r\n}\r\n\r\n/** @internal */\r\nexport function getSpriteMaterialClass(_manager: ResourceManager): SerializableClass[] {\r\n return [\r\n {\r\n ctor: SpriteMaterial,\r\n name: 'SpriteMaterial',\r\n parent: MeshMaterial,\r\n getProps() {\r\n return [];\r\n }\r\n },\r\n getMeshMaterialInstanceUniformsClass(SpriteMaterial)\r\n ];\r\n}\r\n\r\n/** @internal */\r\nexport function getStandardSpriteMaterialClass(manager: ResourceManager): SerializableClass[] {\r\n return [\r\n {\r\n ctor: StandardSpriteMaterial,\r\n name: 'StandardSpriteMaterial',\r\n parent: SpriteMaterial,\r\n getProps() {\r\n return defineProps([\r\n {\r\n name: 'SpriteTexture',\r\n description: 'Texture file path for the sprite',\r\n type: 'object',\r\n default: '',\r\n options: {\r\n mimeTypes: [\r\n 'image/jpeg',\r\n 'image/png',\r\n 'image/tga',\r\n 'image/vnd.radiance',\r\n 'image/x-dds',\r\n 'image/webp'\r\n ]\r\n },\r\n isNullable() {\r\n return true;\r\n },\r\n get(value) {\r\n value.str[0] = manager.getAssetId(this.spriteTexture) ?? '';\r\n },\r\n async set(this: StandardSpriteMaterial, value) {\r\n if (!value || !value.str[0]) {\r\n this.spriteTexture = null;\r\n } else {\r\n const assetId = value.str[0];\r\n let tex: Nullable<Texture2D>;\r\n try {\r\n tex = await manager.fetchTexture<Texture2D>(assetId, {\r\n linearColorSpace: false\r\n });\r\n } catch (err) {\r\n console.error(`Load asset failed: ${value.str[0]}: ${err}`);\r\n tex = null;\r\n }\r\n if (tex?.isTexture2D()) {\r\n this.spriteTexture = tex;\r\n } else {\r\n console.error('Invalid texture type');\r\n }\r\n }\r\n },\r\n isValid() {\r\n return !this.$isInstance;\r\n }\r\n }\r\n ]);\r\n }\r\n },\r\n getMeshMaterialInstanceUniformsClass(StandardSpriteMaterial)\r\n ];\r\n}\r\n\r\n/** @internal */\r\nexport function getParticleMaterialClass(manager: ResourceManager): SerializableClass[] {\r\n return [\r\n {\r\n ctor: ParticleMaterial,\r\n name: 'ParticleMaterial',\r\n parent: MeshMaterial,\r\n getProps() {\r\n return defineProps([\r\n {\r\n name: 'AlphaMap',\r\n description: 'Alpha texture file path',\r\n type: 'object',\r\n default: '',\r\n options: {\r\n mimeTypes: [\r\n 'image/jpeg',\r\n 'image/png',\r\n 'image/tga',\r\n 'image/vnd.radiance',\r\n 'image/x-dds',\r\n 'image/webp'\r\n ]\r\n },\r\n isNullable() {\r\n return true;\r\n },\r\n get(this: ParticleMaterial, value) {\r\n value.str[0] = manager.getAssetId(this.alphaMap) ?? '';\r\n },\r\n async set(this: ParticleMaterial, value) {\r\n if (!value || !value.str[0]) {\r\n this.alphaMap = null;\r\n } else {\r\n const assetId = value.str[0];\r\n let tex: Nullable<Texture2D> = null;\r\n try {\r\n tex = await manager.fetchTexture<Texture2D>(assetId, { linearColorSpace: true });\r\n } catch (err) {\r\n console.error(`Load asset failed: ${value.str[0]}: ${err}`);\r\n }\r\n if (tex?.isTexture2D()) {\r\n this.alphaMap = tex;\r\n } else {\r\n console.error('Invalid albedo texture');\r\n }\r\n }\r\n }\r\n },\r\n {\r\n name: 'RampMap',\r\n description: 'Ramp texture file path',\r\n type: 'object',\r\n default: '',\r\n options: {\r\n mimeTypes: [\r\n 'image/jpeg',\r\n 'image/png',\r\n 'image/tga',\r\n 'image/vnd.radiance',\r\n 'image/x-dds',\r\n 'image/webp'\r\n ]\r\n },\r\n isNullable() {\r\n return true;\r\n },\r\n get(this: ParticleMaterial, value) {\r\n value.str[0] = manager.getAssetId(this.rampMap) ?? '';\r\n },\r\n async set(this: ParticleMaterial, value) {\r\n if (!value || !value.str[0]) {\r\n this.rampMap = null;\r\n } else {\r\n const assetId = value.str[0];\r\n let tex: Nullable<Texture2D> = null;\r\n try {\r\n tex = await manager.fetchTexture<Texture2D>(assetId);\r\n } catch (err) {\r\n console.error(`Load asset failed: ${value.str[0]}: ${err}`);\r\n }\r\n if (tex?.isTexture2D()) {\r\n this.rampMap = tex;\r\n } else {\r\n console.error('Invalid albedo texture');\r\n }\r\n }\r\n }\r\n }\r\n ]);\r\n }\r\n },\r\n getMeshMaterialInstanceUniformsClass(ParticleMaterial)\r\n ];\r\n}\r\n\r\n/** @internal */\r\nexport function getPBRBluePrintMaterialClass(): SerializableClass[] {\r\n return [\r\n {\r\n ctor: PBRBluePrintMaterial,\r\n parent: PBRMetallicRoughnessMaterial,\r\n name: 'PBRBluePrintMaterial',\r\n getProps() {\r\n return defineProps([]);\r\n }\r\n },\r\n getMeshMaterialInstanceUniformsClass(PBRBluePrintMaterial)\r\n ];\r\n}\r\n\r\n/** @internal */\r\nexport function getSpriteBlueprintMaterialClass(): SerializableClass[] {\r\n return [\r\n {\r\n ctor: SpriteBlueprintMaterial,\r\n parent: MeshMaterial,\r\n name: 'SpriteBlueprintMaterial',\r\n getProps() {\r\n return [];\r\n }\r\n },\r\n getMeshMaterialInstanceUniformsClass(SpriteBlueprintMaterial)\r\n ];\r\n}\r\n\r\n/** @internal */\r\nexport function getUnlitMaterialClass(manager: ResourceManager): SerializableClass[] {\r\n return [\r\n {\r\n ctor: UnlitMaterial,\r\n parent: MeshMaterial,\r\n name: 'UnlitMaterial',\r\n getProps() {\r\n return getUnlitMaterialProps(manager);\r\n }\r\n },\r\n getMeshMaterialInstanceUniformsClass(UnlitMaterial)\r\n ];\r\n}\r\n\r\n/** @internal */\r\nexport function getMToonMaterialClass(manager: ResourceManager): SerializableClass[] {\r\n return [\r\n {\r\n ctor: MToonMaterial,\r\n parent: MeshMaterial,\r\n name: 'MToonMaterial',\r\n getProps() {\r\n return getMToonMaterialProps(manager);\r\n }\r\n },\r\n getMeshMaterialInstanceUniformsClass(MToonMaterial)\r\n ];\r\n}\r\n\r\n/** @internal */\r\nexport function getLambertMaterialClass(manager: ResourceManager): SerializableClass[] {\r\n return [\r\n {\r\n ctor: LambertMaterial,\r\n parent: MeshMaterial,\r\n name: 'LambertMaterial',\r\n getProps() {\r\n return getLitMaterialProps(manager);\r\n }\r\n },\r\n getMeshMaterialInstanceUniformsClass(LambertMaterial)\r\n ];\r\n}\r\n\r\n/** @internal */\r\nexport function getBlinnMaterialClass(manager: ResourceManager): SerializableClass[] {\r\n return [\r\n {\r\n ctor: BlinnMaterial,\r\n parent: MeshMaterial,\r\n name: 'BlinnMaterial',\r\n getProps() {\r\n return defineProps([\r\n {\r\n name: 'Shininess',\r\n description: 'Shininess value',\r\n type: 'float',\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 2048\r\n },\r\n get(this: BlinnMaterial, value) {\r\n value.num[0] = this.shininess;\r\n },\r\n set(this: BlinnMaterial, value) {\r\n this.shininess = value.num[0];\r\n },\r\n getDefaultValue(this: BlinnMaterial) {\r\n return this.$isInstance ? this.coreMaterial.shininess : 32;\r\n }\r\n },\r\n ...getLitMaterialProps(manager)\r\n ]);\r\n }\r\n },\r\n getMeshMaterialInstanceUniformsClass(BlinnMaterial)\r\n ];\r\n}\r\n\r\n/** @internal */\r\nexport function getPBRMetallicRoughnessMaterialClass(manager: ResourceManager): SerializableClass[] {\r\n return [\r\n {\r\n ctor: PBRMetallicRoughnessMaterial,\r\n parent: MeshMaterial,\r\n name: 'PBRMetallicRoughnessMaterial',\r\n getProps() {\r\n return defineProps([\r\n {\r\n name: 'Metallic',\r\n description: 'Metallic value',\r\n type: 'float',\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: PBRMetallicRoughnessMaterial, value) {\r\n value.num[0] = this.metallic;\r\n },\r\n set(this: PBRMetallicRoughnessMaterial, value) {\r\n this.metallic = value.num[0];\r\n },\r\n isHidden: createBlueprintOutputHiddenPredicate(['Metallic']),\r\n getDefaultValue(this: PBRMetallicRoughnessMaterial) {\r\n return this.$isInstance ? this.coreMaterial.metallic : 1;\r\n }\r\n },\r\n {\r\n name: 'Roughness',\r\n description: 'Roughness value',\r\n type: 'float',\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: PBRMetallicRoughnessMaterial, value) {\r\n value.num[0] = this.roughness;\r\n },\r\n set(this: PBRMetallicRoughnessMaterial, value) {\r\n this.roughness = value.num[0];\r\n },\r\n isHidden: createBlueprintOutputHiddenPredicate(['Roughness']),\r\n getDefaultValue(this: PBRMetallicRoughnessMaterial) {\r\n return this.$isInstance ? this.coreMaterial.roughness : 1;\r\n }\r\n },\r\n {\r\n name: 'SpecularFactor',\r\n description: 'RGBA specular factor used to tint and scale specular reflections',\r\n type: 'rgba',\r\n options: {\r\n animatable: true\r\n },\r\n get(this: PBRMetallicRoughnessMaterial, value) {\r\n value.num[0] = this.specularFactor.x;\r\n value.num[1] = this.specularFactor.y;\r\n value.num[2] = this.specularFactor.z;\r\n value.num[3] = this.specularFactor.w;\r\n },\r\n set(this: PBRMetallicRoughnessMaterial, value) {\r\n this.specularFactor = new Vector4(value.num[0], value.num[1], value.num[2], value.num[3]);\r\n },\r\n isHidden: createBlueprintOutputHiddenPredicate(['Specular', 'SpecularWeight']),\r\n getDefaultValue(this: PBRMetallicRoughnessMaterial) {\r\n return this.$isInstance ? this.coreMaterial.specularFactor : [1, 1, 1, 1];\r\n }\r\n },\r\n {\r\n name: 'Reflection',\r\n description: 'Reflection mode',\r\n type: 'string',\r\n default: 'ggx',\r\n options: {\r\n enum: {\r\n labels: ['None', 'GGX', 'Anisotropic', 'Glint'],\r\n values: ['none', 'ggx', 'anisotropic', 'glint']\r\n }\r\n },\r\n get(this: PBRMetallicRoughnessMaterial, value) {\r\n value.str[0] = this.reflectionMode;\r\n },\r\n set(this: PBRMetallicRoughnessMaterial, value) {\r\n this.reflectionMode = value.str[0] as PBRReflectionMode;\r\n },\r\n getDefaultValue(this: PBRMetallicRoughnessMaterial) {\r\n return this.$isInstance ? this.coreMaterial.reflectionMode : 'ggx';\r\n }\r\n },\r\n {\r\n name: 'Anisotropy',\r\n description: 'Strength of anisotropic reflections; values near 0 behave isotropically',\r\n type: 'float',\r\n default: 0.75,\r\n options: {\r\n animatable: true,\r\n minValue: -0.95,\r\n maxValue: 0.95\r\n },\r\n get(this: PBRMetallicRoughnessMaterial, value) {\r\n value.num[0] = this.anisotropy;\r\n },\r\n set(this: PBRMetallicRoughnessMaterial, value) {\r\n this.anisotropy = value.num[0];\r\n },\r\n getDefaultValue(this: PBRMetallicRoughnessMaterial) {\r\n return this.$isInstance ? this.coreMaterial.anisotropy : 0.75;\r\n },\r\n isValid(this: PBRMetallicRoughnessMaterial) {\r\n return this.reflectionMode === 'anisotropic';\r\n }\r\n },\r\n {\r\n name: 'AnisotropyDirection',\r\n description: 'Rotation angle in degrees for the anisotropic highlight direction',\r\n type: 'float',\r\n default: 0,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 360\r\n },\r\n get(this: PBRMetallicRoughnessMaterial, value) {\r\n value.num[0] = this.anisotropyDirection;\r\n },\r\n set(this: PBRMetallicRoughnessMaterial, value) {\r\n this.anisotropyDirection = value.num[0];\r\n },\r\n getDefaultValue(this: PBRMetallicRoughnessMaterial) {\r\n return this.$isInstance ? this.coreMaterial.anisotropyDirection : 0;\r\n },\r\n isValid(this: PBRMetallicRoughnessMaterial) {\r\n return this.reflectionMode === 'anisotropic';\r\n }\r\n },\r\n ...getTextureProps<PBRMetallicRoughnessMaterial>(\r\n manager,\r\n 'anisotropyDirectionTexture',\r\n '2D',\r\n false,\r\n 0,\r\n function () {\r\n return this.reflectionMode === 'anisotropic';\r\n }\r\n ),\r\n {\r\n name: 'AnisotropyDirectionScaleBias',\r\n description: 'Scale and bias applied when decoding anisotropy direction from its texture',\r\n type: 'vec2',\r\n default: [1, 0],\r\n options: {\r\n animatable: true\r\n },\r\n get(this: PBRMetallicRoughnessMaterial, value) {\r\n value.num[0] = this.anisotropyDirectionScaleBias.x;\r\n value.num[1] = this.anisotropyDirectionScaleBias.y;\r\n },\r\n set(this: PBRMetallicRoughnessMaterial, value) {\r\n this.anisotropyDirectionScaleBias = new Vector2(value.num[0], value.num[1]);\r\n },\r\n getDefaultValue(this: PBRMetallicRoughnessMaterial) {\r\n return this.$isInstance ? this.coreMaterial.anisotropyDirectionScaleBias : [1, 0];\r\n },\r\n isValid() {\r\n return (\r\n !this.$isInstance &&\r\n this.reflectionMode === 'anisotropic' &&\r\n !!this.anisotropyDirectionTexture\r\n );\r\n }\r\n },\r\n {\r\n name: 'SubsurfaceProfile',\r\n description: 'If true, enables subsurface scattering for translucent materials',\r\n type: 'object',\r\n phase: 1,\r\n default: null,\r\n options: {\r\n objectTypes: [SubsurfaceProfile]\r\n },\r\n isNullable() {\r\n return true;\r\n },\r\n get(this: PBRMetallicRoughnessMaterial, value) {\r\n value.object[0] = this.subsurfaceProfile;\r\n },\r\n set(this: PBRMetallicRoughnessMaterial, value) {\r\n this.subsurfaceProfile = (value.object[0] as SubsurfaceProfile) ?? null;\r\n },\r\n isValid(this: PBRMetallicRoughnessMaterial) {\r\n return !this.$isInstance;\r\n }\r\n },\r\n ...getTextureProps<PBRMetallicRoughnessMaterial>(\r\n manager,\r\n 'subsurfaceTexture',\r\n '2D',\r\n false,\r\n 1,\r\n function () {\r\n return !!this.subsurfaceProfile;\r\n }\r\n ),\r\n ...getTextureProps<PBRMetallicRoughnessMaterial>(\r\n manager,\r\n 'metallicRoughnessTexture',\r\n '2D',\r\n false,\r\n 0,\r\n undefined,\r\n ['Metallic', 'Roughness']\r\n ),\r\n ...getTextureProps<PBRMetallicRoughnessMaterial>(\r\n manager,\r\n 'specularColorTexture',\r\n '2D',\r\n true,\r\n 0,\r\n undefined,\r\n ['Specular']\r\n ),\r\n ...getPBRCommonProps(manager)\r\n ]);\r\n }\r\n },\r\n getMeshMaterialInstanceUniformsClass(PBRMetallicRoughnessMaterial)\r\n ];\r\n}\r\n\r\n/** @internal */\r\nexport function getPBRSpecularGlossinessMaterialClass(manager: ResourceManager): SerializableClass[] {\r\n return [\r\n {\r\n ctor: PBRSpecularGlossinessMaterial,\r\n name: 'PBRSpecularGlossinessMaterial',\r\n parent: MeshMaterial,\r\n getProps() {\r\n return defineProps([\r\n {\r\n name: 'SpecularFactor',\r\n description: 'RGB specular color multiplier for reflected highlights',\r\n type: 'rgb',\r\n options: {\r\n animatable: true\r\n },\r\n get(this: PBRSpecularGlossinessMaterial, value) {\r\n value.num[0] = this.specularFactor.x;\r\n value.num[1] = this.specularFactor.y;\r\n value.num[2] = this.specularFactor.z;\r\n },\r\n set(this: PBRSpecularGlossinessMaterial, value) {\r\n this.specularFactor = new Vector3(value.num[0], value.num[1], value.num[2]);\r\n },\r\n getDefaultValue(this: PBRSpecularGlossinessMaterial) {\r\n return this.$isInstance ? this.coreMaterial.specularFactor : [1, 1, 1];\r\n }\r\n },\r\n {\r\n name: 'GlossnessFactor',\r\n description: 'Glossiness of the surface; higher values produce sharper reflections',\r\n type: 'float',\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: PBRSpecularGlossinessMaterial, value) {\r\n value.num[0] = this.glossinessFactor;\r\n },\r\n set(this: PBRSpecularGlossinessMaterial, value) {\r\n this.glossinessFactor = value.num[0];\r\n },\r\n getDefaultValue(this: PBRSpecularGlossinessMaterial) {\r\n return this.$isInstance ? this.coreMaterial.glossinessFactor : 1;\r\n }\r\n },\r\n ...getPBRCommonProps(manager)\r\n ]);\r\n }\r\n },\r\n getMeshMaterialInstanceUniformsClass(PBRSpecularGlossinessMaterial)\r\n ];\r\n}\r\n"],"names":["createBlueprintOutputHiddenPredicate","_outputs","PBRBluePrintMaterial","getSubsurfaceProfileClass","ctor","SubsurfaceProfile","name","getProps","defineProps","type","default","options","label","enum","labels","values","get","value","str","preset","set","animatable","minValue","maxValue","num","meanFreePathColor","x","y","z","Vector3","meanFreePathDistance","strength","scale","worldUnitScale","boundaryColorBleed","transmissionTintColor","extinctionScale","normalScale","scatteringDistribution","getPBRCommonProps","manager","supportsSSSThicknessAuthoring","$isInstance","transmission","subsurfaceProfile","description","ior","isValid","phase","occlusionStrength","isHidden","occlusionTexture","getTextureProps","undefined","emissiveColor","getDefaultValue","coreMaterial","emissiveStrength","rectSpecularScale","bool","transmissionFactor","call","thicknessFactor","attenuationColor","attenuationDistance","iridescence","iridescenceFactor","iridescenceIor","iridescenceThicknessMin","iridescenceThicknessMax","clearcoat","clearcoatIntensity","clearcoatRoughnessFactor","sheen","sheenColorFactor","sheenRoughnessFactor","getLitMaterialProps","getUnlitMaterialProps","cullMode","doubleSidedLighting","vertexNormal","vertexTangent","vertexColor","color","albedoColor","w","Vector4","getMToonMaterialProps","normalTexture","shadeColorFactor","shadingShiftFactor","shadingShiftTextureScale","shadingShiftTexture","shadingToonyFactor","giEqualizationFactor","matcapFactor","parametricRimColorFactor","parametricRimFresnelPowerFactor","parametricRimLiftFactor","rimLightingMixFactor","outlineWidthMode","outlineWidthFactor","outlineColorFactor","outlineLightingMixFactor","outlineUsesTangentNormals","uvAnimationScrollXSpeedFactor","uvAnimationScrollYSpeedFactor","uvAnimationRotationSpeedFactor","transparentWithZWrite","renderQueueOffsetNumber","getMeshMaterialClass","MeshMaterial","alphaCutoff","alphaToCoverage","alphaDither","blendMode","transparentShadowCaster","shadowAlphaCutoff","opacity","TAAStrength","getMeshMaterialInstanceUniformsClass","getSpriteMaterialClass","_manager","SpriteMaterial","parent","getStandardSpriteMaterialClass","StandardSpriteMaterial","mimeTypes","isNullable","getAssetId","spriteTexture","assetId","tex","fetchTexture","linearColorSpace","err","console","error","isTexture2D","getParticleMaterialClass","ParticleMaterial","alphaMap","rampMap","getPBRBluePrintMaterialClass","PBRMetallicRoughnessMaterial","getSpriteBlueprintMaterialClass","SpriteBlueprintMaterial","getUnlitMaterialClass","UnlitMaterial","getMToonMaterialClass","MToonMaterial","getLambertMaterialClass","LambertMaterial","getBlinnMaterialClass","BlinnMaterial","shininess","getPBRMetallicRoughnessMaterialClass","metallic","roughness","specularFactor","reflectionMode","anisotropy","anisotropyDirection","anisotropyDirectionScaleBias","Vector2","anisotropyDirectionTexture","objectTypes","object","getPBRSpecularGlossinessMaterialClass","PBRSpecularGlossinessMaterial","glossinessFactor"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"material.js","sources":["../../../../src/utility/serialization/scene/material.ts"],"sourcesContent":["import type { FaceMode, Texture2D } from '@zephyr3d/device';\r\nimport type { BlendMode } from '../../../material';\r\nimport {\r\n BlinnMaterial,\r\n LambertMaterial,\r\n MeshMaterial,\r\n MToonMaterial,\r\n ParticleMaterial,\r\n PBRBluePrintMaterial,\r\n PBRMetallicRoughnessMaterial,\r\n PBRSpecularGlossinessMaterial,\r\n SkinMaterial,\r\n SubsurfaceProfile,\r\n type MToonOutlineWidthMode,\r\n type SubsurfaceProfilePreset,\r\n SpriteBlueprintMaterial,\r\n UnlitMaterial\r\n} from '../../../material';\r\nimport type { PBRBlueprintOutputName } from '../../../material/pbrblueprint';\r\nimport { defineProps, type PropertyAccessor, type SerializableClass } from '../types';\r\nimport type { Nullable } from '@zephyr3d/base';\r\nimport { Vector2, Vector3, Vector4 } from '@zephyr3d/base';\r\nimport { getTextureProps } from './common';\r\nimport type { ResourceManager } from '../manager';\r\nimport { getMeshMaterialInstanceUniformsClass } from './common';\r\nimport { SpriteMaterial } from '../../../material/sprite';\r\nimport { StandardSpriteMaterial } from '../../../material/sprite_std';\r\nimport type { PBRReflectionMode } from '../../../material/mixins/lightmodel/pbrmetallicroughness';\r\n\r\ntype PBRMaterial = PBRMetallicRoughnessMaterial | PBRSpecularGlossinessMaterial;\r\ntype LitPropTypes = LambertMaterial | BlinnMaterial | SkinMaterial | PBRMaterial;\r\ntype UnlitPropTypes = UnlitMaterial | LitPropTypes;\r\n\r\nfunction createBlueprintOutputHiddenPredicate(_outputs: readonly PBRBlueprintOutputName[]) {\r\n return function (this: any) {\r\n return this instanceof PBRBluePrintMaterial;\r\n };\r\n}\r\n\r\nexport function getSubsurfaceProfileClass(): SerializableClass {\r\n return {\r\n ctor: SubsurfaceProfile,\r\n name: 'SubsurfaceProfile',\r\n getProps() {\r\n return defineProps([\r\n {\r\n name: 'Preset',\r\n type: 'string',\r\n default: 'skin_default',\r\n options: {\r\n label: 'LookPreset',\r\n enum: {\r\n labels: [\r\n 'Skin Thin',\r\n 'Skin Default',\r\n 'Skin HeavyMakeup',\r\n 'Wax Backlit',\r\n 'Wax Soft',\r\n 'Jade Backlit',\r\n 'Jade Soft'\r\n ],\r\n values: [\r\n 'skin_thin',\r\n 'skin_default',\r\n 'skin_heavy_makeup',\r\n 'wax_backlit',\r\n 'wax_soft',\r\n 'jade_backlit',\r\n 'jade_soft'\r\n ]\r\n }\r\n },\r\n get(this: SubsurfaceProfile, value) {\r\n value.str[0] = this.preset;\r\n },\r\n set(this: SubsurfaceProfile, value) {\r\n this.preset = value.str[0] as SubsurfaceProfilePreset;\r\n }\r\n },\r\n {\r\n name: 'ScatterColor',\r\n type: 'rgb',\r\n default: [1, 0.45, 0.17],\r\n options: {\r\n label: 'MeanFreePathColor',\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: SubsurfaceProfile, value) {\r\n value.num[0] = this.meanFreePathColor.x;\r\n value.num[1] = this.meanFreePathColor.y;\r\n value.num[2] = this.meanFreePathColor.z;\r\n },\r\n set(this: SubsurfaceProfile, value) {\r\n this.meanFreePathColor = new Vector3(value.num[0], value.num[1], value.num[2]);\r\n }\r\n },\r\n {\r\n name: 'ScatterDistance',\r\n type: 'float',\r\n default: 0.92,\r\n options: {\r\n label: 'MeanFreePathDistance',\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 8\r\n },\r\n get(this: SubsurfaceProfile, value) {\r\n value.num[0] = this.meanFreePathDistance;\r\n },\r\n set(this: SubsurfaceProfile, value) {\r\n this.meanFreePathDistance = value.num[0];\r\n }\r\n },\r\n {\r\n name: 'ScatterWeight',\r\n type: 'float',\r\n default: 0.82,\r\n options: {\r\n label: 'ScatterWeight',\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 8\r\n },\r\n get(this: SubsurfaceProfile, value) {\r\n value.num[0] = this.strength;\r\n },\r\n set(this: SubsurfaceProfile, value) {\r\n this.strength = value.num[0];\r\n }\r\n },\r\n {\r\n name: 'ScatterScale',\r\n type: 'float',\r\n default: 0.96,\r\n options: {\r\n label: 'ScatterScale',\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 8\r\n },\r\n get(this: SubsurfaceProfile, value) {\r\n value.num[0] = this.scale;\r\n },\r\n set(this: SubsurfaceProfile, value) {\r\n this.scale = value.num[0];\r\n }\r\n },\r\n {\r\n name: 'WorldUnitScale',\r\n type: 'float',\r\n default: 1,\r\n options: {\r\n label: 'WorldUnitScale',\r\n animatable: true,\r\n minValue: 0.05,\r\n maxValue: 4\r\n },\r\n get(this: SubsurfaceProfile, value) {\r\n value.num[0] = this.worldUnitScale;\r\n },\r\n set(this: SubsurfaceProfile, value) {\r\n this.worldUnitScale = value.num[0];\r\n }\r\n },\r\n {\r\n name: 'BoundaryColorBleed',\r\n type: 'float',\r\n default: 0.22,\r\n options: {\r\n label: 'BoundaryColorBleed',\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: SubsurfaceProfile, value) {\r\n value.num[0] = this.boundaryColorBleed;\r\n },\r\n set(this: SubsurfaceProfile, value) {\r\n this.boundaryColorBleed = value.num[0];\r\n }\r\n },\r\n {\r\n name: 'TransmissionTintColor',\r\n type: 'rgb',\r\n default: [1, 0.46, 0.34],\r\n options: {\r\n label: 'TransmissionTintColor',\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: SubsurfaceProfile, value) {\r\n value.num[0] = this.transmissionTintColor.x;\r\n value.num[1] = this.transmissionTintColor.y;\r\n value.num[2] = this.transmissionTintColor.z;\r\n },\r\n set(this: SubsurfaceProfile, value) {\r\n this.transmissionTintColor = new Vector3(value.num[0], value.num[1], value.num[2]);\r\n }\r\n },\r\n {\r\n name: 'ExtinctionScale',\r\n type: 'float',\r\n default: 1.06,\r\n options: {\r\n label: 'ExtinctionScale',\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 4\r\n },\r\n get(this: SubsurfaceProfile, value) {\r\n value.num[0] = this.extinctionScale;\r\n },\r\n set(this: SubsurfaceProfile, value) {\r\n this.extinctionScale = value.num[0];\r\n }\r\n },\r\n {\r\n name: 'NormalScale',\r\n type: 'float',\r\n default: 1,\r\n options: {\r\n label: 'NormalScale',\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 2\r\n },\r\n get(this: SubsurfaceProfile, value) {\r\n value.num[0] = this.normalScale;\r\n },\r\n set(this: SubsurfaceProfile, value) {\r\n this.normalScale = value.num[0];\r\n }\r\n },\r\n {\r\n name: 'ScatteringDistribution',\r\n type: 'float',\r\n default: 0.6,\r\n options: {\r\n label: 'ScatteringDistribution',\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: SubsurfaceProfile, value) {\r\n value.num[0] = this.scatteringDistribution;\r\n },\r\n set(this: SubsurfaceProfile, value) {\r\n this.scatteringDistribution = value.num[0];\r\n }\r\n }\r\n ]);\r\n }\r\n };\r\n}\r\n\r\nfunction getPBRCommonProps(manager: ResourceManager): PropertyAccessor<PBRMaterial>[] {\r\n const supportsSSSThicknessAuthoring = function (this: PBRMaterial) {\r\n return (\r\n !this.$isInstance &&\r\n !!(this.transmission || (this as PBRMaterial & { subsurfaceProfile?: unknown }).subsurfaceProfile)\r\n );\r\n };\r\n return defineProps([\r\n {\r\n name: 'IOR',\r\n description: 'Index of refraction for the material surface',\r\n type: 'float',\r\n default: 1.5,\r\n options: {\r\n animatable: true\r\n },\r\n get(this: PBRMaterial, value) {\r\n value.num[0] = this.ior;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.ior = value.num[0];\r\n },\r\n isValid() {\r\n return !this.$isInstance;\r\n }\r\n },\r\n {\r\n name: 'OcclusionStrength',\r\n description: 'Strength multiplier for the occlusion texture effect',\r\n type: 'float',\r\n phase: 2,\r\n default: 1,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: PBRMaterial, value) {\r\n value.num[0] = this.occlusionStrength;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.occlusionStrength = value.num[0];\r\n },\r\n isHidden: createBlueprintOutputHiddenPredicate(['AO']),\r\n isValid(this: PBRMaterial) {\r\n return !this.$isInstance && !!this.occlusionTexture;\r\n }\r\n },\r\n ...getTextureProps<PBRMaterial>(manager, 'occlusionTexture', '2D', false, 0, undefined, ['AO']),\r\n {\r\n name: 'EmissiveColor',\r\n description: 'Base self-illumination color emitted by the material',\r\n type: 'rgb',\r\n options: {\r\n animatable: true\r\n },\r\n get(this: PBRMaterial, value) {\r\n value.num[0] = this.emissiveColor.x;\r\n value.num[1] = this.emissiveColor.y;\r\n value.num[2] = this.emissiveColor.z;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.emissiveColor = new Vector3(value.num[0], value.num[1], value.num[2]);\r\n },\r\n isHidden: createBlueprintOutputHiddenPredicate(['Emissive']),\r\n getDefaultValue(this: PBRMaterial) {\r\n return this.$isInstance ? this.coreMaterial.emissiveColor : [0, 0, 0];\r\n }\r\n },\r\n {\r\n name: 'EmissiveStrength',\r\n description: 'Intensity multiplier for the emissive color and emissive texture',\r\n type: 'float',\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: PBRMaterial, value) {\r\n value.num[0] = this.emissiveStrength;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.emissiveStrength = value.num[0];\r\n },\r\n isHidden: createBlueprintOutputHiddenPredicate(['Emissive']),\r\n getDefaultValue(this: PBRMaterial) {\r\n return this.$isInstance ? this.coreMaterial.emissiveStrength : 1;\r\n }\r\n },\r\n {\r\n name: 'RectSpecularScale',\r\n type: 'float',\r\n options: {\r\n label: 'RectSpecularScale',\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 4\r\n },\r\n get(this: PBRMaterial, value) {\r\n value.num[0] = this.rectSpecularScale;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.rectSpecularScale = value.num[0];\r\n },\r\n getDefaultValue(this: PBRMaterial) {\r\n return this.$isInstance ? this.coreMaterial.rectSpecularScale : 1;\r\n }\r\n },\r\n ...getTextureProps<PBRMaterial>(manager, 'emissiveTexture', '2D', true, 0, undefined, ['Emissive']),\r\n ...getTextureProps<PBRMaterial>(manager, 'specularTexture', '2D', false, 0, undefined, [\r\n 'SpecularWeight'\r\n ]),\r\n {\r\n name: 'Transmission',\r\n description: 'If true, enables light transmission through the material',\r\n type: 'bool',\r\n phase: 0,\r\n default: false,\r\n get(this: PBRMaterial, value) {\r\n value.bool[0] = this.transmission;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.transmission = value.bool[0];\r\n },\r\n isValid() {\r\n return !this.$isInstance;\r\n }\r\n },\r\n {\r\n name: 'TransmissionFactor',\r\n description: 'Amount of transmitted light, from fully opaque to fully transparent',\r\n type: 'float',\r\n phase: 1,\r\n default: 0,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: PBRMaterial, value) {\r\n value.num[0] = this.transmissionFactor;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.transmissionFactor = value.num[0];\r\n },\r\n isValid() {\r\n return supportsSSSThicknessAuthoring.call(this);\r\n }\r\n },\r\n ...getTextureProps<PBRMaterial>(manager, 'transmissionTexture', '2D', false, 1, function () {\r\n return this.transmission || !!(this as PBRMaterial & { subsurfaceProfile?: unknown }).subsurfaceProfile;\r\n }),\r\n {\r\n name: 'ThicknessFactor',\r\n description: 'Physical thickness used by transmission and volume attenuation',\r\n type: 'float',\r\n phase: 1,\r\n default: 0,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 99999\r\n },\r\n get(this: PBRMaterial, value) {\r\n value.num[0] = this.thicknessFactor;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.thicknessFactor = value.num[0];\r\n },\r\n isValid() {\r\n return supportsSSSThicknessAuthoring.call(this);\r\n }\r\n },\r\n ...getTextureProps<PBRMaterial>(manager, 'thicknessTexture', '2D', false, 1, function () {\r\n return this.transmission || !!(this as PBRMaterial & { subsurfaceProfile?: unknown }).subsurfaceProfile;\r\n }),\r\n {\r\n name: 'AttenuationColor',\r\n description: 'Color tint applied to transmitted light as it travels through the material',\r\n type: 'rgb',\r\n phase: 1,\r\n default: [1, 1, 1],\r\n options: {\r\n animatable: true\r\n },\r\n get(this: PBRMaterial, value) {\r\n value.num[0] = this.attenuationColor.x;\r\n value.num[1] = this.attenuationColor.y;\r\n value.num[2] = this.attenuationColor.z;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.attenuationColor = new Vector3(value.num[0], value.num[1], value.num[2]);\r\n },\r\n isValid() {\r\n return supportsSSSThicknessAuthoring.call(this);\r\n }\r\n },\r\n {\r\n name: 'AttenuationDistance',\r\n description: 'Distance over which transmitted light is attenuated inside the material',\r\n type: 'float',\r\n phase: 1,\r\n default: 99999,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 99999\r\n },\r\n get(this: PBRMaterial, value) {\r\n value.num[0] = this.attenuationDistance;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.attenuationDistance = value.num[0];\r\n },\r\n isValid() {\r\n return supportsSSSThicknessAuthoring.call(this);\r\n }\r\n },\r\n {\r\n name: 'Iridescence',\r\n description: 'If true, enables thin-film iridescence on the material surface',\r\n type: 'bool',\r\n phase: 0,\r\n default: false,\r\n get(this: PBRMaterial, value) {\r\n value.bool[0] = this.iridescence;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.iridescence = value.bool[0];\r\n },\r\n isValid() {\r\n return !this.$isInstance;\r\n }\r\n },\r\n {\r\n name: 'IridescenceFactor',\r\n description: 'Strength of the iridescence effect',\r\n type: 'float',\r\n phase: 1,\r\n default: 0,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: PBRMaterial, value) {\r\n value.num[0] = this.iridescenceFactor;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.iridescenceFactor = value.num[0];\r\n },\r\n isValid() {\r\n return !this.$isInstance && !!this.iridescence;\r\n }\r\n },\r\n ...getTextureProps<PBRMaterial>(manager, 'iridescenceTexture', '2D', false, 1, function () {\r\n return this.iridescence;\r\n }),\r\n {\r\n name: 'IridescenceIOR',\r\n description: 'Index of refraction used for the iridescence layer',\r\n type: 'float',\r\n phase: 1,\r\n default: 1.3,\r\n options: {\r\n animatable: true\r\n },\r\n get(this: PBRMaterial, value) {\r\n value.num[0] = this.iridescenceIor;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.iridescenceIor = value.num[0];\r\n },\r\n isValid() {\r\n return !this.$isInstance && !!this.iridescence;\r\n }\r\n },\r\n {\r\n name: 'IridescenceThicknessMin',\r\n description: 'Minimum thin-film thickness used for iridescence, typically in nanometers',\r\n type: 'float',\r\n phase: 1,\r\n default: 100,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1000\r\n },\r\n get(this: PBRMaterial, value) {\r\n value.num[0] = this.iridescenceThicknessMin;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.iridescenceThicknessMin = value.num[0];\r\n },\r\n isValid() {\r\n return !this.$isInstance && !!this.iridescence;\r\n }\r\n },\r\n {\r\n name: 'IridescenceThicknessMax',\r\n description: 'Maximum thin-film thickness used for iridescence, typically in nanometers',\r\n type: 'float',\r\n phase: 1,\r\n default: 400,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1000\r\n },\r\n get(this: PBRMaterial, value) {\r\n value.num[0] = this.iridescenceThicknessMax;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.iridescenceThicknessMax = value.num[0];\r\n },\r\n isValid() {\r\n return !this.$isInstance && !!this.iridescence;\r\n }\r\n },\r\n ...getTextureProps<PBRMaterial>(manager, 'iridescenceThicknessTexture', '2D', false, 1, function () {\r\n return this.iridescence;\r\n }),\r\n {\r\n name: 'ClearCoat',\r\n description: 'If true, enables a clear coat layer on top of the material',\r\n type: 'bool',\r\n phase: 0,\r\n default: false,\r\n get(this: PBRMaterial, value) {\r\n value.bool[0] = this.clearcoat;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.clearcoat = value.bool[0];\r\n },\r\n isValid() {\r\n return !this.$isInstance;\r\n }\r\n },\r\n {\r\n name: 'ClearCoatIntensity',\r\n description: 'Strength of the clear coat layer',\r\n type: 'float',\r\n phase: 1,\r\n default: 0,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: PBRMaterial, value) {\r\n value.num[0] = this.clearcoatIntensity;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.clearcoatIntensity = value.num[0];\r\n },\r\n isValid() {\r\n return !this.$isInstance && !!this.clearcoat;\r\n }\r\n },\r\n ...getTextureProps<PBRMaterial>(manager, 'clearcoatIntensityTexture', '2D', false, 1, function () {\r\n return this.clearcoat;\r\n }),\r\n {\r\n name: 'ClearCoatRoughnessFactor',\r\n description: 'Roughness of the clear coat layer',\r\n type: 'float',\r\n phase: 1,\r\n default: 0,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: PBRMaterial, value) {\r\n value.num[0] = this.clearcoatRoughnessFactor;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.clearcoatRoughnessFactor = value.num[0];\r\n },\r\n isValid() {\r\n return !this.$isInstance && !!this.clearcoat;\r\n }\r\n },\r\n ...getTextureProps<PBRMaterial>(manager, 'clearcoatRoughnessTexture', '2D', false, 1, function () {\r\n return this.clearcoat;\r\n }),\r\n ...getTextureProps<PBRMaterial>(manager, 'clearcoatNormalTexture', '2D', false, 1, function () {\r\n return this.clearcoat;\r\n }),\r\n {\r\n name: 'Sheen',\r\n description: 'If true, enables a soft fabric-like sheen layer',\r\n type: 'bool',\r\n phase: 0,\r\n default: false,\r\n get(this: PBRMaterial, value) {\r\n value.bool[0] = this.sheen;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.sheen = value.bool[0];\r\n },\r\n isValid() {\r\n return !this.$isInstance;\r\n }\r\n },\r\n {\r\n name: 'SheenColorFactor',\r\n description: 'Color of the sheen layer',\r\n type: 'rgb',\r\n phase: 1,\r\n default: [0, 0, 0],\r\n options: {\r\n animatable: true\r\n },\r\n get(this: PBRMaterial, value) {\r\n value.num[0] = this.sheenColorFactor.x;\r\n value.num[1] = this.sheenColorFactor.y;\r\n value.num[2] = this.sheenColorFactor.z;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.sheenColorFactor = new Vector3(value.num[0], value.num[1], value.num[2]);\r\n },\r\n isValid() {\r\n return !this.$isInstance && !!this.sheen;\r\n }\r\n },\r\n ...getTextureProps<PBRMaterial>(manager, 'sheenColorTexture', '2D', true, 1, function () {\r\n return this.sheen;\r\n }),\r\n {\r\n name: 'SheenRoughnessFactor',\r\n description: 'Roughness of the sheen layer',\r\n type: 'float',\r\n phase: 1,\r\n default: 0,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: PBRMaterial, value) {\r\n value.num[0] = this.sheenRoughnessFactor;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.sheenRoughnessFactor = value.num[0];\r\n },\r\n isValid() {\r\n return !this.$isInstance && !!this.sheen;\r\n }\r\n },\r\n ...getTextureProps<PBRMaterial>(manager, 'sheenRoughnessTexture', '2D', false, 1, function () {\r\n return this.sheen;\r\n }),\r\n ...getLitMaterialProps(manager)\r\n ]);\r\n}\r\n\r\nfunction getLitMaterialProps(manager: ResourceManager): PropertyAccessor<LitPropTypes>[] {\r\n return defineProps([\r\n ...getUnlitMaterialProps(manager),\r\n {\r\n name: 'doubleSidedLighting',\r\n description: 'If true, lighting is evaluated on both sides of the surface',\r\n type: 'bool',\r\n default: true,\r\n isValid(this: LitPropTypes) {\r\n return !this.$isInstance;\r\n },\r\n get(this: LitPropTypes, value) {\r\n value.bool[0] = this.doubleSidedLighting;\r\n },\r\n set(this: LitPropTypes, value) {\r\n this.doubleSidedLighting = value.bool[0];\r\n }\r\n },\r\n {\r\n name: 'NormalScale',\r\n description: 'Scalar applied to the normal texture',\r\n type: 'float',\r\n phase: 1,\r\n default: 1,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 2\r\n },\r\n get(this: LitPropTypes, value) {\r\n value.num[0] = this.normalScale;\r\n },\r\n set(this: LitPropTypes, value) {\r\n this.normalScale = value.num[0];\r\n },\r\n isValid(this: LitPropTypes) {\r\n return !this.$isInstance && !!this.normalTexture;\r\n }\r\n },\r\n {\r\n name: 'vertexNormal',\r\n description: 'If true, uses vertex normals for lighting and normal mapping',\r\n type: 'bool',\r\n default: true,\r\n get(this: LitPropTypes, value) {\r\n value.bool[0] = this.vertexNormal;\r\n },\r\n set(this: LitPropTypes, value) {\r\n this.vertexNormal = value.bool[0];\r\n },\r\n isHidden: createBlueprintOutputHiddenPredicate(['Normal']),\r\n isValid(this: LitPropTypes) {\r\n return !this.$isInstance;\r\n }\r\n },\r\n {\r\n name: 'vertexTangent',\r\n description: 'If true, uses vertex tangents for tangent-space normal mapping',\r\n type: 'bool',\r\n default: false,\r\n get(this: LitPropTypes, value) {\r\n value.bool[0] = this.vertexTangent;\r\n },\r\n set(this: LitPropTypes, value) {\r\n this.vertexTangent = value.bool[0];\r\n },\r\n isHidden: createBlueprintOutputHiddenPredicate(['Tangent']),\r\n isValid(this: LitPropTypes) {\r\n return !this.$isInstance && !!this.vertexNormal;\r\n }\r\n },\r\n ...getTextureProps<LitPropTypes>(manager, 'normalTexture', '2D', false, 0, undefined, ['Normal'])\r\n ]);\r\n}\r\n\r\nfunction getUnlitMaterialProps(manager: ResourceManager): PropertyAccessor<UnlitPropTypes>[] {\r\n return defineProps([\r\n {\r\n name: 'vertexColor',\r\n description: 'If true, multiplies the material color by per-vertex color data',\r\n type: 'bool',\r\n default: false,\r\n get(this: UnlitPropTypes, value) {\r\n value.bool[0] = this.vertexColor;\r\n },\r\n set(this: UnlitPropTypes, value) {\r\n this.vertexColor = value.bool[0];\r\n },\r\n isHidden: createBlueprintOutputHiddenPredicate(['BaseColor']),\r\n isValid(this: UnlitPropTypes) {\r\n return !this.$isInstance;\r\n }\r\n },\r\n {\r\n name: 'AlbedoColor',\r\n description: 'Base RGBA color of the material before lighting',\r\n type: 'rgba',\r\n options: {\r\n animatable: true\r\n },\r\n get(this: UnlitPropTypes, value) {\r\n const color = this.albedoColor;\r\n value.num[0] = color.x;\r\n value.num[1] = color.y;\r\n value.num[2] = color.z;\r\n value.num[3] = color.w;\r\n },\r\n set(this: UnlitPropTypes, value) {\r\n this.albedoColor = new Vector4(value.num[0], value.num[1], value.num[2], value.num[3]);\r\n },\r\n isHidden: createBlueprintOutputHiddenPredicate(['BaseColor', 'Opacity']),\r\n getDefaultValue(this: UnlitPropTypes) {\r\n return this.$isInstance ? this.coreMaterial.albedoColor : [1, 1, 1, 1];\r\n }\r\n },\r\n ...getTextureProps<UnlitPropTypes>(manager, 'albedoTexture', '2D', true, 0, undefined, [\r\n 'BaseColor',\r\n 'Opacity'\r\n ])\r\n ]);\r\n}\r\n\r\nfunction getMToonMaterialProps(manager: ResourceManager): PropertyAccessor<MToonMaterial>[] {\r\n return defineProps([\r\n {\r\n name: 'AlbedoColor',\r\n description: 'Base RGBA color of the MToon material',\r\n type: 'rgba',\r\n options: {\r\n animatable: true\r\n },\r\n get(this: MToonMaterial, value) {\r\n const color = this.albedoColor;\r\n value.num[0] = color.x;\r\n value.num[1] = color.y;\r\n value.num[2] = color.z;\r\n value.num[3] = color.w;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.albedoColor = new Vector4(value.num[0], value.num[1], value.num[2], value.num[3]);\r\n },\r\n getDefaultValue(this: MToonMaterial) {\r\n return this.$isInstance ? this.coreMaterial.albedoColor : [1, 1, 1, 1];\r\n }\r\n },\r\n ...getTextureProps<MToonMaterial>(manager, 'albedoTexture', '2D', true, 0),\r\n {\r\n name: 'NormalScale',\r\n description: 'Scalar applied to the MToon normal texture',\r\n type: 'float',\r\n phase: 1,\r\n default: 1,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 2\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.normalScale;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.normalScale = value.num[0];\r\n },\r\n isValid(this: MToonMaterial) {\r\n return !this.$isInstance && !!this.normalTexture;\r\n }\r\n },\r\n ...getTextureProps<MToonMaterial>(manager, 'normalTexture', '2D', false, 0),\r\n {\r\n name: 'DoubleSidedLighting',\r\n description: 'If true, MToon lighting is evaluated on both sides of the surface',\r\n type: 'bool',\r\n default: true,\r\n get(this: MToonMaterial, value) {\r\n value.bool[0] = this.doubleSidedLighting;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.doubleSidedLighting = value.bool[0];\r\n }\r\n },\r\n {\r\n name: 'EmissiveColor',\r\n description: 'Base self-illumination color emitted by the MToon material',\r\n type: 'rgb',\r\n options: {\r\n animatable: true\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.emissiveColor.x;\r\n value.num[1] = this.emissiveColor.y;\r\n value.num[2] = this.emissiveColor.z;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.emissiveColor = new Vector3(value.num[0], value.num[1], value.num[2]);\r\n },\r\n getDefaultValue(this: MToonMaterial) {\r\n return this.$isInstance ? this.coreMaterial.emissiveColor : [0, 0, 0];\r\n }\r\n },\r\n {\r\n name: 'EmissiveStrength',\r\n description: 'Intensity multiplier for the MToon emissive color and texture',\r\n type: 'float',\r\n default: 1,\r\n options: {\r\n animatable: true,\r\n minValue: 0\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.emissiveStrength;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.emissiveStrength = value.num[0];\r\n },\r\n getDefaultValue(this: MToonMaterial) {\r\n return this.$isInstance ? this.coreMaterial.emissiveStrength : 1;\r\n }\r\n },\r\n ...getTextureProps<MToonMaterial>(manager, 'emissiveTexture', '2D', true, 0),\r\n {\r\n name: 'ShadeColorFactor',\r\n description: 'MToon shadow-side color factor',\r\n type: 'rgb',\r\n default: [0, 0, 0],\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.shadeColorFactor.x;\r\n value.num[1] = this.shadeColorFactor.y;\r\n value.num[2] = this.shadeColorFactor.z;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.shadeColorFactor = new Vector3(value.num[0], value.num[1], value.num[2]);\r\n },\r\n getDefaultValue(this: MToonMaterial) {\r\n return this.$isInstance ? this.coreMaterial.shadeColorFactor : [0, 0, 0];\r\n }\r\n },\r\n ...getTextureProps<MToonMaterial>(manager, 'shadeMultiplyTexture', '2D', true, 0),\r\n {\r\n name: 'ShadingShiftFactor',\r\n description: 'MToon terminator shift factor',\r\n type: 'float',\r\n default: 0,\r\n options: {\r\n animatable: true,\r\n minValue: -1,\r\n maxValue: 1\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.shadingShiftFactor;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.shadingShiftFactor = value.num[0];\r\n },\r\n getDefaultValue(this: MToonMaterial) {\r\n return this.$isInstance ? this.coreMaterial.shadingShiftFactor : 0;\r\n }\r\n },\r\n {\r\n name: 'ShadingShiftTextureScale',\r\n description: 'Scale applied to the MToon shading shift texture',\r\n type: 'float',\r\n phase: 1,\r\n default: 1,\r\n options: {\r\n animatable: true\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.shadingShiftTextureScale;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.shadingShiftTextureScale = value.num[0];\r\n },\r\n isValid(this: MToonMaterial) {\r\n return !this.$isInstance && !!this.shadingShiftTexture;\r\n }\r\n },\r\n ...getTextureProps<MToonMaterial>(manager, 'shadingShiftTexture', '2D', false, 0),\r\n {\r\n name: 'ShadingToonyFactor',\r\n description: 'MToon shadow edge sharpness factor',\r\n type: 'float',\r\n default: 0.9,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 0.99\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.shadingToonyFactor;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.shadingToonyFactor = value.num[0];\r\n },\r\n getDefaultValue(this: MToonMaterial) {\r\n return this.$isInstance ? this.coreMaterial.shadingToonyFactor : 0.9;\r\n }\r\n },\r\n {\r\n name: 'GIEqualizationFactor',\r\n description: 'MToon indirect lighting equalization factor',\r\n type: 'float',\r\n default: 0.9,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.giEqualizationFactor;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.giEqualizationFactor = value.num[0];\r\n },\r\n getDefaultValue(this: MToonMaterial) {\r\n return this.$isInstance ? this.coreMaterial.giEqualizationFactor : 0.9;\r\n }\r\n },\r\n {\r\n name: 'MatcapFactor',\r\n description: 'MToon matcap color factor',\r\n type: 'rgb',\r\n default: [1, 1, 1],\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.matcapFactor.x;\r\n value.num[1] = this.matcapFactor.y;\r\n value.num[2] = this.matcapFactor.z;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.matcapFactor = new Vector3(value.num[0], value.num[1], value.num[2]);\r\n },\r\n getDefaultValue(this: MToonMaterial) {\r\n return this.$isInstance ? this.coreMaterial.matcapFactor : [1, 1, 1];\r\n }\r\n },\r\n ...getTextureProps<MToonMaterial>(manager, 'matcapTexture', '2D', true, 0),\r\n {\r\n name: 'ParametricRimColorFactor',\r\n description: 'MToon parametric rim color factor',\r\n type: 'rgb',\r\n default: [0, 0, 0],\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.parametricRimColorFactor.x;\r\n value.num[1] = this.parametricRimColorFactor.y;\r\n value.num[2] = this.parametricRimColorFactor.z;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.parametricRimColorFactor = new Vector3(value.num[0], value.num[1], value.num[2]);\r\n },\r\n getDefaultValue(this: MToonMaterial) {\r\n return this.$isInstance ? this.coreMaterial.parametricRimColorFactor : [0, 0, 0];\r\n }\r\n },\r\n {\r\n name: 'ParametricRimFresnelPowerFactor',\r\n description: 'MToon parametric rim Fresnel power factor',\r\n type: 'float',\r\n default: 5,\r\n options: {\r\n animatable: true,\r\n minValue: 0\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.parametricRimFresnelPowerFactor;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.parametricRimFresnelPowerFactor = value.num[0];\r\n },\r\n getDefaultValue(this: MToonMaterial) {\r\n return this.$isInstance ? this.coreMaterial.parametricRimFresnelPowerFactor : 5;\r\n }\r\n },\r\n {\r\n name: 'ParametricRimLiftFactor',\r\n description: 'MToon parametric rim lift factor',\r\n type: 'float',\r\n default: 0,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.parametricRimLiftFactor;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.parametricRimLiftFactor = value.num[0];\r\n },\r\n getDefaultValue(this: MToonMaterial) {\r\n return this.$isInstance ? this.coreMaterial.parametricRimLiftFactor : 0;\r\n }\r\n },\r\n {\r\n name: 'RimLightingMixFactor',\r\n description: 'MToon rim lighting mix factor',\r\n type: 'float',\r\n default: 1,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.rimLightingMixFactor;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.rimLightingMixFactor = value.num[0];\r\n },\r\n getDefaultValue(this: MToonMaterial) {\r\n return this.$isInstance ? this.coreMaterial.rimLightingMixFactor : 1;\r\n }\r\n },\r\n ...getTextureProps<MToonMaterial>(manager, 'rimMultiplyTexture', '2D', true, 0),\r\n {\r\n name: 'OutlineWidthMode',\r\n description: 'MToon outline width mode',\r\n type: 'string',\r\n default: 'none',\r\n options: {\r\n enum: {\r\n labels: ['None', 'World Coordinates', 'Screen Coordinates'],\r\n values: ['none', 'worldCoordinates', 'screenCoordinates']\r\n }\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.str[0] = this.outlineWidthMode;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.outlineWidthMode = value.str[0] as MToonOutlineWidthMode;\r\n },\r\n isValid(this: MToonMaterial) {\r\n return !this.$isInstance;\r\n }\r\n },\r\n {\r\n name: 'OutlineWidthFactor',\r\n description: 'MToon outline width factor',\r\n type: 'float',\r\n default: 0,\r\n options: {\r\n animatable: true,\r\n minValue: 0\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.outlineWidthFactor;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.outlineWidthFactor = value.num[0];\r\n },\r\n isValid(this: MToonMaterial) {\r\n return !this.$isInstance && this.outlineWidthMode !== 'none';\r\n }\r\n },\r\n ...getTextureProps<MToonMaterial>(manager, 'outlineWidthMultiplyTexture', '2D', false, 1, function () {\r\n return this.outlineWidthMode !== 'none';\r\n }),\r\n {\r\n name: 'OutlineColorFactor',\r\n description: 'MToon outline color factor',\r\n type: 'rgb',\r\n default: [0, 0, 0],\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.outlineColorFactor.x;\r\n value.num[1] = this.outlineColorFactor.y;\r\n value.num[2] = this.outlineColorFactor.z;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.outlineColorFactor = new Vector3(value.num[0], value.num[1], value.num[2]);\r\n },\r\n isValid(this: MToonMaterial) {\r\n return !this.$isInstance && this.outlineWidthMode !== 'none';\r\n }\r\n },\r\n {\r\n name: 'OutlineLightingMixFactor',\r\n description: 'MToon outline lighting mix factor',\r\n type: 'float',\r\n default: 1,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.outlineLightingMixFactor;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.outlineLightingMixFactor = value.num[0];\r\n },\r\n isValid(this: MToonMaterial) {\r\n return !this.$isInstance && this.outlineWidthMode !== 'none';\r\n }\r\n },\r\n {\r\n name: 'OutlineUsesTangentNormals',\r\n description: 'Use the tangent attribute xyz as smooth normals for MToon outline expansion',\r\n type: 'boolean',\r\n default: false,\r\n get(this: MToonMaterial, value) {\r\n value.bool[0] = this.outlineUsesTangentNormals;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.outlineUsesTangentNormals = value.bool[0];\r\n },\r\n isValid(this: MToonMaterial) {\r\n return !this.$isInstance && this.outlineWidthMode !== 'none';\r\n }\r\n },\r\n ...getTextureProps<MToonMaterial>(manager, 'uvAnimationMaskTexture', '2D', false, 0),\r\n {\r\n name: 'UVAnimationScrollXSpeedFactor',\r\n description: 'MToon UV animation scroll speed on the X axis',\r\n type: 'float',\r\n default: 0,\r\n options: {\r\n animatable: true\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.uvAnimationScrollXSpeedFactor;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.uvAnimationScrollXSpeedFactor = value.num[0];\r\n },\r\n getDefaultValue(this: MToonMaterial) {\r\n return this.$isInstance ? this.coreMaterial.uvAnimationScrollXSpeedFactor : 0;\r\n }\r\n },\r\n {\r\n name: 'UVAnimationScrollYSpeedFactor',\r\n description: 'MToon UV animation scroll speed on the Y axis',\r\n type: 'float',\r\n default: 0,\r\n options: {\r\n animatable: true\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.uvAnimationScrollYSpeedFactor;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.uvAnimationScrollYSpeedFactor = value.num[0];\r\n },\r\n getDefaultValue(this: MToonMaterial) {\r\n return this.$isInstance ? this.coreMaterial.uvAnimationScrollYSpeedFactor : 0;\r\n }\r\n },\r\n {\r\n name: 'UVAnimationRotationSpeedFactor',\r\n description: 'MToon UV animation rotation speed',\r\n type: 'float',\r\n default: 0,\r\n options: {\r\n animatable: true\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.uvAnimationRotationSpeedFactor;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.uvAnimationRotationSpeedFactor = value.num[0];\r\n },\r\n getDefaultValue(this: MToonMaterial) {\r\n return this.$isInstance ? this.coreMaterial.uvAnimationRotationSpeedFactor : 0;\r\n }\r\n },\r\n {\r\n name: 'TransparentWithZWrite',\r\n description: 'If true, transparent MToon pixels also write depth',\r\n type: 'bool',\r\n default: false,\r\n get(this: MToonMaterial, value) {\r\n value.bool[0] = this.transparentWithZWrite;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.transparentWithZWrite = value.bool[0];\r\n },\r\n isValid(this: MToonMaterial) {\r\n return !this.$isInstance;\r\n }\r\n },\r\n {\r\n name: 'RenderQueueOffsetNumber',\r\n description: 'MToon render queue offset number',\r\n type: 'int',\r\n default: 0,\r\n options: {\r\n minValue: -9,\r\n maxValue: 9\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.renderQueueOffsetNumber;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.renderQueueOffsetNumber = value.num[0];\r\n },\r\n isValid(this: MToonMaterial) {\r\n return !this.$isInstance;\r\n }\r\n }\r\n ]);\r\n}\r\n\r\n/** @internal */\r\nexport function getMeshMaterialClass(): SerializableClass[] {\r\n return [\r\n {\r\n ctor: MeshMaterial,\r\n name: 'MeshMaterial',\r\n getProps() {\r\n return defineProps([\r\n {\r\n name: 'AlphaCutoff',\r\n description:\r\n 'If greater then 0, pixels which have alpha smaller than alpha cutoff will be discarded',\r\n type: 'float',\r\n default: 0,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: MeshMaterial, value) {\r\n value.num[0] = this.alphaCutoff;\r\n },\r\n set(this: MeshMaterial, value) {\r\n this.alphaCutoff = value.num[0];\r\n },\r\n isValid() {\r\n return !this.$isInstance;\r\n }\r\n },\r\n {\r\n name: 'AlphaToCoverage',\r\n description: 'If true, alpha-to-coverage will be enabled',\r\n type: 'bool',\r\n default: false,\r\n get(this: MeshMaterial, value) {\r\n value.bool[0] = this.alphaToCoverage;\r\n },\r\n set(this: MeshMaterial, value) {\r\n this.alphaToCoverage = value.bool[0];\r\n },\r\n isValid() {\r\n return !this.$isInstance;\r\n }\r\n },\r\n {\r\n name: 'AlphaDither',\r\n description: 'If true, alpha-dithering will be enabled',\r\n type: 'bool',\r\n default: false,\r\n get(this: MeshMaterial, value) {\r\n value.bool[0] = this.alphaDither;\r\n },\r\n set(this: MeshMaterial, value) {\r\n this.alphaDither = value.bool[0];\r\n },\r\n isValid(this: MeshMaterial) {\r\n return !this.$isInstance && this.alphaCutoff > 0;\r\n }\r\n },\r\n {\r\n name: 'BlendMode',\r\n description: 'Blending mode for this material',\r\n type: 'string',\r\n options: {\r\n enum: { labels: ['None', 'Blend', 'Additive'], values: ['none', 'blend', 'additive'] }\r\n },\r\n default: 'none',\r\n get(this: MeshMaterial, value) {\r\n value.str[0] = this.blendMode;\r\n },\r\n set(this: MeshMaterial, value) {\r\n this.blendMode = value.str[0] as BlendMode;\r\n },\r\n isValid() {\r\n return !this.$isInstance;\r\n }\r\n },\r\n {\r\n name: 'TransparentShadowCaster',\r\n type: 'bool',\r\n default: false,\r\n get(this: MeshMaterial, value) {\r\n value.bool[0] = this.transparentShadowCaster;\r\n },\r\n set(this: MeshMaterial, value) {\r\n this.transparentShadowCaster = value.bool[0];\r\n },\r\n isValid(this: MeshMaterial) {\r\n return !this.$isInstance && this.blendMode !== 'none';\r\n }\r\n },\r\n {\r\n name: 'ShadowAlphaCutoff',\r\n type: 'float',\r\n default: 0.5,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: MeshMaterial, value) {\r\n value.num[0] = this.shadowAlphaCutoff;\r\n },\r\n set(this: MeshMaterial, value) {\r\n this.shadowAlphaCutoff = value.num[0];\r\n },\r\n isValid(this: MeshMaterial) {\r\n return !this.$isInstance && this.blendMode !== 'none' && this.transparentShadowCaster;\r\n }\r\n },\r\n {\r\n name: 'CullMode',\r\n description: 'Cull mode for this material',\r\n type: 'string',\r\n options: {\r\n enum: { labels: ['None', 'Front', 'Back'], values: ['none', 'front', 'back'] }\r\n },\r\n default: 'back',\r\n get(this: MeshMaterial, value) {\r\n value.str[0] = this.cullMode;\r\n },\r\n set(this: MeshMaterial, value) {\r\n this.cullMode = value.str[0] as FaceMode;\r\n },\r\n isValid() {\r\n return !this.$isInstance;\r\n }\r\n },\r\n {\r\n name: 'Opacity',\r\n description: 'Opacity value for this material, no effect if blendingMode is `none`',\r\n type: 'float',\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n default: 1,\r\n get(this: MeshMaterial, value) {\r\n value.num[0] = this.opacity;\r\n },\r\n set(this: MeshMaterial, value) {\r\n this.opacity = value.num[0];\r\n },\r\n isHidden: createBlueprintOutputHiddenPredicate(['Opacity']),\r\n getDefaultValue(this: MeshMaterial) {\r\n return this.$isInstance ? this.coreMaterial.opacity : 1;\r\n }\r\n },\r\n {\r\n name: 'TAAStrength',\r\n description: 'TAA strength for this material',\r\n type: 'float',\r\n options: {\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n default: 15 / 16,\r\n get(this: MeshMaterial, value) {\r\n value.num[0] = this.TAAStrength;\r\n },\r\n set(this: MeshMaterial, value) {\r\n this.TAAStrength = value.num[0];\r\n },\r\n isValid(this: MeshMaterial) {\r\n return !this.$isInstance;\r\n }\r\n }\r\n ]);\r\n }\r\n },\r\n getMeshMaterialInstanceUniformsClass(MeshMaterial)\r\n ];\r\n}\r\n\r\n/** @internal */\r\nexport function getSpriteMaterialClass(_manager: ResourceManager): SerializableClass[] {\r\n return [\r\n {\r\n ctor: SpriteMaterial,\r\n name: 'SpriteMaterial',\r\n parent: MeshMaterial,\r\n getProps() {\r\n return [];\r\n }\r\n },\r\n getMeshMaterialInstanceUniformsClass(SpriteMaterial)\r\n ];\r\n}\r\n\r\n/** @internal */\r\nexport function getStandardSpriteMaterialClass(manager: ResourceManager): SerializableClass[] {\r\n return [\r\n {\r\n ctor: StandardSpriteMaterial,\r\n name: 'StandardSpriteMaterial',\r\n parent: SpriteMaterial,\r\n getProps() {\r\n return defineProps([\r\n {\r\n name: 'SpriteTexture',\r\n description: 'Texture file path for the sprite',\r\n type: 'object',\r\n default: '',\r\n options: {\r\n mimeTypes: [\r\n 'image/jpeg',\r\n 'image/png',\r\n 'image/tga',\r\n 'image/vnd.radiance',\r\n 'image/x-dds',\r\n 'image/webp'\r\n ]\r\n },\r\n isNullable() {\r\n return true;\r\n },\r\n get(value) {\r\n value.str[0] = manager.getAssetId(this.spriteTexture) ?? '';\r\n },\r\n async set(this: StandardSpriteMaterial, value) {\r\n if (!value || !value.str[0]) {\r\n this.spriteTexture = null;\r\n } else {\r\n const assetId = value.str[0];\r\n let tex: Nullable<Texture2D>;\r\n try {\r\n tex = await manager.fetchTexture<Texture2D>(assetId, {\r\n linearColorSpace: false\r\n });\r\n } catch (err) {\r\n console.error(`Load asset failed: ${value.str[0]}: ${err}`);\r\n tex = null;\r\n }\r\n if (tex?.isTexture2D()) {\r\n this.spriteTexture = tex;\r\n } else {\r\n console.error('Invalid texture type');\r\n }\r\n }\r\n },\r\n isValid() {\r\n return !this.$isInstance;\r\n }\r\n }\r\n ]);\r\n }\r\n },\r\n getMeshMaterialInstanceUniformsClass(StandardSpriteMaterial)\r\n ];\r\n}\r\n\r\n/** @internal */\r\nexport function getParticleMaterialClass(manager: ResourceManager): SerializableClass[] {\r\n return [\r\n {\r\n ctor: ParticleMaterial,\r\n name: 'ParticleMaterial',\r\n parent: MeshMaterial,\r\n getProps() {\r\n return defineProps([\r\n {\r\n name: 'AlphaMap',\r\n description: 'Alpha texture file path',\r\n type: 'object',\r\n default: '',\r\n options: {\r\n mimeTypes: [\r\n 'image/jpeg',\r\n 'image/png',\r\n 'image/tga',\r\n 'image/vnd.radiance',\r\n 'image/x-dds',\r\n 'image/webp'\r\n ]\r\n },\r\n isNullable() {\r\n return true;\r\n },\r\n get(this: ParticleMaterial, value) {\r\n value.str[0] = manager.getAssetId(this.alphaMap) ?? '';\r\n },\r\n async set(this: ParticleMaterial, value) {\r\n if (!value || !value.str[0]) {\r\n this.alphaMap = null;\r\n } else {\r\n const assetId = value.str[0];\r\n let tex: Nullable<Texture2D> = null;\r\n try {\r\n tex = await manager.fetchTexture<Texture2D>(assetId, { linearColorSpace: true });\r\n } catch (err) {\r\n console.error(`Load asset failed: ${value.str[0]}: ${err}`);\r\n }\r\n if (tex?.isTexture2D()) {\r\n this.alphaMap = tex;\r\n } else {\r\n console.error('Invalid albedo texture');\r\n }\r\n }\r\n }\r\n },\r\n {\r\n name: 'RampMap',\r\n description: 'Ramp texture file path',\r\n type: 'object',\r\n default: '',\r\n options: {\r\n mimeTypes: [\r\n 'image/jpeg',\r\n 'image/png',\r\n 'image/tga',\r\n 'image/vnd.radiance',\r\n 'image/x-dds',\r\n 'image/webp'\r\n ]\r\n },\r\n isNullable() {\r\n return true;\r\n },\r\n get(this: ParticleMaterial, value) {\r\n value.str[0] = manager.getAssetId(this.rampMap) ?? '';\r\n },\r\n async set(this: ParticleMaterial, value) {\r\n if (!value || !value.str[0]) {\r\n this.rampMap = null;\r\n } else {\r\n const assetId = value.str[0];\r\n let tex: Nullable<Texture2D> = null;\r\n try {\r\n tex = await manager.fetchTexture<Texture2D>(assetId);\r\n } catch (err) {\r\n console.error(`Load asset failed: ${value.str[0]}: ${err}`);\r\n }\r\n if (tex?.isTexture2D()) {\r\n this.rampMap = tex;\r\n } else {\r\n console.error('Invalid albedo texture');\r\n }\r\n }\r\n }\r\n }\r\n ]);\r\n }\r\n },\r\n getMeshMaterialInstanceUniformsClass(ParticleMaterial)\r\n ];\r\n}\r\n\r\n/** @internal */\r\nexport function getPBRBluePrintMaterialClass(): SerializableClass[] {\r\n return [\r\n {\r\n ctor: PBRBluePrintMaterial,\r\n parent: PBRMetallicRoughnessMaterial,\r\n name: 'PBRBluePrintMaterial',\r\n getProps() {\r\n return defineProps([]);\r\n }\r\n },\r\n getMeshMaterialInstanceUniformsClass(PBRBluePrintMaterial)\r\n ];\r\n}\r\n\r\n/** @internal */\r\nexport function getSpriteBlueprintMaterialClass(): SerializableClass[] {\r\n return [\r\n {\r\n ctor: SpriteBlueprintMaterial,\r\n parent: MeshMaterial,\r\n name: 'SpriteBlueprintMaterial',\r\n getProps() {\r\n return [];\r\n }\r\n },\r\n getMeshMaterialInstanceUniformsClass(SpriteBlueprintMaterial)\r\n ];\r\n}\r\n\r\n/** @internal */\r\nexport function getUnlitMaterialClass(manager: ResourceManager): SerializableClass[] {\r\n return [\r\n {\r\n ctor: UnlitMaterial,\r\n parent: MeshMaterial,\r\n name: 'UnlitMaterial',\r\n getProps() {\r\n return getUnlitMaterialProps(manager);\r\n }\r\n },\r\n getMeshMaterialInstanceUniformsClass(UnlitMaterial)\r\n ];\r\n}\r\n\r\n/** @internal */\r\nexport function getMToonMaterialClass(manager: ResourceManager): SerializableClass[] {\r\n return [\r\n {\r\n ctor: MToonMaterial,\r\n parent: MeshMaterial,\r\n name: 'MToonMaterial',\r\n getProps() {\r\n return getMToonMaterialProps(manager);\r\n }\r\n },\r\n getMeshMaterialInstanceUniformsClass(MToonMaterial)\r\n ];\r\n}\r\n\r\n/** @internal */\r\nexport function getLambertMaterialClass(manager: ResourceManager): SerializableClass[] {\r\n return [\r\n {\r\n ctor: LambertMaterial,\r\n parent: MeshMaterial,\r\n name: 'LambertMaterial',\r\n getProps() {\r\n return getLitMaterialProps(manager);\r\n }\r\n },\r\n getMeshMaterialInstanceUniformsClass(LambertMaterial)\r\n ];\r\n}\r\n\r\n/** @internal */\r\nexport function getBlinnMaterialClass(manager: ResourceManager): SerializableClass[] {\r\n return [\r\n {\r\n ctor: BlinnMaterial,\r\n parent: MeshMaterial,\r\n name: 'BlinnMaterial',\r\n getProps() {\r\n return defineProps([\r\n {\r\n name: 'Shininess',\r\n description: 'Shininess value',\r\n type: 'float',\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 2048\r\n },\r\n get(this: BlinnMaterial, value) {\r\n value.num[0] = this.shininess;\r\n },\r\n set(this: BlinnMaterial, value) {\r\n this.shininess = value.num[0];\r\n },\r\n getDefaultValue(this: BlinnMaterial) {\r\n return this.$isInstance ? this.coreMaterial.shininess : 32;\r\n }\r\n },\r\n ...getLitMaterialProps(manager)\r\n ]);\r\n }\r\n },\r\n getMeshMaterialInstanceUniformsClass(BlinnMaterial)\r\n ];\r\n}\r\n\r\n/** @internal */\r\nexport function getSkinMaterialClass(manager: ResourceManager): SerializableClass[] {\r\n return [\r\n {\r\n ctor: SkinMaterial,\r\n parent: MeshMaterial,\r\n name: 'SkinMaterial',\r\n getProps() {\r\n return defineProps([\r\n {\r\n name: 'Shininess',\r\n description: 'Blinn specular exponent for skin highlights',\r\n type: 'float',\r\n default: 72,\r\n options: {\r\n animatable: true,\r\n minValue: 1,\r\n maxValue: 2048\r\n },\r\n get(this: SkinMaterial, value) {\r\n value.num[0] = this.shininess;\r\n },\r\n set(this: SkinMaterial, value) {\r\n this.shininess = value.num[0];\r\n },\r\n getDefaultValue(this: SkinMaterial) {\r\n return this.$isInstance ? this.coreMaterial.shininess : 72;\r\n }\r\n },\r\n {\r\n name: 'SpecularStrength',\r\n description: 'Direct specular strength for restrained skin highlights',\r\n type: 'float',\r\n default: 0.22,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 4\r\n },\r\n get(this: SkinMaterial, value) {\r\n value.num[0] = this.specularStrength;\r\n },\r\n set(this: SkinMaterial, value) {\r\n this.specularStrength = value.num[0];\r\n },\r\n getDefaultValue(this: SkinMaterial) {\r\n return this.$isInstance ? this.coreMaterial.specularStrength : 0.22;\r\n }\r\n },\r\n {\r\n name: 'DiffuseWrap',\r\n description: 'Wrap amount for visible diffuse lighting',\r\n type: 'float',\r\n default: 0.28,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 2\r\n },\r\n get(this: SkinMaterial, value) {\r\n value.num[0] = this.diffuseWrap;\r\n },\r\n set(this: SkinMaterial, value) {\r\n this.diffuseWrap = value.num[0];\r\n },\r\n getDefaultValue(this: SkinMaterial) {\r\n return this.$isInstance ? this.coreMaterial.diffuseWrap : 0.28;\r\n }\r\n },\r\n {\r\n name: 'DiffuseSoftness',\r\n description: 'Blend from hard Lambert lighting to wrapped diffuse lighting',\r\n type: 'float',\r\n default: 0.45,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: SkinMaterial, value) {\r\n value.num[0] = this.diffuseSoftness;\r\n },\r\n set(this: SkinMaterial, value) {\r\n this.diffuseSoftness = value.num[0];\r\n },\r\n getDefaultValue(this: SkinMaterial) {\r\n return this.$isInstance ? this.coreMaterial.diffuseSoftness : 0.45;\r\n }\r\n },\r\n {\r\n name: 'ScatterWrap',\r\n description: 'Wide wrap amount written to the Skin SSS scattering source',\r\n type: 'float',\r\n default: 0.65,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 2\r\n },\r\n get(this: SkinMaterial, value) {\r\n value.num[0] = this.scatterWrap;\r\n },\r\n set(this: SkinMaterial, value) {\r\n this.scatterWrap = value.num[0];\r\n },\r\n getDefaultValue(this: SkinMaterial) {\r\n return this.$isInstance ? this.coreMaterial.scatterWrap : 0.65;\r\n }\r\n },\r\n {\r\n name: 'ScatterStrength',\r\n description: 'Strength of the lighting multiplier written to the Skin SSS side buffer',\r\n type: 'float',\r\n default: 0.7,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 4\r\n },\r\n get(this: SkinMaterial, value) {\r\n value.num[0] = this.scatterStrength;\r\n },\r\n set(this: SkinMaterial, value) {\r\n this.scatterStrength = value.num[0];\r\n },\r\n getDefaultValue(this: SkinMaterial) {\r\n return this.$isInstance ? this.coreMaterial.scatterStrength : 0.7;\r\n }\r\n },\r\n {\r\n name: 'ScatterColor',\r\n description: 'Warm tint for the blurred skin scattering contribution',\r\n type: 'rgba',\r\n default: [1, 0.42, 0.28, 1],\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: SkinMaterial, value) {\r\n value.num[0] = this.scatterColor.x;\r\n value.num[1] = this.scatterColor.y;\r\n value.num[2] = this.scatterColor.z;\r\n value.num[3] = this.scatterColor.w;\r\n },\r\n set(this: SkinMaterial, value) {\r\n this.scatterColor = new Vector4(value.num[0], value.num[1], value.num[2], value.num[3]);\r\n },\r\n getDefaultValue(this: SkinMaterial) {\r\n const color = this.$isInstance ? this.coreMaterial.scatterColor : new Vector4(1, 0.42, 0.28, 1);\r\n return [color.x, color.y, color.z, color.w];\r\n }\r\n },\r\n ...getTextureProps<SkinMaterial>(manager, 'subsurfaceTexture', '2D', false, 1),\r\n ...getLitMaterialProps(manager)\r\n ]);\r\n }\r\n },\r\n getMeshMaterialInstanceUniformsClass(SkinMaterial)\r\n ];\r\n}\r\n\r\n/** @internal */\r\nexport function getPBRMetallicRoughnessMaterialClass(manager: ResourceManager): SerializableClass[] {\r\n return [\r\n {\r\n ctor: PBRMetallicRoughnessMaterial,\r\n parent: MeshMaterial,\r\n name: 'PBRMetallicRoughnessMaterial',\r\n getProps() {\r\n return defineProps([\r\n {\r\n name: 'Metallic',\r\n description: 'Metallic value',\r\n type: 'float',\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: PBRMetallicRoughnessMaterial, value) {\r\n value.num[0] = this.metallic;\r\n },\r\n set(this: PBRMetallicRoughnessMaterial, value) {\r\n this.metallic = value.num[0];\r\n },\r\n isHidden: createBlueprintOutputHiddenPredicate(['Metallic']),\r\n getDefaultValue(this: PBRMetallicRoughnessMaterial) {\r\n return this.$isInstance ? this.coreMaterial.metallic : 1;\r\n }\r\n },\r\n {\r\n name: 'Roughness',\r\n description: 'Roughness value',\r\n type: 'float',\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: PBRMetallicRoughnessMaterial, value) {\r\n value.num[0] = this.roughness;\r\n },\r\n set(this: PBRMetallicRoughnessMaterial, value) {\r\n this.roughness = value.num[0];\r\n },\r\n isHidden: createBlueprintOutputHiddenPredicate(['Roughness']),\r\n getDefaultValue(this: PBRMetallicRoughnessMaterial) {\r\n return this.$isInstance ? this.coreMaterial.roughness : 1;\r\n }\r\n },\r\n {\r\n name: 'SpecularFactor',\r\n description: 'RGBA specular factor used to tint and scale specular reflections',\r\n type: 'rgba',\r\n options: {\r\n animatable: true\r\n },\r\n get(this: PBRMetallicRoughnessMaterial, value) {\r\n value.num[0] = this.specularFactor.x;\r\n value.num[1] = this.specularFactor.y;\r\n value.num[2] = this.specularFactor.z;\r\n value.num[3] = this.specularFactor.w;\r\n },\r\n set(this: PBRMetallicRoughnessMaterial, value) {\r\n this.specularFactor = new Vector4(value.num[0], value.num[1], value.num[2], value.num[3]);\r\n },\r\n isHidden: createBlueprintOutputHiddenPredicate(['Specular', 'SpecularWeight']),\r\n getDefaultValue(this: PBRMetallicRoughnessMaterial) {\r\n return this.$isInstance ? this.coreMaterial.specularFactor : [1, 1, 1, 1];\r\n }\r\n },\r\n {\r\n name: 'Reflection',\r\n description: 'Reflection mode',\r\n type: 'string',\r\n default: 'ggx',\r\n options: {\r\n enum: {\r\n labels: ['None', 'GGX', 'Anisotropic', 'Glint'],\r\n values: ['none', 'ggx', 'anisotropic', 'glint']\r\n }\r\n },\r\n get(this: PBRMetallicRoughnessMaterial, value) {\r\n value.str[0] = this.reflectionMode;\r\n },\r\n set(this: PBRMetallicRoughnessMaterial, value) {\r\n this.reflectionMode = value.str[0] as PBRReflectionMode;\r\n },\r\n getDefaultValue(this: PBRMetallicRoughnessMaterial) {\r\n return this.$isInstance ? this.coreMaterial.reflectionMode : 'ggx';\r\n }\r\n },\r\n {\r\n name: 'Anisotropy',\r\n description: 'Strength of anisotropic reflections; values near 0 behave isotropically',\r\n type: 'float',\r\n default: 0.75,\r\n options: {\r\n animatable: true,\r\n minValue: -0.95,\r\n maxValue: 0.95\r\n },\r\n get(this: PBRMetallicRoughnessMaterial, value) {\r\n value.num[0] = this.anisotropy;\r\n },\r\n set(this: PBRMetallicRoughnessMaterial, value) {\r\n this.anisotropy = value.num[0];\r\n },\r\n getDefaultValue(this: PBRMetallicRoughnessMaterial) {\r\n return this.$isInstance ? this.coreMaterial.anisotropy : 0.75;\r\n },\r\n isValid(this: PBRMetallicRoughnessMaterial) {\r\n return this.reflectionMode === 'anisotropic';\r\n }\r\n },\r\n {\r\n name: 'AnisotropyDirection',\r\n description: 'Rotation angle in degrees for the anisotropic highlight direction',\r\n type: 'float',\r\n default: 0,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 360\r\n },\r\n get(this: PBRMetallicRoughnessMaterial, value) {\r\n value.num[0] = this.anisotropyDirection;\r\n },\r\n set(this: PBRMetallicRoughnessMaterial, value) {\r\n this.anisotropyDirection = value.num[0];\r\n },\r\n getDefaultValue(this: PBRMetallicRoughnessMaterial) {\r\n return this.$isInstance ? this.coreMaterial.anisotropyDirection : 0;\r\n },\r\n isValid(this: PBRMetallicRoughnessMaterial) {\r\n return this.reflectionMode === 'anisotropic';\r\n }\r\n },\r\n ...getTextureProps<PBRMetallicRoughnessMaterial>(\r\n manager,\r\n 'anisotropyDirectionTexture',\r\n '2D',\r\n false,\r\n 0,\r\n function () {\r\n return this.reflectionMode === 'anisotropic';\r\n }\r\n ),\r\n {\r\n name: 'AnisotropyDirectionScaleBias',\r\n description: 'Scale and bias applied when decoding anisotropy direction from its texture',\r\n type: 'vec2',\r\n default: [1, 0],\r\n options: {\r\n animatable: true\r\n },\r\n get(this: PBRMetallicRoughnessMaterial, value) {\r\n value.num[0] = this.anisotropyDirectionScaleBias.x;\r\n value.num[1] = this.anisotropyDirectionScaleBias.y;\r\n },\r\n set(this: PBRMetallicRoughnessMaterial, value) {\r\n this.anisotropyDirectionScaleBias = new Vector2(value.num[0], value.num[1]);\r\n },\r\n getDefaultValue(this: PBRMetallicRoughnessMaterial) {\r\n return this.$isInstance ? this.coreMaterial.anisotropyDirectionScaleBias : [1, 0];\r\n },\r\n isValid() {\r\n return (\r\n !this.$isInstance &&\r\n this.reflectionMode === 'anisotropic' &&\r\n !!this.anisotropyDirectionTexture\r\n );\r\n }\r\n },\r\n {\r\n name: 'SubsurfaceProfile',\r\n description: 'If true, enables subsurface scattering for translucent materials',\r\n type: 'object',\r\n phase: 1,\r\n default: null,\r\n options: {\r\n objectTypes: [SubsurfaceProfile]\r\n },\r\n isNullable() {\r\n return true;\r\n },\r\n get(this: PBRMetallicRoughnessMaterial, value) {\r\n value.object[0] = this.subsurfaceProfile;\r\n },\r\n set(this: PBRMetallicRoughnessMaterial, value) {\r\n this.subsurfaceProfile = (value.object[0] as SubsurfaceProfile) ?? null;\r\n },\r\n isValid(this: PBRMetallicRoughnessMaterial) {\r\n return !this.$isInstance;\r\n }\r\n },\r\n ...getTextureProps<PBRMetallicRoughnessMaterial>(\r\n manager,\r\n 'subsurfaceTexture',\r\n '2D',\r\n false,\r\n 1,\r\n function () {\r\n return !!this.subsurfaceProfile;\r\n }\r\n ),\r\n ...getTextureProps<PBRMetallicRoughnessMaterial>(\r\n manager,\r\n 'metallicRoughnessTexture',\r\n '2D',\r\n false,\r\n 0,\r\n undefined,\r\n ['Metallic', 'Roughness']\r\n ),\r\n ...getTextureProps<PBRMetallicRoughnessMaterial>(\r\n manager,\r\n 'specularColorTexture',\r\n '2D',\r\n true,\r\n 0,\r\n undefined,\r\n ['Specular']\r\n ),\r\n ...getPBRCommonProps(manager)\r\n ]);\r\n }\r\n },\r\n getMeshMaterialInstanceUniformsClass(PBRMetallicRoughnessMaterial)\r\n ];\r\n}\r\n\r\n/** @internal */\r\nexport function getPBRSpecularGlossinessMaterialClass(manager: ResourceManager): SerializableClass[] {\r\n return [\r\n {\r\n ctor: PBRSpecularGlossinessMaterial,\r\n name: 'PBRSpecularGlossinessMaterial',\r\n parent: MeshMaterial,\r\n getProps() {\r\n return defineProps([\r\n {\r\n name: 'SpecularFactor',\r\n description: 'RGB specular color multiplier for reflected highlights',\r\n type: 'rgb',\r\n options: {\r\n animatable: true\r\n },\r\n get(this: PBRSpecularGlossinessMaterial, value) {\r\n value.num[0] = this.specularFactor.x;\r\n value.num[1] = this.specularFactor.y;\r\n value.num[2] = this.specularFactor.z;\r\n },\r\n set(this: PBRSpecularGlossinessMaterial, value) {\r\n this.specularFactor = new Vector3(value.num[0], value.num[1], value.num[2]);\r\n },\r\n getDefaultValue(this: PBRSpecularGlossinessMaterial) {\r\n return this.$isInstance ? this.coreMaterial.specularFactor : [1, 1, 1];\r\n }\r\n },\r\n {\r\n name: 'GlossnessFactor',\r\n description: 'Glossiness of the surface; higher values produce sharper reflections',\r\n type: 'float',\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: PBRSpecularGlossinessMaterial, value) {\r\n value.num[0] = this.glossinessFactor;\r\n },\r\n set(this: PBRSpecularGlossinessMaterial, value) {\r\n this.glossinessFactor = value.num[0];\r\n },\r\n getDefaultValue(this: PBRSpecularGlossinessMaterial) {\r\n return this.$isInstance ? this.coreMaterial.glossinessFactor : 1;\r\n }\r\n },\r\n ...getPBRCommonProps(manager)\r\n ]);\r\n }\r\n },\r\n getMeshMaterialInstanceUniformsClass(PBRSpecularGlossinessMaterial)\r\n ];\r\n}\r\n"],"names":["createBlueprintOutputHiddenPredicate","_outputs","PBRBluePrintMaterial","getSubsurfaceProfileClass","ctor","SubsurfaceProfile","name","getProps","defineProps","type","default","options","label","enum","labels","values","get","value","str","preset","set","animatable","minValue","maxValue","num","meanFreePathColor","x","y","z","Vector3","meanFreePathDistance","strength","scale","worldUnitScale","boundaryColorBleed","transmissionTintColor","extinctionScale","normalScale","scatteringDistribution","getPBRCommonProps","manager","supportsSSSThicknessAuthoring","$isInstance","transmission","subsurfaceProfile","description","ior","isValid","phase","occlusionStrength","isHidden","occlusionTexture","getTextureProps","undefined","emissiveColor","getDefaultValue","coreMaterial","emissiveStrength","rectSpecularScale","bool","transmissionFactor","call","thicknessFactor","attenuationColor","attenuationDistance","iridescence","iridescenceFactor","iridescenceIor","iridescenceThicknessMin","iridescenceThicknessMax","clearcoat","clearcoatIntensity","clearcoatRoughnessFactor","sheen","sheenColorFactor","sheenRoughnessFactor","getLitMaterialProps","getUnlitMaterialProps","doubleSidedLighting","normalTexture","vertexNormal","vertexTangent","vertexColor","color","albedoColor","w","Vector4","getMToonMaterialProps","shadeColorFactor","shadingShiftFactor","shadingShiftTextureScale","shadingShiftTexture","shadingToonyFactor","giEqualizationFactor","matcapFactor","parametricRimColorFactor","parametricRimFresnelPowerFactor","parametricRimLiftFactor","rimLightingMixFactor","outlineWidthMode","outlineWidthFactor","outlineColorFactor","outlineLightingMixFactor","outlineUsesTangentNormals","uvAnimationScrollXSpeedFactor","uvAnimationScrollYSpeedFactor","uvAnimationRotationSpeedFactor","transparentWithZWrite","renderQueueOffsetNumber","getMeshMaterialClass","MeshMaterial","alphaCutoff","alphaToCoverage","alphaDither","blendMode","transparentShadowCaster","shadowAlphaCutoff","cullMode","opacity","TAAStrength","getMeshMaterialInstanceUniformsClass","getSpriteMaterialClass","_manager","SpriteMaterial","parent","getStandardSpriteMaterialClass","StandardSpriteMaterial","mimeTypes","isNullable","getAssetId","spriteTexture","assetId","tex","fetchTexture","linearColorSpace","err","console","error","isTexture2D","getParticleMaterialClass","ParticleMaterial","alphaMap","rampMap","getPBRBluePrintMaterialClass","PBRMetallicRoughnessMaterial","getSpriteBlueprintMaterialClass","SpriteBlueprintMaterial","getUnlitMaterialClass","UnlitMaterial","getMToonMaterialClass","MToonMaterial","getLambertMaterialClass","LambertMaterial","getBlinnMaterialClass","BlinnMaterial","shininess","getSkinMaterialClass","SkinMaterial","specularStrength","diffuseWrap","diffuseSoftness","scatterWrap","scatterStrength","scatterColor","getPBRMetallicRoughnessMaterialClass","metallic","roughness","specularFactor","reflectionMode","anisotropy","anisotropyDirection","anisotropyDirectionScaleBias","Vector2","anisotropyDirectionTexture","objectTypes","object","getPBRSpecularGlossinessMaterialClass","PBRSpecularGlossinessMaterial","glossinessFactor"],"mappings":"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"}
|