@zephyr3d/scene 0.9.4 → 0.9.6
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/animation/animationmask.js +224 -0
- package/dist/animation/animationmask.js.map +1 -0
- package/dist/animation/animationset.js +268 -67
- package/dist/animation/animationset.js.map +1 -1
- package/dist/animation/animationtrack.js.map +1 -1
- package/dist/animation/eulerrotationtrack.js +3 -0
- package/dist/animation/eulerrotationtrack.js.map +1 -1
- package/dist/animation/fixed_geometry_cache_track.js +7 -0
- package/dist/animation/fixed_geometry_cache_track.js.map +1 -1
- package/dist/animation/ik_modifier.js.map +1 -1
- package/dist/animation/joint_dynamics/collision.js +6 -4
- package/dist/animation/joint_dynamics/collision.js.map +1 -1
- package/dist/animation/joint_dynamics/controller.js +390 -43
- package/dist/animation/joint_dynamics/controller.js.map +1 -1
- package/dist/animation/joint_dynamics/joint_dynamics_system.js +62 -3
- package/dist/animation/joint_dynamics/joint_dynamics_system.js.map +1 -1
- package/dist/animation/joint_dynamics/solver.js +4 -3
- package/dist/animation/joint_dynamics/solver.js.map +1 -1
- package/dist/animation/joint_dynamics/types.js.map +1 -1
- package/dist/animation/joint_dynamics_modifier.js +2 -0
- package/dist/animation/joint_dynamics_modifier.js.map +1 -1
- package/dist/animation/morphtarget.js +3 -72
- package/dist/animation/morphtarget.js.map +1 -1
- package/dist/animation/morphtrack.js +3 -0
- package/dist/animation/morphtrack.js.map +1 -1
- package/dist/animation/pca_geometry_cache_track.js +3 -0
- package/dist/animation/pca_geometry_cache_track.js.map +1 -1
- package/dist/animation/proptrack.js +3 -0
- package/dist/animation/proptrack.js.map +1 -1
- package/dist/animation/rotationtrack.js +3 -0
- package/dist/animation/rotationtrack.js.map +1 -1
- package/dist/animation/scaletrack.js +3 -0
- package/dist/animation/scaletrack.js.map +1 -1
- package/dist/animation/skeleton.js +254 -79
- package/dist/animation/skeleton.js.map +1 -1
- package/dist/animation/skeleton_modifier.js.map +1 -1
- package/dist/animation/spring_modifier.js.map +1 -1
- package/dist/animation/translationtrack.js +3 -0
- package/dist/animation/translationtrack.js.map +1 -1
- package/dist/app/engine.js +171 -107
- package/dist/app/engine.js.map +1 -1
- package/dist/app/scriptregistry.js +251 -80
- package/dist/app/scriptregistry.js.map +1 -1
- package/dist/asset/assetmanager.js +344 -365
- package/dist/asset/assetmanager.js.map +1 -1
- package/dist/asset/loaders/loader.js +1 -6
- package/dist/asset/loaders/loader.js.map +1 -1
- package/dist/asset/loaders/zabc/zabc_loader.js.map +1 -1
- package/dist/asset/model.js +1000 -131
- package/dist/asset/model.js.map +1 -1
- package/dist/avatar/wardrobe.js +474 -0
- package/dist/avatar/wardrobe.js.map +1 -0
- package/dist/index.d.ts +1126 -199
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/material/mixins/lightmodel/pbrmetallicroughness.js +6 -3
- package/dist/material/mixins/lightmodel/pbrmetallicroughness.js.map +1 -1
- package/dist/material/mixins/pbr/common.js +72 -15
- package/dist/material/mixins/pbr/common.js.map +1 -1
- package/dist/material/msdf_text.js +3 -3
- package/dist/material/msdf_text.js.map +1 -1
- package/dist/material/msdf_text_sprite.js +4 -4
- package/dist/material/msdf_text_sprite.js.map +1 -1
- package/dist/material/pbrblueprint.js +102 -102
- package/dist/material/pbrblueprint.js.map +1 -1
- package/dist/render/envlight.js +54 -1
- package/dist/render/envlight.js.map +1 -1
- package/dist/render/sky.js +9 -0
- package/dist/render/sky.js.map +1 -1
- package/dist/scene/batchgroup.js +11 -13
- package/dist/scene/batchgroup.js.map +1 -1
- package/dist/scene/environment.js +15 -2
- package/dist/scene/environment.js.map +1 -1
- package/dist/scene/mesh.js +79 -16
- package/dist/scene/mesh.js.map +1 -1
- package/dist/scene/scene.js +1 -0
- package/dist/scene/scene.js.map +1 -1
- package/dist/scene/scene_node.js +203 -2
- package/dist/scene/scene_node.js.map +1 -1
- package/dist/text/font/cff_font.js +890 -0
- package/dist/text/font/cff_font.js.map +1 -0
- package/dist/text/font/font_asset.js +17 -3
- package/dist/text/font/font_asset.js.map +1 -1
- package/dist/text/msdf/generator.js.map +1 -1
- package/dist/text/msdf/shape.js +4 -1
- package/dist/text/msdf/shape.js.map +1 -1
- package/dist/text/runtime/msdf_text_atlas_manager.js +4 -1
- package/dist/text/runtime/msdf_text_atlas_manager.js.map +1 -1
- package/dist/utility/blueprint/material/inputs.js +1157 -1154
- package/dist/utility/blueprint/material/inputs.js.map +1 -1
- package/dist/utility/bounding_volume.js.map +1 -1
- package/dist/utility/pmrem.js +34 -8
- package/dist/utility/pmrem.js.map +1 -1
- package/dist/utility/serialization/manager.js +22 -9
- package/dist/utility/serialization/manager.js.map +1 -1
- package/dist/utility/serialization/scene/animation.js +700 -7
- package/dist/utility/serialization/scene/animation.js.map +1 -1
- package/dist/utility/serialization/scene/mesh.js +64 -4
- package/dist/utility/serialization/scene/mesh.js.map +1 -1
- package/dist/utility/serialization/scene/node.js +187 -8
- package/dist/utility/serialization/scene/node.js.map +1 -1
- package/dist/utility/serialization/types.js.map +1 -1
- package/dist/utility/textures/sheenlut.js +138 -0
- package/dist/utility/textures/sheenlut.js.map +1 -0
- package/package.json +2 -2
- package/dist/animation/ik/ik_chain_builder.js +0 -68
- package/dist/animation/ik/ik_chain_builder.js.map +0 -1
- package/dist/animation/ik/ik_pole_constraint.js +0 -123
- package/dist/animation/ik/ik_pole_constraint.js.map +0 -1
- package/dist/animation/ik/ik_track.js +0 -96
- package/dist/animation/ik/ik_track.js.map +0 -1
- package/dist/animation/ik_postprocessor.js +0 -71
- package/dist/animation/ik_postprocessor.js.map +0 -1
- package/dist/animation/joint_dynamics/math.js +0 -16
- package/dist/animation/joint_dynamics/math.js.map +0 -1
- package/dist/animation/manual_transform_processor.js +0 -156
- package/dist/animation/manual_transform_processor.js.map +0 -1
- package/dist/animation/skeleton_postprocessor.js +0 -50
- package/dist/animation/skeleton_postprocessor.js.map +0 -1
- package/dist/animation/spring2/collision.js +0 -469
- package/dist/animation/spring2/collision.js.map +0 -1
- package/dist/animation/spring2/constraints.js +0 -329
- package/dist/animation/spring2/constraints.js.map +0 -1
- package/dist/animation/spring2/controller.js +0 -434
- package/dist/animation/spring2/controller.js.map +0 -1
- package/dist/animation/spring2/math.js +0 -16
- package/dist/animation/spring2/math.js.map +0 -1
- package/dist/animation/spring2/solver.js +0 -624
- package/dist/animation/spring2/solver.js.map +0 -1
- package/dist/animation/spring2/spring_system.js +0 -118
- package/dist/animation/spring2/spring_system.js.map +0 -1
- package/dist/animation/spring2/types.js +0 -19
- package/dist/animation/spring2/types.js.map +0 -1
- package/dist/animation/spring_postprocessor.js +0 -54
- package/dist/animation/spring_postprocessor.js.map +0 -1
- package/dist/asset/loaders/gltf/gltf_loader.js +0 -1273
- package/dist/asset/loaders/gltf/gltf_loader.js.map +0 -1
- package/dist/asset/loaders/gltf/helpers.js +0 -331
- package/dist/asset/loaders/gltf/helpers.js.map +0 -1
- package/dist/material/sprite3d.js +0 -301
- package/dist/material/sprite3d.js.map +0 -1
- package/dist/material/sprite3d_std.js +0 -116
- package/dist/material/sprite3d_std.js.map +0 -1
- package/dist/material/sprite3dblueprint.js +0 -235
- package/dist/material/sprite3dblueprint.js.map +0 -1
- package/dist/material/sprite_sdf.js +0 -106
- package/dist/material/sprite_sdf.js.map +0 -1
- package/dist/material/terrainmaterial.js +0 -368
- package/dist/material/terrainmaterial.js.map +0 -1
- package/dist/node_modules/@zephyr3d/runtime/dist/runtime/runtimemgr.js +0 -38
- package/dist/node_modules/@zephyr3d/runtime/dist/runtime/runtimemgr.js.map +0 -1
- package/dist/node_modules/@zephyr3d/runtime/dist/runtime/runtimescript.js +0 -10
- package/dist/node_modules/@zephyr3d/runtime/dist/runtime/runtimescript.js.map +0 -1
- package/dist/node_modules/@zephyr3d/runtime/dist/runtime/scriptingsystem.js +0 -127
- package/dist/node_modules/@zephyr3d/runtime/dist/runtime/scriptingsystem.js.map +0 -1
- package/dist/node_modules/@zephyr3d/runtime/dist/runtime/scriptregistry.js +0 -263
- package/dist/node_modules/@zephyr3d/runtime/dist/runtime/scriptregistry.js.map +0 -1
- package/dist/render/deferredlightpass.js +0 -510
- package/dist/render/deferredlightpass.js.map +0 -1
- package/dist/render/deferredshadowlightpass.js +0 -428
- package/dist/render/deferredshadowlightpass.js.map +0 -1
- package/dist/render/gbufferpass.js +0 -50
- package/dist/render/gbufferpass.js.map +0 -1
- package/dist/scene/sdftextsprite.js +0 -322
- package/dist/scene/sdftextsprite.js.map +0 -1
- package/dist/scene/sprite3d.js +0 -18
- package/dist/scene/sprite3d.js.map +0 -1
- package/dist/scene/terrain/grass.js +0 -280
- package/dist/scene/terrain/grass.js.map +0 -1
- package/dist/scene/terrain/heightfield.js +0 -475
- package/dist/scene/terrain/heightfield.js.map +0 -1
- package/dist/scene/terrain/patch.js +0 -532
- package/dist/scene/terrain/patch.js.map +0 -1
- package/dist/scene/terrain/quadtree.js +0 -461
- package/dist/scene/terrain/quadtree.js.map +0 -1
- package/dist/scene/terrain/terrain.js +0 -231
- package/dist/scene/terrain/terrain.js.map +0 -1
- package/dist/src/animation/animation.js +0 -127
- package/dist/src/animation/animation.js.map +0 -1
- package/dist/src/animation/animationset.js +0 -255
- package/dist/src/animation/animationset.js.map +0 -1
- package/dist/src/animation/animationtrack.js +0 -34
- package/dist/src/animation/animationtrack.js.map +0 -1
- package/dist/src/animation/eulerrotationtrack.js +0 -52
- package/dist/src/animation/eulerrotationtrack.js.map +0 -1
- package/dist/src/animation/morphtarget.js +0 -93
- package/dist/src/animation/morphtarget.js.map +0 -1
- package/dist/src/animation/morphtrack.js +0 -70
- package/dist/src/animation/morphtrack.js.map +0 -1
- package/dist/src/animation/proptrack.js +0 -161
- package/dist/src/animation/proptrack.js.map +0 -1
- package/dist/src/animation/rotationtrack.js +0 -51
- package/dist/src/animation/rotationtrack.js.map +0 -1
- package/dist/src/animation/scaletrack.js +0 -50
- package/dist/src/animation/scaletrack.js.map +0 -1
- package/dist/src/animation/skeleton.js +0 -204
- package/dist/src/animation/skeleton.js.map +0 -1
- package/dist/src/animation/translationtrack.js +0 -50
- package/dist/src/animation/translationtrack.js.map +0 -1
- package/dist/src/app/app.js +0 -129
- package/dist/src/app/app.js.map +0 -1
- package/dist/src/app/inputmgr.js +0 -267
- package/dist/src/app/inputmgr.js.map +0 -1
- package/dist/src/asset/assetmanager.js +0 -404
- package/dist/src/asset/assetmanager.js.map +0 -1
- package/dist/src/asset/builtin.js +0 -337
- package/dist/src/asset/builtin.js.map +0 -1
- package/dist/src/asset/loaders/dds/dds.js +0 -470
- package/dist/src/asset/loaders/dds/dds.js.map +0 -1
- package/dist/src/asset/loaders/dds/dds_loader.js +0 -28
- package/dist/src/asset/loaders/dds/dds_loader.js.map +0 -1
- package/dist/src/asset/loaders/gltf/gltf_loader.js +0 -1265
- package/dist/src/asset/loaders/gltf/gltf_loader.js.map +0 -1
- package/dist/src/asset/loaders/gltf/helpers.js +0 -327
- package/dist/src/asset/loaders/gltf/helpers.js.map +0 -1
- package/dist/src/asset/loaders/hdr/hdr.js +0 -180
- package/dist/src/asset/loaders/hdr/hdr.js.map +0 -1
- package/dist/src/asset/loaders/image/tga_Loader.js +0 -116
- package/dist/src/asset/loaders/image/tga_Loader.js.map +0 -1
- package/dist/src/asset/loaders/image/webimage_loader.js +0 -63
- package/dist/src/asset/loaders/image/webimage_loader.js.map +0 -1
- package/dist/src/asset/loaders/loader.js +0 -45
- package/dist/src/asset/loaders/loader.js.map +0 -1
- package/dist/src/asset/model.js +0 -414
- package/dist/src/asset/model.js.map +0 -1
- package/dist/src/blitter/bilateralblur.js +0 -221
- package/dist/src/blitter/bilateralblur.js.map +0 -1
- package/dist/src/blitter/blitter.js +0 -390
- package/dist/src/blitter/blitter.js.map +0 -1
- package/dist/src/blitter/box.js +0 -118
- package/dist/src/blitter/box.js.map +0 -1
- package/dist/src/blitter/copy.js +0 -22
- package/dist/src/blitter/copy.js.map +0 -1
- package/dist/src/blitter/gaussianblur.js +0 -228
- package/dist/src/blitter/gaussianblur.js.map +0 -1
- package/dist/src/camera/base.js +0 -92
- package/dist/src/camera/base.js.map +0 -1
- package/dist/src/camera/camera.js +0 -1005
- package/dist/src/camera/camera.js.map +0 -1
- package/dist/src/camera/fps.js +0 -238
- package/dist/src/camera/fps.js.map +0 -1
- package/dist/src/camera/orbit.js +0 -245
- package/dist/src/camera/orbit.js.map +0 -1
- package/dist/src/camera/orthocamera.js +0 -167
- package/dist/src/camera/orthocamera.js.map +0 -1
- package/dist/src/camera/perspectivecamera.js +0 -141
- package/dist/src/camera/perspectivecamera.js.map +0 -1
- package/dist/src/index.js +0 -120
- package/dist/src/index.js.map +0 -1
- package/dist/src/material/blinn.js +0 -81
- package/dist/src/material/blinn.js.map +0 -1
- package/dist/src/material/grassmaterial.js +0 -113
- package/dist/src/material/grassmaterial.js.map +0 -1
- package/dist/src/material/lambert.js +0 -92
- package/dist/src/material/lambert.js.map +0 -1
- package/dist/src/material/material.js +0 -301
- package/dist/src/material/material.js.map +0 -1
- package/dist/src/material/meshmaterial.js +0 -704
- package/dist/src/material/meshmaterial.js.map +0 -1
- package/dist/src/material/mixins/albedocolor.js +0 -76
- package/dist/src/material/mixins/albedocolor.js.map +0 -1
- package/dist/src/material/mixins/foliage.js +0 -47
- package/dist/src/material/mixins/foliage.js.map +0 -1
- package/dist/src/material/mixins/lightmodel/blinnphong.js +0 -112
- package/dist/src/material/mixins/lightmodel/blinnphong.js.map +0 -1
- package/dist/src/material/mixins/lightmodel/lambert.js +0 -58
- package/dist/src/material/mixins/lightmodel/lambert.js.map +0 -1
- package/dist/src/material/mixins/lightmodel/pbrmetallicroughness.js +0 -178
- package/dist/src/material/mixins/lightmodel/pbrmetallicroughness.js.map +0 -1
- package/dist/src/material/mixins/lightmodel/pbrspecularglossness.js +0 -139
- package/dist/src/material/mixins/lightmodel/pbrspecularglossness.js.map +0 -1
- package/dist/src/material/mixins/lit.js +0 -476
- package/dist/src/material/mixins/lit.js.map +0 -1
- package/dist/src/material/mixins/pbr/common.js +0 -918
- package/dist/src/material/mixins/pbr/common.js.map +0 -1
- package/dist/src/material/mixins/texture.js +0 -172
- package/dist/src/material/mixins/texture.js.map +0 -1
- package/dist/src/material/mixins/vertexcolor.js +0 -56
- package/dist/src/material/mixins/vertexcolor.js.map +0 -1
- package/dist/src/material/particle.js +0 -178
- package/dist/src/material/particle.js.map +0 -1
- package/dist/src/material/pbrmr.js +0 -97
- package/dist/src/material/pbrmr.js.map +0 -1
- package/dist/src/material/pbrsg.js +0 -97
- package/dist/src/material/pbrsg.js.map +0 -1
- package/dist/src/material/shader/helper.js +0 -1209
- package/dist/src/material/shader/helper.js.map +0 -1
- package/dist/src/material/terrain-cm.js +0 -606
- package/dist/src/material/terrain-cm.js.map +0 -1
- package/dist/src/material/terrainmaterial.js +0 -375
- package/dist/src/material/terrainmaterial.js.map +0 -1
- package/dist/src/material/unlit.js +0 -41
- package/dist/src/material/unlit.js.map +0 -1
- package/dist/src/material/water.js +0 -417
- package/dist/src/material/water.js.map +0 -1
- package/dist/src/posteffect/bloom.js +0 -361
- package/dist/src/posteffect/bloom.js.map +0 -1
- package/dist/src/posteffect/compositor.js +0 -226
- package/dist/src/posteffect/compositor.js.map +0 -1
- package/dist/src/posteffect/fxaa.js +0 -273
- package/dist/src/posteffect/fxaa.js.map +0 -1
- package/dist/src/posteffect/grayscale.js +0 -69
- package/dist/src/posteffect/grayscale.js.map +0 -1
- package/dist/src/posteffect/motionblur.js +0 -96
- package/dist/src/posteffect/motionblur.js.map +0 -1
- package/dist/src/posteffect/posteffect.js +0 -126
- package/dist/src/posteffect/posteffect.js.map +0 -1
- package/dist/src/posteffect/sao.js +0 -324
- package/dist/src/posteffect/sao.js.map +0 -1
- package/dist/src/posteffect/ssr.js +0 -489
- package/dist/src/posteffect/ssr.js.map +0 -1
- package/dist/src/posteffect/taa.js +0 -172
- package/dist/src/posteffect/taa.js.map +0 -1
- package/dist/src/posteffect/tonemap.js +0 -94
- package/dist/src/posteffect/tonemap.js.map +0 -1
- package/dist/src/render/abuffer_oit.js +0 -361
- package/dist/src/render/abuffer_oit.js.map +0 -1
- package/dist/src/render/clipmap.js +0 -851
- package/dist/src/render/clipmap.js.map +0 -1
- package/dist/src/render/cluster_light.js +0 -333
- package/dist/src/render/cluster_light.js.map +0 -1
- package/dist/src/render/cull_visitor.js +0 -187
- package/dist/src/render/cull_visitor.js.map +0 -1
- package/dist/src/render/depthpass.js +0 -68
- package/dist/src/render/depthpass.js.map +0 -1
- package/dist/src/render/drawable_mixin.js +0 -227
- package/dist/src/render/drawable_mixin.js.map +0 -1
- package/dist/src/render/envlight.js +0 -463
- package/dist/src/render/envlight.js.map +0 -1
- package/dist/src/render/fbm_wavegenerator.js +0 -251
- package/dist/src/render/fbm_wavegenerator.js.map +0 -1
- package/dist/src/render/fft_wavegenerator.js +0 -1006
- package/dist/src/render/fft_wavegenerator.js.map +0 -1
- package/dist/src/render/fullscreenquad.js +0 -38
- package/dist/src/render/fullscreenquad.js.map +0 -1
- package/dist/src/render/gerstner_wavegenerator.js +0 -314
- package/dist/src/render/gerstner_wavegenerator.js.map +0 -1
- package/dist/src/render/globalbindgroup_allocator.js +0 -60
- package/dist/src/render/globalbindgroup_allocator.js.map +0 -1
- package/dist/src/render/hzb.js +0 -273
- package/dist/src/render/hzb.js.map +0 -1
- package/dist/src/render/lightpass.js +0 -172
- package/dist/src/render/lightpass.js.map +0 -1
- package/dist/src/render/objectcolorpass.js +0 -51
- package/dist/src/render/objectcolorpass.js.map +0 -1
- package/dist/src/render/primitive.js +0 -364
- package/dist/src/render/primitive.js.map +0 -1
- package/dist/src/render/render_queue.js +0 -467
- package/dist/src/render/render_queue.js.map +0 -1
- package/dist/src/render/renderbundle_wrapper.js +0 -152
- package/dist/src/render/renderbundle_wrapper.js.map +0 -1
- package/dist/src/render/renderer.js +0 -455
- package/dist/src/render/renderer.js.map +0 -1
- package/dist/src/render/renderpass.js +0 -200
- package/dist/src/render/renderpass.js.map +0 -1
- package/dist/src/render/shadowmap_pass.js +0 -56
- package/dist/src/render/shadowmap_pass.js.map +0 -1
- package/dist/src/render/sky.js +0 -1103
- package/dist/src/render/sky.js.map +0 -1
- package/dist/src/render/weightedblended_oit.js +0 -168
- package/dist/src/render/weightedblended_oit.js.map +0 -1
- package/dist/src/scene/batchgroup.js +0 -162
- package/dist/src/scene/batchgroup.js.map +0 -1
- package/dist/src/scene/environment.js +0 -209
- package/dist/src/scene/environment.js.map +0 -1
- package/dist/src/scene/graph_node.js +0 -72
- package/dist/src/scene/graph_node.js.map +0 -1
- package/dist/src/scene/light.js +0 -416
- package/dist/src/scene/light.js.map +0 -1
- package/dist/src/scene/mesh.js +0 -341
- package/dist/src/scene/mesh.js.map +0 -1
- package/dist/src/scene/octree.js +0 -649
- package/dist/src/scene/octree.js.map +0 -1
- package/dist/src/scene/particlesys.js +0 -738
- package/dist/src/scene/particlesys.js.map +0 -1
- package/dist/src/scene/raycast_visitor.js +0 -103
- package/dist/src/scene/raycast_visitor.js.map +0 -1
- package/dist/src/scene/scene.js +0 -284
- package/dist/src/scene/scene.js.map +0 -1
- package/dist/src/scene/scene_node.js +0 -732
- package/dist/src/scene/scene_node.js.map +0 -1
- package/dist/src/scene/terrain/grass.js +0 -278
- package/dist/src/scene/terrain/grass.js.map +0 -1
- package/dist/src/scene/terrain/heightfield.js +0 -475
- package/dist/src/scene/terrain/heightfield.js.map +0 -1
- package/dist/src/scene/terrain/patch.js +0 -530
- package/dist/src/scene/terrain/patch.js.map +0 -1
- package/dist/src/scene/terrain/quadtree.js +0 -461
- package/dist/src/scene/terrain/quadtree.js.map +0 -1
- package/dist/src/scene/terrain/terrain.js +0 -246
- package/dist/src/scene/terrain/terrain.js.map +0 -1
- package/dist/src/scene/terrain-cm/grass.js +0 -594
- package/dist/src/scene/terrain-cm/grass.js.map +0 -1
- package/dist/src/scene/terrain-cm/grassmaterial.js +0 -159
- package/dist/src/scene/terrain-cm/grassmaterial.js.map +0 -1
- package/dist/src/scene/terrain-cm/terrain-cm.js +0 -538
- package/dist/src/scene/terrain-cm/terrain-cm.js.map +0 -1
- package/dist/src/scene/water.js +0 -374
- package/dist/src/scene/water.js.map +0 -1
- package/dist/src/shaders/atmosphere.js +0 -957
- package/dist/src/shaders/atmosphere.js.map +0 -1
- package/dist/src/shaders/fog.js +0 -112
- package/dist/src/shaders/fog.js.map +0 -1
- package/dist/src/shaders/misc.js +0 -266
- package/dist/src/shaders/misc.js.map +0 -1
- package/dist/src/shaders/noise.js +0 -222
- package/dist/src/shaders/noise.js.map +0 -1
- package/dist/src/shaders/pbr.js +0 -51
- package/dist/src/shaders/pbr.js.map +0 -1
- package/dist/src/shaders/shadow.js +0 -636
- package/dist/src/shaders/shadow.js.map +0 -1
- package/dist/src/shaders/ssr.js +0 -490
- package/dist/src/shaders/ssr.js.map +0 -1
- package/dist/src/shaders/temporal.js +0 -215
- package/dist/src/shaders/temporal.js.map +0 -1
- package/dist/src/shaders/water.js +0 -756
- package/dist/src/shaders/water.js.map +0 -1
- package/dist/src/shadow/esm.js +0 -237
- package/dist/src/shadow/esm.js.map +0 -1
- package/dist/src/shadow/pcf_opt.js +0 -181
- package/dist/src/shadow/pcf_opt.js.map +0 -1
- package/dist/src/shadow/pcf_pd.js +0 -189
- package/dist/src/shadow/pcf_pd.js.map +0 -1
- package/dist/src/shadow/shader.js +0 -37
- package/dist/src/shadow/shader.js.map +0 -1
- package/dist/src/shadow/shadow_impl.js +0 -15
- package/dist/src/shadow/shadow_impl.js.map +0 -1
- package/dist/src/shadow/shadowmapper.js +0 -790
- package/dist/src/shadow/shadowmapper.js.map +0 -1
- package/dist/src/shadow/ssm.js +0 -159
- package/dist/src/shadow/ssm.js.map +0 -1
- package/dist/src/shadow/vsm.js +0 -297
- package/dist/src/shadow/vsm.js.map +0 -1
- package/dist/src/shapes/box.js +0 -386
- package/dist/src/shapes/box.js.map +0 -1
- package/dist/src/shapes/cylinder.js +0 -125
- package/dist/src/shapes/cylinder.js.map +0 -1
- package/dist/src/shapes/plane.js +0 -88
- package/dist/src/shapes/plane.js.map +0 -1
- package/dist/src/shapes/shape.js +0 -87
- package/dist/src/shapes/shape.js.map +0 -1
- package/dist/src/shapes/sphere.js +0 -114
- package/dist/src/shapes/sphere.js.map +0 -1
- package/dist/src/shapes/tetrahedron.js +0 -188
- package/dist/src/shapes/tetrahedron.js.map +0 -1
- package/dist/src/shapes/torus.js +0 -111
- package/dist/src/shapes/torus.js.map +0 -1
- package/dist/src/utility/aabbtree.js +0 -400
- package/dist/src/utility/aabbtree.js.map +0 -1
- package/dist/src/utility/bounding_volume.js +0 -29
- package/dist/src/utility/bounding_volume.js.map +0 -1
- package/dist/src/utility/debug.js +0 -28
- package/dist/src/utility/debug.js.map +0 -1
- package/dist/src/utility/draco/decoder.js +0 -116
- package/dist/src/utility/draco/decoder.js.map +0 -1
- package/dist/src/utility/misc.js +0 -105
- package/dist/src/utility/misc.js.map +0 -1
- package/dist/src/utility/panorama.js +0 -163
- package/dist/src/utility/panorama.js.map +0 -1
- package/dist/src/utility/pmrem.js +0 -354
- package/dist/src/utility/pmrem.js.map +0 -1
- package/dist/src/utility/rendermipmap.js +0 -115
- package/dist/src/utility/rendermipmap.js.map +0 -1
- package/dist/src/utility/serialization/json.js +0 -402
- package/dist/src/utility/serialization/json.js.map +0 -1
- package/dist/src/utility/serialization/manager.js +0 -623
- package/dist/src/utility/serialization/manager.js.map +0 -1
- package/dist/src/utility/serialization/scene/animation.js +0 -248
- package/dist/src/utility/serialization/scene/animation.js.map +0 -1
- package/dist/src/utility/serialization/scene/batch.js +0 -59
- package/dist/src/utility/serialization/scene/batch.js.map +0 -1
- package/dist/src/utility/serialization/scene/camera.js +0 -790
- package/dist/src/utility/serialization/scene/camera.js.map +0 -1
- package/dist/src/utility/serialization/scene/common.js +0 -222
- package/dist/src/utility/serialization/scene/common.js.map +0 -1
- package/dist/src/utility/serialization/scene/light.js +0 -575
- package/dist/src/utility/serialization/scene/light.js.map +0 -1
- package/dist/src/utility/serialization/scene/material.js +0 -1111
- package/dist/src/utility/serialization/scene/material.js.map +0 -1
- package/dist/src/utility/serialization/scene/mesh.js +0 -148
- package/dist/src/utility/serialization/scene/mesh.js.map +0 -1
- package/dist/src/utility/serialization/scene/misc.js +0 -39
- package/dist/src/utility/serialization/scene/misc.js.map +0 -1
- package/dist/src/utility/serialization/scene/node.js +0 -451
- package/dist/src/utility/serialization/scene/node.js.map +0 -1
- package/dist/src/utility/serialization/scene/particle.js +0 -425
- package/dist/src/utility/serialization/scene/particle.js.map +0 -1
- package/dist/src/utility/serialization/scene/primitive.js +0 -692
- package/dist/src/utility/serialization/scene/primitive.js.map +0 -1
- package/dist/src/utility/serialization/scene/scene.js +0 -704
- package/dist/src/utility/serialization/scene/scene.js.map +0 -1
- package/dist/src/utility/serialization/scene/terrain.js +0 -488
- package/dist/src/utility/serialization/scene/terrain.js.map +0 -1
- package/dist/src/utility/serialization/scene/water.js +0 -465
- package/dist/src/utility/serialization/scene/water.js.map +0 -1
- package/dist/src/utility/shprojector.js +0 -297
- package/dist/src/utility/shprojector.js.map +0 -1
- package/dist/src/utility/textures/ggxlut.js +0 -213
- package/dist/src/utility/textures/ggxlut.js.map +0 -1
- package/dist/src/utility/textures/gradientnoise.js +0 -62
- package/dist/src/utility/textures/gradientnoise.js.map +0 -1
- package/dist/src/utility/textures/randomnoise.js +0 -41
- package/dist/src/utility/textures/randomnoise.js.map +0 -1
- package/dist/src/values.js +0 -162
- package/dist/src/values.js.map +0 -1
- package/dist/utility/blueprint/material/common.js +0 -7
- package/dist/utility/blueprint/material/common.js.map +0 -1
- package/dist/utility/serialization/blueprint/constants.js +0 -255
- package/dist/utility/serialization/blueprint/constants.js.map +0 -1
- package/dist/utility/serialization/blueprint/material/constants.js +0 -203
- package/dist/utility/serialization/blueprint/material/constants.js.map +0 -1
- package/dist/utility/serialization/blueprint/material/texture.js +0 -165
- package/dist/utility/serialization/blueprint/material/texture.js.map +0 -1
- package/dist/utility/serialization/scene/cloth_script.js +0 -834
- package/dist/utility/serialization/scene/cloth_script.js.map +0 -1
- package/dist/utility/serialization/scene/spring_script.js +0 -596
- package/dist/utility/serialization/scene/spring_script.js.map +0 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import * as _zephyr3d_device from '@zephyr3d/device';
|
|
2
|
-
import { TextureCube, FrameBuffer, Texture2D, GPUDataBuffer, PrimitiveType, TextureSampler, BindGroupLayout, ProgramBuilder, PBInsideFunctionScope, PBShaderExp, PBGlobalScope, VertexSemantic, StructuredBuffer, VertexAttribFormat, VertexStepMode, IndexBuffer, BindGroup, GPUProgram, RenderStateSet, FaceMode, PBFunctionScope, Texture2DArray, BaseTexture, ShaderTypeFunc, TextureFormat, AbstractDevice, ColorState,
|
|
2
|
+
import { TextureCube, FrameBuffer, Texture2D, GPUDataBuffer, PrimitiveType, TextureSampler, BindGroupLayout, ProgramBuilder, PBInsideFunctionScope, PBShaderExp, PBGlobalScope, VertexSemantic, StructuredBuffer, VertexAttribFormat, VertexStepMode, IndexBuffer, BindGroup, GPUProgram, RenderStateSet, FaceMode, PBFunctionScope, Texture2DArray, BaseTexture, ShaderTypeFunc, TextureFormat, AbstractDevice, ColorState, TextureAddressMode, TextureFilterMode, SamplerOptions, TextureAtlasManager, DeviceBackend } from '@zephyr3d/device';
|
|
3
3
|
import * as _zephyr3d_base from '@zephyr3d/base';
|
|
4
4
|
import { Disposable, TypedArray, Ray, AABB, Matrix4x4, Plane, Frustum, Vector3, Nullable, GenericConstructor, RequireOptionals, Immutable, Vector4, Clonable, IDisposable, Vector2, IEventTarget, Observable, DRef, Rect, CubeFace, Quaternion, Interpolator, InterpolationMode, InterpolatorScalar, DeepPartial, VFS, HttpRequest, WriteOptions, ReadOptions, DeepRequireOptionals } from '@zephyr3d/base';
|
|
5
5
|
import { DecoderModule, Metadata as Metadata$1 } from 'draco3d';
|
|
6
6
|
|
|
7
|
-
type DistributionType = 'lambertian' | 'ggx';
|
|
7
|
+
type DistributionType = 'lambertian' | 'ggx' | 'charlie';
|
|
8
8
|
/**
|
|
9
9
|
* Prefilters an environment cubemap
|
|
10
10
|
*
|
|
@@ -205,7 +205,7 @@ declare class BoundingBox extends AABB implements BoundingVolume {
|
|
|
205
205
|
/** {@inheritDoc BoundingVolume.behindPlane} */
|
|
206
206
|
behindPlane(plane: Plane): boolean;
|
|
207
207
|
/** {@inheritDoc BoundingVolume.clone} */
|
|
208
|
-
clone():
|
|
208
|
+
clone(): this;
|
|
209
209
|
/** {@inheritDoc BoundingVolume.transform} */
|
|
210
210
|
transform(matrix: Matrix4x4): BoundingBox;
|
|
211
211
|
/** {@inheritDoc BoundingVolume.outsideFrustum} */
|
|
@@ -282,7 +282,7 @@ type PropertyValue = {
|
|
|
282
282
|
*
|
|
283
283
|
* @public
|
|
284
284
|
*/
|
|
285
|
-
type PropEdit = 'aabb' | 'quaternion' | 'proptrack';
|
|
285
|
+
type PropEdit = 'aabb' | 'quaternion' | 'proptrack' | 'curve1f';
|
|
286
286
|
/**
|
|
287
287
|
* Extra scene-node picker hints for a property.
|
|
288
288
|
*
|
|
@@ -3422,6 +3422,8 @@ type IMixinPBRCommon = {
|
|
|
3422
3422
|
getCommonDatasStruct(scope: PBInsideFunctionScope): ShaderTypeFunc;
|
|
3423
3423
|
calculateEmissiveColor(scope: PBInsideFunctionScope): PBShaderExp;
|
|
3424
3424
|
getF0(scope: PBInsideFunctionScope): PBShaderExp;
|
|
3425
|
+
getSheenAlbedoScaling(scope: PBInsideFunctionScope, Ndot: PBShaderExp, sheenColor: PBShaderExp, sheenRoughness: PBShaderExp): PBShaderExp;
|
|
3426
|
+
getSheenAlbedoScalingForDirect(scope: PBInsideFunctionScope, NoV: PBShaderExp, NoL: PBShaderExp, sheenColor: PBShaderExp, sheenRoughness: PBShaderExp): PBShaderExp;
|
|
3425
3427
|
directLighting(scope: PBInsideFunctionScope, lightDir: PBShaderExp, lightColor: PBShaderExp, normal: PBShaderExp, viewVec: PBShaderExp, commonData: PBShaderExp, diffuseScale: PBShaderExp, specularScale: PBShaderExp, sourceRadiusFactor: PBShaderExp, outColor: PBShaderExp): void;
|
|
3426
3428
|
directRectLight(scope: PBInsideFunctionScope, worldPos: PBShaderExp, normal: PBShaderExp, viewVec: PBShaderExp, commonData: PBShaderExp, posRange: PBShaderExp, axisX: PBShaderExp, axisY: PBShaderExp, colorIntensity: PBShaderExp, outColor: PBShaderExp): void;
|
|
3427
3429
|
indirectLighting(scope: PBInsideFunctionScope, normal: PBShaderExp, viewVec: PBShaderExp, commonData: PBShaderExp, outColor: PBShaderExp, outRoughness?: PBShaderExp): void;
|
|
@@ -4688,6 +4690,13 @@ declare class SkyRenderer extends Disposable {
|
|
|
4688
4690
|
* Radiance map of the sky.
|
|
4689
4691
|
*/
|
|
4690
4692
|
get radianceMap(): TextureCube<unknown>;
|
|
4693
|
+
/**
|
|
4694
|
+
* Radiance map of the sky reused for sheen.
|
|
4695
|
+
*
|
|
4696
|
+
* @remarks
|
|
4697
|
+
* Dynamic sky is smooth enough that the GGX-prefiltered radiance map is a practical approximation for sheen.
|
|
4698
|
+
*/
|
|
4699
|
+
get sheenRadianceMap(): TextureCube<unknown>;
|
|
4691
4700
|
/**
|
|
4692
4701
|
* Irradiance SH coeffecients buffer
|
|
4693
4702
|
*/
|
|
@@ -4758,6 +4767,16 @@ declare abstract class EnvironmentLighting extends Disposable {
|
|
|
4758
4767
|
* @returns The radiance for the fragment
|
|
4759
4768
|
*/
|
|
4760
4769
|
abstract getRadiance(scope: PBInsideFunctionScope, refl: PBShaderExp, roughness: PBShaderExp): Nullable<PBShaderExp>;
|
|
4770
|
+
/**
|
|
4771
|
+
* Get Charlie-filtered sheen radiance for a fragment
|
|
4772
|
+
*
|
|
4773
|
+
* @param scope - The shader scope
|
|
4774
|
+
* @param refl - Reflection vector
|
|
4775
|
+
* @param roughness - Sheen roughness
|
|
4776
|
+
*
|
|
4777
|
+
* @returns The sheen radiance for the fragment
|
|
4778
|
+
*/
|
|
4779
|
+
abstract getSheenRadiance(scope: PBInsideFunctionScope, refl: PBShaderExp, roughness: PBShaderExp): Nullable<PBShaderExp>;
|
|
4761
4780
|
/**
|
|
4762
4781
|
* Get irradiance for a fragment
|
|
4763
4782
|
*
|
|
@@ -4771,6 +4790,10 @@ declare abstract class EnvironmentLighting extends Disposable {
|
|
|
4771
4790
|
* Returns whether this environment lighting supports reflective light
|
|
4772
4791
|
*/
|
|
4773
4792
|
abstract hasRadiance(): boolean;
|
|
4793
|
+
/**
|
|
4794
|
+
* Returns whether this environment lighting supports sheen reflective light
|
|
4795
|
+
*/
|
|
4796
|
+
abstract hasSheenRadiance(): boolean;
|
|
4774
4797
|
/**
|
|
4775
4798
|
* Returns whether this environment lighting supports diffuse light
|
|
4776
4799
|
*/
|
|
@@ -4786,7 +4809,7 @@ declare class EnvShIBL extends EnvironmentLighting {
|
|
|
4786
4809
|
* @param radianceMap - The radiance map
|
|
4787
4810
|
* @param irradianceSH - The irradiance SH
|
|
4788
4811
|
*/
|
|
4789
|
-
constructor(radianceMap?: TextureCube, irradianceSH?: GPUDataBuffer, irradianceSHFB?: FrameBuffer);
|
|
4812
|
+
constructor(radianceMap?: TextureCube, irradianceSH?: GPUDataBuffer, irradianceSHFB?: FrameBuffer, sheenRadianceMap?: TextureCube);
|
|
4790
4813
|
/**
|
|
4791
4814
|
* {@inheritDoc EnvironmentLighting.getType}
|
|
4792
4815
|
* @override
|
|
@@ -4795,6 +4818,9 @@ declare class EnvShIBL extends EnvironmentLighting {
|
|
|
4795
4818
|
/** The radiance map */
|
|
4796
4819
|
get radianceMap(): Nullable<TextureCube<unknown>>;
|
|
4797
4820
|
set radianceMap(tex: Nullable<TextureCube<unknown>>);
|
|
4821
|
+
/** The Charlie-filtered sheen radiance map */
|
|
4822
|
+
get sheenRadianceMap(): Nullable<TextureCube<unknown>>;
|
|
4823
|
+
set sheenRadianceMap(tex: Nullable<TextureCube<unknown>>);
|
|
4798
4824
|
/** The irradiance sh coeffecients */
|
|
4799
4825
|
get irradianceSH(): Nullable<GPUDataBuffer<unknown>>;
|
|
4800
4826
|
set irradianceSH(value: Nullable<GPUDataBuffer<unknown>>);
|
|
@@ -4819,6 +4845,11 @@ declare class EnvShIBL extends EnvironmentLighting {
|
|
|
4819
4845
|
* @override
|
|
4820
4846
|
*/
|
|
4821
4847
|
getRadiance(scope: PBInsideFunctionScope, refl: PBShaderExp, roughness: PBShaderExp): PBShaderExp;
|
|
4848
|
+
/**
|
|
4849
|
+
* {@inheritDoc EnvironmentLighting.getSheenRadiance}
|
|
4850
|
+
* @override
|
|
4851
|
+
*/
|
|
4852
|
+
getSheenRadiance(scope: PBInsideFunctionScope, refl: PBShaderExp, roughness: PBShaderExp): PBShaderExp;
|
|
4822
4853
|
/**
|
|
4823
4854
|
* {@inheritDoc EnvironmentLighting.getIrradiance}
|
|
4824
4855
|
* @override
|
|
@@ -4829,6 +4860,11 @@ declare class EnvShIBL extends EnvironmentLighting {
|
|
|
4829
4860
|
* @override
|
|
4830
4861
|
*/
|
|
4831
4862
|
hasRadiance(): boolean;
|
|
4863
|
+
/**
|
|
4864
|
+
* {@inheritDoc EnvironmentLighting.hasSheenRadiance}
|
|
4865
|
+
* @override
|
|
4866
|
+
*/
|
|
4867
|
+
hasSheenRadiance(): boolean;
|
|
4832
4868
|
/**
|
|
4833
4869
|
* {@inheritDoc EnvironmentLighting.hasIrradiance}
|
|
4834
4870
|
* @override
|
|
@@ -4873,6 +4909,11 @@ declare class EnvConstantAmbient extends EnvironmentLighting {
|
|
|
4873
4909
|
* @override
|
|
4874
4910
|
*/
|
|
4875
4911
|
getRadiance(_scope: PBInsideFunctionScope, _refl: PBShaderExp, _roughness: PBShaderExp): null;
|
|
4912
|
+
/**
|
|
4913
|
+
* {@inheritDoc EnvironmentLighting.getSheenRadiance}
|
|
4914
|
+
* @override
|
|
4915
|
+
*/
|
|
4916
|
+
getSheenRadiance(_scope: PBInsideFunctionScope, _refl: PBShaderExp, _roughness: PBShaderExp): null;
|
|
4876
4917
|
/**
|
|
4877
4918
|
* {@inheritDoc EnvironmentLighting.getIrradiance}
|
|
4878
4919
|
* @override
|
|
@@ -4883,6 +4924,11 @@ declare class EnvConstantAmbient extends EnvironmentLighting {
|
|
|
4883
4924
|
* @override
|
|
4884
4925
|
*/
|
|
4885
4926
|
hasRadiance(): boolean;
|
|
4927
|
+
/**
|
|
4928
|
+
* {@inheritDoc EnvironmentLighting.hasSheenRadiance}
|
|
4929
|
+
* @override
|
|
4930
|
+
*/
|
|
4931
|
+
hasSheenRadiance(): boolean;
|
|
4886
4932
|
/**
|
|
4887
4933
|
* {@inheritDoc EnvironmentLighting.hasIrradiance}
|
|
4888
4934
|
* @override
|
|
@@ -4926,6 +4972,11 @@ declare class EnvHemisphericAmbient extends EnvironmentLighting {
|
|
|
4926
4972
|
* @override
|
|
4927
4973
|
*/
|
|
4928
4974
|
getRadiance(scope: PBInsideFunctionScope, refl: PBShaderExp, _roughness: PBShaderExp): PBShaderExp;
|
|
4975
|
+
/**
|
|
4976
|
+
* {@inheritDoc EnvironmentLighting.getSheenRadiance}
|
|
4977
|
+
* @override
|
|
4978
|
+
*/
|
|
4979
|
+
getSheenRadiance(scope: PBInsideFunctionScope, refl: PBShaderExp, roughness: PBShaderExp): PBShaderExp;
|
|
4929
4980
|
/**
|
|
4930
4981
|
* {@inheritDoc EnvironmentLighting.getIrradiance}
|
|
4931
4982
|
* @override
|
|
@@ -4936,6 +4987,11 @@ declare class EnvHemisphericAmbient extends EnvironmentLighting {
|
|
|
4936
4987
|
* @override
|
|
4937
4988
|
*/
|
|
4938
4989
|
hasRadiance(): boolean;
|
|
4990
|
+
/**
|
|
4991
|
+
* {@inheritDoc EnvironmentLighting.hasSheenRadiance}
|
|
4992
|
+
* @override
|
|
4993
|
+
*/
|
|
4994
|
+
hasSheenRadiance(): boolean;
|
|
4939
4995
|
/**
|
|
4940
4996
|
* {@inheritDoc EnvironmentLighting.hasIrradiance}
|
|
4941
4997
|
* @override
|
|
@@ -8169,6 +8225,7 @@ declare class EnvLightWrapper extends Disposable {
|
|
|
8169
8225
|
private readonly _ambientDown;
|
|
8170
8226
|
private readonly _ambientUp;
|
|
8171
8227
|
private readonly _radianceMap;
|
|
8228
|
+
private readonly _sheenRadianceMap;
|
|
8172
8229
|
private readonly _irradianceMap;
|
|
8173
8230
|
private readonly _irradianceSH;
|
|
8174
8231
|
private readonly _irradianceSHFB;
|
|
@@ -8189,6 +8246,9 @@ declare class EnvLightWrapper extends Disposable {
|
|
|
8189
8246
|
/** Radiance map for environment light type ibl */
|
|
8190
8247
|
get radianceMap(): Nullable<TextureCube<unknown>>;
|
|
8191
8248
|
set radianceMap(tex: Nullable<TextureCube<unknown>>);
|
|
8249
|
+
/** Charlie-filtered sheen radiance map for environment light type ibl */
|
|
8250
|
+
get sheenRadianceMap(): Nullable<TextureCube<unknown>>;
|
|
8251
|
+
set sheenRadianceMap(tex: Nullable<TextureCube<unknown>>);
|
|
8192
8252
|
/** Irradiance SH buffer for environment light type ibl */
|
|
8193
8253
|
get irradianceSH(): Nullable<GPUDataBuffer<unknown>>;
|
|
8194
8254
|
set irradianceSH(value: Nullable<GPUDataBuffer<unknown>>);
|
|
@@ -8768,10 +8828,10 @@ declare abstract class SkeletonModifier {
|
|
|
8768
8828
|
* Implementations should modify joint transforms and blend with the current state
|
|
8769
8829
|
* using the processor's weight.
|
|
8770
8830
|
*
|
|
8771
|
-
* @param skeleton - The
|
|
8831
|
+
* @param skeleton - The shared rig to process
|
|
8772
8832
|
* @param deltaTime - Time elapsed since last frame (in seconds)
|
|
8773
8833
|
*/
|
|
8774
|
-
abstract apply(skeleton:
|
|
8834
|
+
abstract apply(skeleton: SkeletonRig, deltaTime: number): void;
|
|
8775
8835
|
/**
|
|
8776
8836
|
* Reset the processor to its initial state.
|
|
8777
8837
|
*
|
|
@@ -8884,11 +8944,69 @@ type HumanoidJointMapping<T extends {
|
|
|
8884
8944
|
leftHand?: Record<HumanoidHandRig, T>;
|
|
8885
8945
|
rightHand?: Record<HumanoidHandRig, T>;
|
|
8886
8946
|
};
|
|
8947
|
+
/** @public */
|
|
8948
|
+
type SkeletonBindPose = {
|
|
8949
|
+
rotation: Quaternion;
|
|
8950
|
+
scale: Vector3;
|
|
8951
|
+
position: Vector3;
|
|
8952
|
+
};
|
|
8953
|
+
/** @public */
|
|
8954
|
+
type SkeletonRigOptions = {
|
|
8955
|
+
rootJoint?: Nullable<SceneNode>;
|
|
8956
|
+
rootBindPose?: SkeletonBindPose;
|
|
8957
|
+
};
|
|
8958
|
+
/**
|
|
8959
|
+
* Shared joint rig for skeletal animation.
|
|
8960
|
+
*
|
|
8961
|
+
* A rig owns the animated joint nodes, bind pose, humanoid mapping and procedural
|
|
8962
|
+
* modifiers. Multiple skin bindings may reference the same rig with different
|
|
8963
|
+
* inverse bind matrices.
|
|
8964
|
+
*
|
|
8965
|
+
* @public
|
|
8966
|
+
*/
|
|
8967
|
+
declare class SkeletonRig extends Disposable {
|
|
8968
|
+
private static readonly _registry;
|
|
8969
|
+
protected _id: string;
|
|
8970
|
+
protected _joints: SceneNode[];
|
|
8971
|
+
protected _bindPoseByJoint: Map<SceneNode, SkeletonBindPose>;
|
|
8972
|
+
protected _bindPose: SkeletonBindPose[];
|
|
8973
|
+
protected _rootJoint: Nullable<SceneNode>;
|
|
8974
|
+
protected _rootBindPose: SkeletonBindPose;
|
|
8975
|
+
protected _playing: boolean;
|
|
8976
|
+
protected _modifiers: SkeletonModifier[];
|
|
8977
|
+
protected _humanoidJointMapping: Nullable<HumanoidJointMapping<SceneNode>>;
|
|
8978
|
+
protected _humanoidRootRotation: Quaternion;
|
|
8979
|
+
constructor(joints: SceneNode[], bindPose: SkeletonBindPose[], options?: SkeletonRigOptions);
|
|
8980
|
+
static getRigKey(joints: SceneNode[], rootJoint?: Nullable<SceneNode>): string;
|
|
8981
|
+
static findRigById(id: string): Nullable<SkeletonRig>;
|
|
8982
|
+
get persistentId(): string;
|
|
8983
|
+
set persistentId(val: string);
|
|
8984
|
+
get joints(): SceneNode[];
|
|
8985
|
+
get bindPose(): SkeletonBindPose[];
|
|
8986
|
+
get rootJoint(): Nullable<SceneNode>;
|
|
8987
|
+
set rootJoint(joint: Nullable<SceneNode>);
|
|
8988
|
+
get rootBindPose(): SkeletonBindPose;
|
|
8989
|
+
getBindPoseForJoint(joint: SceneNode): SkeletonBindPose | null;
|
|
8990
|
+
get humanoidJointMapping(): Nullable<HumanoidJointMapping<SceneNode>>;
|
|
8991
|
+
get humanoidRootRotation(): Quaternion;
|
|
8992
|
+
get modifiers(): SkeletonModifier[];
|
|
8993
|
+
get playing(): boolean;
|
|
8994
|
+
set playing(b: boolean);
|
|
8995
|
+
getJointIndex(joint: SceneNode): number;
|
|
8996
|
+
getJointIndexByName(jointName: string): number;
|
|
8997
|
+
computeBindPose(): void;
|
|
8998
|
+
apply(deltaTime: number): void;
|
|
8999
|
+
reset(): void;
|
|
9000
|
+
protected onDispose(): void;
|
|
9001
|
+
private findRootJoint;
|
|
9002
|
+
private getNodeBindPose;
|
|
9003
|
+
}
|
|
8887
9004
|
/**
|
|
8888
|
-
*
|
|
9005
|
+
* Skin binding for skinned animation.
|
|
8889
9006
|
*
|
|
8890
9007
|
* Responsibilities:
|
|
8891
|
-
* -
|
|
9008
|
+
* - References a shared SkeletonRig.
|
|
9009
|
+
* - Maintains inverse bind and current skinning matrices for one skin.
|
|
8892
9010
|
* - Provides a texture containing joint matrices for GPU skinning.
|
|
8893
9011
|
* - Applies skinning state to associated meshes each frame.
|
|
8894
9012
|
* - Computes animated axis-aligned bounding boxes using representative skinned vertices.
|
|
@@ -8900,25 +9018,24 @@ type HumanoidJointMapping<T extends {
|
|
|
8900
9018
|
* and `_jointOffsets[1]` (previous).
|
|
8901
9019
|
*
|
|
8902
9020
|
* Usage:
|
|
8903
|
-
* - Construct with
|
|
9021
|
+
* - Construct with a rig, bind data, meshes and submesh bounding info.
|
|
8904
9022
|
* - Call `apply()` each frame to update joint texture, bind to meshes, and update bounds.
|
|
8905
9023
|
* - Call `reset()` to clear skinning on meshes.
|
|
8906
9024
|
*
|
|
8907
9025
|
* @public
|
|
8908
9026
|
*/
|
|
8909
|
-
declare class
|
|
9027
|
+
declare class SkinBinding extends Disposable {
|
|
8910
9028
|
/**
|
|
8911
|
-
* Create a
|
|
9029
|
+
* Create a skin binding instance.
|
|
8912
9030
|
*
|
|
9031
|
+
* @param rig - Shared skeleton rig that owns animated joint transforms.
|
|
8913
9032
|
* @param joints - Joint scene nodes (one per joint), ordered to match skin data.
|
|
8914
9033
|
* @param inverseBindMatrices - Inverse bind matrices for each joint.
|
|
8915
9034
|
* @param bindPoseMatrices - Bind pose matrices for each joint (model-space).
|
|
8916
9035
|
*/
|
|
8917
|
-
constructor(
|
|
8918
|
-
|
|
8919
|
-
|
|
8920
|
-
position: Vector3;
|
|
8921
|
-
}[]);
|
|
9036
|
+
constructor(rig: SkeletonRig, inverseBindMatrices: Matrix4x4[], joints?: SceneNode[], bindPose?: SkeletonBindPose[]);
|
|
9037
|
+
static findSkeletonById(id: string): Nullable<SkinBinding>;
|
|
9038
|
+
get rig(): SkeletonRig;
|
|
8922
9039
|
/** Gets joint nodes */
|
|
8923
9040
|
get joints(): SceneNode[];
|
|
8924
9041
|
/** Gets the humanoid joint mapping */
|
|
@@ -8960,6 +9077,7 @@ declare class Skeleton extends Disposable {
|
|
|
8960
9077
|
* - Clears matrix arrays and joint references.
|
|
8961
9078
|
*/
|
|
8962
9079
|
protected onDispose(): void;
|
|
9080
|
+
private _syncJointMatrixArray;
|
|
8963
9081
|
/**
|
|
8964
9082
|
* Build representative skinned bounding data for a submesh.
|
|
8965
9083
|
*
|
|
@@ -8979,7 +9097,6 @@ declare class Skeleton extends Disposable {
|
|
|
8979
9097
|
blendIndices: TypedArray;
|
|
8980
9098
|
weights: TypedArray;
|
|
8981
9099
|
}): SkinnedBoundingBox;
|
|
8982
|
-
private findRootJoint;
|
|
8983
9100
|
private static normalizeHumanoidJointName;
|
|
8984
9101
|
private static getHumanoidJointNodeDepth;
|
|
8985
9102
|
private static collectHumanoidJointNodeInfos;
|
|
@@ -9044,6 +9161,97 @@ declare class Skeleton extends Disposable {
|
|
|
9044
9161
|
children: T[];
|
|
9045
9162
|
}>(root: T): HumanoidJointMapping<T> | null;
|
|
9046
9163
|
}
|
|
9164
|
+
/**
|
|
9165
|
+
* Legacy compatibility name for a skin binding.
|
|
9166
|
+
*
|
|
9167
|
+
* New code should use {@link SkeletonRig} for the shared animated rig and
|
|
9168
|
+
* {@link SkinBinding} for per-skin inverse bind matrices.
|
|
9169
|
+
*
|
|
9170
|
+
* @public
|
|
9171
|
+
*/
|
|
9172
|
+
declare class Skeleton extends SkinBinding {
|
|
9173
|
+
constructor(joints: SceneNode[], inverseBindMatrices: Matrix4x4[], bindPose: SkeletonBindPose[]);
|
|
9174
|
+
static tryExtractHumanoidJoints: typeof SkinBinding.tryExtractHumanoidJoints;
|
|
9175
|
+
static tryExtractHumanoidJointsMixamo: typeof SkinBinding.tryExtractHumanoidJointsMixamo;
|
|
9176
|
+
static tryExtractHumanoidJointsVRM: typeof SkinBinding.tryExtractHumanoidJointsVRM;
|
|
9177
|
+
static tryExtractHumanoidJointsUnityHumanoid: typeof SkinBinding.tryExtractHumanoidJointsUnityHumanoid;
|
|
9178
|
+
static tryExtractHumanoidJointsBiped: typeof SkinBinding.tryExtractHumanoidJointsBiped;
|
|
9179
|
+
static findSkeletonById(id: string): Nullable<SkinBinding>;
|
|
9180
|
+
}
|
|
9181
|
+
|
|
9182
|
+
/** @public */
|
|
9183
|
+
type SkeletalAnimationMaskRootMotionMode = 'include' | 'exclude' | 'only';
|
|
9184
|
+
/** @public */
|
|
9185
|
+
type SkeletalAnimationMaskUnsupportedTrackMode = 'skip' | 'error';
|
|
9186
|
+
/** @public */
|
|
9187
|
+
type HumanoidSkeletalAnimationMaskPreset = 'fullBody' | 'upperBody' | 'lowerBody' | 'head' | 'arms' | 'leftArm' | 'rightArm' | 'legs' | 'leftLeg' | 'rightLeg';
|
|
9188
|
+
/** @public */
|
|
9189
|
+
type JointNameMatcher = string | RegExp | ((joint: SceneNode) => boolean);
|
|
9190
|
+
/** @public */
|
|
9191
|
+
type SkeletalAnimationMaskCommonOptions = {
|
|
9192
|
+
/**
|
|
9193
|
+
* How root translation tracks are copied.
|
|
9194
|
+
*
|
|
9195
|
+
* Defaults to `include` for lower/full body humanoid masks and to `exclude` otherwise.
|
|
9196
|
+
*/
|
|
9197
|
+
rootMotion?: SkeletalAnimationMaskRootMotionMode;
|
|
9198
|
+
/**
|
|
9199
|
+
* How tracks outside node transform animation should be handled.
|
|
9200
|
+
*
|
|
9201
|
+
* Defaults to `skip`.
|
|
9202
|
+
*/
|
|
9203
|
+
unsupportedTracks?: SkeletalAnimationMaskUnsupportedTrackMode;
|
|
9204
|
+
};
|
|
9205
|
+
/** @public */
|
|
9206
|
+
type HumanoidSkeletalAnimationMaskOptions = SkeletalAnimationMaskCommonOptions & {
|
|
9207
|
+
type: 'humanoid';
|
|
9208
|
+
/**
|
|
9209
|
+
* Optional semantic preset used as the initial joint set.
|
|
9210
|
+
*/
|
|
9211
|
+
preset?: HumanoidSkeletalAnimationMaskPreset;
|
|
9212
|
+
/**
|
|
9213
|
+
* Boundary joint for `upperBody`. Defaults to `HumanoidBodyRig.Spine`.
|
|
9214
|
+
*/
|
|
9215
|
+
boundary?: HumanoidBodyRig;
|
|
9216
|
+
/**
|
|
9217
|
+
* Additional body joints selected by semantic name.
|
|
9218
|
+
*/
|
|
9219
|
+
includeBody?: HumanoidBodyRig[];
|
|
9220
|
+
/**
|
|
9221
|
+
* Body joints removed from the selected set.
|
|
9222
|
+
*/
|
|
9223
|
+
excludeBody?: HumanoidBodyRig[];
|
|
9224
|
+
includeLeftHand?: HumanoidHandRig[];
|
|
9225
|
+
includeRightHand?: HumanoidHandRig[];
|
|
9226
|
+
excludeLeftHand?: HumanoidHandRig[];
|
|
9227
|
+
excludeRightHand?: HumanoidHandRig[];
|
|
9228
|
+
/**
|
|
9229
|
+
* Whether explicit semantic include/exclude entries affect their descendants.
|
|
9230
|
+
*
|
|
9231
|
+
* Defaults to true for humanoid semantic masks.
|
|
9232
|
+
*/
|
|
9233
|
+
includeDescendants?: boolean;
|
|
9234
|
+
};
|
|
9235
|
+
/** @public */
|
|
9236
|
+
type NamedJointsSkeletalAnimationMaskOptions = SkeletalAnimationMaskCommonOptions & {
|
|
9237
|
+
type: 'joints';
|
|
9238
|
+
/**
|
|
9239
|
+
* Joint name matchers. If omitted, all rig joints are selected before exclusions.
|
|
9240
|
+
*/
|
|
9241
|
+
include?: JointNameMatcher[];
|
|
9242
|
+
/**
|
|
9243
|
+
* Joint name matchers removed from the selected set.
|
|
9244
|
+
*/
|
|
9245
|
+
exclude?: JointNameMatcher[];
|
|
9246
|
+
/**
|
|
9247
|
+
* Whether selected or excluded joints affect their descendants.
|
|
9248
|
+
*
|
|
9249
|
+
* Defaults to false for name masks.
|
|
9250
|
+
*/
|
|
9251
|
+
includeDescendants?: boolean;
|
|
9252
|
+
};
|
|
9253
|
+
/** @public */
|
|
9254
|
+
type SkeletalAnimationMaskOptions = HumanoidSkeletalAnimationMaskOptions | NamedJointsSkeletalAnimationMaskOptions;
|
|
9047
9255
|
|
|
9048
9256
|
/**
|
|
9049
9257
|
* Options for playing an animation.
|
|
@@ -9098,6 +9306,45 @@ type StopAnimationOptions = {
|
|
|
9098
9306
|
*/
|
|
9099
9307
|
fadeOut?: number;
|
|
9100
9308
|
};
|
|
9309
|
+
/** @public */
|
|
9310
|
+
type HumanoidRootMotionMode = 'scaled' | 'copy' | 'locked' | 'none';
|
|
9311
|
+
/** @public */
|
|
9312
|
+
type HumanoidRootMotionScaleMode = 'legLength' | 'none' | number;
|
|
9313
|
+
/** @public */
|
|
9314
|
+
type HumanoidRetargetAxisLocks = {
|
|
9315
|
+
x?: boolean;
|
|
9316
|
+
y?: boolean;
|
|
9317
|
+
z?: boolean;
|
|
9318
|
+
};
|
|
9319
|
+
/** @public */
|
|
9320
|
+
type CopyHumanoidAnimationOptions = {
|
|
9321
|
+
/**
|
|
9322
|
+
* Name for the new clip. Ignored when the legacy third `targetName` argument is a string.
|
|
9323
|
+
*/
|
|
9324
|
+
targetName?: string;
|
|
9325
|
+
/**
|
|
9326
|
+
* How root translation should be handled.
|
|
9327
|
+
*
|
|
9328
|
+
* - `scaled`: retarget and scale root motion to the destination rig size.
|
|
9329
|
+
* - `copy`: retarget root motion without scale.
|
|
9330
|
+
* - `locked`: write a constant destination bind-pose root translation.
|
|
9331
|
+
* - `none`: do not create a root translation track.
|
|
9332
|
+
*/
|
|
9333
|
+
rootMotion?: HumanoidRootMotionMode;
|
|
9334
|
+
/**
|
|
9335
|
+
* Scale used when `rootMotion` is `scaled`.
|
|
9336
|
+
*/
|
|
9337
|
+
rootMotionScale?: HumanoidRootMotionScaleMode;
|
|
9338
|
+
/**
|
|
9339
|
+
* Axis locks applied after root motion retargeting. Locked axes stay at the destination bind pose.
|
|
9340
|
+
*/
|
|
9341
|
+
lockRootMotionAxes?: HumanoidRetargetAxisLocks;
|
|
9342
|
+
/**
|
|
9343
|
+
* Whether to preserve non-root humanoid translation tracks. These are skipped by default because
|
|
9344
|
+
* retargeting humanoid joints should normally keep the destination skeleton lengths intact.
|
|
9345
|
+
*/
|
|
9346
|
+
jointTranslations?: 'skip' | 'preserve';
|
|
9347
|
+
};
|
|
9101
9348
|
/**
|
|
9102
9349
|
* Animation set
|
|
9103
9350
|
*
|
|
@@ -9136,7 +9383,17 @@ declare class AnimationSet extends Disposable implements IDisposable {
|
|
|
9136
9383
|
/**
|
|
9137
9384
|
* The skeletons used by animations in this set.
|
|
9138
9385
|
*/
|
|
9139
|
-
get skeletons(): DRef<
|
|
9386
|
+
get skeletons(): DRef<SkinBinding>[];
|
|
9387
|
+
/**
|
|
9388
|
+
* The shared rigs used by animations in this set.
|
|
9389
|
+
*/
|
|
9390
|
+
get rigs(): DRef<SkeletonRig>[];
|
|
9391
|
+
/**
|
|
9392
|
+
* Per-skin bindings used by skinned meshes in this set.
|
|
9393
|
+
*/
|
|
9394
|
+
get skinBindings(): DRef<SkinBinding>[];
|
|
9395
|
+
private resolveRigByAnimationBindingId;
|
|
9396
|
+
private resolveClipRig;
|
|
9140
9397
|
/**
|
|
9141
9398
|
* Retrieve an animation clip by name.
|
|
9142
9399
|
*
|
|
@@ -9174,7 +9431,7 @@ declare class AnimationSet extends Disposable implements IDisposable {
|
|
|
9174
9431
|
* - Enforce repeat limits and apply fade-out termination if configured.
|
|
9175
9432
|
* - For each animated target, blend active tracks (weighted by clip weight × fade-in × fade-out)
|
|
9176
9433
|
* and apply the resulting state to the target.
|
|
9177
|
-
* - Apply
|
|
9434
|
+
* - Apply shared rig modifiers once, then update skin binding palettes.
|
|
9178
9435
|
*
|
|
9179
9436
|
* @param deltaInSeconds - Time step in seconds since last update.
|
|
9180
9437
|
*/
|
|
@@ -9230,6 +9487,19 @@ declare class AnimationSet extends Disposable implements IDisposable {
|
|
|
9230
9487
|
* @param options - Optional fade-out configuration.
|
|
9231
9488
|
*/
|
|
9232
9489
|
stopAnimation(name: string, options?: StopAnimationOptions): void;
|
|
9490
|
+
/**
|
|
9491
|
+
* Create a skeletal-only masked clip from an existing clip in this set.
|
|
9492
|
+
*
|
|
9493
|
+
* The generated clip is a regular `AnimationClip`: it contains cloned node transform tracks
|
|
9494
|
+
* for the selected rig joints and can be played/blended through the normal animation system.
|
|
9495
|
+
* Non-skeletal tracks are skipped by default.
|
|
9496
|
+
*
|
|
9497
|
+
* @param sourceName - Name of the source clip.
|
|
9498
|
+
* @param targetName - Name of the generated clip.
|
|
9499
|
+
* @param options - Humanoid semantic or joint-name based mask options.
|
|
9500
|
+
* @returns The generated clip, or null on failure.
|
|
9501
|
+
*/
|
|
9502
|
+
createSkeletalMaskedAnimation(sourceName: string, targetName: string, options: SkeletalAnimationMaskOptions): AnimationClip | null;
|
|
9233
9503
|
/**
|
|
9234
9504
|
* Copy a humanoid animation clip from another AnimationSet into this one via humanoid rig mapping.
|
|
9235
9505
|
*
|
|
@@ -9243,7 +9513,8 @@ declare class AnimationSet extends Disposable implements IDisposable {
|
|
|
9243
9513
|
* @param targetName - Name for the new clip in this set. Defaults to `animationName`.
|
|
9244
9514
|
* @returns The newly created AnimationClip, or null on failure.
|
|
9245
9515
|
*/
|
|
9246
|
-
copyHumanoidAnimationFrom(sourceSet: AnimationSet, animationName: string,
|
|
9516
|
+
copyHumanoidAnimationFrom(sourceSet: AnimationSet, animationName: string, options?: CopyHumanoidAnimationOptions): AnimationClip | null;
|
|
9517
|
+
copyHumanoidAnimationFrom(sourceSet: AnimationSet, animationName: string, targetName?: string, options?: CopyHumanoidAnimationOptions): AnimationClip | null;
|
|
9247
9518
|
/**
|
|
9248
9519
|
* Copy an animation clip from another AnimationSet into this one.
|
|
9249
9520
|
*
|
|
@@ -9258,9 +9529,13 @@ declare class AnimationSet extends Disposable implements IDisposable {
|
|
|
9258
9529
|
* skeleton structure matching.
|
|
9259
9530
|
* @returns The newly created AnimationClip, or null on failure.
|
|
9260
9531
|
*
|
|
9261
|
-
* @deprecated Use
|
|
9532
|
+
* @deprecated Use AnimationSet.copyHumanoidAnimationFrom instead.
|
|
9262
9533
|
*/
|
|
9263
9534
|
copyAnimationFrom(sourceSet: AnimationSet, animationName: string, targetName?: string, excludeJoint?: (jointName: string) => boolean): AnimationClip | null;
|
|
9535
|
+
/**
|
|
9536
|
+
* Reset all skeleton modifiers
|
|
9537
|
+
*/
|
|
9538
|
+
resetSkeletonModifiers(): void;
|
|
9264
9539
|
/**
|
|
9265
9540
|
* Dispose the animation set and release owned resources.
|
|
9266
9541
|
*
|
|
@@ -9320,6 +9595,10 @@ declare abstract class AnimationTrack<StateType = unknown> {
|
|
|
9320
9595
|
*/
|
|
9321
9596
|
get jointIndex(): number;
|
|
9322
9597
|
set jointIndex(index: number);
|
|
9598
|
+
/**
|
|
9599
|
+
* Clone this animation track
|
|
9600
|
+
*/
|
|
9601
|
+
abstract clone(): this;
|
|
9323
9602
|
/**
|
|
9324
9603
|
* Reset the track to its initial state for the given target.
|
|
9325
9604
|
*
|
|
@@ -9503,6 +9782,8 @@ declare class NodeTranslationTrack extends AnimationTrack<Vector3> {
|
|
|
9503
9782
|
}[], embedded?: boolean);
|
|
9504
9783
|
get interpolator(): Interpolator;
|
|
9505
9784
|
set interpolator(interp: Interpolator);
|
|
9785
|
+
/** {@inheritDoc AnimationTrack.clone} */
|
|
9786
|
+
clone(): this;
|
|
9506
9787
|
/** {@inheritDoc AnimationTrack.calculateState} */
|
|
9507
9788
|
calculateState(target: object, currentTime: number): Vector3;
|
|
9508
9789
|
/** {@inheritDoc AnimationTrack.applyState} */
|
|
@@ -9544,6 +9825,8 @@ declare class NodeRotationTrack extends AnimationTrack<Quaternion> {
|
|
|
9544
9825
|
}[], embedded?: boolean);
|
|
9545
9826
|
get interpolator(): Interpolator;
|
|
9546
9827
|
set interpolator(interp: Interpolator);
|
|
9828
|
+
/** {@inheritDoc AnimationTrack.clone} */
|
|
9829
|
+
clone(): this;
|
|
9547
9830
|
/** {@inheritDoc AnimationTrack.calculateState} */
|
|
9548
9831
|
calculateState(target: object, currentTime: number): Quaternion;
|
|
9549
9832
|
/** {@inheritDoc AnimationTrack.applyState} */
|
|
@@ -9585,6 +9868,8 @@ declare class NodeEulerRotationTrack extends AnimationTrack<Quaternion> {
|
|
|
9585
9868
|
}[], embedded?: boolean);
|
|
9586
9869
|
get interpolator(): Interpolator;
|
|
9587
9870
|
set interpolator(interp: Interpolator);
|
|
9871
|
+
/** {@inheritDoc AnimationTrack.clone} */
|
|
9872
|
+
clone(): this;
|
|
9588
9873
|
/** {@inheritDoc AnimationTrack.calculateState} */
|
|
9589
9874
|
calculateState(target: object, currentTime: number): Quaternion;
|
|
9590
9875
|
/** {@inheritDoc AnimationTrack.applyState} */
|
|
@@ -9626,6 +9911,8 @@ declare class NodeScaleTrack extends AnimationTrack<Vector3> {
|
|
|
9626
9911
|
}[], embedded?: boolean);
|
|
9627
9912
|
get interpolator(): Interpolator;
|
|
9628
9913
|
set interpolator(interp: Interpolator);
|
|
9914
|
+
/** {@inheritDoc AnimationTrack.clone} */
|
|
9915
|
+
clone(): this;
|
|
9629
9916
|
/** {@inheritDoc AnimationTrack.calculateState} */
|
|
9630
9917
|
calculateState(target: object, currentTime: number): Vector3;
|
|
9631
9918
|
/** {@inheritDoc AnimationTrack.applyState} */
|
|
@@ -9677,6 +9964,8 @@ declare class PropertyTrack extends AnimationTrack<number[]> {
|
|
|
9677
9964
|
* @throws Error if the property type is unsupported for animation.
|
|
9678
9965
|
*/
|
|
9679
9966
|
constructor(prop: PropertyAccessor, value?: number[], embedded?: boolean);
|
|
9967
|
+
/** {@inheritDoc AnimationTrack.clone} */
|
|
9968
|
+
clone(): this;
|
|
9680
9969
|
/**
|
|
9681
9970
|
* The primary interpolator for the property components.
|
|
9682
9971
|
*
|
|
@@ -9739,6 +10028,7 @@ declare class MorphTargetTrack extends AnimationTrack<MorphState> {
|
|
|
9739
10028
|
* Create an instance of MorphTargetTrack from morph parameters
|
|
9740
10029
|
*/
|
|
9741
10030
|
constructor(interpolator?: Interpolator, defaultMorphWeights?: number[], targetBox?: BoundingBox[], originBox?: AABB, embedded?: boolean);
|
|
10031
|
+
clone(): this;
|
|
9742
10032
|
get interpolator(): Nullable<Interpolator>;
|
|
9743
10033
|
set interpolator(interp: Nullable<Interpolator>);
|
|
9744
10034
|
get boundingBox(): Nullable<BoundingBox[]>;
|
|
@@ -9832,6 +10122,7 @@ declare class FixedGeometryCacheTrack extends AnimationTrack<FixedGeometryCacheS
|
|
|
9832
10122
|
private _state;
|
|
9833
10123
|
private readonly _meshBindings;
|
|
9834
10124
|
constructor(times?: Float32Array, frames?: FixedGeometryCacheFrame[], embedded?: boolean);
|
|
10125
|
+
clone(): this;
|
|
9835
10126
|
get times(): Float32Array;
|
|
9836
10127
|
set times(value: Float32Array);
|
|
9837
10128
|
get frames(): FixedGeometryCacheFrame[];
|
|
@@ -9887,6 +10178,7 @@ declare class PCAGeometryCacheTrack extends AnimationTrack<PCAGeometryCacheState
|
|
|
9887
10178
|
private _state;
|
|
9888
10179
|
private readonly _meshBindings;
|
|
9889
10180
|
constructor(data?: Partial<PCAGeometryCacheTrackData>, embedded?: boolean);
|
|
10181
|
+
clone(): this;
|
|
9890
10182
|
get times(): Float32Array;
|
|
9891
10183
|
set times(value: Float32Array);
|
|
9892
10184
|
get bounds(): [number, number, number, number, number, number][];
|
|
@@ -10168,7 +10460,7 @@ declare class IKModifier<Solver extends IKSolver = IKSolver> extends SkeletonMod
|
|
|
10168
10460
|
/**
|
|
10169
10461
|
* Apply IK solving to skeleton joints.
|
|
10170
10462
|
*/
|
|
10171
|
-
apply(_skeleton:
|
|
10463
|
+
apply(_skeleton: SkeletonRig, _deltaTime: number): void;
|
|
10172
10464
|
/**
|
|
10173
10465
|
* Reset the IK solver to initial state.
|
|
10174
10466
|
*/
|
|
@@ -10699,7 +10991,7 @@ declare class SpringModifier extends SkeletonModifier {
|
|
|
10699
10991
|
/**
|
|
10700
10992
|
* Apply spring physics to skeleton joints.
|
|
10701
10993
|
*/
|
|
10702
|
-
apply(_skeleton:
|
|
10994
|
+
apply(_skeleton: SkeletonRig, deltaTime: number): void;
|
|
10703
10995
|
/**
|
|
10704
10996
|
* Reset the spring system to initial state.
|
|
10705
10997
|
*/
|
|
@@ -11751,6 +12043,8 @@ interface ColliderRW {
|
|
|
11751
12043
|
localBoundsMax: Vector3;
|
|
11752
12044
|
/** Scaled radius for current frame (base radius × world scale) */
|
|
11753
12045
|
radius: number;
|
|
12046
|
+
/** Scaled capsule height for current frame (base height times world scale) */
|
|
12047
|
+
height: number;
|
|
11754
12048
|
/** Whether this collider is active (0 = disabled, 1 = enabled) */
|
|
11755
12049
|
enabled: number;
|
|
11756
12050
|
}
|
|
@@ -11905,6 +12199,8 @@ interface TransformAccess {
|
|
|
11905
12199
|
setLocalRotation(q: Quaternion): void;
|
|
11906
12200
|
/** Write local scale */
|
|
11907
12201
|
setLocalScale(s: Vector3): void;
|
|
12202
|
+
/** Original scene object backing this adapter, when available for serialization. */
|
|
12203
|
+
readonly node?: SceneNode;
|
|
11908
12204
|
}
|
|
11909
12205
|
/**
|
|
11910
12206
|
* Bone hierarchy node for constraint building.
|
|
@@ -12268,6 +12564,12 @@ interface ControllerConfig {
|
|
|
12268
12564
|
/** Which constraint types to generate and their collision flags */
|
|
12269
12565
|
constraintOptions: ConstraintBuildOptions;
|
|
12270
12566
|
}
|
|
12567
|
+
/**
|
|
12568
|
+
* Partial runtime update for JointDynamics controller configuration.
|
|
12569
|
+
*
|
|
12570
|
+
* @public
|
|
12571
|
+
*/
|
|
12572
|
+
type ControllerConfigUpdate = DeepPartial<ControllerConfig, 2>;
|
|
12271
12573
|
/**
|
|
12272
12574
|
* Stable runtime handle for a JointDynamics collider.
|
|
12273
12575
|
* @public
|
|
@@ -12292,6 +12594,33 @@ interface JointDynamicsGrabberHandle {
|
|
|
12292
12594
|
readonly type: 'grabber';
|
|
12293
12595
|
readonly id: number;
|
|
12294
12596
|
}
|
|
12597
|
+
/**
|
|
12598
|
+
* Serializable snapshot of a runtime collider.
|
|
12599
|
+
* @public
|
|
12600
|
+
*/
|
|
12601
|
+
interface JointDynamicsColliderSnapshot {
|
|
12602
|
+
r: ColliderR;
|
|
12603
|
+
transform: Nullable<SceneNode>;
|
|
12604
|
+
enabled: boolean;
|
|
12605
|
+
}
|
|
12606
|
+
/**
|
|
12607
|
+
* Serializable snapshot of a runtime flat plane.
|
|
12608
|
+
* @public
|
|
12609
|
+
*/
|
|
12610
|
+
interface JointDynamicsFlatPlaneSnapshot {
|
|
12611
|
+
up: Vector3;
|
|
12612
|
+
position: Vector3;
|
|
12613
|
+
enabled: boolean;
|
|
12614
|
+
}
|
|
12615
|
+
/**
|
|
12616
|
+
* Serializable snapshot of a runtime grabber.
|
|
12617
|
+
* @public
|
|
12618
|
+
*/
|
|
12619
|
+
interface JointDynamicsGrabberSnapshot {
|
|
12620
|
+
r: GrabberR;
|
|
12621
|
+
transform: Nullable<SceneNode>;
|
|
12622
|
+
enabled: boolean;
|
|
12623
|
+
}
|
|
12295
12624
|
/**
|
|
12296
12625
|
* High-level controller for joint dynamics simulation.
|
|
12297
12626
|
*
|
|
@@ -12322,6 +12651,10 @@ declare class JointDynamicsSystemController {
|
|
|
12322
12651
|
private _previousRootPosition;
|
|
12323
12652
|
private _previousRootRotation;
|
|
12324
12653
|
private _rootTransform;
|
|
12654
|
+
private _rootPoints;
|
|
12655
|
+
private _allPoints;
|
|
12656
|
+
private _parentMap;
|
|
12657
|
+
private _maxPointDepth;
|
|
12325
12658
|
private _pointTransforms;
|
|
12326
12659
|
private _colliderTransforms;
|
|
12327
12660
|
private _grabberTransforms;
|
|
@@ -12331,6 +12664,10 @@ declare class JointDynamicsSystemController {
|
|
|
12331
12664
|
private _colliderHandleToIndex;
|
|
12332
12665
|
private _flatPlaneHandleToIndex;
|
|
12333
12666
|
private _grabberHandleToIndex;
|
|
12667
|
+
private _baseSystemScale;
|
|
12668
|
+
private _currentSystemScale;
|
|
12669
|
+
private _basePointParentLengths;
|
|
12670
|
+
private _baseConstraintLengths;
|
|
12334
12671
|
private _nextColliderHandleId;
|
|
12335
12672
|
private _nextFlatPlaneHandleId;
|
|
12336
12673
|
private _nextGrabberHandleId;
|
|
@@ -12376,6 +12713,42 @@ declare class JointDynamicsSystemController {
|
|
|
12376
12713
|
position: Vector3;
|
|
12377
12714
|
rotation: Quaternion;
|
|
12378
12715
|
}>;
|
|
12716
|
+
/**
|
|
12717
|
+
* Returns a detached snapshot of the current runtime configuration.
|
|
12718
|
+
*/
|
|
12719
|
+
getConfig(): ControllerConfig;
|
|
12720
|
+
/**
|
|
12721
|
+
* Returns detached collider snapshots for persistence.
|
|
12722
|
+
*/
|
|
12723
|
+
getColliderSnapshots(): JointDynamicsColliderSnapshot[];
|
|
12724
|
+
/**
|
|
12725
|
+
* Returns detached flat-plane snapshots for persistence.
|
|
12726
|
+
*/
|
|
12727
|
+
getFlatPlaneSnapshots(): JointDynamicsFlatPlaneSnapshot[];
|
|
12728
|
+
/**
|
|
12729
|
+
* Returns detached grabber snapshots for persistence.
|
|
12730
|
+
*/
|
|
12731
|
+
getGrabberSnapshots(): JointDynamicsGrabberSnapshot[];
|
|
12732
|
+
/**
|
|
12733
|
+
* Replaces the runtime configuration.
|
|
12734
|
+
*
|
|
12735
|
+
* If the controller is already initialized, cached per-point parameters and generated
|
|
12736
|
+
* constraints are refreshed immediately so editor-driven changes take effect in the next step.
|
|
12737
|
+
*
|
|
12738
|
+
* @param config - Complete controller configuration to apply.
|
|
12739
|
+
*/
|
|
12740
|
+
setConfig(config: ControllerConfig): void;
|
|
12741
|
+
/**
|
|
12742
|
+
* Applies a partial runtime configuration update.
|
|
12743
|
+
*
|
|
12744
|
+
* This is intended for editor workflows that tweak one or more simulation parameters live.
|
|
12745
|
+
* The controller updates only the affected caches: global step parameters are applied directly,
|
|
12746
|
+
* per-point curve/gravity changes rebuild cached point coefficients, and constraint option
|
|
12747
|
+
* changes rebuild the generated constraints.
|
|
12748
|
+
*
|
|
12749
|
+
* @param config - Partial configuration update.
|
|
12750
|
+
*/
|
|
12751
|
+
updateConfig(config: ControllerConfigUpdate): void;
|
|
12379
12752
|
/**
|
|
12380
12753
|
* Compensates for teleportation by resetting the previous root transform to the current one.
|
|
12381
12754
|
* Call this after a character warp or teleport to avoid a large root-motion impulse on the
|
|
@@ -12557,6 +12930,7 @@ declare class JointDynamicsSystemController {
|
|
|
12557
12930
|
/** Gets the number of runtime grabbers. */
|
|
12558
12931
|
get grabberCount(): number;
|
|
12559
12932
|
private _computeBlendRatio;
|
|
12933
|
+
private _refreshCachedSimulationConfig;
|
|
12560
12934
|
private _getColliderIndex;
|
|
12561
12935
|
private _getGrabberIndex;
|
|
12562
12936
|
private _getFlatPlaneIndex;
|
|
@@ -12565,9 +12939,17 @@ declare class JointDynamicsSystemController {
|
|
|
12565
12939
|
private _rebuildFlatPlaneHandleMap;
|
|
12566
12940
|
private _rebuildActiveFlatPlanes;
|
|
12567
12941
|
private _rebuildGrabberHandleMap;
|
|
12942
|
+
private _rebuildConstraints;
|
|
12943
|
+
private _getSystemUniformScale;
|
|
12944
|
+
private _updateScaleDependentParameters;
|
|
12945
|
+
private _refreshPointParameters;
|
|
12568
12946
|
private _createPointR;
|
|
12947
|
+
private _applyConfigToPoint;
|
|
12569
12948
|
private _createPointRW;
|
|
12570
12949
|
private _createColliderRW;
|
|
12950
|
+
private _cloneControllerConfig;
|
|
12951
|
+
private _cloneInterpolatorScalar;
|
|
12952
|
+
private _sanitizeControllerConfig;
|
|
12571
12953
|
}
|
|
12572
12954
|
|
|
12573
12955
|
/**
|
|
@@ -12578,7 +12960,7 @@ declare class JointDynamicsSystemController {
|
|
|
12578
12960
|
*
|
|
12579
12961
|
* @public
|
|
12580
12962
|
*/
|
|
12581
|
-
declare function createTransformAccess(obj: SceneNode): TransformAccess;
|
|
12963
|
+
declare function createTransformAccess(obj: SceneNode, exposeNode?: boolean): TransformAccess;
|
|
12582
12964
|
/**
|
|
12583
12965
|
* Describes the bone chains simulated by a JointDynamicsSystem.
|
|
12584
12966
|
*
|
|
@@ -12618,6 +13000,8 @@ type JointDynamicSystemConfig = {
|
|
|
12618
13000
|
*/
|
|
12619
13001
|
declare class JointDynamicsSystem {
|
|
12620
13002
|
private _controller;
|
|
13003
|
+
private _chainConfig;
|
|
13004
|
+
private _bindPose;
|
|
12621
13005
|
/**
|
|
12622
13006
|
* Create a joint dynamics system for one or more bone chains.
|
|
12623
13007
|
*
|
|
@@ -12645,10 +13029,30 @@ declare class JointDynamicsSystem {
|
|
|
12645
13029
|
* @returns The underlying joint dynamics controller.
|
|
12646
13030
|
*/
|
|
12647
13031
|
get controller(): JointDynamicsSystemController;
|
|
13032
|
+
/**
|
|
13033
|
+
* Get the node chain topology used to construct this system.
|
|
13034
|
+
*/
|
|
13035
|
+
get chainConfig(): JointChainConfig;
|
|
13036
|
+
/**
|
|
13037
|
+
* Returns detached collider snapshots for serialization.
|
|
13038
|
+
*/
|
|
13039
|
+
getColliderSnapshots(): JointDynamicsColliderSnapshot[];
|
|
13040
|
+
/**
|
|
13041
|
+
* Returns detached flat-plane snapshots for serialization.
|
|
13042
|
+
*/
|
|
13043
|
+
getFlatPlaneSnapshots(): JointDynamicsFlatPlaneSnapshot[];
|
|
13044
|
+
/**
|
|
13045
|
+
* Returns detached grabber snapshots for serialization.
|
|
13046
|
+
*/
|
|
13047
|
+
getGrabberSnapshots(): JointDynamicsGrabberSnapshot[];
|
|
13048
|
+
/**
|
|
13049
|
+
* Reset chain nodes to bind pose
|
|
13050
|
+
*/
|
|
13051
|
+
resetChains(): void;
|
|
12648
13052
|
/**
|
|
12649
13053
|
* Add a fully configured collider at runtime.
|
|
12650
13054
|
*
|
|
12651
|
-
* The collider transform is read from the supplied scene node every
|
|
13055
|
+
* The collider transform is read from the supplied scene node every simula ; ion step.
|
|
12652
13056
|
* If no transform is supplied, the collider is created at the identity transform.
|
|
12653
13057
|
*
|
|
12654
13058
|
* @param r - Read-only collider parameters.
|
|
@@ -12816,7 +13220,7 @@ declare class JointDynamicsModifier extends SkeletonModifier {
|
|
|
12816
13220
|
/**
|
|
12817
13221
|
* Apply spring physics to skeleton joints.
|
|
12818
13222
|
*/
|
|
12819
|
-
apply(_skeleton:
|
|
13223
|
+
apply(_skeleton: SkeletonRig, deltaTime: number): void;
|
|
12820
13224
|
/**
|
|
12821
13225
|
* Reset the spring system to initial state.
|
|
12822
13226
|
*/
|
|
@@ -12832,6 +13236,15 @@ declare class JointDynamicsModifier extends SkeletonModifier {
|
|
|
12832
13236
|
* @public
|
|
12833
13237
|
*/
|
|
12834
13238
|
type MeshUpdateCallback = (frameId: number, elapsedInSeconds: number, deltaInSeconds: number) => void;
|
|
13239
|
+
/**
|
|
13240
|
+
* Bounding data used to update a mesh's local bounding box after morph target weights change.
|
|
13241
|
+
*
|
|
13242
|
+
* @public
|
|
13243
|
+
*/
|
|
13244
|
+
interface MorphBoundingInfo {
|
|
13245
|
+
targetBoxes: BoundingBox[];
|
|
13246
|
+
originBox: BoundingBox;
|
|
13247
|
+
}
|
|
12835
13248
|
declare const MeshBase: typeof GraphNode & _zephyr3d_base.GenericConstructor<{
|
|
12836
13249
|
getNode(): SceneNode;
|
|
12837
13250
|
} & _zephyr3d_base.Disposable> & (new (...args: any[]) => IMixinDrawable) & (new (...args: any[]) => _zephyr3d_base.IEventTarget<{
|
|
@@ -12865,6 +13278,8 @@ declare class Mesh extends MeshBase implements BatchDrawable {
|
|
|
12865
13278
|
setPickTarget(node: SceneNode, label?: string): void;
|
|
12866
13279
|
get skeletonName(): string;
|
|
12867
13280
|
set skeletonName(name: string);
|
|
13281
|
+
get skinBindingName(): string;
|
|
13282
|
+
set skinBindingName(name: string);
|
|
12868
13283
|
/** Wether the mesh node casts shadows */
|
|
12869
13284
|
get castShadow(): boolean;
|
|
12870
13285
|
set castShadow(b: boolean);
|
|
@@ -12887,6 +13302,15 @@ declare class Mesh extends MeshBase implements BatchDrawable {
|
|
|
12887
13302
|
* Gets the bounding box for animation
|
|
12888
13303
|
*/
|
|
12889
13304
|
getAnimatedBoundingBox(): BoundingBox | null;
|
|
13305
|
+
/**
|
|
13306
|
+
* Sets morph target bounding data used to update the animated bounding box when weights change.
|
|
13307
|
+
* @param info - Morph target bounding data
|
|
13308
|
+
*/
|
|
13309
|
+
setMorphBoundingInfo(info: Nullable<MorphBoundingInfo>): void;
|
|
13310
|
+
/**
|
|
13311
|
+
* Gets morph target bounding data.
|
|
13312
|
+
*/
|
|
13313
|
+
getMorphBoundingInfo(): Nullable<MorphBoundingInfo>;
|
|
12890
13314
|
/**
|
|
12891
13315
|
* Sets the texture that contains the bone matrices for skeletal animation
|
|
12892
13316
|
* @param matrices - The texture that contains the bone matrices
|
|
@@ -12928,6 +13352,12 @@ declare class Mesh extends MeshBase implements BatchDrawable {
|
|
|
12928
13352
|
* @returns The name of the morph target, or null if not found
|
|
12929
13353
|
*/
|
|
12930
13354
|
getMorphTargetName(index: number): Nullable<string>;
|
|
13355
|
+
/**
|
|
13356
|
+
* Get the index of the morph target by name
|
|
13357
|
+
* @param name - The name of the morph target
|
|
13358
|
+
* @returns The index of the morph target, or -1 if not found
|
|
13359
|
+
*/
|
|
13360
|
+
getMorphTargetIndexByName(name: string): number;
|
|
12931
13361
|
/**
|
|
12932
13362
|
* Update morph target weight
|
|
12933
13363
|
*
|
|
@@ -12935,6 +13365,13 @@ declare class Mesh extends MeshBase implements BatchDrawable {
|
|
|
12935
13365
|
* @param weight - The weight of the morph target
|
|
12936
13366
|
*/
|
|
12937
13367
|
setMorphWeight(name: string, weight: number): void;
|
|
13368
|
+
/**
|
|
13369
|
+
* Update morph target weight by index
|
|
13370
|
+
*
|
|
13371
|
+
* @param index - The index of the morph target
|
|
13372
|
+
* @param weight - The weight of the morph target
|
|
13373
|
+
*/
|
|
13374
|
+
setMorphWeightByIndex(index: number, weight: number): void;
|
|
12938
13375
|
/**
|
|
12939
13376
|
* Get morph target weight
|
|
12940
13377
|
*
|
|
@@ -12943,7 +13380,7 @@ declare class Mesh extends MeshBase implements BatchDrawable {
|
|
|
12943
13380
|
*/
|
|
12944
13381
|
getMorphWeight(name: string): number;
|
|
12945
13382
|
/**
|
|
12946
|
-
* Update morph target
|
|
13383
|
+
* Update morph target weights
|
|
12947
13384
|
*
|
|
12948
13385
|
* @param weight - The morph target weights. The length must not exceed the mesh's morph target count.
|
|
12949
13386
|
*/
|
|
@@ -13008,9 +13445,7 @@ declare class BatchGroup extends GraphNode {
|
|
|
13008
13445
|
* @param scene - The scene to which the mesh node belongs
|
|
13009
13446
|
*/
|
|
13010
13447
|
constructor(scene: Scene);
|
|
13011
|
-
/**
|
|
13012
|
-
* {@inheritDoc Drawable.getName}
|
|
13013
|
-
*/
|
|
13448
|
+
/** Gets the batch group name. */
|
|
13014
13449
|
getName(): string;
|
|
13015
13450
|
/**
|
|
13016
13451
|
* {@inheritDoc SceneNode.isBatchGroup}
|
|
@@ -13242,16 +13677,71 @@ declare class NamedObject {
|
|
|
13242
13677
|
*/
|
|
13243
13678
|
constructor(name: string);
|
|
13244
13679
|
}
|
|
13680
|
+
/**
|
|
13681
|
+
* Texture sampler settings for model loading.
|
|
13682
|
+
* @public
|
|
13683
|
+
*/
|
|
13684
|
+
interface AssetSamplerInfo {
|
|
13685
|
+
wrapS: TextureAddressMode;
|
|
13686
|
+
wrapT: TextureAddressMode;
|
|
13687
|
+
magFilter: TextureFilterMode;
|
|
13688
|
+
mipFilter: TextureFilterMode;
|
|
13689
|
+
minFilter: TextureFilterMode;
|
|
13690
|
+
}
|
|
13691
|
+
/**
|
|
13692
|
+
* Image payload information for model loading.
|
|
13693
|
+
* @public
|
|
13694
|
+
*/
|
|
13695
|
+
interface AssetImageInfo {
|
|
13696
|
+
uri?: string;
|
|
13697
|
+
data?: Uint8Array<ArrayBuffer>;
|
|
13698
|
+
mimeType?: string;
|
|
13699
|
+
}
|
|
13700
|
+
/**
|
|
13701
|
+
* Vertex buffer payload information for model loading.
|
|
13702
|
+
* @public
|
|
13703
|
+
*/
|
|
13704
|
+
interface AssetVertexBufferInfo {
|
|
13705
|
+
attrib: VertexAttribFormat;
|
|
13706
|
+
data: TypedArray;
|
|
13707
|
+
}
|
|
13708
|
+
/**
|
|
13709
|
+
* Primitive geometry information for model loading.
|
|
13710
|
+
* @public
|
|
13711
|
+
*/
|
|
13712
|
+
interface AssetPrimitiveInfo {
|
|
13713
|
+
vertices: Record<VertexSemantic, {
|
|
13714
|
+
format: VertexAttribFormat;
|
|
13715
|
+
data: TypedArray;
|
|
13716
|
+
}>;
|
|
13717
|
+
indices: Nullable<Uint16Array<ArrayBuffer> | Uint32Array<ArrayBuffer>>;
|
|
13718
|
+
indexCount: number;
|
|
13719
|
+
type: PrimitiveType;
|
|
13720
|
+
boxMin: Vector3;
|
|
13721
|
+
boxMax: Vector3;
|
|
13722
|
+
path?: string;
|
|
13723
|
+
}
|
|
13245
13724
|
/**
|
|
13246
13725
|
* Texture information for model loading
|
|
13247
13726
|
* @public
|
|
13248
13727
|
*/
|
|
13249
|
-
interface
|
|
13250
|
-
|
|
13251
|
-
|
|
13728
|
+
interface AssetTextureInfo {
|
|
13729
|
+
image: Nullable<AssetImageInfo>;
|
|
13730
|
+
sRGB?: boolean;
|
|
13731
|
+
sampler: Nullable<AssetSamplerInfo>;
|
|
13252
13732
|
texCoord: number;
|
|
13253
13733
|
transform: Nullable<Matrix4x4>;
|
|
13254
13734
|
}
|
|
13735
|
+
/**
|
|
13736
|
+
* Resolved material texture information.
|
|
13737
|
+
* @public
|
|
13738
|
+
*/
|
|
13739
|
+
interface MaterialTextureInfo {
|
|
13740
|
+
texture: Texture2D;
|
|
13741
|
+
sampler: TextureSampler;
|
|
13742
|
+
texCoord: number;
|
|
13743
|
+
transform: Matrix4x4;
|
|
13744
|
+
}
|
|
13255
13745
|
/**
|
|
13256
13746
|
* Common properties of material for model loading
|
|
13257
13747
|
* @public
|
|
@@ -13263,12 +13753,12 @@ interface AssetMaterialCommon {
|
|
|
13263
13753
|
alphaMode?: 'blend' | 'mask';
|
|
13264
13754
|
alphaCutoff?: number;
|
|
13265
13755
|
doubleSided?: boolean;
|
|
13266
|
-
normalMap?:
|
|
13756
|
+
normalMap?: AssetTextureInfo;
|
|
13267
13757
|
bumpScale?: number;
|
|
13268
|
-
emissiveMap?:
|
|
13758
|
+
emissiveMap?: AssetTextureInfo;
|
|
13269
13759
|
emissiveColor?: Vector3;
|
|
13270
13760
|
emissiveStrength?: number;
|
|
13271
|
-
occlusionMap?:
|
|
13761
|
+
occlusionMap?: AssetTextureInfo;
|
|
13272
13762
|
occlusionStrength?: number;
|
|
13273
13763
|
}
|
|
13274
13764
|
/**
|
|
@@ -13278,13 +13768,15 @@ interface AssetMaterialCommon {
|
|
|
13278
13768
|
interface AssetMaterial {
|
|
13279
13769
|
type: string;
|
|
13280
13770
|
common: AssetMaterialCommon;
|
|
13771
|
+
path?: string;
|
|
13772
|
+
material?: DRef<MeshMaterial>;
|
|
13281
13773
|
}
|
|
13282
13774
|
/**
|
|
13283
13775
|
* Unlit related material properties for model loading
|
|
13284
13776
|
* @public
|
|
13285
13777
|
*/
|
|
13286
13778
|
interface AssetUnlitMaterial extends AssetMaterial {
|
|
13287
|
-
diffuseMap?:
|
|
13779
|
+
diffuseMap?: AssetTextureInfo;
|
|
13288
13780
|
diffuse?: Vector4;
|
|
13289
13781
|
}
|
|
13290
13782
|
/**
|
|
@@ -13293,9 +13785,9 @@ interface AssetUnlitMaterial extends AssetMaterial {
|
|
|
13293
13785
|
*/
|
|
13294
13786
|
interface AssetMaterialSheen {
|
|
13295
13787
|
sheenColorFactor?: Vector3;
|
|
13296
|
-
sheenColorMap?:
|
|
13788
|
+
sheenColorMap?: AssetTextureInfo;
|
|
13297
13789
|
sheenRoughnessFactor?: number;
|
|
13298
|
-
sheenRoughnessMap?:
|
|
13790
|
+
sheenRoughnessMap?: AssetTextureInfo;
|
|
13299
13791
|
}
|
|
13300
13792
|
/**
|
|
13301
13793
|
* Clearcoat related material properties for model loading
|
|
@@ -13303,10 +13795,10 @@ interface AssetMaterialSheen {
|
|
|
13303
13795
|
*/
|
|
13304
13796
|
interface AssetMaterialClearcoat {
|
|
13305
13797
|
clearCoatFactor?: number;
|
|
13306
|
-
clearCoatIntensityMap?:
|
|
13798
|
+
clearCoatIntensityMap?: AssetTextureInfo;
|
|
13307
13799
|
clearCoatRoughnessFactor?: number;
|
|
13308
|
-
clearCoatRoughnessMap?:
|
|
13309
|
-
clearCoatNormalMap?:
|
|
13800
|
+
clearCoatRoughnessMap?: AssetTextureInfo;
|
|
13801
|
+
clearCoatNormalMap?: AssetTextureInfo;
|
|
13310
13802
|
}
|
|
13311
13803
|
/**
|
|
13312
13804
|
* Transmission related material properties for model loading
|
|
@@ -13314,9 +13806,9 @@ interface AssetMaterialClearcoat {
|
|
|
13314
13806
|
*/
|
|
13315
13807
|
interface AssetMaterialTransmission {
|
|
13316
13808
|
transmissionFactor?: number;
|
|
13317
|
-
transmissionMap?:
|
|
13809
|
+
transmissionMap?: AssetTextureInfo;
|
|
13318
13810
|
thicknessFactor?: number;
|
|
13319
|
-
thicknessMap?:
|
|
13811
|
+
thicknessMap?: AssetTextureInfo;
|
|
13320
13812
|
attenuationColor?: Vector3;
|
|
13321
13813
|
attenuationDistance?: number;
|
|
13322
13814
|
}
|
|
@@ -13326,11 +13818,11 @@ interface AssetMaterialTransmission {
|
|
|
13326
13818
|
*/
|
|
13327
13819
|
interface AssetMaterialIridescence {
|
|
13328
13820
|
iridescenceFactor?: number;
|
|
13329
|
-
iridescenceMap?:
|
|
13821
|
+
iridescenceMap?: AssetTextureInfo;
|
|
13330
13822
|
iridescenceIor?: number;
|
|
13331
13823
|
iridescenceThicknessMinimum?: number;
|
|
13332
13824
|
iridescenceThicknessMaximum?: number;
|
|
13333
|
-
iridescenceThicknessMap?:
|
|
13825
|
+
iridescenceThicknessMap?: AssetTextureInfo;
|
|
13334
13826
|
}
|
|
13335
13827
|
/**
|
|
13336
13828
|
* PBR related material properties for model loading
|
|
@@ -13346,11 +13838,11 @@ interface AssetPBRMaterialCommon extends AssetUnlitMaterial {
|
|
|
13346
13838
|
interface AssetPBRMaterialMR extends AssetPBRMaterialCommon {
|
|
13347
13839
|
metallic?: number;
|
|
13348
13840
|
roughness?: number;
|
|
13349
|
-
metallicMap?:
|
|
13841
|
+
metallicMap?: AssetTextureInfo;
|
|
13350
13842
|
metallicIndex?: number;
|
|
13351
13843
|
roughnessIndex?: number;
|
|
13352
|
-
specularMap?:
|
|
13353
|
-
specularColorMap?:
|
|
13844
|
+
specularMap?: AssetTextureInfo;
|
|
13845
|
+
specularColorMap?: AssetTextureInfo;
|
|
13354
13846
|
specularFactor?: Vector4;
|
|
13355
13847
|
sheen?: AssetMaterialSheen;
|
|
13356
13848
|
clearcoat?: AssetMaterialClearcoat;
|
|
@@ -13364,16 +13856,15 @@ interface AssetPBRMaterialMR extends AssetPBRMaterialCommon {
|
|
|
13364
13856
|
interface AssetPBRMaterialSG extends AssetPBRMaterialCommon {
|
|
13365
13857
|
specular?: Vector3;
|
|
13366
13858
|
glossness?: number;
|
|
13367
|
-
specularGlossnessMap?:
|
|
13859
|
+
specularGlossnessMap?: AssetTextureInfo;
|
|
13368
13860
|
}
|
|
13369
13861
|
/**
|
|
13370
13862
|
* Sub mesh data interface for model loading
|
|
13371
13863
|
* @public
|
|
13372
13864
|
*/
|
|
13373
13865
|
interface AssetSubMeshData {
|
|
13374
|
-
primitive:
|
|
13375
|
-
material:
|
|
13376
|
-
mesh?: Mesh;
|
|
13866
|
+
primitive: Nullable<AssetPrimitiveInfo>;
|
|
13867
|
+
material: Nullable<AssetMaterial>;
|
|
13377
13868
|
rawPositions: Nullable<Float32Array>;
|
|
13378
13869
|
rawBlendIndices: Nullable<TypedArray>;
|
|
13379
13870
|
rawJointWeights: Nullable<TypedArray>;
|
|
@@ -13391,9 +13882,35 @@ interface AssetSubMeshData {
|
|
|
13391
13882
|
* @public
|
|
13392
13883
|
*/
|
|
13393
13884
|
interface AssetMeshData {
|
|
13394
|
-
morphWeights?:
|
|
13885
|
+
morphWeights?: number[];
|
|
13886
|
+
morphNames?: string[];
|
|
13395
13887
|
subMeshes: AssetSubMeshData[];
|
|
13396
13888
|
}
|
|
13889
|
+
/**
|
|
13890
|
+
* Morph target binding in a model-level expression/group.
|
|
13891
|
+
* @public
|
|
13892
|
+
*/
|
|
13893
|
+
interface AssetMorphTargetBinding {
|
|
13894
|
+
/** Restrict this binding to runtime meshes created from this asset node. */
|
|
13895
|
+
node?: AssetHierarchyNode;
|
|
13896
|
+
/** Restrict this binding to runtime meshes created from this asset mesh. */
|
|
13897
|
+
mesh?: AssetMeshData;
|
|
13898
|
+
/** Morph target index in the source mesh. */
|
|
13899
|
+
targetIndex?: number;
|
|
13900
|
+
/** Morph target name in the source mesh. */
|
|
13901
|
+
targetName?: string;
|
|
13902
|
+
/** Weight contributed by this binding when the group weight is 1. */
|
|
13903
|
+
weight: number;
|
|
13904
|
+
}
|
|
13905
|
+
/**
|
|
13906
|
+
* Model-level morph target group, commonly used as a complete facial expression.
|
|
13907
|
+
* @public
|
|
13908
|
+
*/
|
|
13909
|
+
interface AssetMorphTargetGroup {
|
|
13910
|
+
name: string;
|
|
13911
|
+
bindings: AssetMorphTargetBinding[];
|
|
13912
|
+
isBinary?: boolean;
|
|
13913
|
+
}
|
|
13397
13914
|
/**
|
|
13398
13915
|
* Animation track interface for model loading
|
|
13399
13916
|
* @public
|
|
@@ -13405,8 +13922,16 @@ interface AssetAnimationTrack {
|
|
|
13405
13922
|
defaultMorphWeights?: number[];
|
|
13406
13923
|
}
|
|
13407
13924
|
/**
|
|
13408
|
-
*
|
|
13409
|
-
*
|
|
13925
|
+
* A single geometry cache frame.
|
|
13926
|
+
* @public
|
|
13927
|
+
*/
|
|
13928
|
+
interface AssetGeometryCacheFrame {
|
|
13929
|
+
positions: Float32Array;
|
|
13930
|
+
normals?: Nullable<Float32Array>;
|
|
13931
|
+
boundingBox: BoundingBox;
|
|
13932
|
+
}
|
|
13933
|
+
/**
|
|
13934
|
+
* Fixed-vertex geometry cache animation track information.
|
|
13410
13935
|
* @public
|
|
13411
13936
|
*/
|
|
13412
13937
|
interface AssetFixedGeometryCacheAnimationTrack {
|
|
@@ -13415,11 +13940,10 @@ interface AssetFixedGeometryCacheAnimationTrack {
|
|
|
13415
13940
|
codec?: 'fixed';
|
|
13416
13941
|
subMeshIndex: number;
|
|
13417
13942
|
times: Float32Array;
|
|
13418
|
-
frames:
|
|
13943
|
+
frames: AssetGeometryCacheFrame[];
|
|
13419
13944
|
}
|
|
13420
13945
|
/**
|
|
13421
|
-
* PCA-compressed geometry cache animation track
|
|
13422
|
-
*
|
|
13946
|
+
* PCA-compressed geometry cache animation track information.
|
|
13423
13947
|
* @public
|
|
13424
13948
|
*/
|
|
13425
13949
|
interface AssetPCAGeometryCacheAnimationTrack {
|
|
@@ -13438,8 +13962,7 @@ interface AssetPCAGeometryCacheAnimationTrack {
|
|
|
13438
13962
|
normalCoefficients?: Nullable<Float32Array[]>;
|
|
13439
13963
|
}
|
|
13440
13964
|
/**
|
|
13441
|
-
* Geometry cache animation track
|
|
13442
|
-
*
|
|
13965
|
+
* Geometry cache animation track information.
|
|
13443
13966
|
* @public
|
|
13444
13967
|
*/
|
|
13445
13968
|
type AssetGeometryCacheAnimationTrack = AssetFixedGeometryCacheAnimationTrack | AssetPCAGeometryCacheAnimationTrack;
|
|
@@ -13501,18 +14024,17 @@ declare class AssetHierarchyNode extends NamedObject {
|
|
|
13501
14024
|
private _mesh;
|
|
13502
14025
|
private _skeleton;
|
|
13503
14026
|
private _attachToSkeleton;
|
|
13504
|
-
private _meshAttached;
|
|
13505
14027
|
private _matrix;
|
|
13506
14028
|
private _worldMatrix;
|
|
13507
14029
|
private _weights;
|
|
13508
14030
|
private readonly _children;
|
|
13509
|
-
private readonly _instances
|
|
14031
|
+
private readonly _instances;
|
|
13510
14032
|
/**
|
|
13511
14033
|
* Creates an instance of AssetHierarchyNode
|
|
13512
14034
|
* @param name - Name of the node
|
|
13513
14035
|
* @param parent - Parent of the node
|
|
13514
14036
|
*/
|
|
13515
|
-
constructor(name: string, parent?:
|
|
14037
|
+
constructor(name: string, model: SharedModel, parent?: AssetHierarchyNode);
|
|
13516
14038
|
/** Parent of the node */
|
|
13517
14039
|
get parent(): Nullable<AssetHierarchyNode>;
|
|
13518
14040
|
/** Local transformation matrix of the node */
|
|
@@ -13527,7 +14049,7 @@ declare class AssetHierarchyNode extends NamedObject {
|
|
|
13527
14049
|
t: Vector3;
|
|
13528
14050
|
s: Vector3;
|
|
13529
14051
|
r: Quaternion;
|
|
13530
|
-
}[]
|
|
14052
|
+
}[];
|
|
13531
14053
|
/** Default morph target weights */
|
|
13532
14054
|
get weights(): Nullable<number[]>;
|
|
13533
14055
|
set weights(val: Nullable<number[]>);
|
|
@@ -13543,12 +14065,13 @@ declare class AssetHierarchyNode extends NamedObject {
|
|
|
13543
14065
|
/** The scale of the node */
|
|
13544
14066
|
get scaling(): Vector3;
|
|
13545
14067
|
set scaling(val: Vector3);
|
|
13546
|
-
/** true if the node is parent of a mesh node */
|
|
13547
|
-
get meshAttached(): boolean;
|
|
13548
14068
|
/** Children of the node */
|
|
13549
14069
|
get children(): AssetHierarchyNode[];
|
|
13550
14070
|
/** The skeleton to which the node belongs if this is a joint node */
|
|
13551
14071
|
get skeletonAttached(): Nullable<Set<AssetSkeleton>>;
|
|
14072
|
+
isParentOf(child: Nullable<AssetHierarchyNode>): boolean;
|
|
14073
|
+
getWorldPosition(): Vector3;
|
|
14074
|
+
computeTransforms(parentTransform: Nullable<Matrix4x4>): void;
|
|
13552
14075
|
/**
|
|
13553
14076
|
* Adds a child to this node
|
|
13554
14077
|
* @param child - The child node to be added
|
|
@@ -13594,6 +14117,7 @@ declare class AssetSkeleton extends NamedObject {
|
|
|
13594
14117
|
* @param inverseBindMatrix - Inverse binding matrix of the joint
|
|
13595
14118
|
*/
|
|
13596
14119
|
addJoint(joint: AssetHierarchyNode, inverseBindMatrix: Matrix4x4): void;
|
|
14120
|
+
get root(): AssetHierarchyNode;
|
|
13597
14121
|
}
|
|
13598
14122
|
/**
|
|
13599
14123
|
* Scene for model loading
|
|
@@ -13608,6 +14132,115 @@ declare class AssetScene extends NamedObject {
|
|
|
13608
14132
|
*/
|
|
13609
14133
|
constructor(name: string);
|
|
13610
14134
|
}
|
|
14135
|
+
/**
|
|
14136
|
+
* Spring bone collider shape information.
|
|
14137
|
+
* @public
|
|
14138
|
+
*/
|
|
14139
|
+
type AssetSpringBoneColliderShape = {
|
|
14140
|
+
type: 'sphere';
|
|
14141
|
+
offset: Vector3;
|
|
14142
|
+
radius: number;
|
|
14143
|
+
inside?: boolean;
|
|
14144
|
+
} | {
|
|
14145
|
+
type: 'capsule';
|
|
14146
|
+
offset: Vector3;
|
|
14147
|
+
tail: Vector3;
|
|
14148
|
+
radius: number;
|
|
14149
|
+
inside?: boolean;
|
|
14150
|
+
} | {
|
|
14151
|
+
type: 'plane';
|
|
14152
|
+
offset: Vector3;
|
|
14153
|
+
normal: Vector3;
|
|
14154
|
+
};
|
|
14155
|
+
/**
|
|
14156
|
+
* Spring bone collider information.
|
|
14157
|
+
* @public
|
|
14158
|
+
*/
|
|
14159
|
+
interface AssetSpringBoneCollider {
|
|
14160
|
+
name?: string;
|
|
14161
|
+
node: AssetHierarchyNode;
|
|
14162
|
+
shape: AssetSpringBoneColliderShape;
|
|
14163
|
+
}
|
|
14164
|
+
/**
|
|
14165
|
+
* Spring bone collider group information.
|
|
14166
|
+
* @public
|
|
14167
|
+
*/
|
|
14168
|
+
interface AssetSpringBoneColliderGroup {
|
|
14169
|
+
name?: string;
|
|
14170
|
+
colliders: AssetSpringBoneCollider[];
|
|
14171
|
+
}
|
|
14172
|
+
/**
|
|
14173
|
+
* Spring bone joint information.
|
|
14174
|
+
* @public
|
|
14175
|
+
*/
|
|
14176
|
+
interface AssetSpringBoneJoint {
|
|
14177
|
+
node: AssetHierarchyNode;
|
|
14178
|
+
hitRadius: number;
|
|
14179
|
+
stiffness: number;
|
|
14180
|
+
gravityPower: number;
|
|
14181
|
+
gravityDir: Vector3;
|
|
14182
|
+
dragForce: number;
|
|
14183
|
+
}
|
|
14184
|
+
/**
|
|
14185
|
+
* Spring bone chain information.
|
|
14186
|
+
* @public
|
|
14187
|
+
*/
|
|
14188
|
+
interface AssetSpringBone {
|
|
14189
|
+
name?: string;
|
|
14190
|
+
center?: AssetHierarchyNode;
|
|
14191
|
+
joints: AssetSpringBoneJoint[];
|
|
14192
|
+
rootBones?: AssetHierarchyNode[];
|
|
14193
|
+
colliderGroups: AssetSpringBoneColliderGroup[];
|
|
14194
|
+
}
|
|
14195
|
+
/**
|
|
14196
|
+
* Joint dynamics collider information.
|
|
14197
|
+
* @public
|
|
14198
|
+
*/
|
|
14199
|
+
interface AssetJointDynamicsCollider {
|
|
14200
|
+
name?: string;
|
|
14201
|
+
node: AssetHierarchyNode;
|
|
14202
|
+
localPosition: Vector3;
|
|
14203
|
+
localRotation: Quaternion;
|
|
14204
|
+
collider: ColliderR;
|
|
14205
|
+
}
|
|
14206
|
+
/**
|
|
14207
|
+
* Joint dynamics chain information.
|
|
14208
|
+
* @public
|
|
14209
|
+
*/
|
|
14210
|
+
interface AssetJointDynamicsChain {
|
|
14211
|
+
start: AssetHierarchyNode;
|
|
14212
|
+
end: AssetHierarchyNode;
|
|
14213
|
+
}
|
|
14214
|
+
/**
|
|
14215
|
+
* Joint dynamics flat plane information.
|
|
14216
|
+
* @public
|
|
14217
|
+
*/
|
|
14218
|
+
interface AssetJointDynamicsFlatPlane {
|
|
14219
|
+
node: AssetHierarchyNode;
|
|
14220
|
+
position: Vector3;
|
|
14221
|
+
up: Vector3;
|
|
14222
|
+
}
|
|
14223
|
+
/**
|
|
14224
|
+
* Joint dynamics spring bone information.
|
|
14225
|
+
* @public
|
|
14226
|
+
*/
|
|
14227
|
+
interface AssetJointDynamicsSpringBone {
|
|
14228
|
+
name?: string;
|
|
14229
|
+
center?: AssetHierarchyNode;
|
|
14230
|
+
chains: AssetJointDynamicsChain[];
|
|
14231
|
+
controllerConfig: DeepPartial<ControllerConfig, 2>;
|
|
14232
|
+
colliders: AssetJointDynamicsCollider[];
|
|
14233
|
+
flatPlanes: AssetJointDynamicsFlatPlane[];
|
|
14234
|
+
}
|
|
14235
|
+
/**
|
|
14236
|
+
* Options controlling which model resources are persisted.
|
|
14237
|
+
* @public
|
|
14238
|
+
*/
|
|
14239
|
+
type SaveOptions = {
|
|
14240
|
+
importMeshes: boolean;
|
|
14241
|
+
importSkeletons: boolean;
|
|
14242
|
+
importAnimations: boolean;
|
|
14243
|
+
};
|
|
13611
14244
|
/**
|
|
13612
14245
|
* Model information that can be shared by multiple model nodes
|
|
13613
14246
|
* @public
|
|
@@ -13615,31 +14248,58 @@ declare class AssetScene extends NamedObject {
|
|
|
13615
14248
|
declare class SharedModel extends Disposable {
|
|
13616
14249
|
/**
|
|
13617
14250
|
* Creates an instance of SharedModel
|
|
13618
|
-
* @param name - Name of the model
|
|
13619
14251
|
*/
|
|
13620
|
-
constructor(
|
|
13621
|
-
/** Name of the model */
|
|
13622
|
-
get name(): string;
|
|
13623
|
-
set name(val: string);
|
|
14252
|
+
constructor();
|
|
13624
14253
|
/** All scenes that the model contains */
|
|
13625
14254
|
get scenes(): AssetScene[];
|
|
14255
|
+
/** All Primitives that the model contains */
|
|
14256
|
+
get primitives(): AssetPrimitiveInfo[];
|
|
14257
|
+
/** All nodes that the model contains */
|
|
14258
|
+
get nodes(): AssetHierarchyNode[];
|
|
13626
14259
|
/** All animations that the model contains */
|
|
13627
14260
|
get animations(): AssetAnimationData[];
|
|
13628
14261
|
/** All skeletons that the model contains */
|
|
13629
14262
|
get skeletons(): AssetSkeleton[];
|
|
13630
|
-
/** All
|
|
13631
|
-
get
|
|
14263
|
+
/** All SpringBone colliders that the model contains */
|
|
14264
|
+
get springBoneColliders(): AssetSpringBoneCollider[];
|
|
14265
|
+
/** All SpringBone collider groups that the model contains */
|
|
14266
|
+
get springBoneColliderGroups(): AssetSpringBoneColliderGroup[];
|
|
14267
|
+
/** All SpringBone springs that the model contains */
|
|
14268
|
+
get springBones(): AssetSpringBone[];
|
|
14269
|
+
/** SpringBone colliders converted to Zephyr3D JointDynamics collider format */
|
|
14270
|
+
get jointDynamicsColliders(): AssetJointDynamicsCollider[];
|
|
14271
|
+
/** SpringBone springs converted to Zephyr3D JointDynamics system format */
|
|
14272
|
+
get jointDynamicsSpringBones(): AssetJointDynamicsSpringBone[];
|
|
14273
|
+
/** Model-level morph target groups, commonly facial expressions. */
|
|
14274
|
+
get morphTargetGroups(): AssetMorphTargetGroup[];
|
|
13632
14275
|
/** The active scene of the model */
|
|
13633
14276
|
get activeScene(): number;
|
|
13634
14277
|
set activeScene(val: number);
|
|
14278
|
+
getImage(index: number): AssetImageInfo;
|
|
14279
|
+
setImage(index: number, img: AssetImageInfo): void;
|
|
14280
|
+
getMaterial(hash: string): AssetMaterial;
|
|
14281
|
+
setMaterial(hash: string, material: AssetMaterial): void;
|
|
14282
|
+
addPrimitive(prim: AssetPrimitiveInfo): void;
|
|
13635
14283
|
/**
|
|
13636
|
-
* Adds a
|
|
13637
|
-
* @param
|
|
13638
|
-
|
|
13639
|
-
|
|
13640
|
-
|
|
14284
|
+
* Adds a model-level morph target group.
|
|
14285
|
+
* @param group - Morph target group to add
|
|
14286
|
+
*/
|
|
14287
|
+
addMorphTargetGroup(group: AssetMorphTargetGroup): void;
|
|
14288
|
+
/**
|
|
14289
|
+
* Removes all model-level morph target groups.
|
|
14290
|
+
*/
|
|
14291
|
+
clearMorphTargetGroups(): void;
|
|
14292
|
+
/**
|
|
14293
|
+
* Finds a model-level morph target group by name.
|
|
14294
|
+
* @param name - Group name
|
|
14295
|
+
* @returns The matching group, or null if not found
|
|
14296
|
+
*/
|
|
14297
|
+
getMorphTargetGroup(name: string): Nullable<AssetMorphTargetGroup>;
|
|
14298
|
+
/**
|
|
14299
|
+
* Builds morph target groups by collecting morph target names from every mesh.
|
|
14300
|
+
* @returns Generated morph target groups
|
|
13641
14301
|
*/
|
|
13642
|
-
|
|
14302
|
+
buildMorphTargetGroupsByName(): AssetMorphTargetGroup[];
|
|
13643
14303
|
/**
|
|
13644
14304
|
* Adds a skeleton to the scene
|
|
13645
14305
|
* @param skeleton - The skeleton to be added
|
|
@@ -13650,7 +14310,14 @@ declare class SharedModel extends Disposable {
|
|
|
13650
14310
|
* @param animation - The animation to be added
|
|
13651
14311
|
*/
|
|
13652
14312
|
addAnimation(animation: AssetAnimationData): void;
|
|
13653
|
-
|
|
14313
|
+
static writePrimitive(vfs: VFS, primitive: AssetPrimitiveInfo, path: string): Promise<void>;
|
|
14314
|
+
/** preprocess */
|
|
14315
|
+
preprocess(manager: ResourceManager, name: string, destPath: string, srcVFS: VFS, dstVFS: VFS): Promise<void>;
|
|
14316
|
+
createJointDynamics(rootNode: SceneNode, nodeMap: Map<AssetHierarchyNode, SceneNode>): void;
|
|
14317
|
+
private createMorphTargetGroups;
|
|
14318
|
+
private getInitialMorphTargetGroupWeight;
|
|
14319
|
+
private getMorphTargetBindingWeight;
|
|
14320
|
+
createSceneNode(manager: ResourceManager, scene: Scene, instancing: boolean, saveMeshes: boolean, saveSkeletons: boolean, saveAnimations: boolean, saveJointDynamics: boolean, srcVFS: VFS): Promise<SceneNode>;
|
|
13654
14321
|
private remapGeometryCacheFrames;
|
|
13655
14322
|
private remapPCAGeometryCacheData;
|
|
13656
14323
|
private reconstructPCAGeometryCacheReference;
|
|
@@ -13661,6 +14328,10 @@ declare class SharedModel extends Disposable {
|
|
|
13661
14328
|
private geometryCachePositionKey;
|
|
13662
14329
|
protected onDispose(): void;
|
|
13663
14330
|
private setAssetNodeToSceneNode;
|
|
14331
|
+
private image2Texture;
|
|
14332
|
+
private createTexture;
|
|
14333
|
+
private createPrimitive;
|
|
14334
|
+
private createMaterial;
|
|
13664
14335
|
}
|
|
13665
14336
|
|
|
13666
14337
|
/**
|
|
@@ -13710,27 +14381,6 @@ declare abstract class AbstractTextureLoader extends LoaderBase {
|
|
|
13710
14381
|
*/
|
|
13711
14382
|
abstract load(mimeType: string, data: ArrayBuffer | TypedArray, srgb: boolean, samplerOptions?: SamplerOptions, texture?: Nullable<BaseTexture>): Promise<Nullable<BaseTexture>>;
|
|
13712
14383
|
}
|
|
13713
|
-
/**
|
|
13714
|
-
* Base class for any kind of model loaders
|
|
13715
|
-
* @public
|
|
13716
|
-
*/
|
|
13717
|
-
declare abstract class AbstractModelLoader extends LoaderBase {
|
|
13718
|
-
/**
|
|
13719
|
-
* Tests whether the loader supports loading a model with given MIME type.
|
|
13720
|
-
* @param mimeType - The MIME type to test
|
|
13721
|
-
* @returns true if it supports
|
|
13722
|
-
*/
|
|
13723
|
-
abstract supportMIMEType(mimeType: string): boolean;
|
|
13724
|
-
/**
|
|
13725
|
-
* Loads a model
|
|
13726
|
-
* @param assetManager - The instance of AssetManager
|
|
13727
|
-
* @param url - The request URL
|
|
13728
|
-
* @param mimeType - MIME type for the model data
|
|
13729
|
-
* @param data - The model data
|
|
13730
|
-
* @returns The loaded model
|
|
13731
|
-
*/
|
|
13732
|
-
abstract load(assetManager: AssetManager, url: string, mimeType: string, data: Blob, dracoDecoderModule?: DecoderModule, VFSs?: VFS[]): Promise<Nullable<SharedModel>>;
|
|
13733
|
-
}
|
|
13734
14384
|
|
|
13735
14385
|
/**
|
|
13736
14386
|
* Font outline point.
|
|
@@ -13776,10 +14426,10 @@ type FontMetrics = {
|
|
|
13776
14426
|
glyphCount: number;
|
|
13777
14427
|
};
|
|
13778
14428
|
|
|
13779
|
-
|
|
13780
|
-
|
|
13781
|
-
|
|
13782
|
-
|
|
14429
|
+
/**
|
|
14430
|
+
* MSDF atlas settings associated with a font asset.
|
|
14431
|
+
* @public
|
|
14432
|
+
*/
|
|
13783
14433
|
type FontAssetMSDFAtlasSettings = Readonly<{
|
|
13784
14434
|
pageSize: number;
|
|
13785
14435
|
glyphSize: number;
|
|
@@ -13804,6 +14454,7 @@ declare class FontAsset {
|
|
|
13804
14454
|
private readonly _reader;
|
|
13805
14455
|
private readonly _tables;
|
|
13806
14456
|
private readonly _glyphOffsets;
|
|
14457
|
+
private readonly _cffGlyphProvider;
|
|
13807
14458
|
private readonly _advanceWidths;
|
|
13808
14459
|
private readonly _leftSideBearings;
|
|
13809
14460
|
private readonly _glyphCache;
|
|
@@ -13916,6 +14567,10 @@ type MSDFShape = {
|
|
|
13916
14567
|
sourceContours: GlyphContour[];
|
|
13917
14568
|
};
|
|
13918
14569
|
|
|
14570
|
+
/**
|
|
14571
|
+
* Builds an MSDF shape from glyph contours.
|
|
14572
|
+
* @public
|
|
14573
|
+
*/
|
|
13919
14574
|
declare function buildMSDFShape(contours: GlyphContour[]): MSDFShape;
|
|
13920
14575
|
|
|
13921
14576
|
/**
|
|
@@ -13928,6 +14583,25 @@ declare function buildMSDFShape(contours: GlyphContour[]): MSDFShape;
|
|
|
13928
14583
|
*/
|
|
13929
14584
|
declare function generateMSDF(glyph: GlyphData, options: MSDFOptions): MSDFBitmap;
|
|
13930
14585
|
|
|
14586
|
+
/**
|
|
14587
|
+
* Base fetch options
|
|
14588
|
+
*
|
|
14589
|
+
* @public
|
|
14590
|
+
*/
|
|
14591
|
+
type BaseFetchOptions = {
|
|
14592
|
+
/**
|
|
14593
|
+
* VFS used to fetch file data
|
|
14594
|
+
*/
|
|
14595
|
+
overrideVFS?: VFS;
|
|
14596
|
+
};
|
|
14597
|
+
/**
|
|
14598
|
+
* Options for font fetching.
|
|
14599
|
+
* @public
|
|
14600
|
+
*/
|
|
14601
|
+
type FontAssetFetchOptions = BaseFetchOptions & {
|
|
14602
|
+
pageSize?: number;
|
|
14603
|
+
glyphSize?: number;
|
|
14604
|
+
};
|
|
13931
14605
|
/**
|
|
13932
14606
|
* Options for texture fetching.
|
|
13933
14607
|
*
|
|
@@ -13936,7 +14610,7 @@ declare function generateMSDF(glyph: GlyphData, options: MSDFOptions): MSDFBitma
|
|
|
13936
14610
|
* @typeParam T - Texture type to be returned, extending BaseTexture.
|
|
13937
14611
|
* @public
|
|
13938
14612
|
*/
|
|
13939
|
-
type TextureFetchOptions<T extends BaseTexture> = {
|
|
14613
|
+
type TextureFetchOptions<T extends BaseTexture> = BaseFetchOptions & {
|
|
13940
14614
|
/**
|
|
13941
14615
|
* Explicit MIME type hint. If omitted, the type is inferred from file extension via VFS.
|
|
13942
14616
|
*/
|
|
@@ -13964,7 +14638,7 @@ type TextureFetchOptions<T extends BaseTexture> = {
|
|
|
13964
14638
|
* Provides decoding and instancing hints used by supported model loaders.
|
|
13965
14639
|
* @public
|
|
13966
14640
|
*/
|
|
13967
|
-
type ModelFetchOptions = {
|
|
14641
|
+
type ModelFetchOptions = BaseFetchOptions & {
|
|
13968
14642
|
/**
|
|
13969
14643
|
* Explicit MIME type hint for the model. If omitted, inferred from file extension via VFS.
|
|
13970
14644
|
*/
|
|
@@ -13978,6 +14652,26 @@ type ModelFetchOptions = {
|
|
|
13978
14652
|
* Default is false.
|
|
13979
14653
|
*/
|
|
13980
14654
|
enableInstancing?: boolean;
|
|
14655
|
+
/**
|
|
14656
|
+
* If true, meshes will be loaded from this model.
|
|
14657
|
+
* Default is true.
|
|
14658
|
+
*/
|
|
14659
|
+
loadMeshes?: boolean;
|
|
14660
|
+
/**
|
|
14661
|
+
* If true, rigs and skin bindings will be loaded from this model.
|
|
14662
|
+
* Default is true.
|
|
14663
|
+
*/
|
|
14664
|
+
loadSkeletons?: boolean;
|
|
14665
|
+
/**
|
|
14666
|
+
* If true, animations will be loaded from this model.
|
|
14667
|
+
* Default is true.
|
|
14668
|
+
*/
|
|
14669
|
+
loadAnimations?: boolean;
|
|
14670
|
+
/**
|
|
14671
|
+
* If true, automatically create joint dynamics (for VRM models only).
|
|
14672
|
+
* Default is true.
|
|
14673
|
+
*/
|
|
14674
|
+
loadJointDynamics?: boolean;
|
|
13981
14675
|
/**
|
|
13982
14676
|
* Optional post-process callback applied to the loaded SharedModel before creating nodes.
|
|
13983
14677
|
* Use this to remap materials, merge meshes, or apply custom data transforms.
|
|
@@ -14000,6 +14694,14 @@ type ModelInfo = {
|
|
|
14000
14694
|
*/
|
|
14001
14695
|
animationSet: AnimationSet;
|
|
14002
14696
|
};
|
|
14697
|
+
/**
|
|
14698
|
+
* Interface for model importers
|
|
14699
|
+
*
|
|
14700
|
+
* @public
|
|
14701
|
+
*/
|
|
14702
|
+
interface ModelLoader {
|
|
14703
|
+
loadModel(path: string, vfs?: VFS): Promise<SharedModel>;
|
|
14704
|
+
}
|
|
14003
14705
|
/**
|
|
14004
14706
|
* Centralized asset manager for loading and caching resources.
|
|
14005
14707
|
*
|
|
@@ -14052,12 +14754,8 @@ declare class AssetManager {
|
|
|
14052
14754
|
static addTextureLoader(loader: AbstractTextureLoader): void;
|
|
14053
14755
|
/**
|
|
14054
14756
|
* Register a model loader (highest priority first).
|
|
14055
|
-
*
|
|
14056
|
-
* Note: This is a static registry shared by all AssetManager instances.
|
|
14057
|
-
*
|
|
14058
|
-
* @param loader - A concrete model loader implementation.
|
|
14059
14757
|
*/
|
|
14060
|
-
|
|
14758
|
+
setModelLoader(mimeType: string, loader: ModelLoader): void;
|
|
14061
14759
|
/**
|
|
14062
14760
|
* Fetch a UTF-8 text resource via VFS.
|
|
14063
14761
|
*
|
|
@@ -14070,7 +14768,7 @@ declare class AssetManager {
|
|
|
14070
14768
|
* @param httpRequest - Optional HttpRequest for custom URL resolution/headers.
|
|
14071
14769
|
* @returns A promise that resolves to the loaded (and optionally processed) text.
|
|
14072
14770
|
*/
|
|
14073
|
-
fetchTextData(url: string, postProcess?: (text: string) => string, httpRequest?: HttpRequest,
|
|
14771
|
+
fetchTextData(url: string, postProcess?: (text: string) => string, httpRequest?: HttpRequest, options?: BaseFetchOptions): Promise<string>;
|
|
14074
14772
|
/**
|
|
14075
14773
|
* Fetch a JSON resource via VFS.
|
|
14076
14774
|
*
|
|
@@ -14082,7 +14780,7 @@ declare class AssetManager {
|
|
|
14082
14780
|
* @param httpRequest - Optional HttpRequest for custom URL resolution/headers.
|
|
14083
14781
|
* @returns A promise that resolves to the loaded (and optionally processed) JSON value.
|
|
14084
14782
|
*/
|
|
14085
|
-
fetchJsonData<T = any>(url: string, postProcess?: (json: T) => T, httpRequest?: HttpRequest,
|
|
14783
|
+
fetchJsonData<T = any>(url: string, postProcess?: (json: T) => T, httpRequest?: HttpRequest, options?: BaseFetchOptions): Promise<T>;
|
|
14086
14784
|
/**
|
|
14087
14785
|
* Fetch a binary resource via VFS.
|
|
14088
14786
|
*
|
|
@@ -14093,7 +14791,7 @@ declare class AssetManager {
|
|
|
14093
14791
|
* @param httpRequest - Optional HttpRequest for custom URL resolution/headers.
|
|
14094
14792
|
* @returns A promise that resolves to the loaded (and optionally processed) ArrayBuffer.
|
|
14095
14793
|
*/
|
|
14096
|
-
fetchBinaryData(url: string, postProcess?: Nullable<(data: ArrayBuffer) => ArrayBuffer>, httpRequest?: Nullable<HttpRequest>,
|
|
14794
|
+
fetchBinaryData(url: string, postProcess?: Nullable<(data: ArrayBuffer) => ArrayBuffer>, httpRequest?: Nullable<HttpRequest>, options?: BaseFetchOptions): Promise<Nullable<ArrayBuffer>>;
|
|
14097
14795
|
/**
|
|
14098
14796
|
* Fetch a font asset via VFS.
|
|
14099
14797
|
*
|
|
@@ -14105,14 +14803,14 @@ declare class AssetManager {
|
|
|
14105
14803
|
* @param options - Optional MSDF atlas settings bound to the loaded FontAsset.
|
|
14106
14804
|
* @returns A promise that resolves to the loaded (and optionally processed) font asset.
|
|
14107
14805
|
*/
|
|
14108
|
-
fetchFontAsset(url: string, options?: FontAssetFetchOptions
|
|
14806
|
+
fetchFontAsset(url: string, options?: FontAssetFetchOptions): Promise<Nullable<FontAsset>>;
|
|
14109
14807
|
/**
|
|
14110
14808
|
* Fetch a font asset via VFS if already cached.
|
|
14111
14809
|
* @param url - Resource URL or VFS path.
|
|
14112
14810
|
* @returns The cached FontAsset if it exists and is loaded, or null if not cached or still loading.
|
|
14113
14811
|
*/
|
|
14114
14812
|
getFontAsset(url: string): Nullable<FontAsset>;
|
|
14115
|
-
fetchBluePrint(url: string,
|
|
14813
|
+
fetchBluePrint(url: string, options?: BaseFetchOptions): Promise<Nullable<Record<string, MaterialBlueprintIR>>>;
|
|
14116
14814
|
/**
|
|
14117
14815
|
* Fetch a material resource.
|
|
14118
14816
|
*
|
|
@@ -14120,7 +14818,7 @@ declare class AssetManager {
|
|
|
14120
14818
|
* @param url - Resource URL or VFS path.
|
|
14121
14819
|
* @returns A promise that resolves to the loaded material.
|
|
14122
14820
|
*/
|
|
14123
|
-
fetchMaterial<T extends Material = Material>(url: string,
|
|
14821
|
+
fetchMaterial<T extends Material = Material>(url: string, options?: BaseFetchOptions): Promise<Nullable<T>>;
|
|
14124
14822
|
/**
|
|
14125
14823
|
* Fetch a primitive resource.
|
|
14126
14824
|
*
|
|
@@ -14128,7 +14826,7 @@ declare class AssetManager {
|
|
|
14128
14826
|
* @param url - Resource URL or VFS path.
|
|
14129
14827
|
* @returns A promise that resolves to the loaded primitive.
|
|
14130
14828
|
*/
|
|
14131
|
-
fetchPrimitive<T extends Primitive = Primitive>(url: string,
|
|
14829
|
+
fetchPrimitive<T extends Primitive = Primitive>(url: string, options?: BaseFetchOptions): Promise<Nullable<T>>;
|
|
14132
14830
|
/**
|
|
14133
14831
|
* Fetch a texture resource via registered loaders.
|
|
14134
14832
|
*
|
|
@@ -14143,24 +14841,8 @@ declare class AssetManager {
|
|
|
14143
14841
|
* @param httpRequest - Optional HttpRequest (not used for binary read but may supply URL resolver for hashing).
|
|
14144
14842
|
* @returns A promise that resolves to the loaded texture.
|
|
14145
14843
|
*/
|
|
14146
|
-
fetchTexture<T extends BaseTexture>(url: string, options?: TextureFetchOptions<T
|
|
14147
|
-
|
|
14148
|
-
* Fetch a model resource and instantiate it under a scene.
|
|
14149
|
-
*
|
|
14150
|
-
* - Loads or retrieves a cached SharedModel, then creates a SceneNode hierarchy.
|
|
14151
|
-
* - Returns both the created group node and any associated AnimationSet.
|
|
14152
|
-
*
|
|
14153
|
-
* @param scene - Scene into which the model node will be created.
|
|
14154
|
-
* @param url - Model URL or VFS path.
|
|
14155
|
-
* @param options - Model loader options and instancing hint.
|
|
14156
|
-
* @param httpRequest - Optional HttpRequest (unused for binary read; present for API symmetry).
|
|
14157
|
-
* @returns A promise with the created node group and animation set info.
|
|
14158
|
-
*/
|
|
14159
|
-
fetchModel(scene: Scene, url: string, options?: ModelFetchOptions, VFSs?: VFS[]): Promise<{
|
|
14160
|
-
group: SceneNode;
|
|
14161
|
-
animationSet: AnimationSet;
|
|
14162
|
-
}>;
|
|
14163
|
-
loadPrimitive<T extends Primitive = Primitive>(url: string, VFSs?: VFS[]): Promise<Nullable<T>>;
|
|
14844
|
+
fetchTexture<T extends BaseTexture>(url: string, options?: TextureFetchOptions<T>): Promise<T>;
|
|
14845
|
+
loadPrimitive<T extends Primitive = Primitive>(url: string, vfs?: VFS): Promise<Nullable<T>>;
|
|
14164
14846
|
reloadBluePrintMaterials(filter?: (m: PBRBluePrintMaterial) => boolean): Promise<void>;
|
|
14165
14847
|
private loadBluePrintMaterialData;
|
|
14166
14848
|
private rebuildGraphStructure;
|
|
@@ -14178,7 +14860,7 @@ declare class AssetManager {
|
|
|
14178
14860
|
order: number[];
|
|
14179
14861
|
};
|
|
14180
14862
|
invalidateBluePrint(path: string): void;
|
|
14181
|
-
loadBluePrint(path: string,
|
|
14863
|
+
loadBluePrint(path: string, vfs?: VFS): Promise<Record<string, MaterialBlueprintIR> | null>;
|
|
14182
14864
|
/**
|
|
14183
14865
|
* Load a texture directly from an ArrayBuffer or typed array.
|
|
14184
14866
|
*
|
|
@@ -14218,14 +14900,14 @@ declare class AssetManager {
|
|
|
14218
14900
|
*/
|
|
14219
14901
|
static setBuiltinTextureLoader(name: string, loader: (assetManager: AssetManager) => BaseTexture): void;
|
|
14220
14902
|
/**
|
|
14221
|
-
* Write file to a
|
|
14903
|
+
* Write file to a VFS
|
|
14222
14904
|
*
|
|
14223
14905
|
* @param path - File path
|
|
14224
14906
|
* @param data - Data to write
|
|
14225
14907
|
* @param options - Write options
|
|
14226
|
-
* @param
|
|
14908
|
+
* @param vfs - VFS to write to
|
|
14227
14909
|
*/
|
|
14228
|
-
writeFileToVFSs(path: string, data: ArrayBuffer | string, options: WriteOptions,
|
|
14910
|
+
writeFileToVFSs(path: string, data: ArrayBuffer | string, options: WriteOptions, vfs?: VFS): Promise<void>;
|
|
14229
14911
|
}
|
|
14230
14912
|
|
|
14231
14913
|
declare const WaterMaterial_base: typeof MeshMaterial & (new (...args: any[]) => IMixinLight);
|
|
@@ -15194,6 +15876,10 @@ declare class MSDFGlyphAtlas extends TextureAtlasManager {
|
|
|
15194
15876
|
private createGlyph;
|
|
15195
15877
|
}
|
|
15196
15878
|
|
|
15879
|
+
/**
|
|
15880
|
+
* Manages MSDF glyph atlases for font assets.
|
|
15881
|
+
* @public
|
|
15882
|
+
*/
|
|
15197
15883
|
declare class MSDFTextAtlasManager {
|
|
15198
15884
|
private readonly _atlases;
|
|
15199
15885
|
constructor();
|
|
@@ -15359,6 +16045,46 @@ type NodeIterateFunc = ((node: SceneNode) => boolean) | ((node: SceneNode) => vo
|
|
|
15359
16045
|
* @public
|
|
15360
16046
|
*/
|
|
15361
16047
|
type SceneNodeVisible = 'visible' | 'inherit' | 'hidden';
|
|
16048
|
+
/**
|
|
16049
|
+
* Runtime morph target binding used by model-level expression groups.
|
|
16050
|
+
* @public
|
|
16051
|
+
*/
|
|
16052
|
+
interface SceneMorphTargetBinding {
|
|
16053
|
+
mesh: Mesh;
|
|
16054
|
+
targetIndex?: number;
|
|
16055
|
+
targetName?: string;
|
|
16056
|
+
weight: number;
|
|
16057
|
+
}
|
|
16058
|
+
/**
|
|
16059
|
+
* Runtime morph target group used by model instances.
|
|
16060
|
+
* @public
|
|
16061
|
+
*/
|
|
16062
|
+
interface SceneMorphTargetGroup {
|
|
16063
|
+
name: string;
|
|
16064
|
+
bindings: SceneMorphTargetBinding[];
|
|
16065
|
+
isBinary?: boolean;
|
|
16066
|
+
weight?: number;
|
|
16067
|
+
}
|
|
16068
|
+
/**
|
|
16069
|
+
* Serializable morph target binding descriptor.
|
|
16070
|
+
* @public
|
|
16071
|
+
*/
|
|
16072
|
+
interface SerializedMorphTargetBinding {
|
|
16073
|
+
meshId: string;
|
|
16074
|
+
targetIndex?: number;
|
|
16075
|
+
targetName?: string;
|
|
16076
|
+
weight: number;
|
|
16077
|
+
}
|
|
16078
|
+
/**
|
|
16079
|
+
* Serializable morph target group descriptor.
|
|
16080
|
+
* @public
|
|
16081
|
+
*/
|
|
16082
|
+
interface SerializedMorphTargetGroup {
|
|
16083
|
+
name: string;
|
|
16084
|
+
bindings: SerializedMorphTargetBinding[];
|
|
16085
|
+
isBinary?: boolean;
|
|
16086
|
+
weight?: number;
|
|
16087
|
+
}
|
|
15362
16088
|
declare const SceneNode_base: (new (...args: any[]) => {
|
|
15363
16089
|
_listeners: Nullable<{
|
|
15364
16090
|
nodeattached?: {
|
|
@@ -16117,6 +16843,9 @@ declare class SceneNode extends SceneNode_base implements IDisposable {
|
|
|
16117
16843
|
*/
|
|
16118
16844
|
get sharedModel(): Nullable<SharedModel>;
|
|
16119
16845
|
set sharedModel(model: Nullable<SharedModel>);
|
|
16846
|
+
/** Runtime morph target groups bound to this model instance. */
|
|
16847
|
+
get morphTargetGroups(): SceneMorphTargetGroup[];
|
|
16848
|
+
set morphTargetGroups(groups: SceneMorphTargetGroup[]);
|
|
16120
16849
|
/**
|
|
16121
16850
|
* Clone this node.
|
|
16122
16851
|
*
|
|
@@ -16255,7 +16984,19 @@ declare class SceneNode extends SceneNode_base implements IDisposable {
|
|
|
16255
16984
|
* @param id - Persistent identifier to match against `Skeleton.persistentId`.
|
|
16256
16985
|
* @returns The first matchign node, or `null` if not found.
|
|
16257
16986
|
*/
|
|
16258
|
-
findSkeletonById(id: string):
|
|
16987
|
+
findSkeletonById(id: string): SkinBinding | null;
|
|
16988
|
+
/**
|
|
16989
|
+
* Finds a skin binding by its persistent ID.
|
|
16990
|
+
* @param id - Persistent identifier to match against `SkinBinding.persistentId`.
|
|
16991
|
+
* @returns The first matching binding, or `null` if not found.
|
|
16992
|
+
*/
|
|
16993
|
+
findSkinBindingById(id: string): SkinBinding | null;
|
|
16994
|
+
/**
|
|
16995
|
+
* Finds a shared skeleton rig by its persistent ID.
|
|
16996
|
+
* @param id - Persistent identifier to match against `SkeletonRig.persistentId`.
|
|
16997
|
+
* @returns The first matching rig, or `null` if not found.
|
|
16998
|
+
*/
|
|
16999
|
+
findSkeletonRigById(id: string): SkeletonRig | null;
|
|
16259
17000
|
/**
|
|
16260
17001
|
* Finds a scene node by name.
|
|
16261
17002
|
*
|
|
@@ -16275,7 +17016,43 @@ declare class SceneNode extends SceneNode_base implements IDisposable {
|
|
|
16275
17016
|
/** Bounding box draw mode */
|
|
16276
17017
|
get boundingBoxDrawMode(): number;
|
|
16277
17018
|
set boundingBoxDrawMode(mode: number);
|
|
17019
|
+
/** Returns serialized morph target groups for this node. */
|
|
17020
|
+
getSerializedMorphTargetGroups(): SerializedMorphTargetGroup[];
|
|
17021
|
+
/** Restores serialized morph target groups for this node. */
|
|
17022
|
+
setSerializedMorphTargetGroups(groups: SerializedMorphTargetGroup[]): void;
|
|
17023
|
+
/**
|
|
17024
|
+
* Force transform update and notify descendants.
|
|
17025
|
+
* @param invalidateLocal - If true, also invalidate local matrix; otherwise only invalidate world matrix.
|
|
17026
|
+
*/
|
|
16278
17027
|
invalidateTransform(invalidateLocal?: boolean): void;
|
|
17028
|
+
/**
|
|
17029
|
+
* Set morph target weight by name for all meshes in the subtree.
|
|
17030
|
+
* @param name - Morph target name
|
|
17031
|
+
* @param weight - Morph target weight
|
|
17032
|
+
*/
|
|
17033
|
+
setMorphTargetWeight(name: string, weight: number): void;
|
|
17034
|
+
/**
|
|
17035
|
+
* Set morph target group weight for the model instance.
|
|
17036
|
+
* @param name - Morph target group name
|
|
17037
|
+
* @param weight - Group weight
|
|
17038
|
+
*/
|
|
17039
|
+
setMorphTargetGroupWeight(name: string, weight: number): void;
|
|
17040
|
+
/**
|
|
17041
|
+
* Get morph target group weight.
|
|
17042
|
+
* @param name - Morph target group name
|
|
17043
|
+
* @returns The group weight, or 0 if no group was found
|
|
17044
|
+
*/
|
|
17045
|
+
getMorphTargetGroupWeight(name: string): number;
|
|
17046
|
+
/**
|
|
17047
|
+
* Collect all morph target names from meshes in the subtree.
|
|
17048
|
+
* @returns Array of unique morph target names
|
|
17049
|
+
*/
|
|
17050
|
+
collectMorphTargetNames(): string[];
|
|
17051
|
+
/**
|
|
17052
|
+
* Collect all model-level morph target group names.
|
|
17053
|
+
* @returns Array of morph target group names
|
|
17054
|
+
*/
|
|
17055
|
+
collectMorphTargetGroupNames(): string[];
|
|
16279
17056
|
/** Get called when the node was just created by cloning from other node */
|
|
16280
17057
|
protected onPostClone(): void | Promise<void>;
|
|
16281
17058
|
/** Disposes the node */
|
|
@@ -16529,16 +17306,16 @@ declare class InputManager {
|
|
|
16529
17306
|
*
|
|
16530
17307
|
* Responsibilities:
|
|
16531
17308
|
* - Resolve logical module IDs to physical paths or URLs.
|
|
16532
|
-
* - In editor mode,
|
|
17309
|
+
* - In editor mode, bundle local script modules into a single data URL after transpile.
|
|
16533
17310
|
* - Transpile TypeScript to JavaScript on the fly (requires `window.ts` TypeScript runtime).
|
|
16534
17311
|
* - Gather static and dynamic import dependencies for tooling.
|
|
16535
17312
|
*
|
|
16536
17313
|
* Modes:
|
|
16537
|
-
* - Editor mode (`editorMode === true`):
|
|
17314
|
+
* - Editor mode (`editorMode === true`): local script graphs are bundled to data URLs.
|
|
16538
17315
|
* - Runtime mode (`editorMode === false`): returns .js URLs directly (with .ts -\> .js mapping).
|
|
16539
17316
|
*
|
|
16540
17317
|
* Caching:
|
|
16541
|
-
* - Built
|
|
17318
|
+
* - Built bundles are memoized in `_built` map keyed by canonical source path.
|
|
16542
17319
|
*
|
|
16543
17320
|
* @public
|
|
16544
17321
|
*/
|
|
@@ -16546,10 +17323,11 @@ declare class ScriptRegistry {
|
|
|
16546
17323
|
private _vfs;
|
|
16547
17324
|
private _scriptsRoot;
|
|
16548
17325
|
private _built;
|
|
17326
|
+
private _building;
|
|
17327
|
+
private _builtDeps;
|
|
16549
17328
|
/**
|
|
16550
17329
|
* @param vfs - The virtual file system for existence checks, reads, and path ops.
|
|
16551
17330
|
* @param scriptsRoot - Root directory for script resolution (used with `#/` specifiers).
|
|
16552
|
-
* @param editorMode - Whether to build modules to data URLs and rewrite imports.
|
|
16553
17331
|
*/
|
|
16554
17332
|
constructor(vfs: VFS, scriptsRoot: string);
|
|
16555
17333
|
/**
|
|
@@ -16614,56 +17392,31 @@ declare class ScriptRegistry {
|
|
|
16614
17392
|
*/
|
|
16615
17393
|
getDependencies(entryId: string, fromId: string, dependencies: Record<string, string>): Promise<void>;
|
|
16616
17394
|
/**
|
|
16617
|
-
* Builds a logical module id into a data URL (editor mode pipeline).
|
|
17395
|
+
* Builds a logical module id into a bundled data URL (editor mode pipeline).
|
|
16618
17396
|
*
|
|
16619
17397
|
* Steps:
|
|
16620
17398
|
* - Resolve source path (.ts/.js) via {@link ScriptRegistry.resolveSourcePath}.
|
|
16621
|
-
* -
|
|
16622
|
-
* -
|
|
16623
|
-
* -
|
|
16624
|
-
* - Convert to `data:` URL and memoize in `_built`.
|
|
17399
|
+
* - Collect reachable local imports without recursively building data URLs.
|
|
17400
|
+
* - Transpile local modules to `System.register`.
|
|
17401
|
+
* - Emit a single `data:` URL with a small module loader and memoize it in `_built`.
|
|
16625
17402
|
*
|
|
16626
17403
|
* @param id - Logical module id to build.
|
|
16627
17404
|
* @returns Data URL string for dynamic import, or empty string if not found.
|
|
16628
17405
|
*/
|
|
16629
17406
|
private build;
|
|
17407
|
+
private buildBundle;
|
|
17408
|
+
private collectModule;
|
|
17409
|
+
private resolveModuleInfo;
|
|
17410
|
+
private getTypeScriptRuntime;
|
|
17411
|
+
private transpileToESModule;
|
|
17412
|
+
private transpileToSystemModule;
|
|
16630
17413
|
/**
|
|
16631
|
-
*
|
|
16632
|
-
*
|
|
16633
|
-
* Behavior:
|
|
16634
|
-
* - For `'js'`, returns code with `//# sourceURL=logicalId`.
|
|
16635
|
-
* - For `'ts'`, requires `window.ts` (TypeScript compiler) to be present and
|
|
16636
|
-
* transpiles to ES2015/ESNext module with inline source maps.
|
|
16637
|
-
*
|
|
16638
|
-
* @param code - Source code to transpile.
|
|
16639
|
-
* @param _id - Logical module id (used for fileName/sourceURL).
|
|
16640
|
-
* @param type - Source type (`'js' | 'ts'`).
|
|
16641
|
-
* @returns Transpiled JavaScript source.
|
|
16642
|
-
* @throws If TypeScript runtime is not found for TS input.
|
|
16643
|
-
*/
|
|
16644
|
-
private transpile;
|
|
16645
|
-
/**
|
|
16646
|
-
* Rewrites ESM import specifiers in `code` into runtime-loadable URLs.
|
|
16647
|
-
*
|
|
16648
|
-
* Parsing:
|
|
16649
|
-
* - Uses `es-module-lexer` to find import spans; sorts them ascending by start.
|
|
16650
|
-
*
|
|
16651
|
-
* Replacement rules:
|
|
16652
|
-
* - Skip invalid spans or ones without quoted specifiers.
|
|
16653
|
-
* - If spec is absolute URL, special URL (data:, blob:), or bare module:
|
|
16654
|
-
* - If it starts with `@zephyr3d/`, keep as-is (external).
|
|
16655
|
-
* - Otherwise resolve to a logical id and attempt to `build` it (if available).
|
|
16656
|
-
* - Else (relative spec), resolve from `fromId` and `build` recursively.
|
|
16657
|
-
*
|
|
16658
|
-
* Output:
|
|
16659
|
-
* - Directly writes the replacement specifier without re-adding quotes,
|
|
16660
|
-
* so replacements must themselves be quoted or be valid URLs/data URLs.
|
|
16661
|
-
*
|
|
16662
|
-
* @param code - Module source code to transform.
|
|
16663
|
-
* @param fromId - The logical id of the current module (resolution base for relatives).
|
|
16664
|
-
* @returns Transformed source with rewritten import specifiers.
|
|
17414
|
+
* Rewrites local ESM specifiers to canonical source paths and records local deps.
|
|
17415
|
+
* External URLs and package imports are left for the native dynamic import path.
|
|
16665
17416
|
*/
|
|
16666
|
-
private
|
|
17417
|
+
private rewriteImportsToLogicalIds;
|
|
17418
|
+
private resolveImportTarget;
|
|
17419
|
+
private getSystemBundleRuntime;
|
|
16667
17420
|
/**
|
|
16668
17421
|
* Resolves a specifier to a logical id suitable for further processing.
|
|
16669
17422
|
*
|
|
@@ -17086,6 +17839,7 @@ declare class ScriptingSystem {
|
|
|
17086
17839
|
interface IRenderable extends IDisposable {
|
|
17087
17840
|
render(): void;
|
|
17088
17841
|
}
|
|
17842
|
+
type RenderFunc = () => void;
|
|
17089
17843
|
/**
|
|
17090
17844
|
* Interface for render hooks to customize rendering behavior.
|
|
17091
17845
|
*
|
|
@@ -17120,7 +17874,7 @@ declare class Engine {
|
|
|
17120
17874
|
private _enabled;
|
|
17121
17875
|
private _screen;
|
|
17122
17876
|
protected _activeRenderables: {
|
|
17123
|
-
renderable: DRef<IRenderable>;
|
|
17877
|
+
renderable: Nullable<RenderFunc> | DRef<IRenderable>;
|
|
17124
17878
|
hook: Nullable<IRenderHook>;
|
|
17125
17879
|
}[];
|
|
17126
17880
|
private _loadingScenes;
|
|
@@ -17140,6 +17894,14 @@ declare class Engine {
|
|
|
17140
17894
|
* Exposes the virtual file system used by the underlying {@link ScriptingSystem}'s registry.
|
|
17141
17895
|
*/
|
|
17142
17896
|
get VFS(): VFS;
|
|
17897
|
+
/**
|
|
17898
|
+
* Replaces the virtual file system used by the engine.
|
|
17899
|
+
*
|
|
17900
|
+
* The previous resource manager VFS is closed, the scripting registry is updated,
|
|
17901
|
+
* and built-in assets are remounted on the new VFS.
|
|
17902
|
+
*
|
|
17903
|
+
* @param vfs - New virtual file system.
|
|
17904
|
+
*/
|
|
17143
17905
|
set VFS(vfs: VFS);
|
|
17144
17906
|
/**
|
|
17145
17907
|
* Exposes the instance of {@link ResourceManager}.
|
|
@@ -17155,7 +17917,7 @@ declare class Engine {
|
|
|
17155
17917
|
* Existing scene nodes that still reference this font asset are not updated automatically.
|
|
17156
17918
|
* Call this only after you have stopped using the font, or when you intentionally want it to rebuild later.
|
|
17157
17919
|
*
|
|
17158
|
-
* @param
|
|
17920
|
+
* @param font - The loaded font asset path to release.
|
|
17159
17921
|
* @returns `true` if either the atlas cache or the font cache had an entry to remove.
|
|
17160
17922
|
*/
|
|
17161
17923
|
releaseFontAsset(font: string): boolean;
|
|
@@ -17203,6 +17965,7 @@ declare class Engine {
|
|
|
17203
17965
|
* @typeParam T - Host type.
|
|
17204
17966
|
* @param host - Host object to attach the script to.
|
|
17205
17967
|
* @param module - Module identifier to resolve and load.
|
|
17968
|
+
* @param config - Optional configuration passed to the script instance.
|
|
17206
17969
|
* @returns The `RuntimeScript<T>` instance, or `null` if disabled or on failure.
|
|
17207
17970
|
*/
|
|
17208
17971
|
attachScript<T extends Host>(host: Nullable<T>, module: string, config?: Nullable<RuntimeScriptConfig>): Promise<Nullable<RuntimeScript<T>>>;
|
|
@@ -17233,10 +17996,52 @@ declare class Engine {
|
|
|
17233
17996
|
* @param elapsedTime - Total elapsed time in Seconds.
|
|
17234
17997
|
*/
|
|
17235
17998
|
update(deltaTime: number, elapsedTime: number): void;
|
|
17999
|
+
/**
|
|
18000
|
+
* Loads a scene from a file path.
|
|
18001
|
+
*
|
|
18002
|
+
* Concurrent requests for the same normalized path share the same loading promise.
|
|
18003
|
+
* Scripts declared on the scene and its nodes are attached after the scene is loaded.
|
|
18004
|
+
*
|
|
18005
|
+
* @param path - Scene file path in the current VFS.
|
|
18006
|
+
* @returns The loaded scene, or `null` when loading fails.
|
|
18007
|
+
*/
|
|
17236
18008
|
loadSceneFromFile(path: string): Promise<Nullable<Scene>>;
|
|
17237
|
-
|
|
18009
|
+
/**
|
|
18010
|
+
* Sets or clears the renderable for a render layer.
|
|
18011
|
+
*
|
|
18012
|
+
* Passing `null` clears the layer. Object renderables are held through a strong reference wrapper,
|
|
18013
|
+
* while render functions are stored directly.
|
|
18014
|
+
*
|
|
18015
|
+
* @param renderable - Renderable object or render function to assign, or `null` to clear.
|
|
18016
|
+
* @param layer - Render layer index. Defaults to `0`.
|
|
18017
|
+
* @param hook - Optional render hook invoked before and after this layer renders.
|
|
18018
|
+
*/
|
|
18019
|
+
setRenderable(renderable: Nullable<IRenderable | RenderFunc>, layer?: number, hook?: IRenderHook): void;
|
|
18020
|
+
/**
|
|
18021
|
+
* Reads a file from the current VFS.
|
|
18022
|
+
*
|
|
18023
|
+
* @typeParam T - Requested read encoding.
|
|
18024
|
+
* @param path - File path to read.
|
|
18025
|
+
* @param encoding - Optional read encoding. Defaults to `binary`.
|
|
18026
|
+
* @returns The file content, or `null` when the read fails.
|
|
18027
|
+
*/
|
|
17238
18028
|
readFile<T extends ReadOptions['encoding'] = 'binary'>(path: string, encoding?: T): Promise<(T extends "binary" ? ArrayBuffer : string) | null>;
|
|
18029
|
+
/**
|
|
18030
|
+
* Starts the runtime by optionally showing a splash screen, running a startup script,
|
|
18031
|
+
* and loading the startup scene.
|
|
18032
|
+
*
|
|
18033
|
+
* @param startupScene - Optional scene path rendered on layer `0` after startup completes.
|
|
18034
|
+
* @param splashScreen - Optional scene path rendered on a temporary splash layer during startup.
|
|
18035
|
+
* @param startupScript - Optional startup script module path. A trailing `.ts` or `.js`
|
|
18036
|
+
* extension is removed before loading.
|
|
18037
|
+
*/
|
|
17239
18038
|
startup(startupScene?: Nullable<string>, splashScreen?: Nullable<string>, startupScript?: Nullable<string>): Promise<void>;
|
|
18039
|
+
/**
|
|
18040
|
+
* Renders all active render layers.
|
|
18041
|
+
*
|
|
18042
|
+
* Each layer's `beforeRender` hook can return `false` to skip rendering that layer.
|
|
18043
|
+
* The `afterRender` hook is invoked after the render attempt.
|
|
18044
|
+
*/
|
|
17240
18045
|
render(): void;
|
|
17241
18046
|
private ensureBuiltinVFS;
|
|
17242
18047
|
private createBuiltinVFS;
|
|
@@ -18247,6 +19052,13 @@ declare class ResourceManager {
|
|
|
18247
19052
|
*
|
|
18248
19053
|
*/
|
|
18249
19054
|
setAssetId(asset: unknown, id?: Nullable<string>): void;
|
|
19055
|
+
/**
|
|
19056
|
+
* Register a model loader.
|
|
19057
|
+
*
|
|
19058
|
+
* @param mimeType - What MIME type of files this loader can load
|
|
19059
|
+
* @param loader - A concrete model loader implementation.
|
|
19060
|
+
*/
|
|
19061
|
+
setModelLoader(mimeType: string, loader: ModelLoader): void;
|
|
18250
19062
|
/**
|
|
18251
19063
|
* Fetch a binary asset by ID via the asset manager.
|
|
18252
19064
|
*
|
|
@@ -18258,7 +19070,7 @@ declare class ResourceManager {
|
|
|
18258
19070
|
*
|
|
18259
19071
|
* @returns A Promise that resolves to the binary content, or `null` if not found.
|
|
18260
19072
|
*/
|
|
18261
|
-
fetchBinary(path: string): Promise<Nullable<ArrayBuffer>>;
|
|
19073
|
+
fetchBinary(path: string, options?: BaseFetchOptions): Promise<Nullable<ArrayBuffer>>;
|
|
18262
19074
|
/**
|
|
18263
19075
|
* Fetch a text asset by ID via the asset manager.
|
|
18264
19076
|
*
|
|
@@ -18334,10 +19146,7 @@ declare class ResourceManager {
|
|
|
18334
19146
|
*
|
|
18335
19147
|
* @returns A Promise resolving to the loaded model object, or `null` if failed.
|
|
18336
19148
|
*/
|
|
18337
|
-
fetchModel(path: string, scene: Scene, options?: ModelFetchOptions): Promise<
|
|
18338
|
-
group: SceneNode;
|
|
18339
|
-
animationSet: AnimationSet;
|
|
18340
|
-
}>;
|
|
19149
|
+
fetchModel(path: string, scene: Scene, options?: ModelFetchOptions): Promise<SceneNode | undefined>;
|
|
18341
19150
|
/**
|
|
18342
19151
|
* Load a texture directly from an ArrayBuffer or typed array.
|
|
18343
19152
|
*
|
|
@@ -18369,7 +19178,7 @@ declare class ResourceManager {
|
|
|
18369
19178
|
*
|
|
18370
19179
|
* @returns A Promise resolving to the loaded material, or `null` if failed.
|
|
18371
19180
|
*/
|
|
18372
|
-
fetchMaterial<T extends Material = MeshMaterial>(path: string): Promise<Nullable<T>>;
|
|
19181
|
+
fetchMaterial<T extends Material = MeshMaterial>(path: string, options?: BaseFetchOptions): Promise<Nullable<T>>;
|
|
18373
19182
|
/**
|
|
18374
19183
|
* Reload specific blue print materials
|
|
18375
19184
|
*
|
|
@@ -18389,7 +19198,7 @@ declare class ResourceManager {
|
|
|
18389
19198
|
*
|
|
18390
19199
|
* @returns A Promise resolving to the loaded primitive, or `null` if failed.
|
|
18391
19200
|
*/
|
|
18392
|
-
fetchPrimitive<T extends Primitive = Primitive>(path: string): Promise<Nullable<T>>;
|
|
19201
|
+
fetchPrimitive<T extends Primitive = Primitive>(path: string, options?: BaseFetchOptions): Promise<Nullable<T>>;
|
|
18393
19202
|
/**
|
|
18394
19203
|
* Load a prefab content.
|
|
18395
19204
|
* @param path - Path to the prefab JSON file in VFS.
|
|
@@ -21657,6 +22466,7 @@ declare class TextureSampleGrad extends BaseGraphNode {
|
|
|
21657
22466
|
|
|
21658
22467
|
/**
|
|
21659
22468
|
* Vertex output node
|
|
22469
|
+
* @public
|
|
21660
22470
|
*/
|
|
21661
22471
|
declare class VertexOutputNode extends BaseGraphNode {
|
|
21662
22472
|
private _index;
|
|
@@ -21688,6 +22498,7 @@ declare class VertexOutputNode extends BaseGraphNode {
|
|
|
21688
22498
|
}
|
|
21689
22499
|
/**
|
|
21690
22500
|
* Vertex index input node
|
|
22501
|
+
* @public
|
|
21691
22502
|
*/
|
|
21692
22503
|
declare class VertexIndexNode extends BaseGraphNode {
|
|
21693
22504
|
/**
|
|
@@ -21728,6 +22539,7 @@ declare class VertexIndexNode extends BaseGraphNode {
|
|
|
21728
22539
|
}
|
|
21729
22540
|
/**
|
|
21730
22541
|
* Instance index input node
|
|
22542
|
+
* @public
|
|
21731
22543
|
*/
|
|
21732
22544
|
declare class InstanceIndexNode extends BaseGraphNode {
|
|
21733
22545
|
/**
|
|
@@ -24338,6 +25150,121 @@ declare function interleavedGradientNoise(scope: PBInsideFunctionScope, c: PBSha
|
|
|
24338
25150
|
*/
|
|
24339
25151
|
declare function temporalResolve(scope: PBInsideFunctionScope, currentColorTex: PBShaderExp, historyColorTex: PBShaderExp, currentDepthTex: PBShaderExp, motionVectorTex: PBShaderExp, prevMotionVectorTex: PBShaderExp, uv: PBShaderExp, workSize: PBShaderExp, debug?: number): PBShaderExp;
|
|
24340
25152
|
|
|
25153
|
+
/** @public */
|
|
25154
|
+
type AvatarSlotId = string;
|
|
25155
|
+
/** @public */
|
|
25156
|
+
type AvatarBindMode = 'exact' | 'humanoid' | 'name' | 'custom';
|
|
25157
|
+
/** @public */
|
|
25158
|
+
type AvatarFitMode = 'reuseInverseBind' | 'preserveRestPose';
|
|
25159
|
+
/** @public */
|
|
25160
|
+
type AvatarOutfitSource = string | SceneNode | SharedModel;
|
|
25161
|
+
/** @public */
|
|
25162
|
+
type AvatarBodyRegionTarget = SceneNode | Mesh;
|
|
25163
|
+
/** @public */
|
|
25164
|
+
type AvatarBodyRegions = Record<string, AvatarBodyRegionTarget[]>;
|
|
25165
|
+
/** @public */
|
|
25166
|
+
type AvatarJointMap = Record<string, string> | ((sourceJoint: SceneNode, targetRig: SkeletonRig, sourceRig: SkeletonRig) => Nullable<SceneNode>);
|
|
25167
|
+
/** @public */
|
|
25168
|
+
type AvatarSlotOptions = {
|
|
25169
|
+
id: AvatarSlotId;
|
|
25170
|
+
hideBodyRegions?: string[];
|
|
25171
|
+
exclusiveWith?: AvatarSlotId[];
|
|
25172
|
+
allowMultiple?: boolean;
|
|
25173
|
+
};
|
|
25174
|
+
/** @public */
|
|
25175
|
+
type AvatarWardrobeOptions = {
|
|
25176
|
+
root: SceneNode;
|
|
25177
|
+
rig?: SkeletonRig | string;
|
|
25178
|
+
slots?: AvatarSlotOptions[];
|
|
25179
|
+
bodyRegions?: AvatarBodyRegions;
|
|
25180
|
+
modelFetchOptions?: ModelFetchOptions;
|
|
25181
|
+
};
|
|
25182
|
+
/** @public */
|
|
25183
|
+
type AvatarEquipOptions = {
|
|
25184
|
+
slot?: AvatarSlotId;
|
|
25185
|
+
bindMode?: AvatarBindMode;
|
|
25186
|
+
fitMode?: AvatarFitMode;
|
|
25187
|
+
jointMap?: AvatarJointMap;
|
|
25188
|
+
hideBodyRegions?: string[];
|
|
25189
|
+
modelFetchOptions?: ModelFetchOptions;
|
|
25190
|
+
};
|
|
25191
|
+
/** @public */
|
|
25192
|
+
type AvatarOutfitValidation = {
|
|
25193
|
+
ok: boolean;
|
|
25194
|
+
meshes: number;
|
|
25195
|
+
skinBindings: number;
|
|
25196
|
+
mappedJoints: number;
|
|
25197
|
+
missingJoints: string[];
|
|
25198
|
+
errors: string[];
|
|
25199
|
+
warnings: string[];
|
|
25200
|
+
};
|
|
25201
|
+
/**
|
|
25202
|
+
* A concrete equipped outfit item.
|
|
25203
|
+
*
|
|
25204
|
+
* Disposing the instance unequips it from the owning wardrobe.
|
|
25205
|
+
*
|
|
25206
|
+
* @public
|
|
25207
|
+
*/
|
|
25208
|
+
declare class AvatarOutfitInstance extends Disposable {
|
|
25209
|
+
readonly id: string;
|
|
25210
|
+
readonly slot: AvatarSlotId;
|
|
25211
|
+
readonly root: DRef<SceneNode>;
|
|
25212
|
+
readonly meshes: DRef<Mesh>[];
|
|
25213
|
+
readonly skinBindings: SkinBinding[];
|
|
25214
|
+
readonly hiddenBodyRegions: string[];
|
|
25215
|
+
private _wardrobe;
|
|
25216
|
+
protected onDispose(): void;
|
|
25217
|
+
}
|
|
25218
|
+
/**
|
|
25219
|
+
* High level avatar outfit controller.
|
|
25220
|
+
*
|
|
25221
|
+
* The wardrobe keeps one avatar {@link SkeletonRig} as the animation source and
|
|
25222
|
+
* binds equipped clothing meshes to that rig with new {@link SkinBinding}s.
|
|
25223
|
+
*
|
|
25224
|
+
* @public
|
|
25225
|
+
*/
|
|
25226
|
+
declare class AvatarWardrobe extends Disposable {
|
|
25227
|
+
private readonly _root;
|
|
25228
|
+
private readonly _rig;
|
|
25229
|
+
private readonly _slots;
|
|
25230
|
+
private readonly _bodyRegions;
|
|
25231
|
+
private readonly _equipped;
|
|
25232
|
+
private readonly _hiddenBodyNodeCounts;
|
|
25233
|
+
private readonly _bodyNodeOriginalState;
|
|
25234
|
+
private readonly _modelFetchOptions;
|
|
25235
|
+
constructor(options: AvatarWardrobeOptions);
|
|
25236
|
+
static from(root: SceneNode, options?: Omit<AvatarWardrobeOptions, 'root'>): AvatarWardrobe;
|
|
25237
|
+
get root(): SceneNode;
|
|
25238
|
+
get rig(): SkeletonRig;
|
|
25239
|
+
getEquipped(slot?: AvatarSlotId): AvatarOutfitInstance[];
|
|
25240
|
+
equip(source: AvatarOutfitSource, options?: AvatarEquipOptions): Promise<Nullable<AvatarOutfitInstance>>;
|
|
25241
|
+
unequip(slotOrInstance: AvatarSlotId | AvatarOutfitInstance): void;
|
|
25242
|
+
clear(): void;
|
|
25243
|
+
validateOutfit(source: SceneNode, options?: AvatarEquipOptions): AvatarOutfitValidation;
|
|
25244
|
+
protected onDispose(): void;
|
|
25245
|
+
private resolveTargetRig;
|
|
25246
|
+
private ensureRigRegistered;
|
|
25247
|
+
private enforceSlotRules;
|
|
25248
|
+
private resolveSource;
|
|
25249
|
+
private collectSkinnedMeshes;
|
|
25250
|
+
private chooseBindMode;
|
|
25251
|
+
private resolveTargetJoint;
|
|
25252
|
+
private resolveHumanoidTargetJoint;
|
|
25253
|
+
private findHumanoidMappedJoint;
|
|
25254
|
+
private findTargetJointByName;
|
|
25255
|
+
private createInverseBindMatrices;
|
|
25256
|
+
private computeBindWorldMatrices;
|
|
25257
|
+
private getRigNodeBindPose;
|
|
25258
|
+
private stripSourceSkinBindings;
|
|
25259
|
+
private removeSkinBinding;
|
|
25260
|
+
private removeRefs;
|
|
25261
|
+
private getHiddenBodyRegions;
|
|
25262
|
+
private retainBodyRegions;
|
|
25263
|
+
private releaseBodyRegions;
|
|
25264
|
+
private collectBodyRegionNodes;
|
|
25265
|
+
private uniqueNodes;
|
|
25266
|
+
}
|
|
25267
|
+
|
|
24341
25268
|
/**
|
|
24342
25269
|
* Blit type
|
|
24343
25270
|
* @public
|
|
@@ -24732,4 +25659,4 @@ declare const ATMOSPHERIC_FOG_BIT: number;
|
|
|
24732
25659
|
*/
|
|
24733
25660
|
declare const HEIGHT_FOG_BIT: number;
|
|
24734
25661
|
|
|
24735
|
-
export { AABBTree, ABufferOIT, ATMOSPHERIC_FOG_BIT, AbsNode, AbstractPostEffect, AllConditionNode, type AngleLimitConfig, AnimationClip, AnimationSet, AnimationTrack, AnyConditionNode, type AppCreationOptions, type AppOptions, Application, type ApplyResultOutput, ArcCosNode, ArcSinNode, ArcTan2Node, ArcTanNode, ArccosineHNode, ArcsineHNode, ArctangentHNode, type AssetAnimationData, type AssetAnimationTrack, type AssetFixedGeometryCacheAnimationTrack, type AssetGeometryCacheAnimationTrack, AssetHierarchyNode, AssetManager, type AssetMaterial, type AssetMaterialClearcoat, type AssetMaterialCommon, type AssetMaterialIridescence, type AssetMaterialSheen, type AssetMaterialTransmission, type AssetMeshData, type AssetPBRMaterialCommon, type AssetPBRMaterialMR, type AssetPBRMaterialSG, type AssetPCAGeometryCacheAnimationTrack, type AssetRotationTrack, type AssetScaleTrack, AssetScene, type AssetSkeletalAnimationTrack, AssetSkeleton, type AssetSubMeshData, type AssetTranslationTrack, type AssetUnlitMaterial, BUILTIN_ASSET_TEST_CUBEMAP, BUILTIN_ASSET_TEXTURE_SHEEN_LUT, BaseCameraController, BaseGraphNode, BaseLight, BaseSprite, BaseTextureNode, type BatchDrawable, BatchGroup, BillboardMatrixNode, type BlendMode, BlinnMaterial, type BlitType, Blitter, Bloom, type BluePrintEditorState, type BluePrintUniformTexture, type BluePrintUniformValue, type BlueprintDAG, type BoneNode, BoundingBox, type BoundingVolume, type BoxCreationOptions, BoxFilterBlitter, BoxFrameShape, BoxShape, CCDSolver, type CachedBindGroup, Camera, CameraNearFarNode, type CameraOITMode, CameraPositionNode, CameraVectorNode, type CapsuleCollider, type CapsuleCreationOptions, CapsuleShape, CeilNode, ClampNode, ClipmapTerrain, ClipmapTerrainMaterial, ColliderForce, type ColliderR, type ColliderRW, type CollisionResult, ColorAdjust, type ColoredEdge, type ColoredLineEdge, type ColoredQuadraticEdge, CompAddNode, CompComparisonNode, CompDivNode, CompMulNode, CompSubNode, type ComparisonMode, type CompiledRenderGraph, Compositor, type CompositorContext, ConstantBVec2Node, ConstantBVec3Node, ConstantBVec4Node, ConstantBooleanNode, ConstantScalarNode, ConstantTexture2DArrayNode, ConstantTexture2DNode, ConstantTextureCubeNode, ConstantVec2Node, ConstantVec3Node, ConstantVec4Node, type Constraint, type ConstraintBuildOptions, ConstraintType, type ControllerConfig, CopyBlitter, CosHNode, CosNode, CrossProductNode, CubemapSHProjector, CullVisitor, type CylinderCreationOptions, CylinderShape, DDXNode, DDYNode, Degrees2RadiansNode, DepthPass, DevicePoolAllocator, DirectionalLight, DistanceNode, DotProductNode, DracoMeshDecoder, type DrawContext, type Drawable, type DrawableInstanceInfo, EPSILON, type EdgeColor, type EditorMode, ElapsedTimeNode, type EmitterBehavior, type EmitterShape, Engine, EnvConstantAmbient, EnvHemisphericAmbient, type EnvLightType, EnvLightWrapper, EnvShIBL, Environment, EnvironmentLighting, EqualNode, Exp2Node, ExpNode, type ExtractMixinReturnType, type ExtractMixinType, FABRIKSolver, FBMWaveGenerator, FFTWaveGenerator, FPSCameraController, type FPSCameraControllerOptions, FWidthNode, FXAA, FaceForwardNode, type FixedGeometryCacheFrame, type FixedGeometryCacheState, FixedGeometryCacheTrack, type FlatPlane, FloorNode, FmaNode, type FogType, FontAsset, type FontAssetFetchOptions, type FontAssetMSDFAtlasSettings, type FontMetrics, type ForwardPlusOptions, FractNode, FunctionCallNode, FunctionInputNode, FunctionOutputNode, GPUClothSystem, type GPUClothSystemOptions, type GPUClothWrapBindingData, type GPUClothWrapBindingTarget, GaussianBlurBlitter, GenericMathNode, type GeometryCacheFrame, type GeometryCacheMeshBinding, type GeometryCacheState, GerstnerWaveGenerator, type GlyphContour, type GlyphData, type GlyphPoint, type GrabberR, type GrabberRW, GraphNode, type GraphNodeInput, type GraphNodeOutput, type GraphStructure, type GrassInstanceInfo, GrassLayer, GrassMaterial, GrassRenderer, Grayscale, HEIGHT_FOG_BIT, Hash1Node, Hash2Node, Hash3Node, HistoryResourceManager, type Host, HumanoidBodyRig, HumanoidHandRig, type HumanoidJointMapping, type IAttachedScript, type IBaseEvent, type IControllerKeyboardEvent, type IControllerKeydownEvent, type IControllerKeypressEvent, type IControllerKeyupEvent, type IControllerMouseEvent, type IControllerPointerCancelEvent, type IControllerPointerDownEvent, type IControllerPointerMoveEvent, type IControllerPointerUpEvent, type IControllerWheelEvent, type IGraphNode, IKAngleConstraint, IKChain, IKConstraint, type IKJoint, IKModifier, IKSolver, type IMixinAlbedoColor, type IMixinBlinnPhong, type IMixinFoliage, type IMixinLambert, type IMixinLight, type IMixinPBRBluePrint, type IMixinPBRCommon, type IMixinPBRMetallicRoughness, type IMixinPBRSpecularGlossiness, type IMixinVertexColor, type IModKey, type IRUniformTexture, type IRUniformValue, type IRenderHook, type IRenderable, type InputEventHandler, InputManager, InstanceBindGroupAllocator, type InstanceData, InstanceIndexNode, type InstanceUniformType, type InterChainConstraint, InvProjMatrixNode, InvSqrtNode, InvViewProjMatrixNode, type JointChainConfig, type JointDynamicSystemConfig, type JointDynamicsColliderHandle, type JointDynamicsFlatPlaneHandle, type JointDynamicsGrabberHandle, JointDynamicsModifier, JointDynamicsSystem, JointDynamicsSystemController, LIGHT_TYPE_DIRECTIONAL, LIGHT_TYPE_NONE, LIGHT_TYPE_POINT, LIGHT_TYPE_RECT, LIGHT_TYPE_SPOT, LambertMaterial, LengthNode, type LineCollisionResult, Log2Node, type LogMode, LogNode, LogicallyAndNode, LogicallyOrNode, MAX_GERSTNER_WAVE_COUNT, MAX_MORPH_ATTRIBUTES, MAX_MORPH_TARGETS, MAX_TERRAIN_MIPMAP_LEVELS, MORPH_ATTRIBUTE_VECTOR_COUNT, MORPH_TARGET_COLOR, MORPH_TARGET_NORMAL, MORPH_TARGET_POSITION, MORPH_TARGET_TANGENT, MORPH_TARGET_TEX0, MORPH_TARGET_TEX1, MORPH_TARGET_TEX2, MORPH_TARGET_TEX3, MORPH_WEIGHTS_VECTOR_COUNT, type MSDFBitmap, type MSDFOptions, type MSDFShape, MSDFText, MSDFTextAtlasManager, MSDFTextMaterial, MSDFTextSprite, MSDFTextSpriteMaterial, MakeVectorNode, Material, MaterialBlueprintIR, type MaterialBlueprintIRBehaviors, type MaterialTextureInfo, MaterialVaryingFlags, MaxNode, Mesh, MeshMaterial, type MeshUpdateCallback, type Metadata, MinNode, MixNode, ModNode, type ModelFetchOptions, type ModelInfo, type MorphData, type MorphInfo, type MorphState, MorphTargetTrack, MultiChainSpringSystem, type MultiChainSpringSystemOptions, NamedObject, type NearestPointsResult, type NodeConnection, NodeEulerRotationTrack, type NodeIterateFunc, NodeRotationTrack, NodeScaleTrack, NodeTranslationTrack, NormalizeNode, NotEqualNode, type OIT, Octree, OctreeNode, OctreeNodeChunk, OctreePlacement, OrbitCameraController, type OrbitCameraControllerOptions, OrthoCamera, PBRBlockNode, PBRBluePrintMaterial, PBRMetallicRoughnessMaterial, type PBRReflectionMode, PBRSpecularGlossinessMaterial, type PCAGeometryCacheState, PCAGeometryCacheTrack, type PCAGeometryCacheTrackData, type PairAdjustment, PannerNode, ParticleMaterial, ParticleSystem, PerlinNoise2DNode, PerspectiveCamera, type PhysicsCurves, type PickResult, type PickTarget, PixelNormalNode, PixelWorldPositionNode, type PlaneCollider, type PlaneCreationOptions, PlaneShape, type PlayAnimationOptions, type PointInit, PointLight, type PointR, type PointRW, type PointTransform, PostEffectLayer, PowNode, Primitive, ProjectionMatrixNode, type PropEdit, type PropertyAccessor, type PropertyAccessorOptions, type PropertySceneNodeOptions, type PropertyToType, PropertyTrack, type PropertyType, type PropertyValue, PunctualLight, QUEUE_OPAQUE, QUEUE_TRANSPARENT, RENDER_PASS_TYPE_DEPTH, RENDER_PASS_TYPE_LIGHT, RENDER_PASS_TYPE_OBJECT_COLOR, RENDER_PASS_TYPE_SHADOWMAP, type RGExecuteContext, type RGExecuteFn, type RGFramebufferDesc, RGHandle, RGHistoryResources, type RGPassBuilder, type RGResolvedSize, type RGResourceLifetime, type RGSizeMode, RGSubpass, type RGTextureAllocator, type RGTextureDesc, Radians2DegreesNode, RaycastVisitor, RectLight, ReflectNode, RefractNode, RenderContext, RenderGraph, RenderGraphExecutor, type RenderItemList, type RenderItemListBundle, type RenderItemListInfo, RenderPass, RenderQueue, type RenderQueueItem, type RenderQueueRef, RenderTarget, type ResolutionTransform, ResolveVertexNormalNode, ResolveVertexPositionNode, ResolveVertexTangentNode, ResourceManager, RotateAboutAxisNode, RuntimeScript, type RuntimeScriptArrayDeclaration, type RuntimeScriptArrayElementDeclaration, type RuntimeScriptConfig, type RuntimeScriptObjectDeclaration, type RuntimeScriptObjectFieldDeclaration, type RuntimeScriptPropertyDeclaration, type RuntimeScriptPropertyInfo, type RuntimeScriptPropertyOptions, type RuntimeScriptPropertyType, type RuntimeScriptValueDeclaration, type RuntimeScriptValueType, SAO, type SamplerType, SaturateNode, Scene, SceneNode, type SceneNodeVisible, ScreenAdapter, type ScreenConfig, ScreenRenderTarget, type ScreenScaleMode, ScriptAttachment, type ScriptAttachmentConfig, ScriptRegistry, ScriptingSystem, type ScriptingSystemOptions, SelectionNode, type SerializableClass, ShaderHelper, ShadowMapPass, ShadowMapper, type ShadowMode, type ShadowQualityPreset, Shape, type ShapeCreationOptions, type ShapeOptionType, type ShapeType, SharedModel, SignNode, SimplexNoise2DNode, type SimulationParams, SinHNode, SinNode, Skeleton, SkeletonModifier, type SkinnedBoundingBox, SkyEnvTextureNode, SkyRenderer, type SkyType, SmoothStepNode, type SphereCollider, type SphereCreationOptions, SphereShape, SpotLight, SpringChain, type SpringCollider, type SpringConstraint, SpringModifier, type SpringParticle, SpringSystem, type SpringSystemOptions, Sprite, SpriteBlockNode, SpriteBlueprintMaterial, SpriteMaterial, SqrtNode, StandardSpriteMaterial, StepNode, type StopAnimationOptions, type SurfaceCheckResult, SwizzleNode, TanHNode, TanNode, type TerrainDebugMode, type TetrahedronCreationOptions, TetrahedronFrameShape, TetrahedronShape, TextSprite, type TextureFetchOptions, type TextureMixinInstanceTypes, type TextureMixinTypes, type TextureProp, type TexturePropUniforms, TextureSampleGrad, TextureSampleNode, type ToMixedTextureType, Tonemap, type TorusCreationOptions, TorusShape, type TransformAccess, TransformNode, type TwistConstraint, TwoBoneIKSolver, UnlitMaterial, VertexBinormalNode, VertexBlockNode, VertexColorNode, VertexIndexNode, VertexNormalNode, VertexOutputNode, VertexPositionNode, VertexTangentNode, VertexUVNode, ViewMatrixNode, ViewProjMatrixNode, type Visitor, Water, type WaveGenerator, WeightedBlendedOIT, applyAngleLimits, applyMaterialMixins, applyResult, applyRuntimeScriptConfig, buildConstraints, buildForwardPlusGraph, buildMSDFShape, buildSurfaceFaces, checkSurfaceCollision, collisionDetection, collisionDetectionCapsule, collisionDetectionSphere, computeMaxDepth, computeNearestPoints, createCapsuleCollider, createGPUClothWrapBindingData, createGeometryCacheState, createPlaneCollider, createSphereCollider, createSpringConstraint, createSpringParticle, createTransformAccess, decode2HalfFromRGBA, decodeFloatFromRGBA, decodeNormalizedFloatFromRGBA, decodeRGBM, defineProps, encode2HalfToRGBA, encodeFloatToRGBA, encodeNormalizedFloatToRGBA, encodeRGBM, ensureGeometryCacheMeshBinding, executeForwardPlusGraph, fetchSampler, gammaToLinear, generateMSDF, getApp, getDevice, getEngine, getInput, getRuntimeScriptProperties, gradient, hash11, hash12, hash13, hash21, hash22, hash23, hash31, hash32, hash33, interleavedGradientNoise, isGPUClothSupported, linearToGamma, mixGeometryCacheBoundingBox, mixinAlbedoColor, mixinBlinnPhong, mixinFoliage, mixinLambert, mixinLight, mixinPBRBluePrint, mixinPBRCommon, mixinPBRMetallicRoughness, mixinPBRSpecularGlossness, mixinTextureProps, mixinVertexColor, noise3D, normalizeRuntimeScriptConfig, normalizeScriptAttachmentConfig, normalizeScriptAttachments, panoramaToCubemap, perlinNoise2D, perlinNoise3D, prefilterCubemap, pushInCollisionDetection, pushInFromCapsule, pushInFromCollider, pushInFromSphere, pushoutFromCapsule, pushoutFromCollider, pushoutFromSphere, resolveCapsuleCollision, resolvePlaneCollision, resolveSphereCollision, restoreGeometryCacheMeshBinding, scriptProp, simulate, smoothNoise3D, sortRootPointsByProximity, temporalResolve, tryGetApp, updateColliderFromNode, valueNoise, whiteNoise, worleyFBM, worleyNoise };
|
|
25662
|
+
export { AABBTree, ABufferOIT, ATMOSPHERIC_FOG_BIT, AbsNode, AbstractPostEffect, AllConditionNode, type AngleLimitConfig, AnimationClip, AnimationSet, AnimationTrack, AnyConditionNode, type AppCreationOptions, type AppOptions, Application, type ApplyResultOutput, ArcCosNode, ArcSinNode, ArcTan2Node, ArcTanNode, ArccosineHNode, ArcsineHNode, ArctangentHNode, type AssetAnimationData, type AssetAnimationTrack, type AssetFixedGeometryCacheAnimationTrack, type AssetGeometryCacheAnimationTrack, type AssetGeometryCacheFrame, AssetHierarchyNode, type AssetImageInfo, type AssetJointDynamicsChain, type AssetJointDynamicsCollider, type AssetJointDynamicsFlatPlane, type AssetJointDynamicsSpringBone, AssetManager, type AssetMaterial, type AssetMaterialClearcoat, type AssetMaterialCommon, type AssetMaterialIridescence, type AssetMaterialSheen, type AssetMaterialTransmission, type AssetMeshData, type AssetMorphTargetBinding, type AssetMorphTargetGroup, type AssetPBRMaterialCommon, type AssetPBRMaterialMR, type AssetPBRMaterialSG, type AssetPCAGeometryCacheAnimationTrack, type AssetPrimitiveInfo, type AssetRotationTrack, type AssetSamplerInfo, type AssetScaleTrack, AssetScene, type AssetSkeletalAnimationTrack, AssetSkeleton, type AssetSpringBone, type AssetSpringBoneCollider, type AssetSpringBoneColliderGroup, type AssetSpringBoneColliderShape, type AssetSpringBoneJoint, type AssetSubMeshData, type AssetTextureInfo, type AssetTranslationTrack, type AssetUnlitMaterial, type AssetVertexBufferInfo, type AvatarBindMode, type AvatarBodyRegionTarget, type AvatarBodyRegions, type AvatarEquipOptions, type AvatarFitMode, type AvatarJointMap, AvatarOutfitInstance, type AvatarOutfitSource, type AvatarOutfitValidation, type AvatarSlotId, type AvatarSlotOptions, AvatarWardrobe, type AvatarWardrobeOptions, BUILTIN_ASSET_TEST_CUBEMAP, BUILTIN_ASSET_TEXTURE_SHEEN_LUT, BaseCameraController, type BaseFetchOptions, BaseGraphNode, BaseLight, BaseSprite, BaseTextureNode, type BatchDrawable, BatchGroup, BillboardMatrixNode, type BlendMode, BlinnMaterial, type BlitType, Blitter, Bloom, type BluePrintEditorState, type BluePrintUniformTexture, type BluePrintUniformValue, type BlueprintDAG, type BoneNode, BoundingBox, type BoundingVolume, type BoxCreationOptions, BoxFilterBlitter, BoxFrameShape, BoxShape, CCDSolver, type CachedBindGroup, Camera, CameraNearFarNode, type CameraOITMode, CameraPositionNode, CameraVectorNode, type CapsuleCollider, type CapsuleCreationOptions, CapsuleShape, CeilNode, ClampNode, ClipmapTerrain, ClipmapTerrainMaterial, ColliderForce, type ColliderR, type ColliderRW, type CollisionResult, ColorAdjust, type ColoredEdge, type ColoredLineEdge, type ColoredQuadraticEdge, CompAddNode, CompComparisonNode, CompDivNode, CompMulNode, CompSubNode, type ComparisonMode, type CompiledRenderGraph, Compositor, type CompositorContext, ConstantBVec2Node, ConstantBVec3Node, ConstantBVec4Node, ConstantBooleanNode, ConstantScalarNode, ConstantTexture2DArrayNode, ConstantTexture2DNode, ConstantTextureCubeNode, ConstantVec2Node, ConstantVec3Node, ConstantVec4Node, type Constraint, type ConstraintBuildOptions, ConstraintType, type ControllerConfig, type ControllerConfigUpdate, CopyBlitter, type CopyHumanoidAnimationOptions, CosHNode, CosNode, CrossProductNode, CubemapSHProjector, CullVisitor, type CylinderCreationOptions, CylinderShape, DDXNode, DDYNode, Degrees2RadiansNode, DepthPass, DevicePoolAllocator, DirectionalLight, DistanceNode, DotProductNode, DracoMeshDecoder, type DrawContext, type Drawable, type DrawableInstanceInfo, EPSILON, type EdgeColor, type EditorMode, ElapsedTimeNode, type EmitterBehavior, type EmitterShape, Engine, EnvConstantAmbient, EnvHemisphericAmbient, type EnvLightType, EnvLightWrapper, EnvShIBL, Environment, EnvironmentLighting, EqualNode, Exp2Node, ExpNode, type ExtractMixinReturnType, type ExtractMixinType, FABRIKSolver, FBMWaveGenerator, FFTWaveGenerator, FPSCameraController, type FPSCameraControllerOptions, FWidthNode, FXAA, FaceForwardNode, type FixedGeometryCacheFrame, type FixedGeometryCacheState, FixedGeometryCacheTrack, type FlatPlane, FloorNode, FmaNode, type FogType, FontAsset, type FontAssetFetchOptions, type FontAssetMSDFAtlasSettings, type FontMetrics, type ForwardPlusOptions, FractNode, FunctionCallNode, FunctionInputNode, FunctionOutputNode, GPUClothSystem, type GPUClothSystemOptions, type GPUClothWrapBindingData, type GPUClothWrapBindingTarget, GaussianBlurBlitter, GenericMathNode, type GeometryCacheFrame, type GeometryCacheMeshBinding, type GeometryCacheState, GerstnerWaveGenerator, type GlyphContour, type GlyphData, type GlyphPoint, type GrabberR, type GrabberRW, GraphNode, type GraphNodeInput, type GraphNodeOutput, type GraphStructure, type GrassInstanceInfo, GrassLayer, GrassMaterial, GrassRenderer, Grayscale, HEIGHT_FOG_BIT, Hash1Node, Hash2Node, Hash3Node, HistoryResourceManager, type Host, HumanoidBodyRig, HumanoidHandRig, type HumanoidJointMapping, type HumanoidRetargetAxisLocks, type HumanoidRootMotionMode, type HumanoidRootMotionScaleMode, type HumanoidSkeletalAnimationMaskOptions, type HumanoidSkeletalAnimationMaskPreset, type IAttachedScript, type IBaseEvent, type IControllerKeyboardEvent, type IControllerKeydownEvent, type IControllerKeypressEvent, type IControllerKeyupEvent, type IControllerMouseEvent, type IControllerPointerCancelEvent, type IControllerPointerDownEvent, type IControllerPointerMoveEvent, type IControllerPointerUpEvent, type IControllerWheelEvent, type IGraphNode, IKAngleConstraint, IKChain, IKConstraint, type IKJoint, IKModifier, IKSolver, type IMixinAlbedoColor, type IMixinBlinnPhong, type IMixinFoliage, type IMixinLambert, type IMixinLight, type IMixinPBRBluePrint, type IMixinPBRCommon, type IMixinPBRMetallicRoughness, type IMixinPBRSpecularGlossiness, type IMixinVertexColor, type IModKey, type IRUniformTexture, type IRUniformValue, type IRenderHook, type IRenderable, type InputEventHandler, InputManager, InstanceBindGroupAllocator, type InstanceData, InstanceIndexNode, type InstanceUniformType, type InterChainConstraint, InvProjMatrixNode, InvSqrtNode, InvViewProjMatrixNode, type JointChainConfig, type JointDynamicSystemConfig, type JointDynamicsColliderHandle, type JointDynamicsColliderSnapshot, type JointDynamicsFlatPlaneHandle, type JointDynamicsFlatPlaneSnapshot, type JointDynamicsGrabberHandle, type JointDynamicsGrabberSnapshot, JointDynamicsModifier, JointDynamicsSystem, JointDynamicsSystemController, type JointNameMatcher, LIGHT_TYPE_DIRECTIONAL, LIGHT_TYPE_NONE, LIGHT_TYPE_POINT, LIGHT_TYPE_RECT, LIGHT_TYPE_SPOT, LambertMaterial, LengthNode, type LineCollisionResult, Log2Node, type LogMode, LogNode, LogicallyAndNode, LogicallyOrNode, MAX_GERSTNER_WAVE_COUNT, MAX_MORPH_ATTRIBUTES, MAX_MORPH_TARGETS, MAX_TERRAIN_MIPMAP_LEVELS, MORPH_ATTRIBUTE_VECTOR_COUNT, MORPH_TARGET_COLOR, MORPH_TARGET_NORMAL, MORPH_TARGET_POSITION, MORPH_TARGET_TANGENT, MORPH_TARGET_TEX0, MORPH_TARGET_TEX1, MORPH_TARGET_TEX2, MORPH_TARGET_TEX3, MORPH_WEIGHTS_VECTOR_COUNT, type MSDFBitmap, type MSDFOptions, type MSDFShape, MSDFText, MSDFTextAtlasManager, MSDFTextMaterial, MSDFTextSprite, MSDFTextSpriteMaterial, MakeVectorNode, Material, MaterialBlueprintIR, type MaterialBlueprintIRBehaviors, type MaterialTextureInfo, MaterialVaryingFlags, MaxNode, Mesh, MeshMaterial, type MeshUpdateCallback, type Metadata, MinNode, MixNode, ModNode, type ModelFetchOptions, type ModelInfo, type ModelLoader, type MorphBoundingInfo, type MorphData, type MorphInfo, type MorphState, MorphTargetTrack, MultiChainSpringSystem, type MultiChainSpringSystemOptions, type NamedJointsSkeletalAnimationMaskOptions, NamedObject, type NearestPointsResult, type NodeConnection, NodeEulerRotationTrack, type NodeIterateFunc, NodeRotationTrack, NodeScaleTrack, NodeTranslationTrack, NormalizeNode, NotEqualNode, type OIT, Octree, OctreeNode, OctreeNodeChunk, OctreePlacement, OrbitCameraController, type OrbitCameraControllerOptions, OrthoCamera, PBRBlockNode, PBRBluePrintMaterial, PBRMetallicRoughnessMaterial, type PBRReflectionMode, PBRSpecularGlossinessMaterial, type PCAGeometryCacheState, PCAGeometryCacheTrack, type PCAGeometryCacheTrackData, type PairAdjustment, PannerNode, ParticleMaterial, ParticleSystem, PerlinNoise2DNode, PerspectiveCamera, type PhysicsCurves, type PickResult, type PickTarget, PixelNormalNode, PixelWorldPositionNode, type PlaneCollider, type PlaneCreationOptions, PlaneShape, type PlayAnimationOptions, type PointInit, PointLight, type PointR, type PointRW, type PointTransform, PostEffectLayer, PowNode, Primitive, ProjectionMatrixNode, type PropEdit, type PropertyAccessor, type PropertyAccessorOptions, type PropertySceneNodeOptions, type PropertyToType, PropertyTrack, type PropertyType, type PropertyValue, PunctualLight, QUEUE_OPAQUE, QUEUE_TRANSPARENT, RENDER_PASS_TYPE_DEPTH, RENDER_PASS_TYPE_LIGHT, RENDER_PASS_TYPE_OBJECT_COLOR, RENDER_PASS_TYPE_SHADOWMAP, type RGExecuteContext, type RGExecuteFn, type RGFramebufferDesc, RGHandle, RGHistoryResources, type RGPassBuilder, type RGResolvedSize, type RGResourceLifetime, type RGSizeMode, RGSubpass, type RGTextureAllocator, type RGTextureDesc, Radians2DegreesNode, RaycastVisitor, RectLight, ReflectNode, RefractNode, RenderContext, type RenderFunc, RenderGraph, RenderGraphExecutor, type RenderItemList, type RenderItemListBundle, type RenderItemListInfo, RenderPass, RenderQueue, type RenderQueueItem, type RenderQueueRef, RenderTarget, type ResolutionTransform, ResolveVertexNormalNode, ResolveVertexPositionNode, ResolveVertexTangentNode, ResourceManager, RotateAboutAxisNode, RuntimeScript, type RuntimeScriptArrayDeclaration, type RuntimeScriptArrayElementDeclaration, type RuntimeScriptConfig, type RuntimeScriptObjectDeclaration, type RuntimeScriptObjectFieldDeclaration, type RuntimeScriptPropertyDeclaration, type RuntimeScriptPropertyInfo, type RuntimeScriptPropertyOptions, type RuntimeScriptPropertyType, type RuntimeScriptValueDeclaration, type RuntimeScriptValueType, SAO, type SamplerType, SaturateNode, type SaveOptions, Scene, type SceneMorphTargetBinding, type SceneMorphTargetGroup, SceneNode, type SceneNodeVisible, ScreenAdapter, type ScreenConfig, ScreenRenderTarget, type ScreenScaleMode, ScriptAttachment, type ScriptAttachmentConfig, ScriptRegistry, ScriptingSystem, type ScriptingSystemOptions, SelectionNode, type SerializableClass, type SerializedMorphTargetBinding, type SerializedMorphTargetGroup, ShaderHelper, ShadowMapPass, ShadowMapper, type ShadowMode, type ShadowQualityPreset, Shape, type ShapeCreationOptions, type ShapeOptionType, type ShapeType, SharedModel, SignNode, SimplexNoise2DNode, type SimulationParams, SinHNode, SinNode, type SkeletalAnimationMaskCommonOptions, type SkeletalAnimationMaskOptions, type SkeletalAnimationMaskRootMotionMode, type SkeletalAnimationMaskUnsupportedTrackMode, Skeleton, type SkeletonBindPose, SkeletonModifier, SkeletonRig, type SkeletonRigOptions, SkinBinding, type SkinnedBoundingBox, SkyEnvTextureNode, SkyRenderer, type SkyType, SmoothStepNode, type SphereCollider, type SphereCreationOptions, SphereShape, SpotLight, SpringChain, type SpringCollider, type SpringConstraint, SpringModifier, type SpringParticle, SpringSystem, type SpringSystemOptions, Sprite, SpriteBlockNode, SpriteBlueprintMaterial, SpriteMaterial, SqrtNode, StandardSpriteMaterial, StepNode, type StopAnimationOptions, type SurfaceCheckResult, SwizzleNode, TanHNode, TanNode, type TerrainDebugMode, type TetrahedronCreationOptions, TetrahedronFrameShape, TetrahedronShape, TextSprite, type TextureFetchOptions, type TextureMixinInstanceTypes, type TextureMixinTypes, type TextureProp, type TexturePropUniforms, TextureSampleGrad, TextureSampleNode, type ToMixedTextureType, Tonemap, type TorusCreationOptions, TorusShape, type TransformAccess, TransformNode, type TwistConstraint, TwoBoneIKSolver, UnlitMaterial, VertexBinormalNode, VertexBlockNode, VertexColorNode, VertexIndexNode, VertexNormalNode, VertexOutputNode, VertexPositionNode, VertexTangentNode, VertexUVNode, ViewMatrixNode, ViewProjMatrixNode, type Visitor, Water, type WaveGenerator, WeightedBlendedOIT, applyAngleLimits, applyMaterialMixins, applyResult, applyRuntimeScriptConfig, buildConstraints, buildForwardPlusGraph, buildMSDFShape, buildSurfaceFaces, checkSurfaceCollision, collisionDetection, collisionDetectionCapsule, collisionDetectionSphere, computeMaxDepth, computeNearestPoints, createCapsuleCollider, createGPUClothWrapBindingData, createGeometryCacheState, createPlaneCollider, createSphereCollider, createSpringConstraint, createSpringParticle, createTransformAccess, decode2HalfFromRGBA, decodeFloatFromRGBA, decodeNormalizedFloatFromRGBA, decodeRGBM, defineProps, encode2HalfToRGBA, encodeFloatToRGBA, encodeNormalizedFloatToRGBA, encodeRGBM, ensureGeometryCacheMeshBinding, executeForwardPlusGraph, fetchSampler, gammaToLinear, generateMSDF, getApp, getDevice, getEngine, getInput, getRuntimeScriptProperties, gradient, hash11, hash12, hash13, hash21, hash22, hash23, hash31, hash32, hash33, interleavedGradientNoise, isGPUClothSupported, linearToGamma, mixGeometryCacheBoundingBox, mixinAlbedoColor, mixinBlinnPhong, mixinFoliage, mixinLambert, mixinLight, mixinPBRBluePrint, mixinPBRCommon, mixinPBRMetallicRoughness, mixinPBRSpecularGlossness, mixinTextureProps, mixinVertexColor, noise3D, normalizeRuntimeScriptConfig, normalizeScriptAttachmentConfig, normalizeScriptAttachments, panoramaToCubemap, perlinNoise2D, perlinNoise3D, prefilterCubemap, pushInCollisionDetection, pushInFromCapsule, pushInFromCollider, pushInFromSphere, pushoutFromCapsule, pushoutFromCollider, pushoutFromSphere, resolveCapsuleCollision, resolvePlaneCollision, resolveSphereCollision, restoreGeometryCacheMeshBinding, scriptProp, simulate, smoothNoise3D, sortRootPointsByProximity, temporalResolve, tryGetApp, updateColliderFromNode, valueNoise, whiteNoise, worleyFBM, worleyNoise };
|