@zephyr3d/scene 0.9.26 → 0.10.0
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/README.md +60 -27
- package/dist/animation/animation_bank.js +634 -0
- package/dist/animation/animation_bank.js.map +1 -0
- package/dist/animation/animation_bank_gpu.js +256 -0
- package/dist/animation/animation_bank_gpu.js.map +1 -0
- package/dist/animation/animationset.js +146 -30
- package/dist/animation/animationset.js.map +1 -1
- package/dist/animation/cloth/gpu_cloth_component.js +406 -0
- package/dist/animation/cloth/gpu_cloth_component.js.map +1 -0
- package/dist/animation/cloth/gpu_cloth_system.js +332 -202
- package/dist/animation/cloth/gpu_cloth_system.js.map +1 -1
- package/dist/animation/gpu_animation_driver.js +289 -0
- package/dist/animation/gpu_animation_driver.js.map +1 -0
- package/dist/animation/joint_dynamics/collision.js +112 -1
- package/dist/animation/joint_dynamics/collision.js.map +1 -1
- package/dist/animation/joint_dynamics/controller.js +6 -0
- package/dist/animation/joint_dynamics/controller.js.map +1 -1
- package/dist/animation/joint_dynamics/joint_dynamics_system.js +11 -0
- package/dist/animation/joint_dynamics/joint_dynamics_system.js.map +1 -1
- package/dist/animation/joint_dynamics/solver.js +50 -12
- package/dist/animation/joint_dynamics/solver.js.map +1 -1
- package/dist/animation/joint_dynamics/types.js.map +1 -1
- package/dist/animation/skeleton.js +300 -56
- package/dist/animation/skeleton.js.map +1 -1
- package/dist/animation/skin_palette_atlas.js +252 -0
- package/dist/animation/skin_palette_atlas.js.map +1 -0
- package/dist/animation/spring/multi_chain_spring_system.js +298 -38
- package/dist/animation/spring/multi_chain_spring_system.js.map +1 -1
- package/dist/animation/spring/spring_chain.js +2 -0
- package/dist/animation/spring/spring_chain.js.map +1 -1
- package/dist/animation/spring/spring_collider.js +159 -21
- package/dist/animation/spring/spring_collider.js.map +1 -1
- package/dist/animation/spring/spring_particle.js +1 -0
- package/dist/animation/spring/spring_particle.js.map +1 -1
- package/dist/animation/spring/spring_solver.js +173 -0
- package/dist/animation/spring/spring_solver.js.map +1 -0
- package/dist/animation/spring/spring_system.js +249 -24
- package/dist/animation/spring/spring_system.js.map +1 -1
- package/dist/animation/spring_modifier.js +32 -1
- package/dist/animation/spring_modifier.js.map +1 -1
- package/dist/app/app.js +26 -0
- package/dist/app/app.js.map +1 -1
- package/dist/app/engine.js +86 -15
- package/dist/app/engine.js.map +1 -1
- package/dist/app/gamepad.js +191 -0
- package/dist/app/gamepad.js.map +1 -0
- package/dist/app/inputactions.js +271 -0
- package/dist/app/inputactions.js.map +1 -0
- package/dist/app/inputmgr.js +331 -22
- package/dist/app/inputmgr.js.map +1 -1
- package/dist/app/loading.js +138 -0
- package/dist/app/loading.js.map +1 -0
- package/dist/app/pipelinecache.js +209 -0
- package/dist/app/pipelinecache.js.map +1 -0
- package/dist/app/runtimescript.js +25 -0
- package/dist/app/runtimescript.js.map +1 -1
- package/dist/app/scriptingsystem.js +54 -0
- package/dist/app/scriptingsystem.js.map +1 -1
- package/dist/app/scriptregistry.js +7 -2
- package/dist/app/scriptregistry.js.map +1 -1
- package/dist/asset/asset_manifest.js +59 -0
- package/dist/asset/asset_manifest.js.map +1 -0
- package/dist/asset/asset_preload.js +258 -0
- package/dist/asset/asset_preload.js.map +1 -0
- package/dist/asset/assetmanager.js +117 -65
- package/dist/asset/assetmanager.js.map +1 -1
- package/dist/asset/loaders/ktx2/basis/LICENSE +201 -0
- package/dist/asset/loaders/ktx2/basis/basis_transcoder.js +2 -0
- package/dist/asset/loaders/ktx2/basis/basis_transcoder.wasm +0 -0
- package/dist/asset/loaders/ktx2/basis_location.js +17 -0
- package/dist/asset/loaders/ktx2/basis_location.js.map +1 -0
- package/dist/asset/loaders/ktx2/ktx2_loader.js +88 -0
- package/dist/asset/loaders/ktx2/ktx2_loader.js.map +1 -0
- package/dist/asset/loaders/ktx2/ktx2_targets.js +118 -0
- package/dist/asset/loaders/ktx2/ktx2_targets.js.map +1 -0
- package/dist/asset/loaders/ktx2/transcoder_pool.js +259 -0
- package/dist/asset/loaders/ktx2/transcoder_pool.js.map +1 -0
- package/dist/asset/mesh_lod_builder.js +104 -0
- package/dist/asset/mesh_lod_builder.js.map +1 -0
- package/dist/asset/mesh_settings.js +111 -0
- package/dist/asset/mesh_settings.js.map +1 -0
- package/dist/asset/meshopt_decoder.js +18 -0
- package/dist/asset/meshopt_decoder.js.map +1 -0
- package/dist/asset/meshopt_simplifier.js +26 -0
- package/dist/asset/meshopt_simplifier.js.map +1 -0
- package/dist/asset/model.js +177 -3
- package/dist/asset/model.js.map +1 -1
- package/dist/asset/texture_settings.js +231 -0
- package/dist/asset/texture_settings.js.map +1 -0
- package/dist/asset/zmsh_binary.js +131 -0
- package/dist/asset/zmsh_binary.js.map +1 -0
- package/dist/asset/zsdf_binary.js +111 -0
- package/dist/asset/zsdf_binary.js.map +1 -0
- package/dist/blitter/bilateralblur.js +1 -2
- package/dist/blitter/bilateralblur.js.map +1 -1
- package/dist/blitter/gaussianblur.js +1 -6
- package/dist/blitter/gaussianblur.js.map +1 -1
- package/dist/camera/base.js +31 -10
- package/dist/camera/base.js.map +1 -1
- package/dist/camera/camera.js +178 -200
- package/dist/camera/camera.js.map +1 -1
- package/dist/camera/follow.js +342 -0
- package/dist/camera/follow.js.map +1 -0
- package/dist/camera/fps.js +9 -7
- package/dist/camera/fps.js.map +1 -1
- package/dist/camera/orbit.js +46 -19
- package/dist/camera/orbit.js.map +1 -1
- package/dist/index.d.ts +30475 -19865
- package/dist/index.js +67 -12
- package/dist/index.js.map +1 -1
- package/dist/material/blinn.js +3 -0
- package/dist/material/blinn.js.map +1 -1
- package/dist/material/eye.js +1 -1
- package/dist/material/eye.js.map +1 -1
- package/dist/material/hair.js +2 -3
- package/dist/material/hair.js.map +1 -1
- package/dist/material/hairstrand.js +235 -235
- package/dist/material/hairstrand.js.map +1 -1
- package/dist/material/lambert.js +4 -1
- package/dist/material/lambert.js.map +1 -1
- package/dist/material/material.js +362 -300
- package/dist/material/material.js.map +1 -1
- package/dist/material/meshmaterial.js +118 -45
- package/dist/material/meshmaterial.js.map +1 -1
- package/dist/material/mixins/lightmodel/blinnphong.js +1 -1
- package/dist/material/mixins/lightmodel/blinnphong.js.map +1 -1
- package/dist/material/mixins/lightmodel/lambert.js +1 -1
- package/dist/material/mixins/lightmodel/lambert.js.map +1 -1
- package/dist/material/mixins/lightmodel/pbrblueprintmixin.js +34 -61
- package/dist/material/mixins/lightmodel/pbrblueprintmixin.js.map +1 -1
- package/dist/material/mixins/lightmodel/pbrmetallicroughness.js +16 -2
- package/dist/material/mixins/lightmodel/pbrmetallicroughness.js.map +1 -1
- package/dist/material/mixins/lightmodel/pbrspecularglossness.js +2 -1
- package/dist/material/mixins/lightmodel/pbrspecularglossness.js.map +1 -1
- package/dist/material/mixins/lit.js +223 -83
- package/dist/material/mixins/lit.js.map +1 -1
- package/dist/material/mixins/pbr/common.js +31 -206
- package/dist/material/mixins/pbr/common.js.map +1 -1
- package/dist/material/mtoon.js +1 -1
- package/dist/material/mtoon.js.map +1 -1
- package/dist/material/pbrmr.js +3 -0
- package/dist/material/pbrmr.js.map +1 -1
- package/dist/material/pbrsg.js +3 -0
- package/dist/material/pbrsg.js.map +1 -1
- package/dist/material/sdf_debug.js +78 -0
- package/dist/material/sdf_debug.js.map +1 -0
- package/dist/material/shader/helper.js +733 -190
- package/dist/material/shader/helper.js.map +1 -1
- package/dist/material/shader/terrain_blend.js +204 -43
- package/dist/material/shader/terrain_blend.js.map +1 -1
- package/dist/material/skin.js +331 -297
- package/dist/material/skin.js.map +1 -1
- package/dist/material/skinprofile.js +1058 -0
- package/dist/material/skinprofile.js.map +1 -0
- package/dist/material/sss.js +353 -0
- package/dist/material/sss.js.map +1 -0
- package/dist/material/sss_kernel.js +265 -0
- package/dist/material/sss_kernel.js.map +1 -0
- package/dist/material/sssprofile.js +879 -0
- package/dist/material/sssprofile.js.map +1 -0
- package/dist/material/subsurfaceprofile.js +4 -8
- package/dist/material/subsurfaceprofile.js.map +1 -1
- package/dist/material/terrain-cm.js +464 -188
- package/dist/material/terrain-cm.js.map +1 -1
- package/dist/material/unlit.js +3 -0
- package/dist/material/unlit.js.map +1 -1
- package/dist/material/water.js +2009 -201
- package/dist/material/water.js.map +1 -1
- package/dist/node_modules/meshoptimizer/LICENSE +21 -0
- package/dist/node_modules/meshoptimizer/meshopt_decoder.js +197 -0
- package/dist/node_modules/meshoptimizer/meshopt_decoder.js.map +1 -0
- package/dist/node_modules/meshoptimizer/meshopt_simplifier.js +677 -0
- package/dist/node_modules/meshoptimizer/meshopt_simplifier.js.map +1 -0
- package/dist/physics/character.js +226 -0
- package/dist/physics/character.js.map +1 -0
- package/dist/physics/collider.js +209 -0
- package/dist/physics/collider.js.map +1 -0
- package/dist/physics/events.js +79 -0
- package/dist/physics/events.js.map +1 -0
- package/dist/physics/joint.js +272 -0
- package/dist/physics/joint.js.map +1 -0
- package/dist/physics/node_physics.js +234 -0
- package/dist/physics/node_physics.js.map +1 -0
- package/dist/physics/part.js +91 -0
- package/dist/physics/part.js.map +1 -0
- package/dist/physics/rigid_body.js +379 -0
- package/dist/physics/rigid_body.js.map +1 -0
- package/dist/physics/vehicle.js +335 -0
- package/dist/physics/vehicle.js.map +1 -0
- package/dist/physics/world.js +25 -0
- package/dist/physics/world.js.map +1 -0
- package/dist/posteffect/bloom.js +49 -14
- package/dist/posteffect/bloom.js.map +1 -1
- package/dist/posteffect/motionblur.js +668 -63
- package/dist/posteffect/motionblur.js.map +1 -1
- package/dist/posteffect/posteffect.js +12 -1
- package/dist/posteffect/posteffect.js.map +1 -1
- package/dist/posteffect/postsss.js +572 -0
- package/dist/posteffect/postsss.js.map +1 -0
- package/dist/posteffect/sao.js +48 -50
- package/dist/posteffect/sao.js.map +1 -1
- package/dist/posteffect/skinsss.js +605 -355
- package/dist/posteffect/skinsss.js.map +1 -1
- package/dist/posteffect/ssgi.js +91 -162
- package/dist/posteffect/ssgi.js.map +1 -1
- package/dist/posteffect/ssr.js +3 -11
- package/dist/posteffect/ssr.js.map +1 -1
- package/dist/posteffect/sss.js +34 -15
- package/dist/posteffect/sss.js.map +1 -1
- package/dist/posteffect/taa.js +1 -0
- package/dist/posteffect/taa.js.map +1 -1
- package/dist/render/abuffer_oit.js +40 -39
- package/dist/render/abuffer_oit.js.map +1 -1
- package/dist/render/clipmap.js +328 -62
- package/dist/render/clipmap.js.map +1 -1
- package/dist/render/cluster_light.js +958 -224
- package/dist/render/cluster_light.js.map +1 -1
- package/dist/render/cull_visitor.js +26 -5
- package/dist/render/cull_visitor.js.map +1 -1
- package/dist/render/debug_views.js +37 -0
- package/dist/render/debug_views.js.map +1 -0
- package/dist/render/depthpass.js +5 -1
- package/dist/render/depthpass.js.map +1 -1
- package/dist/render/drawable_mixin.js +53 -6
- package/dist/render/drawable_mixin.js.map +1 -1
- package/dist/render/dualdepthpeeling_oit.js +53 -53
- package/dist/render/dualdepthpeeling_oit.js.map +1 -1
- package/dist/render/envlight.js +196 -113
- package/dist/render/envlight.js.map +1 -1
- package/dist/render/fbm_wavegenerator.js +8 -13
- package/dist/render/fbm_wavegenerator.js.map +1 -1
- package/dist/render/fft_wavegenerator.js +268 -136
- package/dist/render/fft_wavegenerator.js.map +1 -1
- package/dist/render/gerstner_wavegenerator.js +113 -28
- package/dist/render/gerstner_wavegenerator.js.map +1 -1
- package/dist/render/gi/probe_volume.js +1334 -0
- package/dist/render/gi/probe_volume.js.map +1 -0
- package/dist/render/gi/scene_gi.js +282 -0
- package/dist/render/gi/scene_gi.js.map +1 -0
- package/dist/render/gi/voxel_atlas.js +198 -0
- package/dist/render/gi/voxel_atlas.js.map +1 -0
- package/dist/render/gi/voxel_lighting.js +652 -0
- package/dist/render/gi/voxel_lighting.js.map +1 -0
- package/dist/render/gi/voxel_scene.js +642 -0
- package/dist/render/gi/voxel_scene.js.map +1 -0
- package/dist/render/gi/voxelize_pass.js +223 -0
- package/dist/render/gi/voxelize_pass.js.map +1 -0
- package/dist/render/globalbindgroup_allocator.js +3 -2
- package/dist/render/globalbindgroup_allocator.js.map +1 -1
- package/dist/render/gpu_picking.js +9 -36
- package/dist/render/gpu_picking.js.map +1 -1
- package/dist/render/hzb.js +80 -22
- package/dist/render/hzb.js.map +1 -1
- package/dist/render/instance_culling.js +499 -0
- package/dist/render/instance_culling.js.map +1 -0
- package/dist/render/lightpass.js +23 -9
- package/dist/render/lightpass.js.map +1 -1
- package/dist/render/lod.js +46 -0
- package/dist/render/lod.js.map +1 -0
- package/dist/render/oit.js +11 -11
- package/dist/render/oit.js.map +1 -1
- package/dist/render/primitive.js +301 -9
- package/dist/render/primitive.js.map +1 -1
- package/dist/render/primitive_readback.js +209 -0
- package/dist/render/primitive_readback.js.map +1 -0
- package/dist/render/render_queue.js +198 -11
- package/dist/render/render_queue.js.map +1 -1
- package/dist/render/renderer.js +14 -7
- package/dist/render/renderer.js.map +1 -1
- package/dist/render/rendergraph/blackboard.js +15 -1
- package/dist/render/rendergraph/blackboard.js.map +1 -1
- package/dist/render/rendergraph/executor.js +136 -0
- package/dist/render/rendergraph/executor.js.map +1 -1
- package/dist/render/rendergraph/forward_plus_builder.js +585 -59
- package/dist/render/rendergraph/forward_plus_builder.js.map +1 -1
- package/dist/render/rendergraph/frame_resource_requirements.js +1 -0
- package/dist/render/rendergraph/frame_resource_requirements.js.map +1 -1
- package/dist/render/rendergraph/history_resources.js +8 -1
- package/dist/render/rendergraph/history_resources.js.map +1 -1
- package/dist/render/rendergraph/scene_render_context.js +31 -2
- package/dist/render/rendergraph/scene_render_context.js.map +1 -1
- package/dist/render/rendergraph/types.js.map +1 -1
- package/dist/render/renderpass.js +28 -5
- package/dist/render/renderpass.js.map +1 -1
- package/dist/render/sdf/box_allocator.js +98 -0
- package/dist/render/sdf/box_allocator.js.map +1 -0
- package/dist/render/sdf/global_sdf.js +865 -0
- package/dist/render/sdf/global_sdf.js.map +1 -0
- package/dist/render/sdf/scene_sdf.js +562 -0
- package/dist/render/sdf/scene_sdf.js.map +1 -0
- package/dist/render/sdf/sdf_atlas.js +227 -0
- package/dist/render/sdf/sdf_atlas.js.map +1 -0
- package/dist/render/sdf/sdf_programs.js +42 -0
- package/dist/render/sdf/sdf_programs.js.map +1 -0
- package/dist/render/sdf/sdf_view.js +199 -0
- package/dist/render/sdf/sdf_view.js.map +1 -0
- package/dist/render/sdf/waterline.js +610 -0
- package/dist/render/sdf/waterline.js.map +1 -0
- package/dist/render/shadow_mask_pass.js +142 -25
- package/dist/render/shadow_mask_pass.js.map +1 -1
- package/dist/render/shore_wave_generator.js +1193 -0
- package/dist/render/shore_wave_generator.js.map +1 -0
- package/dist/render/sky.js +516 -86
- package/dist/render/sky.js.map +1 -1
- package/dist/render/transmission_thickness_pass.js +477 -0
- package/dist/render/transmission_thickness_pass.js.map +1 -0
- package/dist/render/underwater.js +524 -0
- package/dist/render/underwater.js.map +1 -0
- package/dist/render/virtualtexture/virtual_texture.js +1214 -0
- package/dist/render/virtualtexture/virtual_texture.js.map +1 -0
- package/dist/render/volumetric_cloud/cloud_common.js +472 -0
- package/dist/render/volumetric_cloud/cloud_common.js.map +1 -0
- package/dist/render/volumetric_cloud/cloud_noise.js +189 -0
- package/dist/render/volumetric_cloud/cloud_noise.js.map +1 -0
- package/dist/render/volumetric_cloud/debug_view.js +131 -0
- package/dist/render/volumetric_cloud/debug_view.js.map +1 -0
- package/dist/render/volumetric_cloud/resources.js +380 -0
- package/dist/render/volumetric_cloud/resources.js.map +1 -0
- package/dist/render/volumetric_cloud/sky_cache.js +380 -0
- package/dist/render/volumetric_cloud/sky_cache.js.map +1 -0
- package/dist/render/volumetric_cloud/volumetric_cloud.js +318 -0
- package/dist/render/volumetric_cloud/volumetric_cloud.js.map +1 -0
- package/dist/render/water_caustics.js +1195 -0
- package/dist/render/water_caustics.js.map +1 -0
- package/dist/render/water_foam.js +627 -0
- package/dist/render/water_foam.js.map +1 -0
- package/dist/render/water_interaction.js +1795 -0
- package/dist/render/water_interaction.js.map +1 -0
- package/dist/render/weightedblended_oit.js +36 -36
- package/dist/render/weightedblended_oit.js.map +1 -1
- package/dist/scene/basesprite.js +9 -4
- package/dist/scene/basesprite.js.map +1 -1
- package/dist/scene/batchgroup.js +108 -12
- package/dist/scene/batchgroup.js.map +1 -1
- package/dist/scene/environment.js +28 -7
- package/dist/scene/environment.js.map +1 -1
- package/dist/scene/foliage.js +1020 -0
- package/dist/scene/foliage.js.map +1 -0
- package/dist/scene/foliage_buckets.js +147 -0
- package/dist/scene/foliage_buckets.js.map +1 -0
- package/dist/scene/foliage_mask.js +358 -0
- package/dist/scene/foliage_mask.js.map +1 -0
- package/dist/scene/hair.js +15 -4
- package/dist/scene/hair.js.map +1 -1
- package/dist/scene/light.js +179 -13
- package/dist/scene/light.js.map +1 -1
- package/dist/scene/mesh.js +327 -45
- package/dist/scene/mesh.js.map +1 -1
- package/dist/scene/meshdrawable.js +6 -0
- package/dist/scene/meshdrawable.js.map +1 -1
- package/dist/scene/msdftext.js +9 -3
- package/dist/scene/msdftext.js.map +1 -1
- package/dist/scene/msdftextsprite.js +9 -3
- package/dist/scene/msdftextsprite.js.map +1 -1
- package/dist/scene/particlesys.js +8 -2
- package/dist/scene/particlesys.js.map +1 -1
- package/dist/scene/physics_settings.js +157 -0
- package/dist/scene/physics_settings.js.map +1 -0
- package/dist/scene/scene.js +190 -44
- package/dist/scene/scene.js.map +1 -1
- package/dist/scene/scene_node.js +147 -6
- package/dist/scene/scene_node.js.map +1 -1
- package/dist/scene/terrain-cm/bladegrassmaterial.js +735 -0
- package/dist/scene/terrain-cm/bladegrassmaterial.js.map +1 -0
- package/dist/scene/terrain-cm/grass.js +881 -42
- package/dist/scene/terrain-cm/grass.js.map +1 -1
- package/dist/scene/terrain-cm/grass_gpu.js +929 -0
- package/dist/scene/terrain-cm/grass_gpu.js.map +1 -0
- package/dist/scene/terrain-cm/grassmaterial.js +180 -9
- package/dist/scene/terrain-cm/grassmaterial.js.map +1 -1
- package/dist/scene/terrain-cm/terrain-cm.js +465 -36
- package/dist/scene/terrain-cm/terrain-cm.js.map +1 -1
- package/dist/scene/terrain-cm/terrain_gi_albedo.js +257 -0
- package/dist/scene/terrain-cm/terrain_gi_albedo.js.map +1 -0
- package/dist/scene/terrain-cm/terrain_rvt.js +395 -0
- package/dist/scene/terrain-cm/terrain_rvt.js.map +1 -0
- package/dist/scene/update_queue.js +54 -0
- package/dist/scene/update_queue.js.map +1 -0
- package/dist/scene/water.js +997 -96
- package/dist/scene/water.js.map +1 -1
- package/dist/scene/water_surface_sampler.js +324 -0
- package/dist/scene/water_surface_sampler.js.map +1 -0
- package/dist/scene/wind.js +317 -0
- package/dist/scene/wind.js.map +1 -0
- package/dist/shaders/atmosphere.js +388 -166
- package/dist/shaders/atmosphere.js.map +1 -1
- package/dist/shaders/fog.js +100 -32
- package/dist/shaders/fog.js.map +1 -1
- package/dist/shaders/gi.js +365 -0
- package/dist/shaders/gi.js.map +1 -0
- package/dist/shaders/ltc_rect.js +202 -0
- package/dist/shaders/ltc_rect.js.map +1 -0
- package/dist/shaders/misc.js +1 -10
- package/dist/shaders/misc.js.map +1 -1
- package/dist/shaders/noise.js +5 -1
- package/dist/shaders/noise.js.map +1 -1
- package/dist/shaders/probes.js +309 -0
- package/dist/shaders/probes.js.map +1 -0
- package/dist/shaders/sdf.js +537 -0
- package/dist/shaders/sdf.js.map +1 -0
- package/dist/shaders/shadow.js +104 -70
- package/dist/shaders/shadow.js.map +1 -1
- package/dist/shaders/skin_brdf.js +243 -0
- package/dist/shaders/skin_brdf.js.map +1 -0
- package/dist/shaders/ssr.js +6 -159
- package/dist/shaders/ssr.js.map +1 -1
- package/dist/shaders/temporal.js +38 -27
- package/dist/shaders/temporal.js.map +1 -1
- package/dist/shaders/water.js +40 -87
- package/dist/shaders/water.js.map +1 -1
- package/dist/shaders/water_medium.js +42 -0
- package/dist/shaders/water_medium.js.map +1 -0
- package/dist/shadow/dom.js +110 -19
- package/dist/shadow/dom.js.map +1 -1
- package/dist/shadow/esm.js +3 -3
- package/dist/shadow/esm.js.map +1 -1
- package/dist/shadow/pcf_opt.js +15 -48
- package/dist/shadow/pcf_opt.js.map +1 -1
- package/dist/shadow/pcf_pd.js +15 -53
- package/dist/shadow/pcf_pd.js.map +1 -1
- package/dist/shadow/pcss.js +34 -9
- package/dist/shadow/pcss.js.map +1 -1
- package/dist/shadow/shadow_impl.js +3 -8
- package/dist/shadow/shadow_impl.js.map +1 -1
- package/dist/shadow/shadow_region.js +87 -49
- package/dist/shadow/shadow_region.js.map +1 -1
- package/dist/shadow/shadowmapper.js +93 -53
- package/dist/shadow/shadowmapper.js.map +1 -1
- package/dist/shadow/ssm.js +18 -72
- package/dist/shadow/ssm.js.map +1 -1
- package/dist/shadow/vsm.js +3 -3
- package/dist/shadow/vsm.js.map +1 -1
- package/dist/shapes/shape.js +44 -1
- package/dist/shapes/shape.js.map +1 -1
- package/dist/utility/buoyancy.js +287 -0
- package/dist/utility/buoyancy.js.map +1 -0
- package/dist/utility/physical.js +10 -1
- package/dist/utility/physical.js.map +1 -1
- package/dist/utility/pmrem.js +17 -43
- package/dist/utility/pmrem.js.map +1 -1
- package/dist/utility/sdf/bake.js +435 -0
- package/dist/utility/sdf/bake.js.map +1 -0
- package/dist/utility/sdf/bvh.js +576 -0
- package/dist/utility/sdf/bvh.js.map +1 -0
- package/dist/utility/serialization/manager.js +36 -6
- package/dist/utility/serialization/manager.js.map +1 -1
- package/dist/utility/serialization/scene/animation.js +77 -7
- package/dist/utility/serialization/scene/animation.js.map +1 -1
- package/dist/utility/serialization/scene/batch.js +11 -4
- package/dist/utility/serialization/scene/batch.js.map +1 -1
- package/dist/utility/serialization/scene/camera.js +140 -279
- package/dist/utility/serialization/scene/camera.js.map +1 -1
- package/dist/utility/serialization/scene/cloth.js +25 -0
- package/dist/utility/serialization/scene/cloth.js.map +1 -0
- package/dist/utility/serialization/scene/common.js +14 -6
- package/dist/utility/serialization/scene/common.js.map +1 -1
- package/dist/utility/serialization/scene/foliage.js +821 -0
- package/dist/utility/serialization/scene/foliage.js.map +1 -0
- package/dist/utility/serialization/scene/hair.js +11 -4
- package/dist/utility/serialization/scene/hair.js.map +1 -1
- package/dist/utility/serialization/scene/light.js +115 -7
- package/dist/utility/serialization/scene/light.js.map +1 -1
- package/dist/utility/serialization/scene/material.js +388 -220
- package/dist/utility/serialization/scene/material.js.map +1 -1
- package/dist/utility/serialization/scene/mesh.js +69 -4
- package/dist/utility/serialization/scene/mesh.js.map +1 -1
- package/dist/utility/serialization/scene/node.js +140 -5
- package/dist/utility/serialization/scene/node.js.map +1 -1
- package/dist/utility/serialization/scene/node_physics.js +1318 -0
- package/dist/utility/serialization/scene/node_physics.js.map +1 -0
- package/dist/utility/serialization/scene/particle.js +11 -4
- package/dist/utility/serialization/scene/particle.js.map +1 -1
- package/dist/utility/serialization/scene/physics.js +120 -0
- package/dist/utility/serialization/scene/physics.js.map +1 -0
- package/dist/utility/serialization/scene/primitive.js +124 -10
- package/dist/utility/serialization/scene/primitive.js.map +1 -1
- package/dist/utility/serialization/scene/scene.js +1687 -51
- package/dist/utility/serialization/scene/scene.js.map +1 -1
- package/dist/utility/serialization/scene/sprite.js +11 -4
- package/dist/utility/serialization/scene/sprite.js.map +1 -1
- package/dist/utility/serialization/scene/terrain.js +163 -33
- package/dist/utility/serialization/scene/terrain.js.map +1 -1
- package/dist/utility/serialization/scene/text.js +11 -4
- package/dist/utility/serialization/scene/text.js.map +1 -1
- package/dist/utility/serialization/scene/water.js +2473 -114
- package/dist/utility/serialization/scene/water.js.map +1 -1
- package/dist/utility/serialization/types.js.map +1 -1
- package/dist/utility/shprojector.js +97 -109
- package/dist/utility/shprojector.js.map +1 -1
- package/dist/utility/textures/foam.js +170 -0
- package/dist/utility/textures/foam.js.map +1 -0
- package/dist/utility/textures/ggxlut.js +17 -43
- package/dist/utility/textures/ggxlut.js.map +1 -1
- package/dist/utility/textures/ltcdata.js +4 -4
- package/dist/utility/textures/ltcdata.js.map +1 -1
- package/dist/utility/textures/ltclut.js +16 -6
- package/dist/utility/textures/ltclut.js.map +1 -1
- package/dist/utility/unsupported.js +24 -0
- package/dist/utility/unsupported.js.map +1 -0
- package/dist/values.js +13 -1
- package/dist/values.js.map +1 -1
- package/package.json +25 -12
- package/src/asset/loaders/ktx2/basis/LICENSE +201 -0
- package/src/asset/loaders/ktx2/basis/basis_transcoder.js +2 -0
- package/src/asset/loaders/ktx2/basis/basis_transcoder.wasm +0 -0
- package/src/asset/meshoptimizer/LICENSE +21 -0
|
@@ -2,14 +2,15 @@ import '../../../material/shader/helper.js';
|
|
|
2
2
|
import { LambertMaterial } from '../../../material/lambert.js';
|
|
3
3
|
import { BlinnMaterial } from '../../../material/blinn.js';
|
|
4
4
|
import { UnlitMaterial } from '../../../material/unlit.js';
|
|
5
|
+
import { MeshMaterial } from '../../../material/meshmaterial.js';
|
|
5
6
|
import { ParticleMaterial } from '../../../material/particle.js';
|
|
6
7
|
import { SubsurfaceProfile } from '../../../material/subsurfaceprofile.js';
|
|
7
|
-
import {
|
|
8
|
+
import { SSSProfile } from '../../../material/sssprofile.js';
|
|
9
|
+
import { SSSMaterial } from '../../../material/sss.js';
|
|
8
10
|
import { EyeMaterial } from '../../../material/eye.js';
|
|
9
11
|
import '@zephyr3d/device';
|
|
10
12
|
import '../../../values.js';
|
|
11
13
|
import { Vector3, Vector4, Vector2 } from '@zephyr3d/base';
|
|
12
|
-
import { MeshMaterial } from '../../../material/meshmaterial.js';
|
|
13
14
|
import { HairMaterial } from '../../../material/hair.js';
|
|
14
15
|
import '../../../material/hairstrand.js';
|
|
15
16
|
import '../../../material/grassmaterial.js';
|
|
@@ -311,6 +312,336 @@ function getSubsurfaceProfileClass() {
|
|
|
311
312
|
}
|
|
312
313
|
};
|
|
313
314
|
}
|
|
315
|
+
/**
|
|
316
|
+
* Serialization for {@link SSSProfile}, the profile asset driving
|
|
317
|
+
* {@link SSSMaterial}'s subsurface scattering.
|
|
318
|
+
*/ function getSSSProfileClass() {
|
|
319
|
+
return {
|
|
320
|
+
// Not constructible from here by design; the cast is the price of declaring
|
|
321
|
+
// the class at all. `createFunc` below is what actually supplies the
|
|
322
|
+
// instance, so the constructor is never reached.
|
|
323
|
+
ctor: SSSProfile,
|
|
324
|
+
name: 'SSSProfile',
|
|
325
|
+
/**
|
|
326
|
+
* Hands back the owning material's profile instead of building one.
|
|
327
|
+
*
|
|
328
|
+
* A profile holds a row of a 256-entry GPU table that is only freed when its
|
|
329
|
+
* material is disposed, so deserializing into a fresh instance - which is
|
|
330
|
+
* what the default path does for an object-typed property - stranded a row
|
|
331
|
+
* on every scene load and every undo. `ctx` is the owner, since the
|
|
332
|
+
* property's deserializer passes the object it is filling in.
|
|
333
|
+
*/ createFunc (ctx) {
|
|
334
|
+
const material = ctx;
|
|
335
|
+
return material instanceof SSSMaterial ? {
|
|
336
|
+
obj: material.subsurfaceProfile
|
|
337
|
+
} : {
|
|
338
|
+
obj: null,
|
|
339
|
+
loadProps: false
|
|
340
|
+
};
|
|
341
|
+
},
|
|
342
|
+
getProps () {
|
|
343
|
+
return defineProps([
|
|
344
|
+
{
|
|
345
|
+
name: 'Preset',
|
|
346
|
+
description: 'Starting look for the whole profile: skin tones, wax, jade or marble. Choosing a preset overwrites every other value here, so pick one first and fine-tune afterwards',
|
|
347
|
+
type: 'string',
|
|
348
|
+
default: 'skin',
|
|
349
|
+
options: {
|
|
350
|
+
label: 'LookPreset',
|
|
351
|
+
enum: {
|
|
352
|
+
labels: [
|
|
353
|
+
'Skin',
|
|
354
|
+
'Skin Pale',
|
|
355
|
+
'Skin Tan',
|
|
356
|
+
'Skin Dark',
|
|
357
|
+
'Wax',
|
|
358
|
+
'Jade',
|
|
359
|
+
'Marble'
|
|
360
|
+
],
|
|
361
|
+
values: [
|
|
362
|
+
'skin',
|
|
363
|
+
'skin_pale',
|
|
364
|
+
'skin_tan',
|
|
365
|
+
'skin_dark',
|
|
366
|
+
'wax',
|
|
367
|
+
'jade',
|
|
368
|
+
'marble'
|
|
369
|
+
]
|
|
370
|
+
}
|
|
371
|
+
},
|
|
372
|
+
get (value) {
|
|
373
|
+
value.str[0] = this.preset;
|
|
374
|
+
},
|
|
375
|
+
set (value) {
|
|
376
|
+
this.preset = value.str[0];
|
|
377
|
+
}
|
|
378
|
+
},
|
|
379
|
+
{
|
|
380
|
+
name: 'SurfaceAlbedo',
|
|
381
|
+
description: "Set this close to the skin's base color. It does not recolor the surface; it fine-tunes how soft or tight the scattered glow is in each color channel",
|
|
382
|
+
type: 'rgb',
|
|
383
|
+
default: [
|
|
384
|
+
0.91058,
|
|
385
|
+
0.338275,
|
|
386
|
+
0.2718
|
|
387
|
+
],
|
|
388
|
+
options: {
|
|
389
|
+
animatable: true,
|
|
390
|
+
minValue: 0,
|
|
391
|
+
maxValue: 1
|
|
392
|
+
},
|
|
393
|
+
get (value) {
|
|
394
|
+
value.num[0] = this.surfaceAlbedo.x;
|
|
395
|
+
value.num[1] = this.surfaceAlbedo.y;
|
|
396
|
+
value.num[2] = this.surfaceAlbedo.z;
|
|
397
|
+
},
|
|
398
|
+
set (value) {
|
|
399
|
+
this.surfaceAlbedo = new Vector3(value.num[0], value.num[1], value.num[2]);
|
|
400
|
+
}
|
|
401
|
+
},
|
|
402
|
+
{
|
|
403
|
+
name: 'MeanFreePath',
|
|
404
|
+
description: 'Relative softness per color channel. The channel with the highest value bleeds furthest, which sets the color of the glow in shadow edges and around fine details; skin keeps red high, giving the warm red fringe at the light-to-shadow transition',
|
|
405
|
+
type: 'rgb',
|
|
406
|
+
default: [
|
|
407
|
+
1,
|
|
408
|
+
0.0889636,
|
|
409
|
+
0.0720951
|
|
410
|
+
],
|
|
411
|
+
options: {
|
|
412
|
+
animatable: true,
|
|
413
|
+
minValue: 0,
|
|
414
|
+
maxValue: 1
|
|
415
|
+
},
|
|
416
|
+
get (value) {
|
|
417
|
+
value.num[0] = this.meanFreePath.x;
|
|
418
|
+
value.num[1] = this.meanFreePath.y;
|
|
419
|
+
value.num[2] = this.meanFreePath.z;
|
|
420
|
+
},
|
|
421
|
+
set (value) {
|
|
422
|
+
this.meanFreePath = new Vector3(value.num[0], value.num[1], value.num[2]);
|
|
423
|
+
}
|
|
424
|
+
},
|
|
425
|
+
{
|
|
426
|
+
name: 'MeanFreePathDistance',
|
|
427
|
+
description: 'Overall softness of the skin, in real-world metres (about 0.01 for human skin). Higher values blur lighting and surface detail more, giving a waxy, translucent look; lower values give a harder, more opaque, plastic-like surface',
|
|
428
|
+
type: 'float',
|
|
429
|
+
default: 0.026748,
|
|
430
|
+
options: {
|
|
431
|
+
animatable: true,
|
|
432
|
+
minValue: 0,
|
|
433
|
+
maxValue: 1
|
|
434
|
+
},
|
|
435
|
+
get (value) {
|
|
436
|
+
value.num[0] = this.meanFreePathDistance;
|
|
437
|
+
},
|
|
438
|
+
set (value) {
|
|
439
|
+
this.meanFreePathDistance = value.num[0];
|
|
440
|
+
}
|
|
441
|
+
},
|
|
442
|
+
{
|
|
443
|
+
name: 'WorldUnitScale',
|
|
444
|
+
description: "Set this to the model's size relative to real life (1 for a life-size model in metres, 4 for a head modelled four times too large). If the skin looks too waxy or too hard only because of the model's scale, fix it here instead of changing the softness",
|
|
445
|
+
type: 'float',
|
|
446
|
+
default: 1,
|
|
447
|
+
options: {
|
|
448
|
+
animatable: true,
|
|
449
|
+
minValue: 0.01,
|
|
450
|
+
maxValue: 100
|
|
451
|
+
},
|
|
452
|
+
get (value) {
|
|
453
|
+
value.num[0] = this.worldUnitScale;
|
|
454
|
+
},
|
|
455
|
+
set (value) {
|
|
456
|
+
this.worldUnitScale = value.num[0];
|
|
457
|
+
}
|
|
458
|
+
},
|
|
459
|
+
{
|
|
460
|
+
name: 'ScatterScale',
|
|
461
|
+
description: 'Quick overall softness knob on top of MeanFreePathDistance, affecting both the soft skin look and the glow through thin parts. Raise it for softer, more translucent skin; 0 removes the soft scattering look entirely',
|
|
462
|
+
type: 'float',
|
|
463
|
+
default: 1,
|
|
464
|
+
options: {
|
|
465
|
+
animatable: true,
|
|
466
|
+
minValue: 0,
|
|
467
|
+
maxValue: 8
|
|
468
|
+
},
|
|
469
|
+
get (value) {
|
|
470
|
+
value.num[0] = this.scatterScale;
|
|
471
|
+
},
|
|
472
|
+
set (value) {
|
|
473
|
+
this.scatterScale = value.num[0];
|
|
474
|
+
}
|
|
475
|
+
},
|
|
476
|
+
{
|
|
477
|
+
name: 'BoundaryColorBleed',
|
|
478
|
+
description: 'Color used where this skin meets a different profile, e.g. face and lips. Values near white let the softness blend smoothly across the boundary; darker or more saturated values tint the transition and make the seam more visible',
|
|
479
|
+
type: 'rgb',
|
|
480
|
+
default: [
|
|
481
|
+
1,
|
|
482
|
+
1,
|
|
483
|
+
1
|
|
484
|
+
],
|
|
485
|
+
options: {
|
|
486
|
+
animatable: true,
|
|
487
|
+
minValue: 0,
|
|
488
|
+
maxValue: 1
|
|
489
|
+
},
|
|
490
|
+
get (value) {
|
|
491
|
+
value.num[0] = this.boundaryColorBleed.x;
|
|
492
|
+
value.num[1] = this.boundaryColorBleed.y;
|
|
493
|
+
value.num[2] = this.boundaryColorBleed.z;
|
|
494
|
+
},
|
|
495
|
+
set (value) {
|
|
496
|
+
this.boundaryColorBleed = new Vector3(value.num[0], value.num[1], value.num[2]);
|
|
497
|
+
}
|
|
498
|
+
},
|
|
499
|
+
{
|
|
500
|
+
name: 'TransmissionTint',
|
|
501
|
+
description: 'Color of the glow seen when light shines through thin parts such as ears, nostrils and fingers from behind. Warm reds and oranges for skin',
|
|
502
|
+
type: 'rgb',
|
|
503
|
+
default: [
|
|
504
|
+
1,
|
|
505
|
+
0.42,
|
|
506
|
+
0.3
|
|
507
|
+
],
|
|
508
|
+
options: {
|
|
509
|
+
animatable: true,
|
|
510
|
+
minValue: 0,
|
|
511
|
+
maxValue: 1
|
|
512
|
+
},
|
|
513
|
+
get (value) {
|
|
514
|
+
value.num[0] = this.transmissionTint.x;
|
|
515
|
+
value.num[1] = this.transmissionTint.y;
|
|
516
|
+
value.num[2] = this.transmissionTint.z;
|
|
517
|
+
},
|
|
518
|
+
set (value) {
|
|
519
|
+
this.transmissionTint = new Vector3(value.num[0], value.num[1], value.num[2]);
|
|
520
|
+
}
|
|
521
|
+
},
|
|
522
|
+
{
|
|
523
|
+
name: 'ExtinctionScale',
|
|
524
|
+
description: 'How opaque the material is to back-lighting. Higher values make only the thinnest edges glow; lower values let the glow reach thicker areas, making the object look more translucent overall',
|
|
525
|
+
type: 'float',
|
|
526
|
+
default: 1,
|
|
527
|
+
options: {
|
|
528
|
+
animatable: true,
|
|
529
|
+
minValue: 0,
|
|
530
|
+
maxValue: 8
|
|
531
|
+
},
|
|
532
|
+
get (value) {
|
|
533
|
+
value.num[0] = this.extinctionScale;
|
|
534
|
+
},
|
|
535
|
+
set (value) {
|
|
536
|
+
this.extinctionScale = value.num[0];
|
|
537
|
+
}
|
|
538
|
+
},
|
|
539
|
+
{
|
|
540
|
+
name: 'NormalScale',
|
|
541
|
+
description: 'Stability of the back-lit glow. Too low makes the glow through thin parts disappear or look blotchy; higher values give a cleaner, smoother glow but wash out small thin details. Does not affect front-lit skin',
|
|
542
|
+
type: 'float',
|
|
543
|
+
default: 0.08,
|
|
544
|
+
options: {
|
|
545
|
+
animatable: true,
|
|
546
|
+
minValue: 0,
|
|
547
|
+
maxValue: 1
|
|
548
|
+
},
|
|
549
|
+
get (value) {
|
|
550
|
+
value.num[0] = this.normalScale;
|
|
551
|
+
},
|
|
552
|
+
set (value) {
|
|
553
|
+
this.normalScale = value.num[0];
|
|
554
|
+
}
|
|
555
|
+
},
|
|
556
|
+
{
|
|
557
|
+
name: 'ScatteringDistribution',
|
|
558
|
+
description: 'How directional the back-lit glow is. Values near 1 make thin parts glow strongly only when looking almost straight towards the light; lower values spread the glow over a wider range of viewing angles',
|
|
559
|
+
type: 'float',
|
|
560
|
+
default: 0.93,
|
|
561
|
+
options: {
|
|
562
|
+
animatable: true,
|
|
563
|
+
minValue: -1,
|
|
564
|
+
maxValue: 1
|
|
565
|
+
},
|
|
566
|
+
get (value) {
|
|
567
|
+
value.num[0] = this.scatteringDistribution;
|
|
568
|
+
},
|
|
569
|
+
set (value) {
|
|
570
|
+
this.scatteringDistribution = value.num[0];
|
|
571
|
+
}
|
|
572
|
+
},
|
|
573
|
+
{
|
|
574
|
+
name: 'IOR',
|
|
575
|
+
description: 'Changes how the back-lit glow depends on the viewing angle. Higher values make the glow follow the surface shape and the light more than the camera direction. Does not affect front-lit highlights',
|
|
576
|
+
type: 'float',
|
|
577
|
+
default: 1.55,
|
|
578
|
+
options: {
|
|
579
|
+
animatable: true,
|
|
580
|
+
minValue: 1,
|
|
581
|
+
maxValue: 3
|
|
582
|
+
},
|
|
583
|
+
get (value) {
|
|
584
|
+
value.num[0] = this.ior;
|
|
585
|
+
},
|
|
586
|
+
set (value) {
|
|
587
|
+
this.ior = value.num[0];
|
|
588
|
+
}
|
|
589
|
+
},
|
|
590
|
+
{
|
|
591
|
+
name: 'Roughness0',
|
|
592
|
+
description: 'Sharpness of the tight highlight layer, as a fraction of the material roughness. Lower values give a small, crisp, oily-looking highlight',
|
|
593
|
+
type: 'float',
|
|
594
|
+
default: 0.75,
|
|
595
|
+
options: {
|
|
596
|
+
animatable: true,
|
|
597
|
+
minValue: 0.5,
|
|
598
|
+
maxValue: 2
|
|
599
|
+
},
|
|
600
|
+
get (value) {
|
|
601
|
+
value.num[0] = this.roughness0;
|
|
602
|
+
},
|
|
603
|
+
set (value) {
|
|
604
|
+
this.roughness0 = value.num[0];
|
|
605
|
+
}
|
|
606
|
+
},
|
|
607
|
+
{
|
|
608
|
+
name: 'Roughness1',
|
|
609
|
+
description: 'Sharpness of the broad highlight layer, as a fraction of the material roughness. Lower values make the soft sheen smaller and brighter',
|
|
610
|
+
type: 'float',
|
|
611
|
+
default: 1.3,
|
|
612
|
+
options: {
|
|
613
|
+
animatable: true,
|
|
614
|
+
minValue: 0.5,
|
|
615
|
+
maxValue: 2
|
|
616
|
+
},
|
|
617
|
+
get (value) {
|
|
618
|
+
value.num[0] = this.roughness1;
|
|
619
|
+
},
|
|
620
|
+
set (value) {
|
|
621
|
+
this.roughness1 = value.num[0];
|
|
622
|
+
}
|
|
623
|
+
},
|
|
624
|
+
{
|
|
625
|
+
name: 'LobeMix',
|
|
626
|
+
description: 'Balance between the two highlight layers. 0 shows only the tight, crisp highlight; higher values add more of the broad, soft sheen for a more matte look',
|
|
627
|
+
type: 'float',
|
|
628
|
+
default: 0.85,
|
|
629
|
+
options: {
|
|
630
|
+
animatable: true,
|
|
631
|
+
minValue: 0.1,
|
|
632
|
+
maxValue: 0.9
|
|
633
|
+
},
|
|
634
|
+
get (value) {
|
|
635
|
+
value.num[0] = this.lobeMix;
|
|
636
|
+
},
|
|
637
|
+
set (value) {
|
|
638
|
+
this.lobeMix = value.num[0];
|
|
639
|
+
}
|
|
640
|
+
}
|
|
641
|
+
]);
|
|
642
|
+
}
|
|
643
|
+
};
|
|
644
|
+
}
|
|
314
645
|
function getPBRCommonProps(manager) {
|
|
315
646
|
const supportsSSSThicknessAuthoring = function() {
|
|
316
647
|
return (!this.$isInstance || isBlueprintMaterialAssetInstance(this)) && !!(this.transmission || this.subsurfaceProfile);
|
|
@@ -445,6 +776,7 @@ function getPBRCommonProps(manager) {
|
|
|
445
776
|
},
|
|
446
777
|
{
|
|
447
778
|
name: 'RectSpecularScale',
|
|
779
|
+
description: 'Brightness of the highlights produced by rectangular area lights on this material; 1 is neutral, lower values dim the reflections of the light panels, higher values make them brighter',
|
|
448
780
|
type: 'float',
|
|
449
781
|
options: {
|
|
450
782
|
label: 'RectSpecularScale',
|
|
@@ -1651,6 +1983,7 @@ function getMToonMaterialProps(manager) {
|
|
|
1651
1983
|
},
|
|
1652
1984
|
{
|
|
1653
1985
|
name: 'TransparentShadowCaster',
|
|
1986
|
+
description: 'Lets a transparent (blended) material cast shadows. Areas more opaque than ShadowAlphaCutoff cast solid shadows, useful for foliage, hair cards or fabric; when off, transparent objects cast no shadow',
|
|
1654
1987
|
type: 'bool',
|
|
1655
1988
|
default: false,
|
|
1656
1989
|
get (value) {
|
|
@@ -1665,6 +1998,7 @@ function getMToonMaterialProps(manager) {
|
|
|
1665
1998
|
},
|
|
1666
1999
|
{
|
|
1667
2000
|
name: 'ShadowAlphaCutoff',
|
|
2001
|
+
description: 'Opacity above which a transparent material casts shadow. Lower values make fainter parts cast shadow too, giving fuller shadows; higher values keep only the most opaque parts, giving thinner shadows',
|
|
1668
2002
|
type: 'float',
|
|
1669
2003
|
default: 0.5,
|
|
1670
2004
|
options: {
|
|
@@ -1754,7 +2088,7 @@ function getMToonMaterialProps(manager) {
|
|
|
1754
2088
|
]);
|
|
1755
2089
|
}
|
|
1756
2090
|
},
|
|
1757
|
-
getMeshMaterialInstanceUniformsClass(MeshMaterial)
|
|
2091
|
+
getMeshMaterialInstanceUniformsClass(MeshMaterial, 'MeshMaterial')
|
|
1758
2092
|
];
|
|
1759
2093
|
}
|
|
1760
2094
|
/** @internal */ function getSpriteMaterialClass(_manager) {
|
|
@@ -1767,7 +2101,7 @@ function getMToonMaterialProps(manager) {
|
|
|
1767
2101
|
return [];
|
|
1768
2102
|
}
|
|
1769
2103
|
},
|
|
1770
|
-
getMeshMaterialInstanceUniformsClass(SpriteMaterial)
|
|
2104
|
+
getMeshMaterialInstanceUniformsClass(SpriteMaterial, 'SpriteMaterial')
|
|
1771
2105
|
];
|
|
1772
2106
|
}
|
|
1773
2107
|
/** @internal */ function getStandardSpriteMaterialClass(manager) {
|
|
@@ -1827,7 +2161,7 @@ function getMToonMaterialProps(manager) {
|
|
|
1827
2161
|
]);
|
|
1828
2162
|
}
|
|
1829
2163
|
},
|
|
1830
|
-
getMeshMaterialInstanceUniformsClass(StandardSpriteMaterial)
|
|
2164
|
+
getMeshMaterialInstanceUniformsClass(StandardSpriteMaterial, 'StandardSpriteMaterial')
|
|
1831
2165
|
];
|
|
1832
2166
|
}
|
|
1833
2167
|
/** @internal */ function getParticleMaterialClass(manager) {
|
|
@@ -1923,7 +2257,7 @@ function getMToonMaterialProps(manager) {
|
|
|
1923
2257
|
]);
|
|
1924
2258
|
}
|
|
1925
2259
|
},
|
|
1926
|
-
getMeshMaterialInstanceUniformsClass(ParticleMaterial)
|
|
2260
|
+
getMeshMaterialInstanceUniformsClass(ParticleMaterial, 'ParticleMaterial')
|
|
1927
2261
|
];
|
|
1928
2262
|
}
|
|
1929
2263
|
/** @internal */ function getPBRBluePrintMaterialClass() {
|
|
@@ -1936,7 +2270,7 @@ function getMToonMaterialProps(manager) {
|
|
|
1936
2270
|
return defineProps([]);
|
|
1937
2271
|
}
|
|
1938
2272
|
},
|
|
1939
|
-
getMeshMaterialInstanceUniformsClass(PBRBluePrintMaterial)
|
|
2273
|
+
getMeshMaterialInstanceUniformsClass(PBRBluePrintMaterial, 'PBRBluePrintMaterial')
|
|
1940
2274
|
];
|
|
1941
2275
|
}
|
|
1942
2276
|
/** @internal */ function getPBRBluePrintMaterialInstanceClass() {
|
|
@@ -1949,7 +2283,7 @@ function getMToonMaterialProps(manager) {
|
|
|
1949
2283
|
return defineProps([]);
|
|
1950
2284
|
}
|
|
1951
2285
|
},
|
|
1952
|
-
getMeshMaterialInstanceUniformsClass(PBRBluePrintMaterialInstance)
|
|
2286
|
+
getMeshMaterialInstanceUniformsClass(PBRBluePrintMaterialInstance, 'PBRBluePrintMaterialInstance')
|
|
1953
2287
|
];
|
|
1954
2288
|
}
|
|
1955
2289
|
/** @internal */ function getSpriteBlueprintMaterialClass() {
|
|
@@ -1962,7 +2296,7 @@ function getMToonMaterialProps(manager) {
|
|
|
1962
2296
|
return [];
|
|
1963
2297
|
}
|
|
1964
2298
|
},
|
|
1965
|
-
getMeshMaterialInstanceUniformsClass(SpriteBlueprintMaterial)
|
|
2299
|
+
getMeshMaterialInstanceUniformsClass(SpriteBlueprintMaterial, 'SpriteBlueprintMaterial')
|
|
1966
2300
|
];
|
|
1967
2301
|
}
|
|
1968
2302
|
/** @internal */ function getUnlitMaterialClass(manager) {
|
|
@@ -1975,7 +2309,7 @@ function getMToonMaterialProps(manager) {
|
|
|
1975
2309
|
return getUnlitMaterialProps(manager);
|
|
1976
2310
|
}
|
|
1977
2311
|
},
|
|
1978
|
-
getMeshMaterialInstanceUniformsClass(UnlitMaterial)
|
|
2312
|
+
getMeshMaterialInstanceUniformsClass(UnlitMaterial, 'UnlitMaterial')
|
|
1979
2313
|
];
|
|
1980
2314
|
}
|
|
1981
2315
|
/** @internal */ function getMToonMaterialClass(manager) {
|
|
@@ -1988,7 +2322,7 @@ function getMToonMaterialProps(manager) {
|
|
|
1988
2322
|
return getMToonMaterialProps(manager);
|
|
1989
2323
|
}
|
|
1990
2324
|
},
|
|
1991
|
-
getMeshMaterialInstanceUniformsClass(MToonMaterial)
|
|
2325
|
+
getMeshMaterialInstanceUniformsClass(MToonMaterial, 'MToonMaterial')
|
|
1992
2326
|
];
|
|
1993
2327
|
}
|
|
1994
2328
|
/** @internal */ function getLambertMaterialClass(manager) {
|
|
@@ -2001,7 +2335,7 @@ function getMToonMaterialProps(manager) {
|
|
|
2001
2335
|
return getLitMaterialProps(manager);
|
|
2002
2336
|
}
|
|
2003
2337
|
},
|
|
2004
|
-
getMeshMaterialInstanceUniformsClass(LambertMaterial)
|
|
2338
|
+
getMeshMaterialInstanceUniformsClass(LambertMaterial, 'LambertMaterial')
|
|
2005
2339
|
];
|
|
2006
2340
|
}
|
|
2007
2341
|
/** @internal */ function getBlinnMaterialClass(manager) {
|
|
@@ -2035,7 +2369,7 @@ function getMToonMaterialProps(manager) {
|
|
|
2035
2369
|
]);
|
|
2036
2370
|
}
|
|
2037
2371
|
},
|
|
2038
|
-
getMeshMaterialInstanceUniformsClass(BlinnMaterial)
|
|
2372
|
+
getMeshMaterialInstanceUniformsClass(BlinnMaterial, 'BlinnMaterial')
|
|
2039
2373
|
];
|
|
2040
2374
|
}
|
|
2041
2375
|
/** @internal */ function getHairMaterialClass(manager) {
|
|
@@ -2519,230 +2853,84 @@ function getMToonMaterialProps(manager) {
|
|
|
2519
2853
|
]);
|
|
2520
2854
|
}
|
|
2521
2855
|
},
|
|
2522
|
-
getMeshMaterialInstanceUniformsClass(HairMaterial)
|
|
2856
|
+
getMeshMaterialInstanceUniformsClass(HairMaterial, 'HairMaterial')
|
|
2523
2857
|
];
|
|
2524
2858
|
}
|
|
2525
2859
|
/** @internal */ function getSkinMaterialClass(manager) {
|
|
2526
2860
|
return [
|
|
2527
2861
|
{
|
|
2528
|
-
ctor:
|
|
2862
|
+
ctor: SSSMaterial,
|
|
2529
2863
|
parent: MeshMaterial,
|
|
2530
|
-
name: '
|
|
2864
|
+
name: 'SSSMaterial',
|
|
2531
2865
|
getProps () {
|
|
2532
2866
|
return defineProps([
|
|
2533
2867
|
{
|
|
2534
|
-
name: '
|
|
2535
|
-
description: '
|
|
2536
|
-
type: 'float',
|
|
2537
|
-
default: 72,
|
|
2538
|
-
options: {
|
|
2539
|
-
animatable: true,
|
|
2540
|
-
minValue: 1,
|
|
2541
|
-
maxValue: 2048
|
|
2542
|
-
},
|
|
2543
|
-
get (value) {
|
|
2544
|
-
value.num[0] = this.shininess;
|
|
2545
|
-
},
|
|
2546
|
-
set (value) {
|
|
2547
|
-
this.shininess = value.num[0];
|
|
2548
|
-
},
|
|
2549
|
-
getDefaultValue () {
|
|
2550
|
-
return this.$isInstance ? this.coreMaterial.shininess : 72;
|
|
2551
|
-
}
|
|
2552
|
-
},
|
|
2553
|
-
{
|
|
2554
|
-
name: 'SpecularStrength',
|
|
2555
|
-
description: 'Direct specular strength for restrained skin highlights',
|
|
2556
|
-
type: 'float',
|
|
2557
|
-
default: 1,
|
|
2558
|
-
options: {
|
|
2559
|
-
animatable: true,
|
|
2560
|
-
minValue: 0,
|
|
2561
|
-
maxValue: 4
|
|
2562
|
-
},
|
|
2563
|
-
get (value) {
|
|
2564
|
-
value.num[0] = this.specularStrength;
|
|
2565
|
-
},
|
|
2566
|
-
set (value) {
|
|
2567
|
-
this.specularStrength = value.num[0];
|
|
2568
|
-
},
|
|
2569
|
-
getDefaultValue () {
|
|
2570
|
-
return this.$isInstance ? this.coreMaterial.specularStrength : 1;
|
|
2571
|
-
}
|
|
2572
|
-
},
|
|
2573
|
-
{
|
|
2574
|
-
name: 'DiffuseWrap',
|
|
2575
|
-
description: 'Wrap amount for visible diffuse lighting',
|
|
2576
|
-
type: 'float',
|
|
2577
|
-
default: 0.28,
|
|
2578
|
-
options: {
|
|
2579
|
-
animatable: true,
|
|
2580
|
-
minValue: 0,
|
|
2581
|
-
maxValue: 2
|
|
2582
|
-
},
|
|
2583
|
-
get (value) {
|
|
2584
|
-
value.num[0] = this.diffuseWrap;
|
|
2585
|
-
},
|
|
2586
|
-
set (value) {
|
|
2587
|
-
this.diffuseWrap = value.num[0];
|
|
2588
|
-
},
|
|
2589
|
-
getDefaultValue () {
|
|
2590
|
-
return this.$isInstance ? this.coreMaterial.diffuseWrap : 0.28;
|
|
2591
|
-
}
|
|
2592
|
-
},
|
|
2593
|
-
{
|
|
2594
|
-
name: 'DiffuseSoftness',
|
|
2595
|
-
description: 'Blend from hard Lambert lighting to wrapped diffuse lighting',
|
|
2868
|
+
name: 'Roughness',
|
|
2869
|
+
description: 'GGX base roughness for skin',
|
|
2596
2870
|
type: 'float',
|
|
2597
|
-
default: 0.
|
|
2871
|
+
default: 0.5,
|
|
2598
2872
|
options: {
|
|
2599
2873
|
animatable: true,
|
|
2600
|
-
minValue: 0,
|
|
2874
|
+
minValue: 0.045,
|
|
2601
2875
|
maxValue: 1
|
|
2602
2876
|
},
|
|
2603
2877
|
get (value) {
|
|
2604
|
-
value.num[0] = this.
|
|
2605
|
-
},
|
|
2606
|
-
set (value) {
|
|
2607
|
-
this.diffuseSoftness = value.num[0];
|
|
2608
|
-
},
|
|
2609
|
-
getDefaultValue () {
|
|
2610
|
-
return this.$isInstance ? this.coreMaterial.diffuseSoftness : 0.45;
|
|
2611
|
-
}
|
|
2612
|
-
},
|
|
2613
|
-
{
|
|
2614
|
-
name: 'ScatterWrap',
|
|
2615
|
-
description: 'Wide wrap amount written to the Skin SSS scattering source',
|
|
2616
|
-
type: 'float',
|
|
2617
|
-
default: 0.65,
|
|
2618
|
-
options: {
|
|
2619
|
-
animatable: true,
|
|
2620
|
-
minValue: 0,
|
|
2621
|
-
maxValue: 2
|
|
2622
|
-
},
|
|
2623
|
-
get (value) {
|
|
2624
|
-
value.num[0] = this.scatterWrap;
|
|
2878
|
+
value.num[0] = this.roughness;
|
|
2625
2879
|
},
|
|
2626
2880
|
set (value) {
|
|
2627
|
-
this.
|
|
2881
|
+
this.roughness = value.num[0];
|
|
2628
2882
|
},
|
|
2629
2883
|
getDefaultValue () {
|
|
2630
|
-
return this.$isInstance ? this.coreMaterial.
|
|
2884
|
+
return this.$isInstance ? this.coreMaterial.roughness : 0.5;
|
|
2631
2885
|
}
|
|
2632
2886
|
},
|
|
2633
2887
|
{
|
|
2634
|
-
name: '
|
|
2635
|
-
description: '
|
|
2888
|
+
name: 'SpecularF0',
|
|
2889
|
+
description: 'Fresnel F0 for the skin oil layer',
|
|
2636
2890
|
type: 'float',
|
|
2637
|
-
default:
|
|
2891
|
+
default: 0.04,
|
|
2638
2892
|
options: {
|
|
2639
2893
|
animatable: true,
|
|
2640
2894
|
minValue: 0,
|
|
2641
|
-
maxValue:
|
|
2642
|
-
},
|
|
2643
|
-
get (value) {
|
|
2644
|
-
value.num[0] = this.scatterStrength;
|
|
2645
|
-
},
|
|
2646
|
-
set (value) {
|
|
2647
|
-
this.scatterStrength = value.num[0];
|
|
2648
|
-
},
|
|
2649
|
-
getDefaultValue () {
|
|
2650
|
-
return this.$isInstance ? this.coreMaterial.scatterStrength : 1.5;
|
|
2651
|
-
}
|
|
2652
|
-
},
|
|
2653
|
-
{
|
|
2654
|
-
name: 'ScatterColor',
|
|
2655
|
-
description: 'Warm tint for the blurred skin scattering contribution',
|
|
2656
|
-
type: 'rgba',
|
|
2657
|
-
default: [
|
|
2658
|
-
1,
|
|
2659
|
-
0.42,
|
|
2660
|
-
0.28,
|
|
2661
|
-
1
|
|
2662
|
-
],
|
|
2663
|
-
options: {
|
|
2664
|
-
animatable: true,
|
|
2665
|
-
minValue: 0,
|
|
2666
|
-
maxValue: 1
|
|
2667
|
-
},
|
|
2668
|
-
get (value) {
|
|
2669
|
-
value.num[0] = this.scatterColor.x;
|
|
2670
|
-
value.num[1] = this.scatterColor.y;
|
|
2671
|
-
value.num[2] = this.scatterColor.z;
|
|
2672
|
-
value.num[3] = this.scatterColor.w;
|
|
2673
|
-
},
|
|
2674
|
-
set (value) {
|
|
2675
|
-
this.scatterColor = new Vector4(value.num[0], value.num[1], value.num[2], value.num[3]);
|
|
2676
|
-
},
|
|
2677
|
-
getDefaultValue () {
|
|
2678
|
-
const color = this.$isInstance ? this.coreMaterial.scatterColor : new Vector4(1, 0.42, 0.28, 1);
|
|
2679
|
-
return [
|
|
2680
|
-
color.x,
|
|
2681
|
-
color.y,
|
|
2682
|
-
color.z,
|
|
2683
|
-
color.w
|
|
2684
|
-
];
|
|
2685
|
-
}
|
|
2686
|
-
},
|
|
2687
|
-
{
|
|
2688
|
-
name: 'ShadowTint',
|
|
2689
|
-
description: 'NPR shadow tint the dark end of the diffuse ramp lifts toward (black is neutral)',
|
|
2690
|
-
type: 'rgba',
|
|
2691
|
-
default: [
|
|
2692
|
-
0,
|
|
2693
|
-
0,
|
|
2694
|
-
0,
|
|
2695
|
-
1
|
|
2696
|
-
],
|
|
2697
|
-
options: {
|
|
2698
|
-
animatable: true,
|
|
2699
|
-
minValue: 0,
|
|
2700
|
-
maxValue: 1
|
|
2895
|
+
maxValue: 0.2
|
|
2701
2896
|
},
|
|
2702
2897
|
get (value) {
|
|
2703
|
-
value.num[0] = this.
|
|
2704
|
-
value.num[1] = this.shadowTint.y;
|
|
2705
|
-
value.num[2] = this.shadowTint.z;
|
|
2706
|
-
value.num[3] = this.shadowTint.w;
|
|
2898
|
+
value.num[0] = this.specularF0;
|
|
2707
2899
|
},
|
|
2708
2900
|
set (value) {
|
|
2709
|
-
this.
|
|
2901
|
+
this.specularF0 = value.num[0];
|
|
2710
2902
|
},
|
|
2711
2903
|
getDefaultValue () {
|
|
2712
|
-
|
|
2713
|
-
return [
|
|
2714
|
-
color.x,
|
|
2715
|
-
color.y,
|
|
2716
|
-
color.z,
|
|
2717
|
-
color.w
|
|
2718
|
-
];
|
|
2904
|
+
return this.$isInstance ? this.coreMaterial.specularF0 : 0.04;
|
|
2719
2905
|
}
|
|
2720
2906
|
},
|
|
2721
2907
|
{
|
|
2722
|
-
name: '
|
|
2723
|
-
description: '
|
|
2724
|
-
type: '
|
|
2725
|
-
|
|
2908
|
+
name: 'SubsurfaceProfile',
|
|
2909
|
+
description: 'Profile driving the subsurface scattering of this skin',
|
|
2910
|
+
type: 'object',
|
|
2911
|
+
phase: 0,
|
|
2912
|
+
default: null,
|
|
2726
2913
|
options: {
|
|
2727
|
-
|
|
2728
|
-
|
|
2729
|
-
|
|
2914
|
+
objectTypes: [
|
|
2915
|
+
SSSProfile
|
|
2916
|
+
]
|
|
2730
2917
|
},
|
|
2731
2918
|
get (value) {
|
|
2732
|
-
value.
|
|
2733
|
-
},
|
|
2734
|
-
set (value) {
|
|
2735
|
-
this.brightening = value.num[0];
|
|
2919
|
+
value.object[0] = this.subsurfaceProfile;
|
|
2736
2920
|
},
|
|
2737
|
-
|
|
2738
|
-
|
|
2739
|
-
|
|
2921
|
+
// Deliberately empty rather than absent. The material owns its
|
|
2922
|
+
// profile and cannot be handed another one, but a property with no
|
|
2923
|
+
// setter is skipped outright during deserialization, and the nested
|
|
2924
|
+
// values would never be read back - `createFunc` on the profile
|
|
2925
|
+
// class has already routed them into this material's own instance by
|
|
2926
|
+
// the time this runs.
|
|
2927
|
+
set () {}
|
|
2740
2928
|
},
|
|
2741
2929
|
{
|
|
2742
2930
|
name: 'TransmissionStrength',
|
|
2743
|
-
description: '
|
|
2931
|
+
description: 'Multiplier on back-lit transmission; needs a shadow-casting light with transmission enabled',
|
|
2744
2932
|
type: 'float',
|
|
2745
|
-
default:
|
|
2933
|
+
default: 1,
|
|
2746
2934
|
options: {
|
|
2747
2935
|
animatable: true,
|
|
2748
2936
|
minValue: 0,
|
|
@@ -2755,27 +2943,7 @@ function getMToonMaterialProps(manager) {
|
|
|
2755
2943
|
this.transmissionStrength = value.num[0];
|
|
2756
2944
|
},
|
|
2757
2945
|
getDefaultValue () {
|
|
2758
|
-
return this.$isInstance ? this.coreMaterial.transmissionStrength :
|
|
2759
|
-
}
|
|
2760
|
-
},
|
|
2761
|
-
{
|
|
2762
|
-
name: 'TransmissionPower',
|
|
2763
|
-
description: 'Exponent of the back-lit transmission falloff',
|
|
2764
|
-
type: 'float',
|
|
2765
|
-
default: 4,
|
|
2766
|
-
options: {
|
|
2767
|
-
animatable: true,
|
|
2768
|
-
minValue: 1,
|
|
2769
|
-
maxValue: 16
|
|
2770
|
-
},
|
|
2771
|
-
get (value) {
|
|
2772
|
-
value.num[0] = this.transmissionPower;
|
|
2773
|
-
},
|
|
2774
|
-
set (value) {
|
|
2775
|
-
this.transmissionPower = value.num[0];
|
|
2776
|
-
},
|
|
2777
|
-
getDefaultValue () {
|
|
2778
|
-
return this.$isInstance ? this.coreMaterial.transmissionPower : 4;
|
|
2946
|
+
return this.$isInstance ? this.coreMaterial.transmissionStrength : 1;
|
|
2779
2947
|
}
|
|
2780
2948
|
},
|
|
2781
2949
|
...getTextureProps(manager, 'subsurfaceTexture', '2D', false, 1),
|
|
@@ -2783,7 +2951,7 @@ function getMToonMaterialProps(manager) {
|
|
|
2783
2951
|
]);
|
|
2784
2952
|
}
|
|
2785
2953
|
},
|
|
2786
|
-
getMeshMaterialInstanceUniformsClass(
|
|
2954
|
+
getMeshMaterialInstanceUniformsClass(SSSMaterial, 'SSSMaterial')
|
|
2787
2955
|
];
|
|
2788
2956
|
}
|
|
2789
2957
|
/**
|
|
@@ -3406,7 +3574,7 @@ function getMToonMaterialProps(manager) {
|
|
|
3406
3574
|
]);
|
|
3407
3575
|
}
|
|
3408
3576
|
},
|
|
3409
|
-
getMeshMaterialInstanceUniformsClass(EyeMaterial)
|
|
3577
|
+
getMeshMaterialInstanceUniformsClass(EyeMaterial, 'EyeMaterial')
|
|
3410
3578
|
];
|
|
3411
3579
|
}
|
|
3412
3580
|
/** @internal */ function getPBRMetallicRoughnessMaterialClass(manager) {
|
|
@@ -3982,7 +4150,7 @@ function getMToonMaterialProps(manager) {
|
|
|
3982
4150
|
]);
|
|
3983
4151
|
}
|
|
3984
4152
|
},
|
|
3985
|
-
getMeshMaterialInstanceUniformsClass(PBRMetallicRoughnessMaterial)
|
|
4153
|
+
getMeshMaterialInstanceUniformsClass(PBRMetallicRoughnessMaterial, 'PBRMetallicRoughnessMaterial')
|
|
3986
4154
|
];
|
|
3987
4155
|
}
|
|
3988
4156
|
/** @internal */ function getPBRSpecularGlossinessMaterialClass(manager) {
|
|
@@ -4039,9 +4207,9 @@ function getMToonMaterialProps(manager) {
|
|
|
4039
4207
|
]);
|
|
4040
4208
|
}
|
|
4041
4209
|
},
|
|
4042
|
-
getMeshMaterialInstanceUniformsClass(PBRSpecularGlossinessMaterial)
|
|
4210
|
+
getMeshMaterialInstanceUniformsClass(PBRSpecularGlossinessMaterial, 'PBRSpecularGlossinessMaterial')
|
|
4043
4211
|
];
|
|
4044
4212
|
}
|
|
4045
4213
|
|
|
4046
|
-
export { getBlinnMaterialClass, getEyeMaterialClass, getHairMaterialClass, getLambertMaterialClass, getMToonMaterialClass, getMeshMaterialClass, getPBRBluePrintMaterialClass, getPBRBluePrintMaterialInstanceClass, getPBRMetallicRoughnessMaterialClass, getPBRSpecularGlossinessMaterialClass, getParticleMaterialClass, getSkinMaterialClass, getSpriteBlueprintMaterialClass, getSpriteMaterialClass, getStandardSpriteMaterialClass, getSubsurfaceProfileClass, getUnlitMaterialClass };
|
|
4214
|
+
export { getBlinnMaterialClass, getEyeMaterialClass, getHairMaterialClass, getLambertMaterialClass, getMToonMaterialClass, getMeshMaterialClass, getPBRBluePrintMaterialClass, getPBRBluePrintMaterialInstanceClass, getPBRMetallicRoughnessMaterialClass, getPBRSpecularGlossinessMaterialClass, getParticleMaterialClass, getSSSProfileClass, getSkinMaterialClass, getSpriteBlueprintMaterialClass, getSpriteMaterialClass, getStandardSpriteMaterialClass, getSubsurfaceProfileClass, getUnlitMaterialClass };
|
|
4047
4215
|
//# sourceMappingURL=material.js.map
|