@zephyr3d/scene 0.9.3 → 0.9.5
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/spring_particle.js +4 -4
- package/dist/animation/spring/spring_particle.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 +129 -17
- 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 +133 -102
- package/dist/asset/assetmanager.js.map +1 -1
- package/dist/asset/loaders/gltf/gltf_loader.js +18 -14
- package/dist/asset/loaders/gltf/gltf_loader.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 +1052 -183
- 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 +1810 -233
- package/dist/index.js +13 -3
- package/dist/index.js.map +1 -1
- package/dist/material/material.js +1 -1
- package/dist/material/material.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 +180 -0
- package/dist/material/msdf_text.js.map +1 -0
- package/dist/material/msdf_text_sprite.js +64 -0
- package/dist/material/msdf_text_sprite.js.map +1 -0
- package/dist/material/pbrblueprint.js +21 -6
- package/dist/material/pbrblueprint.js.map +1 -1
- package/dist/material/shader/helper.js +277 -277
- package/dist/material/shader/helper.js.map +1 -1
- package/dist/material/sprite_sdf.js +106 -0
- package/dist/material/sprite_sdf.js.map +1 -0
- package/dist/posteffect/ssr.js +1 -0
- package/dist/posteffect/ssr.js.map +1 -1
- package/dist/render/abuffer_oit.js +1 -0
- package/dist/render/abuffer_oit.js.map +1 -1
- package/dist/render/cluster_light.js.map +1 -1
- package/dist/render/cull_visitor.js +28 -0
- package/dist/render/cull_visitor.js.map +1 -1
- package/dist/render/drawable.js.map +1 -1
- package/dist/render/drawable_mixin.js +1 -0
- package/dist/render/drawable_mixin.js.map +1 -1
- package/dist/render/envlight.js +54 -1
- package/dist/render/envlight.js.map +1 -1
- package/dist/render/fbm_wavegenerator.js +1 -0
- package/dist/render/fbm_wavegenerator.js.map +1 -1
- package/dist/render/gerstner_wavegenerator.js +1 -0
- package/dist/render/gerstner_wavegenerator.js.map +1 -1
- package/dist/render/globalbindgroup_allocator.js +1 -0
- package/dist/render/globalbindgroup_allocator.js.map +1 -1
- package/dist/render/render_queue.js +1 -0
- package/dist/render/render_queue.js.map +1 -1
- package/dist/render/sky.js +9 -0
- package/dist/render/sky.js.map +1 -1
- package/dist/scene/basesprite.js +1 -5
- package/dist/scene/basesprite.js.map +1 -1
- package/dist/scene/batchgroup.js +18 -8
- package/dist/scene/batchgroup.js.map +1 -1
- package/dist/scene/environment.js +16 -2
- package/dist/scene/environment.js.map +1 -1
- package/dist/scene/mesh.js +164 -102
- package/dist/scene/mesh.js.map +1 -1
- package/dist/scene/meshdrawable.js +96 -0
- package/dist/scene/meshdrawable.js.map +1 -0
- package/dist/scene/msdftext.js +341 -0
- package/dist/scene/msdftext.js.map +1 -0
- package/dist/scene/msdftextsprite.js +349 -0
- package/dist/scene/msdftextsprite.js.map +1 -0
- package/dist/scene/particlesys.js +1 -0
- package/dist/scene/particlesys.js.map +1 -1
- package/dist/scene/scene.js +2 -0
- package/dist/scene/scene.js.map +1 -1
- package/dist/scene/scene_node.js +437 -230
- package/dist/scene/scene_node.js.map +1 -1
- package/dist/scene/sdftextsprite.js +322 -0
- package/dist/scene/sdftextsprite.js.map +1 -0
- package/dist/scene/terrain-cm/grass.js +1 -0
- package/dist/scene/terrain-cm/grass.js.map +1 -1
- package/dist/scene/terrain-cm/grassmaterial.js +1 -0
- package/dist/scene/terrain-cm/grassmaterial.js.map +1 -1
- package/dist/scene/terrain-cm/terrain-cm.js +1 -0
- package/dist/scene/terrain-cm/terrain-cm.js.map +1 -1
- package/dist/scene/textsprite.js +120 -0
- package/dist/scene/textsprite.js.map +1 -0
- package/dist/scene/water.js +1 -0
- package/dist/scene/water.js.map +1 -1
- package/dist/shadow/shader.js +1 -0
- package/dist/shadow/shader.js.map +1 -1
- package/dist/text/font/font_asset.js +884 -0
- package/dist/text/font/font_asset.js.map +1 -0
- package/dist/text/font/sfnt_reader.js +43 -0
- package/dist/text/font/sfnt_reader.js.map +1 -0
- package/dist/text/msdf/generator.js +417 -0
- package/dist/text/msdf/generator.js.map +1 -0
- package/dist/text/msdf/shape.js +146 -0
- package/dist/text/msdf/shape.js.map +1 -0
- package/dist/text/runtime/msdf_glyph_atlas.js +146 -0
- package/dist/text/runtime/msdf_glyph_atlas.js.map +1 -0
- package/dist/text/runtime/msdf_text_atlas_manager.js +50 -0
- package/dist/text/runtime/msdf_text_atlas_manager.js.map +1 -0
- package/dist/text/runtime/text_layout.js +96 -0
- package/dist/text/runtime/text_layout.js.map +1 -0
- package/dist/utility/blueprint/material/inputs.js +188 -1
- package/dist/utility/blueprint/material/inputs.js.map +1 -1
- package/dist/utility/blueprint/material/ir.js +16 -1
- package/dist/utility/blueprint/material/ir.js.map +1 -1
- package/dist/utility/blueprint/material/pbr.js +32 -0
- package/dist/utility/blueprint/material/pbr.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 +340 -283
- package/dist/utility/serialization/manager.js.map +1 -1
- package/dist/utility/serialization/scene/animation.js +702 -7
- package/dist/utility/serialization/scene/animation.js.map +1 -1
- package/dist/utility/serialization/scene/batch.js +2 -0
- package/dist/utility/serialization/scene/batch.js.map +1 -1
- package/dist/utility/serialization/scene/camera.js +2 -0
- package/dist/utility/serialization/scene/camera.js.map +1 -1
- package/dist/utility/serialization/scene/light.js +2 -0
- package/dist/utility/serialization/scene/light.js.map +1 -1
- package/dist/utility/serialization/scene/material.js +1 -0
- package/dist/utility/serialization/scene/material.js.map +1 -1
- package/dist/utility/serialization/scene/mesh.js +66 -4
- package/dist/utility/serialization/scene/mesh.js.map +1 -1
- package/dist/utility/serialization/scene/node.js +189 -8
- package/dist/utility/serialization/scene/node.js.map +1 -1
- package/dist/utility/serialization/scene/particle.js +2 -0
- package/dist/utility/serialization/scene/particle.js.map +1 -1
- package/dist/utility/serialization/scene/primitive.js +1 -0
- package/dist/utility/serialization/scene/primitive.js.map +1 -1
- package/dist/utility/serialization/scene/sprite.js +2 -0
- package/dist/utility/serialization/scene/sprite.js.map +1 -1
- package/dist/utility/serialization/scene/terrain.js +2 -0
- package/dist/utility/serialization/scene/terrain.js.map +1 -1
- package/dist/utility/serialization/scene/text.js +516 -0
- package/dist/utility/serialization/scene/text.js.map +1 -0
- package/dist/utility/serialization/scene/water.js +2 -0
- package/dist/utility/serialization/scene/water.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/dist/values.js +48 -48
- package/dist/values.js.map +1 -1
- package/package.json +3 -3
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
|
*
|
|
@@ -310,6 +310,8 @@ type PropertyAccessorOptions = {
|
|
|
310
310
|
minValue?: number;
|
|
311
311
|
/** Maximum numeric value (for sliders/spinners). */
|
|
312
312
|
maxValue?: number;
|
|
313
|
+
/** Whether string property is multiline. */
|
|
314
|
+
multiline?: boolean;
|
|
313
315
|
/** Step/speed for numeric editing UI. */
|
|
314
316
|
speed?: number;
|
|
315
317
|
/** Whether the property can be animated/keyframed. */
|
|
@@ -3254,6 +3256,9 @@ declare class MaterialBlueprintIR {
|
|
|
3254
3256
|
private rotateAboutAxis;
|
|
3255
3257
|
/** Converts a panner node to IR */
|
|
3256
3258
|
private panner;
|
|
3259
|
+
private vertexOutput;
|
|
3260
|
+
private vertexIndex;
|
|
3261
|
+
private instanceIndex;
|
|
3257
3262
|
/** Converts a vertex color input node to IR */
|
|
3258
3263
|
private vertexColor;
|
|
3259
3264
|
/** Converts a vertex UV input node to IR */
|
|
@@ -3417,6 +3422,8 @@ type IMixinPBRCommon = {
|
|
|
3417
3422
|
getCommonDatasStruct(scope: PBInsideFunctionScope): ShaderTypeFunc;
|
|
3418
3423
|
calculateEmissiveColor(scope: PBInsideFunctionScope): PBShaderExp;
|
|
3419
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;
|
|
3420
3427
|
directLighting(scope: PBInsideFunctionScope, lightDir: PBShaderExp, lightColor: PBShaderExp, normal: PBShaderExp, viewVec: PBShaderExp, commonData: PBShaderExp, diffuseScale: PBShaderExp, specularScale: PBShaderExp, sourceRadiusFactor: PBShaderExp, outColor: PBShaderExp): void;
|
|
3421
3428
|
directRectLight(scope: PBInsideFunctionScope, worldPos: PBShaderExp, normal: PBShaderExp, viewVec: PBShaderExp, commonData: PBShaderExp, posRange: PBShaderExp, axisX: PBShaderExp, axisY: PBShaderExp, colorIntensity: PBShaderExp, outColor: PBShaderExp): void;
|
|
3422
3429
|
indirectLighting(scope: PBInsideFunctionScope, normal: PBShaderExp, viewVec: PBShaderExp, commonData: PBShaderExp, outColor: PBShaderExp, outRoughness?: PBShaderExp): void;
|
|
@@ -3961,6 +3968,57 @@ declare class StandardSpriteMaterial extends SpriteMaterial implements Clonable<
|
|
|
3961
3968
|
protected onDispose(): void;
|
|
3962
3969
|
}
|
|
3963
3970
|
|
|
3971
|
+
/**
|
|
3972
|
+
* Atlas-based MSDF text material.
|
|
3973
|
+
*
|
|
3974
|
+
* @public
|
|
3975
|
+
*/
|
|
3976
|
+
declare class MSDFTextMaterial extends MeshMaterial implements Clonable<MSDFTextMaterial> {
|
|
3977
|
+
static FEATURE_TEXT_ATLAS: number;
|
|
3978
|
+
private _atlas;
|
|
3979
|
+
private _textColor;
|
|
3980
|
+
private _outlineColor;
|
|
3981
|
+
private _distanceRange;
|
|
3982
|
+
private _atlasSize;
|
|
3983
|
+
private _smallGlyphThreshold;
|
|
3984
|
+
private _outlineWidth;
|
|
3985
|
+
constructor();
|
|
3986
|
+
get atlasTexture(): _zephyr3d_base.Nullable<Texture2D<unknown>>;
|
|
3987
|
+
set atlasTexture(tex: _zephyr3d_base.Nullable<Texture2D<unknown>>);
|
|
3988
|
+
get textColor(): Immutable<Vector3>;
|
|
3989
|
+
set textColor(value: Immutable<Vector3>);
|
|
3990
|
+
get outlineColor(): Immutable<Vector3>;
|
|
3991
|
+
set outlineColor(value: Immutable<Vector3>);
|
|
3992
|
+
get distanceRange(): number;
|
|
3993
|
+
set distanceRange(value: number);
|
|
3994
|
+
get smallGlyphThreshold(): number;
|
|
3995
|
+
set smallGlyphThreshold(value: number);
|
|
3996
|
+
get outlineWidth(): number;
|
|
3997
|
+
set outlineWidth(value: number);
|
|
3998
|
+
clone(): MSDFTextMaterial;
|
|
3999
|
+
copyFrom(other: this): void;
|
|
4000
|
+
vertexShader(scope: PBFunctionScope): void;
|
|
4001
|
+
fragmentShader(scope: PBFunctionScope): void;
|
|
4002
|
+
applyUniformValues(bindGroup: BindGroup, ctx: DrawContext, pass: number): void;
|
|
4003
|
+
protected onDispose(): void;
|
|
4004
|
+
}
|
|
4005
|
+
|
|
4006
|
+
/**
|
|
4007
|
+
* Billboard MSDF text material.
|
|
4008
|
+
*
|
|
4009
|
+
* @public
|
|
4010
|
+
*/
|
|
4011
|
+
declare class MSDFTextSpriteMaterial extends MSDFTextMaterial implements Clonable<MSDFTextSpriteMaterial> {
|
|
4012
|
+
private _rotation;
|
|
4013
|
+
constructor();
|
|
4014
|
+
get rotation(): number;
|
|
4015
|
+
set rotation(value: number);
|
|
4016
|
+
clone(): MSDFTextSpriteMaterial;
|
|
4017
|
+
copyFrom(other: this): void;
|
|
4018
|
+
vertexShader(scope: PBFunctionScope): void;
|
|
4019
|
+
applyUniformValues(bindGroup: BindGroup, ctx: DrawContext, pass: number): void;
|
|
4020
|
+
}
|
|
4021
|
+
|
|
3964
4022
|
/**
|
|
3965
4023
|
* Sprite material driven by a blueprint graph.
|
|
3966
4024
|
*
|
|
@@ -4632,6 +4690,13 @@ declare class SkyRenderer extends Disposable {
|
|
|
4632
4690
|
* Radiance map of the sky.
|
|
4633
4691
|
*/
|
|
4634
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>;
|
|
4635
4700
|
/**
|
|
4636
4701
|
* Irradiance SH coeffecients buffer
|
|
4637
4702
|
*/
|
|
@@ -4702,6 +4767,16 @@ declare abstract class EnvironmentLighting extends Disposable {
|
|
|
4702
4767
|
* @returns The radiance for the fragment
|
|
4703
4768
|
*/
|
|
4704
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>;
|
|
4705
4780
|
/**
|
|
4706
4781
|
* Get irradiance for a fragment
|
|
4707
4782
|
*
|
|
@@ -4715,6 +4790,10 @@ declare abstract class EnvironmentLighting extends Disposable {
|
|
|
4715
4790
|
* Returns whether this environment lighting supports reflective light
|
|
4716
4791
|
*/
|
|
4717
4792
|
abstract hasRadiance(): boolean;
|
|
4793
|
+
/**
|
|
4794
|
+
* Returns whether this environment lighting supports sheen reflective light
|
|
4795
|
+
*/
|
|
4796
|
+
abstract hasSheenRadiance(): boolean;
|
|
4718
4797
|
/**
|
|
4719
4798
|
* Returns whether this environment lighting supports diffuse light
|
|
4720
4799
|
*/
|
|
@@ -4730,7 +4809,7 @@ declare class EnvShIBL extends EnvironmentLighting {
|
|
|
4730
4809
|
* @param radianceMap - The radiance map
|
|
4731
4810
|
* @param irradianceSH - The irradiance SH
|
|
4732
4811
|
*/
|
|
4733
|
-
constructor(radianceMap?: TextureCube, irradianceSH?: GPUDataBuffer, irradianceSHFB?: FrameBuffer);
|
|
4812
|
+
constructor(radianceMap?: TextureCube, irradianceSH?: GPUDataBuffer, irradianceSHFB?: FrameBuffer, sheenRadianceMap?: TextureCube);
|
|
4734
4813
|
/**
|
|
4735
4814
|
* {@inheritDoc EnvironmentLighting.getType}
|
|
4736
4815
|
* @override
|
|
@@ -4739,6 +4818,9 @@ declare class EnvShIBL extends EnvironmentLighting {
|
|
|
4739
4818
|
/** The radiance map */
|
|
4740
4819
|
get radianceMap(): Nullable<TextureCube<unknown>>;
|
|
4741
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>>);
|
|
4742
4824
|
/** The irradiance sh coeffecients */
|
|
4743
4825
|
get irradianceSH(): Nullable<GPUDataBuffer<unknown>>;
|
|
4744
4826
|
set irradianceSH(value: Nullable<GPUDataBuffer<unknown>>);
|
|
@@ -4763,6 +4845,11 @@ declare class EnvShIBL extends EnvironmentLighting {
|
|
|
4763
4845
|
* @override
|
|
4764
4846
|
*/
|
|
4765
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;
|
|
4766
4853
|
/**
|
|
4767
4854
|
* {@inheritDoc EnvironmentLighting.getIrradiance}
|
|
4768
4855
|
* @override
|
|
@@ -4773,6 +4860,11 @@ declare class EnvShIBL extends EnvironmentLighting {
|
|
|
4773
4860
|
* @override
|
|
4774
4861
|
*/
|
|
4775
4862
|
hasRadiance(): boolean;
|
|
4863
|
+
/**
|
|
4864
|
+
* {@inheritDoc EnvironmentLighting.hasSheenRadiance}
|
|
4865
|
+
* @override
|
|
4866
|
+
*/
|
|
4867
|
+
hasSheenRadiance(): boolean;
|
|
4776
4868
|
/**
|
|
4777
4869
|
* {@inheritDoc EnvironmentLighting.hasIrradiance}
|
|
4778
4870
|
* @override
|
|
@@ -4817,6 +4909,11 @@ declare class EnvConstantAmbient extends EnvironmentLighting {
|
|
|
4817
4909
|
* @override
|
|
4818
4910
|
*/
|
|
4819
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;
|
|
4820
4917
|
/**
|
|
4821
4918
|
* {@inheritDoc EnvironmentLighting.getIrradiance}
|
|
4822
4919
|
* @override
|
|
@@ -4827,6 +4924,11 @@ declare class EnvConstantAmbient extends EnvironmentLighting {
|
|
|
4827
4924
|
* @override
|
|
4828
4925
|
*/
|
|
4829
4926
|
hasRadiance(): boolean;
|
|
4927
|
+
/**
|
|
4928
|
+
* {@inheritDoc EnvironmentLighting.hasSheenRadiance}
|
|
4929
|
+
* @override
|
|
4930
|
+
*/
|
|
4931
|
+
hasSheenRadiance(): boolean;
|
|
4830
4932
|
/**
|
|
4831
4933
|
* {@inheritDoc EnvironmentLighting.hasIrradiance}
|
|
4832
4934
|
* @override
|
|
@@ -4870,6 +4972,11 @@ declare class EnvHemisphericAmbient extends EnvironmentLighting {
|
|
|
4870
4972
|
* @override
|
|
4871
4973
|
*/
|
|
4872
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;
|
|
4873
4980
|
/**
|
|
4874
4981
|
* {@inheritDoc EnvironmentLighting.getIrradiance}
|
|
4875
4982
|
* @override
|
|
@@ -4880,6 +4987,11 @@ declare class EnvHemisphericAmbient extends EnvironmentLighting {
|
|
|
4880
4987
|
* @override
|
|
4881
4988
|
*/
|
|
4882
4989
|
hasRadiance(): boolean;
|
|
4990
|
+
/**
|
|
4991
|
+
* {@inheritDoc EnvironmentLighting.hasSheenRadiance}
|
|
4992
|
+
* @override
|
|
4993
|
+
*/
|
|
4994
|
+
hasSheenRadiance(): boolean;
|
|
4883
4995
|
/**
|
|
4884
4996
|
* {@inheritDoc EnvironmentLighting.hasIrradiance}
|
|
4885
4997
|
* @override
|
|
@@ -5633,6 +5745,8 @@ declare class CullVisitor implements Visitor<SceneNode | OctreeNode> {
|
|
|
5633
5745
|
*/
|
|
5634
5746
|
visit(target: SceneNode | OctreeNode): boolean;
|
|
5635
5747
|
visitSprite(node: Sprite): boolean;
|
|
5748
|
+
visitMSDFText(node: MSDFText): boolean;
|
|
5749
|
+
visitMSDFTextSprite(node: MSDFTextSprite): boolean;
|
|
5636
5750
|
}
|
|
5637
5751
|
|
|
5638
5752
|
/**
|
|
@@ -8111,6 +8225,7 @@ declare class EnvLightWrapper extends Disposable {
|
|
|
8111
8225
|
private readonly _ambientDown;
|
|
8112
8226
|
private readonly _ambientUp;
|
|
8113
8227
|
private readonly _radianceMap;
|
|
8228
|
+
private readonly _sheenRadianceMap;
|
|
8114
8229
|
private readonly _irradianceMap;
|
|
8115
8230
|
private readonly _irradianceSH;
|
|
8116
8231
|
private readonly _irradianceSHFB;
|
|
@@ -8131,6 +8246,9 @@ declare class EnvLightWrapper extends Disposable {
|
|
|
8131
8246
|
/** Radiance map for environment light type ibl */
|
|
8132
8247
|
get radianceMap(): Nullable<TextureCube<unknown>>;
|
|
8133
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>>);
|
|
8134
8252
|
/** Irradiance SH buffer for environment light type ibl */
|
|
8135
8253
|
get irradianceSH(): Nullable<GPUDataBuffer<unknown>>;
|
|
8136
8254
|
set irradianceSH(value: Nullable<GPUDataBuffer<unknown>>);
|
|
@@ -8548,8 +8666,6 @@ type MorphInfo = {
|
|
|
8548
8666
|
* @public
|
|
8549
8667
|
*/
|
|
8550
8668
|
interface Drawable {
|
|
8551
|
-
/** Gets the display name of the drawable object (for debugging/UI). */
|
|
8552
|
-
getName(): string;
|
|
8553
8669
|
/** Unique, stable identifier for the drawable, used in caches and picking. */
|
|
8554
8670
|
getDrawableId(): number;
|
|
8555
8671
|
/** Returns the owning scene node (transform and hierarchy). */
|
|
@@ -8712,10 +8828,10 @@ declare abstract class SkeletonModifier {
|
|
|
8712
8828
|
* Implementations should modify joint transforms and blend with the current state
|
|
8713
8829
|
* using the processor's weight.
|
|
8714
8830
|
*
|
|
8715
|
-
* @param skeleton - The
|
|
8831
|
+
* @param skeleton - The shared rig to process
|
|
8716
8832
|
* @param deltaTime - Time elapsed since last frame (in seconds)
|
|
8717
8833
|
*/
|
|
8718
|
-
abstract apply(skeleton:
|
|
8834
|
+
abstract apply(skeleton: SkeletonRig, deltaTime: number): void;
|
|
8719
8835
|
/**
|
|
8720
8836
|
* Reset the processor to its initial state.
|
|
8721
8837
|
*
|
|
@@ -8828,11 +8944,69 @@ type HumanoidJointMapping<T extends {
|
|
|
8828
8944
|
leftHand?: Record<HumanoidHandRig, T>;
|
|
8829
8945
|
rightHand?: Record<HumanoidHandRig, T>;
|
|
8830
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
|
+
}
|
|
8831
9004
|
/**
|
|
8832
|
-
*
|
|
9005
|
+
* Skin binding for skinned animation.
|
|
8833
9006
|
*
|
|
8834
9007
|
* Responsibilities:
|
|
8835
|
-
* -
|
|
9008
|
+
* - References a shared SkeletonRig.
|
|
9009
|
+
* - Maintains inverse bind and current skinning matrices for one skin.
|
|
8836
9010
|
* - Provides a texture containing joint matrices for GPU skinning.
|
|
8837
9011
|
* - Applies skinning state to associated meshes each frame.
|
|
8838
9012
|
* - Computes animated axis-aligned bounding boxes using representative skinned vertices.
|
|
@@ -8844,25 +9018,24 @@ type HumanoidJointMapping<T extends {
|
|
|
8844
9018
|
* and `_jointOffsets[1]` (previous).
|
|
8845
9019
|
*
|
|
8846
9020
|
* Usage:
|
|
8847
|
-
* - Construct with
|
|
9021
|
+
* - Construct with a rig, bind data, meshes and submesh bounding info.
|
|
8848
9022
|
* - Call `apply()` each frame to update joint texture, bind to meshes, and update bounds.
|
|
8849
9023
|
* - Call `reset()` to clear skinning on meshes.
|
|
8850
9024
|
*
|
|
8851
9025
|
* @public
|
|
8852
9026
|
*/
|
|
8853
|
-
declare class
|
|
9027
|
+
declare class SkinBinding extends Disposable {
|
|
8854
9028
|
/**
|
|
8855
|
-
* Create a
|
|
9029
|
+
* Create a skin binding instance.
|
|
8856
9030
|
*
|
|
9031
|
+
* @param rig - Shared skeleton rig that owns animated joint transforms.
|
|
8857
9032
|
* @param joints - Joint scene nodes (one per joint), ordered to match skin data.
|
|
8858
9033
|
* @param inverseBindMatrices - Inverse bind matrices for each joint.
|
|
8859
9034
|
* @param bindPoseMatrices - Bind pose matrices for each joint (model-space).
|
|
8860
9035
|
*/
|
|
8861
|
-
constructor(
|
|
8862
|
-
|
|
8863
|
-
|
|
8864
|
-
position: Vector3;
|
|
8865
|
-
}[]);
|
|
9036
|
+
constructor(rig: SkeletonRig, inverseBindMatrices: Matrix4x4[], joints?: SceneNode[], bindPose?: SkeletonBindPose[]);
|
|
9037
|
+
static findSkeletonById(id: string): Nullable<SkinBinding>;
|
|
9038
|
+
get rig(): SkeletonRig;
|
|
8866
9039
|
/** Gets joint nodes */
|
|
8867
9040
|
get joints(): SceneNode[];
|
|
8868
9041
|
/** Gets the humanoid joint mapping */
|
|
@@ -8904,6 +9077,7 @@ declare class Skeleton extends Disposable {
|
|
|
8904
9077
|
* - Clears matrix arrays and joint references.
|
|
8905
9078
|
*/
|
|
8906
9079
|
protected onDispose(): void;
|
|
9080
|
+
private _syncJointMatrixArray;
|
|
8907
9081
|
/**
|
|
8908
9082
|
* Build representative skinned bounding data for a submesh.
|
|
8909
9083
|
*
|
|
@@ -8923,7 +9097,6 @@ declare class Skeleton extends Disposable {
|
|
|
8923
9097
|
blendIndices: TypedArray;
|
|
8924
9098
|
weights: TypedArray;
|
|
8925
9099
|
}): SkinnedBoundingBox;
|
|
8926
|
-
private findRootJoint;
|
|
8927
9100
|
private static normalizeHumanoidJointName;
|
|
8928
9101
|
private static getHumanoidJointNodeDepth;
|
|
8929
9102
|
private static collectHumanoidJointNodeInfos;
|
|
@@ -8988,6 +9161,97 @@ declare class Skeleton extends Disposable {
|
|
|
8988
9161
|
children: T[];
|
|
8989
9162
|
}>(root: T): HumanoidJointMapping<T> | null;
|
|
8990
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;
|
|
8991
9255
|
|
|
8992
9256
|
/**
|
|
8993
9257
|
* Options for playing an animation.
|
|
@@ -9042,6 +9306,45 @@ type StopAnimationOptions = {
|
|
|
9042
9306
|
*/
|
|
9043
9307
|
fadeOut?: number;
|
|
9044
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
|
+
};
|
|
9045
9348
|
/**
|
|
9046
9349
|
* Animation set
|
|
9047
9350
|
*
|
|
@@ -9080,7 +9383,17 @@ declare class AnimationSet extends Disposable implements IDisposable {
|
|
|
9080
9383
|
/**
|
|
9081
9384
|
* The skeletons used by animations in this set.
|
|
9082
9385
|
*/
|
|
9083
|
-
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;
|
|
9084
9397
|
/**
|
|
9085
9398
|
* Retrieve an animation clip by name.
|
|
9086
9399
|
*
|
|
@@ -9118,7 +9431,7 @@ declare class AnimationSet extends Disposable implements IDisposable {
|
|
|
9118
9431
|
* - Enforce repeat limits and apply fade-out termination if configured.
|
|
9119
9432
|
* - For each animated target, blend active tracks (weighted by clip weight × fade-in × fade-out)
|
|
9120
9433
|
* and apply the resulting state to the target.
|
|
9121
|
-
* - Apply
|
|
9434
|
+
* - Apply shared rig modifiers once, then update skin binding palettes.
|
|
9122
9435
|
*
|
|
9123
9436
|
* @param deltaInSeconds - Time step in seconds since last update.
|
|
9124
9437
|
*/
|
|
@@ -9174,6 +9487,19 @@ declare class AnimationSet extends Disposable implements IDisposable {
|
|
|
9174
9487
|
* @param options - Optional fade-out configuration.
|
|
9175
9488
|
*/
|
|
9176
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;
|
|
9177
9503
|
/**
|
|
9178
9504
|
* Copy a humanoid animation clip from another AnimationSet into this one via humanoid rig mapping.
|
|
9179
9505
|
*
|
|
@@ -9187,7 +9513,8 @@ declare class AnimationSet extends Disposable implements IDisposable {
|
|
|
9187
9513
|
* @param targetName - Name for the new clip in this set. Defaults to `animationName`.
|
|
9188
9514
|
* @returns The newly created AnimationClip, or null on failure.
|
|
9189
9515
|
*/
|
|
9190
|
-
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;
|
|
9191
9518
|
/**
|
|
9192
9519
|
* Copy an animation clip from another AnimationSet into this one.
|
|
9193
9520
|
*
|
|
@@ -9202,9 +9529,13 @@ declare class AnimationSet extends Disposable implements IDisposable {
|
|
|
9202
9529
|
* skeleton structure matching.
|
|
9203
9530
|
* @returns The newly created AnimationClip, or null on failure.
|
|
9204
9531
|
*
|
|
9205
|
-
* @deprecated Use
|
|
9532
|
+
* @deprecated Use AnimationSet.copyHumanoidAnimationFrom instead.
|
|
9206
9533
|
*/
|
|
9207
9534
|
copyAnimationFrom(sourceSet: AnimationSet, animationName: string, targetName?: string, excludeJoint?: (jointName: string) => boolean): AnimationClip | null;
|
|
9535
|
+
/**
|
|
9536
|
+
* Reset all skeleton modifiers
|
|
9537
|
+
*/
|
|
9538
|
+
resetSkeletonModifiers(): void;
|
|
9208
9539
|
/**
|
|
9209
9540
|
* Dispose the animation set and release owned resources.
|
|
9210
9541
|
*
|
|
@@ -9264,6 +9595,10 @@ declare abstract class AnimationTrack<StateType = unknown> {
|
|
|
9264
9595
|
*/
|
|
9265
9596
|
get jointIndex(): number;
|
|
9266
9597
|
set jointIndex(index: number);
|
|
9598
|
+
/**
|
|
9599
|
+
* Clone this animation track
|
|
9600
|
+
*/
|
|
9601
|
+
abstract clone(): this;
|
|
9267
9602
|
/**
|
|
9268
9603
|
* Reset the track to its initial state for the given target.
|
|
9269
9604
|
*
|
|
@@ -9447,6 +9782,8 @@ declare class NodeTranslationTrack extends AnimationTrack<Vector3> {
|
|
|
9447
9782
|
}[], embedded?: boolean);
|
|
9448
9783
|
get interpolator(): Interpolator;
|
|
9449
9784
|
set interpolator(interp: Interpolator);
|
|
9785
|
+
/** {@inheritDoc AnimationTrack.clone} */
|
|
9786
|
+
clone(): this;
|
|
9450
9787
|
/** {@inheritDoc AnimationTrack.calculateState} */
|
|
9451
9788
|
calculateState(target: object, currentTime: number): Vector3;
|
|
9452
9789
|
/** {@inheritDoc AnimationTrack.applyState} */
|
|
@@ -9488,6 +9825,8 @@ declare class NodeRotationTrack extends AnimationTrack<Quaternion> {
|
|
|
9488
9825
|
}[], embedded?: boolean);
|
|
9489
9826
|
get interpolator(): Interpolator;
|
|
9490
9827
|
set interpolator(interp: Interpolator);
|
|
9828
|
+
/** {@inheritDoc AnimationTrack.clone} */
|
|
9829
|
+
clone(): this;
|
|
9491
9830
|
/** {@inheritDoc AnimationTrack.calculateState} */
|
|
9492
9831
|
calculateState(target: object, currentTime: number): Quaternion;
|
|
9493
9832
|
/** {@inheritDoc AnimationTrack.applyState} */
|
|
@@ -9529,6 +9868,8 @@ declare class NodeEulerRotationTrack extends AnimationTrack<Quaternion> {
|
|
|
9529
9868
|
}[], embedded?: boolean);
|
|
9530
9869
|
get interpolator(): Interpolator;
|
|
9531
9870
|
set interpolator(interp: Interpolator);
|
|
9871
|
+
/** {@inheritDoc AnimationTrack.clone} */
|
|
9872
|
+
clone(): this;
|
|
9532
9873
|
/** {@inheritDoc AnimationTrack.calculateState} */
|
|
9533
9874
|
calculateState(target: object, currentTime: number): Quaternion;
|
|
9534
9875
|
/** {@inheritDoc AnimationTrack.applyState} */
|
|
@@ -9570,6 +9911,8 @@ declare class NodeScaleTrack extends AnimationTrack<Vector3> {
|
|
|
9570
9911
|
}[], embedded?: boolean);
|
|
9571
9912
|
get interpolator(): Interpolator;
|
|
9572
9913
|
set interpolator(interp: Interpolator);
|
|
9914
|
+
/** {@inheritDoc AnimationTrack.clone} */
|
|
9915
|
+
clone(): this;
|
|
9573
9916
|
/** {@inheritDoc AnimationTrack.calculateState} */
|
|
9574
9917
|
calculateState(target: object, currentTime: number): Vector3;
|
|
9575
9918
|
/** {@inheritDoc AnimationTrack.applyState} */
|
|
@@ -9621,6 +9964,8 @@ declare class PropertyTrack extends AnimationTrack<number[]> {
|
|
|
9621
9964
|
* @throws Error if the property type is unsupported for animation.
|
|
9622
9965
|
*/
|
|
9623
9966
|
constructor(prop: PropertyAccessor, value?: number[], embedded?: boolean);
|
|
9967
|
+
/** {@inheritDoc AnimationTrack.clone} */
|
|
9968
|
+
clone(): this;
|
|
9624
9969
|
/**
|
|
9625
9970
|
* The primary interpolator for the property components.
|
|
9626
9971
|
*
|
|
@@ -9683,6 +10028,7 @@ declare class MorphTargetTrack extends AnimationTrack<MorphState> {
|
|
|
9683
10028
|
* Create an instance of MorphTargetTrack from morph parameters
|
|
9684
10029
|
*/
|
|
9685
10030
|
constructor(interpolator?: Interpolator, defaultMorphWeights?: number[], targetBox?: BoundingBox[], originBox?: AABB, embedded?: boolean);
|
|
10031
|
+
clone(): this;
|
|
9686
10032
|
get interpolator(): Nullable<Interpolator>;
|
|
9687
10033
|
set interpolator(interp: Nullable<Interpolator>);
|
|
9688
10034
|
get boundingBox(): Nullable<BoundingBox[]>;
|
|
@@ -9776,6 +10122,7 @@ declare class FixedGeometryCacheTrack extends AnimationTrack<FixedGeometryCacheS
|
|
|
9776
10122
|
private _state;
|
|
9777
10123
|
private readonly _meshBindings;
|
|
9778
10124
|
constructor(times?: Float32Array, frames?: FixedGeometryCacheFrame[], embedded?: boolean);
|
|
10125
|
+
clone(): this;
|
|
9779
10126
|
get times(): Float32Array;
|
|
9780
10127
|
set times(value: Float32Array);
|
|
9781
10128
|
get frames(): FixedGeometryCacheFrame[];
|
|
@@ -9831,6 +10178,7 @@ declare class PCAGeometryCacheTrack extends AnimationTrack<PCAGeometryCacheState
|
|
|
9831
10178
|
private _state;
|
|
9832
10179
|
private readonly _meshBindings;
|
|
9833
10180
|
constructor(data?: Partial<PCAGeometryCacheTrackData>, embedded?: boolean);
|
|
10181
|
+
clone(): this;
|
|
9834
10182
|
get times(): Float32Array;
|
|
9835
10183
|
set times(value: Float32Array);
|
|
9836
10184
|
get bounds(): [number, number, number, number, number, number][];
|
|
@@ -10112,7 +10460,7 @@ declare class IKModifier<Solver extends IKSolver = IKSolver> extends SkeletonMod
|
|
|
10112
10460
|
/**
|
|
10113
10461
|
* Apply IK solving to skeleton joints.
|
|
10114
10462
|
*/
|
|
10115
|
-
apply(_skeleton:
|
|
10463
|
+
apply(_skeleton: SkeletonRig, _deltaTime: number): void;
|
|
10116
10464
|
/**
|
|
10117
10465
|
* Reset the IK solver to initial state.
|
|
10118
10466
|
*/
|
|
@@ -10643,7 +10991,7 @@ declare class SpringModifier extends SkeletonModifier {
|
|
|
10643
10991
|
/**
|
|
10644
10992
|
* Apply spring physics to skeleton joints.
|
|
10645
10993
|
*/
|
|
10646
|
-
apply(_skeleton:
|
|
10994
|
+
apply(_skeleton: SkeletonRig, deltaTime: number): void;
|
|
10647
10995
|
/**
|
|
10648
10996
|
* Reset the spring system to initial state.
|
|
10649
10997
|
*/
|
|
@@ -11695,6 +12043,8 @@ interface ColliderRW {
|
|
|
11695
12043
|
localBoundsMax: Vector3;
|
|
11696
12044
|
/** Scaled radius for current frame (base radius × world scale) */
|
|
11697
12045
|
radius: number;
|
|
12046
|
+
/** Scaled capsule height for current frame (base height times world scale) */
|
|
12047
|
+
height: number;
|
|
11698
12048
|
/** Whether this collider is active (0 = disabled, 1 = enabled) */
|
|
11699
12049
|
enabled: number;
|
|
11700
12050
|
}
|
|
@@ -11849,6 +12199,8 @@ interface TransformAccess {
|
|
|
11849
12199
|
setLocalRotation(q: Quaternion): void;
|
|
11850
12200
|
/** Write local scale */
|
|
11851
12201
|
setLocalScale(s: Vector3): void;
|
|
12202
|
+
/** Original scene object backing this adapter, when available for serialization. */
|
|
12203
|
+
readonly node?: SceneNode;
|
|
11852
12204
|
}
|
|
11853
12205
|
/**
|
|
11854
12206
|
* Bone hierarchy node for constraint building.
|
|
@@ -12212,6 +12564,12 @@ interface ControllerConfig {
|
|
|
12212
12564
|
/** Which constraint types to generate and their collision flags */
|
|
12213
12565
|
constraintOptions: ConstraintBuildOptions;
|
|
12214
12566
|
}
|
|
12567
|
+
/**
|
|
12568
|
+
* Partial runtime update for JointDynamics controller configuration.
|
|
12569
|
+
*
|
|
12570
|
+
* @public
|
|
12571
|
+
*/
|
|
12572
|
+
type ControllerConfigUpdate = DeepPartial<ControllerConfig, 2>;
|
|
12215
12573
|
/**
|
|
12216
12574
|
* Stable runtime handle for a JointDynamics collider.
|
|
12217
12575
|
* @public
|
|
@@ -12236,6 +12594,33 @@ interface JointDynamicsGrabberHandle {
|
|
|
12236
12594
|
readonly type: 'grabber';
|
|
12237
12595
|
readonly id: number;
|
|
12238
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
|
+
}
|
|
12239
12624
|
/**
|
|
12240
12625
|
* High-level controller for joint dynamics simulation.
|
|
12241
12626
|
*
|
|
@@ -12266,6 +12651,10 @@ declare class JointDynamicsSystemController {
|
|
|
12266
12651
|
private _previousRootPosition;
|
|
12267
12652
|
private _previousRootRotation;
|
|
12268
12653
|
private _rootTransform;
|
|
12654
|
+
private _rootPoints;
|
|
12655
|
+
private _allPoints;
|
|
12656
|
+
private _parentMap;
|
|
12657
|
+
private _maxPointDepth;
|
|
12269
12658
|
private _pointTransforms;
|
|
12270
12659
|
private _colliderTransforms;
|
|
12271
12660
|
private _grabberTransforms;
|
|
@@ -12275,6 +12664,10 @@ declare class JointDynamicsSystemController {
|
|
|
12275
12664
|
private _colliderHandleToIndex;
|
|
12276
12665
|
private _flatPlaneHandleToIndex;
|
|
12277
12666
|
private _grabberHandleToIndex;
|
|
12667
|
+
private _baseSystemScale;
|
|
12668
|
+
private _currentSystemScale;
|
|
12669
|
+
private _basePointParentLengths;
|
|
12670
|
+
private _baseConstraintLengths;
|
|
12278
12671
|
private _nextColliderHandleId;
|
|
12279
12672
|
private _nextFlatPlaneHandleId;
|
|
12280
12673
|
private _nextGrabberHandleId;
|
|
@@ -12320,6 +12713,42 @@ declare class JointDynamicsSystemController {
|
|
|
12320
12713
|
position: Vector3;
|
|
12321
12714
|
rotation: Quaternion;
|
|
12322
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;
|
|
12323
12752
|
/**
|
|
12324
12753
|
* Compensates for teleportation by resetting the previous root transform to the current one.
|
|
12325
12754
|
* Call this after a character warp or teleport to avoid a large root-motion impulse on the
|
|
@@ -12501,6 +12930,7 @@ declare class JointDynamicsSystemController {
|
|
|
12501
12930
|
/** Gets the number of runtime grabbers. */
|
|
12502
12931
|
get grabberCount(): number;
|
|
12503
12932
|
private _computeBlendRatio;
|
|
12933
|
+
private _refreshCachedSimulationConfig;
|
|
12504
12934
|
private _getColliderIndex;
|
|
12505
12935
|
private _getGrabberIndex;
|
|
12506
12936
|
private _getFlatPlaneIndex;
|
|
@@ -12509,9 +12939,17 @@ declare class JointDynamicsSystemController {
|
|
|
12509
12939
|
private _rebuildFlatPlaneHandleMap;
|
|
12510
12940
|
private _rebuildActiveFlatPlanes;
|
|
12511
12941
|
private _rebuildGrabberHandleMap;
|
|
12942
|
+
private _rebuildConstraints;
|
|
12943
|
+
private _getSystemUniformScale;
|
|
12944
|
+
private _updateScaleDependentParameters;
|
|
12945
|
+
private _refreshPointParameters;
|
|
12512
12946
|
private _createPointR;
|
|
12947
|
+
private _applyConfigToPoint;
|
|
12513
12948
|
private _createPointRW;
|
|
12514
12949
|
private _createColliderRW;
|
|
12950
|
+
private _cloneControllerConfig;
|
|
12951
|
+
private _cloneInterpolatorScalar;
|
|
12952
|
+
private _sanitizeControllerConfig;
|
|
12515
12953
|
}
|
|
12516
12954
|
|
|
12517
12955
|
/**
|
|
@@ -12522,7 +12960,7 @@ declare class JointDynamicsSystemController {
|
|
|
12522
12960
|
*
|
|
12523
12961
|
* @public
|
|
12524
12962
|
*/
|
|
12525
|
-
declare function createTransformAccess(obj: SceneNode): TransformAccess;
|
|
12963
|
+
declare function createTransformAccess(obj: SceneNode, exposeNode?: boolean): TransformAccess;
|
|
12526
12964
|
/**
|
|
12527
12965
|
* Describes the bone chains simulated by a JointDynamicsSystem.
|
|
12528
12966
|
*
|
|
@@ -12562,6 +13000,8 @@ type JointDynamicSystemConfig = {
|
|
|
12562
13000
|
*/
|
|
12563
13001
|
declare class JointDynamicsSystem {
|
|
12564
13002
|
private _controller;
|
|
13003
|
+
private _chainConfig;
|
|
13004
|
+
private _bindPose;
|
|
12565
13005
|
/**
|
|
12566
13006
|
* Create a joint dynamics system for one or more bone chains.
|
|
12567
13007
|
*
|
|
@@ -12589,10 +13029,30 @@ declare class JointDynamicsSystem {
|
|
|
12589
13029
|
* @returns The underlying joint dynamics controller.
|
|
12590
13030
|
*/
|
|
12591
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;
|
|
12592
13052
|
/**
|
|
12593
13053
|
* Add a fully configured collider at runtime.
|
|
12594
13054
|
*
|
|
12595
|
-
* 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.
|
|
12596
13056
|
* If no transform is supplied, the collider is created at the identity transform.
|
|
12597
13057
|
*
|
|
12598
13058
|
* @param r - Read-only collider parameters.
|
|
@@ -12760,7 +13220,7 @@ declare class JointDynamicsModifier extends SkeletonModifier {
|
|
|
12760
13220
|
/**
|
|
12761
13221
|
* Apply spring physics to skeleton joints.
|
|
12762
13222
|
*/
|
|
12763
|
-
apply(_skeleton:
|
|
13223
|
+
apply(_skeleton: SkeletonRig, deltaTime: number): void;
|
|
12764
13224
|
/**
|
|
12765
13225
|
* Reset the spring system to initial state.
|
|
12766
13226
|
*/
|
|
@@ -12776,23 +13236,33 @@ declare class JointDynamicsModifier extends SkeletonModifier {
|
|
|
12776
13236
|
* @public
|
|
12777
13237
|
*/
|
|
12778
13238
|
type MeshUpdateCallback = (frameId: number, elapsedInSeconds: number, deltaInSeconds: number) => void;
|
|
12779
|
-
|
|
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
|
+
}
|
|
13248
|
+
declare const MeshBase: typeof GraphNode & _zephyr3d_base.GenericConstructor<{
|
|
12780
13249
|
getNode(): SceneNode;
|
|
12781
|
-
} & _zephyr3d_base.Disposable> & (new (...args: any[]) => IMixinDrawable)
|
|
13250
|
+
} & _zephyr3d_base.Disposable> & (new (...args: any[]) => IMixinDrawable) & (new (...args: any[]) => _zephyr3d_base.IEventTarget<{
|
|
13251
|
+
primitive_changed: [primitive: Nullable<Primitive>];
|
|
13252
|
+
material_changed: [material: Nullable<MeshMaterial>];
|
|
13253
|
+
} & {
|
|
13254
|
+
dispose: [];
|
|
13255
|
+
}>);
|
|
12782
13256
|
/**
|
|
12783
13257
|
* Mesh node
|
|
12784
13258
|
* @public
|
|
12785
13259
|
*/
|
|
12786
|
-
declare class Mesh extends
|
|
13260
|
+
declare class Mesh extends MeshBase implements BatchDrawable {
|
|
12787
13261
|
/**
|
|
12788
13262
|
* Creates an instance of mesh node
|
|
12789
13263
|
* @param scene - The scene to which the mesh node belongs
|
|
12790
13264
|
*/
|
|
12791
13265
|
constructor(scene: Scene, primitive?: Primitive, material?: MeshMaterial);
|
|
12792
|
-
/**
|
|
12793
|
-
* {@inheritDoc Drawable.getName}
|
|
12794
|
-
*/
|
|
12795
|
-
getName(): string;
|
|
12796
13266
|
/**
|
|
12797
13267
|
* Returns the batch instance ID for the current render pass.
|
|
12798
13268
|
*/
|
|
@@ -12808,15 +13278,17 @@ declare class Mesh extends Mesh_base implements BatchDrawable {
|
|
|
12808
13278
|
setPickTarget(node: SceneNode, label?: string): void;
|
|
12809
13279
|
get skeletonName(): string;
|
|
12810
13280
|
set skeletonName(name: string);
|
|
13281
|
+
get skinBindingName(): string;
|
|
13282
|
+
set skinBindingName(name: string);
|
|
12811
13283
|
/** Wether the mesh node casts shadows */
|
|
12812
13284
|
get castShadow(): boolean;
|
|
12813
13285
|
set castShadow(b: boolean);
|
|
12814
13286
|
/** Primitive of the mesh */
|
|
12815
|
-
get primitive():
|
|
12816
|
-
set primitive(prim:
|
|
13287
|
+
get primitive(): Primitive | null;
|
|
13288
|
+
set primitive(prim: Primitive | null);
|
|
12817
13289
|
/** Material of the mesh */
|
|
12818
|
-
get material():
|
|
12819
|
-
set material(m:
|
|
13290
|
+
get material(): MeshMaterial | null;
|
|
13291
|
+
set material(m: MeshMaterial | null);
|
|
12820
13292
|
/**
|
|
12821
13293
|
* {@inheritDoc SceneNode.isMesh}
|
|
12822
13294
|
*/
|
|
@@ -12830,6 +13302,15 @@ declare class Mesh extends Mesh_base implements BatchDrawable {
|
|
|
12830
13302
|
* Gets the bounding box for animation
|
|
12831
13303
|
*/
|
|
12832
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>;
|
|
12833
13314
|
/**
|
|
12834
13315
|
* Sets the texture that contains the bone matrices for skeletal animation
|
|
12835
13316
|
* @param matrices - The texture that contains the bone matrices
|
|
@@ -12871,6 +13352,12 @@ declare class Mesh extends Mesh_base implements BatchDrawable {
|
|
|
12871
13352
|
* @returns The name of the morph target, or null if not found
|
|
12872
13353
|
*/
|
|
12873
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;
|
|
12874
13361
|
/**
|
|
12875
13362
|
* Update morph target weight
|
|
12876
13363
|
*
|
|
@@ -12878,6 +13365,13 @@ declare class Mesh extends Mesh_base implements BatchDrawable {
|
|
|
12878
13365
|
* @param weight - The weight of the morph target
|
|
12879
13366
|
*/
|
|
12880
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;
|
|
12881
13375
|
/**
|
|
12882
13376
|
* Get morph target weight
|
|
12883
13377
|
*
|
|
@@ -12886,7 +13380,7 @@ declare class Mesh extends Mesh_base implements BatchDrawable {
|
|
|
12886
13380
|
*/
|
|
12887
13381
|
getMorphWeight(name: string): number;
|
|
12888
13382
|
/**
|
|
12889
|
-
* Update morph target
|
|
13383
|
+
* Update morph target weights
|
|
12890
13384
|
*
|
|
12891
13385
|
* @param weight - The morph target weights. The length must not exceed the mesh's morph target count.
|
|
12892
13386
|
*/
|
|
@@ -12920,11 +13414,11 @@ declare class Mesh extends Mesh_base implements BatchDrawable {
|
|
|
12920
13414
|
/**
|
|
12921
13415
|
* {@inheritDoc Drawable.getMaterial}
|
|
12922
13416
|
*/
|
|
12923
|
-
getMaterial():
|
|
13417
|
+
getMaterial(): MeshMaterial | null;
|
|
12924
13418
|
/**
|
|
12925
13419
|
* {@inheritDoc Drawable.getPrimitive}
|
|
12926
13420
|
*/
|
|
12927
|
-
getPrimitive():
|
|
13421
|
+
getPrimitive(): Primitive | null;
|
|
12928
13422
|
/**
|
|
12929
13423
|
* {@inheritDoc Drawable.getBoneMatrices}
|
|
12930
13424
|
*/
|
|
@@ -12951,9 +13445,7 @@ declare class BatchGroup extends GraphNode {
|
|
|
12951
13445
|
* @param scene - The scene to which the mesh node belongs
|
|
12952
13446
|
*/
|
|
12953
13447
|
constructor(scene: Scene);
|
|
12954
|
-
/**
|
|
12955
|
-
* {@inheritDoc Drawable.getName}
|
|
12956
|
-
*/
|
|
13448
|
+
/** Gets the batch group name. */
|
|
12957
13449
|
getName(): string;
|
|
12958
13450
|
/**
|
|
12959
13451
|
* {@inheritDoc SceneNode.isBatchGroup}
|
|
@@ -13186,33 +13678,88 @@ declare class NamedObject {
|
|
|
13186
13678
|
constructor(name: string);
|
|
13187
13679
|
}
|
|
13188
13680
|
/**
|
|
13189
|
-
* Texture
|
|
13681
|
+
* Texture sampler settings for model loading.
|
|
13190
13682
|
* @public
|
|
13191
13683
|
*/
|
|
13192
|
-
interface
|
|
13193
|
-
|
|
13194
|
-
|
|
13195
|
-
|
|
13196
|
-
|
|
13684
|
+
interface AssetSamplerInfo {
|
|
13685
|
+
wrapS: TextureAddressMode;
|
|
13686
|
+
wrapT: TextureAddressMode;
|
|
13687
|
+
magFilter: TextureFilterMode;
|
|
13688
|
+
mipFilter: TextureFilterMode;
|
|
13689
|
+
minFilter: TextureFilterMode;
|
|
13197
13690
|
}
|
|
13198
13691
|
/**
|
|
13199
|
-
*
|
|
13692
|
+
* Image payload information for model loading.
|
|
13200
13693
|
* @public
|
|
13201
13694
|
*/
|
|
13202
|
-
interface
|
|
13203
|
-
|
|
13204
|
-
|
|
13205
|
-
|
|
13206
|
-
|
|
13207
|
-
|
|
13208
|
-
|
|
13209
|
-
|
|
13210
|
-
|
|
13211
|
-
|
|
13212
|
-
|
|
13213
|
-
|
|
13214
|
-
|
|
13215
|
-
|
|
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
|
+
}
|
|
13724
|
+
/**
|
|
13725
|
+
* Texture information for model loading
|
|
13726
|
+
* @public
|
|
13727
|
+
*/
|
|
13728
|
+
interface AssetTextureInfo {
|
|
13729
|
+
image: Nullable<AssetImageInfo>;
|
|
13730
|
+
sRGB?: boolean;
|
|
13731
|
+
sampler: Nullable<AssetSamplerInfo>;
|
|
13732
|
+
texCoord: number;
|
|
13733
|
+
transform: Nullable<Matrix4x4>;
|
|
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
|
+
}
|
|
13745
|
+
/**
|
|
13746
|
+
* Common properties of material for model loading
|
|
13747
|
+
* @public
|
|
13748
|
+
*/
|
|
13749
|
+
interface AssetMaterialCommon {
|
|
13750
|
+
vertexColor?: boolean;
|
|
13751
|
+
vertexNormal?: boolean;
|
|
13752
|
+
useTangent?: boolean;
|
|
13753
|
+
alphaMode?: 'blend' | 'mask';
|
|
13754
|
+
alphaCutoff?: number;
|
|
13755
|
+
doubleSided?: boolean;
|
|
13756
|
+
normalMap?: AssetTextureInfo;
|
|
13757
|
+
bumpScale?: number;
|
|
13758
|
+
emissiveMap?: AssetTextureInfo;
|
|
13759
|
+
emissiveColor?: Vector3;
|
|
13760
|
+
emissiveStrength?: number;
|
|
13761
|
+
occlusionMap?: AssetTextureInfo;
|
|
13762
|
+
occlusionStrength?: number;
|
|
13216
13763
|
}
|
|
13217
13764
|
/**
|
|
13218
13765
|
* Base material properties for model loading
|
|
@@ -13221,13 +13768,15 @@ interface AssetMaterialCommon {
|
|
|
13221
13768
|
interface AssetMaterial {
|
|
13222
13769
|
type: string;
|
|
13223
13770
|
common: AssetMaterialCommon;
|
|
13771
|
+
path?: string;
|
|
13772
|
+
material?: DRef<MeshMaterial>;
|
|
13224
13773
|
}
|
|
13225
13774
|
/**
|
|
13226
13775
|
* Unlit related material properties for model loading
|
|
13227
13776
|
* @public
|
|
13228
13777
|
*/
|
|
13229
13778
|
interface AssetUnlitMaterial extends AssetMaterial {
|
|
13230
|
-
diffuseMap?:
|
|
13779
|
+
diffuseMap?: AssetTextureInfo;
|
|
13231
13780
|
diffuse?: Vector4;
|
|
13232
13781
|
}
|
|
13233
13782
|
/**
|
|
@@ -13236,9 +13785,9 @@ interface AssetUnlitMaterial extends AssetMaterial {
|
|
|
13236
13785
|
*/
|
|
13237
13786
|
interface AssetMaterialSheen {
|
|
13238
13787
|
sheenColorFactor?: Vector3;
|
|
13239
|
-
sheenColorMap?:
|
|
13788
|
+
sheenColorMap?: AssetTextureInfo;
|
|
13240
13789
|
sheenRoughnessFactor?: number;
|
|
13241
|
-
sheenRoughnessMap?:
|
|
13790
|
+
sheenRoughnessMap?: AssetTextureInfo;
|
|
13242
13791
|
}
|
|
13243
13792
|
/**
|
|
13244
13793
|
* Clearcoat related material properties for model loading
|
|
@@ -13246,10 +13795,10 @@ interface AssetMaterialSheen {
|
|
|
13246
13795
|
*/
|
|
13247
13796
|
interface AssetMaterialClearcoat {
|
|
13248
13797
|
clearCoatFactor?: number;
|
|
13249
|
-
clearCoatIntensityMap?:
|
|
13798
|
+
clearCoatIntensityMap?: AssetTextureInfo;
|
|
13250
13799
|
clearCoatRoughnessFactor?: number;
|
|
13251
|
-
clearCoatRoughnessMap?:
|
|
13252
|
-
clearCoatNormalMap?:
|
|
13800
|
+
clearCoatRoughnessMap?: AssetTextureInfo;
|
|
13801
|
+
clearCoatNormalMap?: AssetTextureInfo;
|
|
13253
13802
|
}
|
|
13254
13803
|
/**
|
|
13255
13804
|
* Transmission related material properties for model loading
|
|
@@ -13257,9 +13806,9 @@ interface AssetMaterialClearcoat {
|
|
|
13257
13806
|
*/
|
|
13258
13807
|
interface AssetMaterialTransmission {
|
|
13259
13808
|
transmissionFactor?: number;
|
|
13260
|
-
transmissionMap?:
|
|
13809
|
+
transmissionMap?: AssetTextureInfo;
|
|
13261
13810
|
thicknessFactor?: number;
|
|
13262
|
-
thicknessMap?:
|
|
13811
|
+
thicknessMap?: AssetTextureInfo;
|
|
13263
13812
|
attenuationColor?: Vector3;
|
|
13264
13813
|
attenuationDistance?: number;
|
|
13265
13814
|
}
|
|
@@ -13269,11 +13818,11 @@ interface AssetMaterialTransmission {
|
|
|
13269
13818
|
*/
|
|
13270
13819
|
interface AssetMaterialIridescence {
|
|
13271
13820
|
iridescenceFactor?: number;
|
|
13272
|
-
iridescenceMap?:
|
|
13821
|
+
iridescenceMap?: AssetTextureInfo;
|
|
13273
13822
|
iridescenceIor?: number;
|
|
13274
13823
|
iridescenceThicknessMinimum?: number;
|
|
13275
13824
|
iridescenceThicknessMaximum?: number;
|
|
13276
|
-
iridescenceThicknessMap?:
|
|
13825
|
+
iridescenceThicknessMap?: AssetTextureInfo;
|
|
13277
13826
|
}
|
|
13278
13827
|
/**
|
|
13279
13828
|
* PBR related material properties for model loading
|
|
@@ -13289,11 +13838,11 @@ interface AssetPBRMaterialCommon extends AssetUnlitMaterial {
|
|
|
13289
13838
|
interface AssetPBRMaterialMR extends AssetPBRMaterialCommon {
|
|
13290
13839
|
metallic?: number;
|
|
13291
13840
|
roughness?: number;
|
|
13292
|
-
metallicMap?:
|
|
13841
|
+
metallicMap?: AssetTextureInfo;
|
|
13293
13842
|
metallicIndex?: number;
|
|
13294
13843
|
roughnessIndex?: number;
|
|
13295
|
-
specularMap?:
|
|
13296
|
-
specularColorMap?:
|
|
13844
|
+
specularMap?: AssetTextureInfo;
|
|
13845
|
+
specularColorMap?: AssetTextureInfo;
|
|
13297
13846
|
specularFactor?: Vector4;
|
|
13298
13847
|
sheen?: AssetMaterialSheen;
|
|
13299
13848
|
clearcoat?: AssetMaterialClearcoat;
|
|
@@ -13307,16 +13856,15 @@ interface AssetPBRMaterialMR extends AssetPBRMaterialCommon {
|
|
|
13307
13856
|
interface AssetPBRMaterialSG extends AssetPBRMaterialCommon {
|
|
13308
13857
|
specular?: Vector3;
|
|
13309
13858
|
glossness?: number;
|
|
13310
|
-
specularGlossnessMap?:
|
|
13859
|
+
specularGlossnessMap?: AssetTextureInfo;
|
|
13311
13860
|
}
|
|
13312
13861
|
/**
|
|
13313
13862
|
* Sub mesh data interface for model loading
|
|
13314
13863
|
* @public
|
|
13315
13864
|
*/
|
|
13316
13865
|
interface AssetSubMeshData {
|
|
13317
|
-
primitive:
|
|
13318
|
-
material:
|
|
13319
|
-
mesh?: Mesh;
|
|
13866
|
+
primitive: Nullable<AssetPrimitiveInfo>;
|
|
13867
|
+
material: Nullable<AssetMaterial>;
|
|
13320
13868
|
rawPositions: Nullable<Float32Array>;
|
|
13321
13869
|
rawBlendIndices: Nullable<TypedArray>;
|
|
13322
13870
|
rawJointWeights: Nullable<TypedArray>;
|
|
@@ -13334,9 +13882,35 @@ interface AssetSubMeshData {
|
|
|
13334
13882
|
* @public
|
|
13335
13883
|
*/
|
|
13336
13884
|
interface AssetMeshData {
|
|
13337
|
-
morphWeights?:
|
|
13885
|
+
morphWeights?: number[];
|
|
13886
|
+
morphNames?: string[];
|
|
13338
13887
|
subMeshes: AssetSubMeshData[];
|
|
13339
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
|
+
}
|
|
13340
13914
|
/**
|
|
13341
13915
|
* Animation track interface for model loading
|
|
13342
13916
|
* @public
|
|
@@ -13348,8 +13922,16 @@ interface AssetAnimationTrack {
|
|
|
13348
13922
|
defaultMorphWeights?: number[];
|
|
13349
13923
|
}
|
|
13350
13924
|
/**
|
|
13351
|
-
*
|
|
13352
|
-
*
|
|
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.
|
|
13353
13935
|
* @public
|
|
13354
13936
|
*/
|
|
13355
13937
|
interface AssetFixedGeometryCacheAnimationTrack {
|
|
@@ -13358,11 +13940,10 @@ interface AssetFixedGeometryCacheAnimationTrack {
|
|
|
13358
13940
|
codec?: 'fixed';
|
|
13359
13941
|
subMeshIndex: number;
|
|
13360
13942
|
times: Float32Array;
|
|
13361
|
-
frames:
|
|
13943
|
+
frames: AssetGeometryCacheFrame[];
|
|
13362
13944
|
}
|
|
13363
13945
|
/**
|
|
13364
|
-
* PCA-compressed geometry cache animation track
|
|
13365
|
-
*
|
|
13946
|
+
* PCA-compressed geometry cache animation track information.
|
|
13366
13947
|
* @public
|
|
13367
13948
|
*/
|
|
13368
13949
|
interface AssetPCAGeometryCacheAnimationTrack {
|
|
@@ -13381,8 +13962,7 @@ interface AssetPCAGeometryCacheAnimationTrack {
|
|
|
13381
13962
|
normalCoefficients?: Nullable<Float32Array[]>;
|
|
13382
13963
|
}
|
|
13383
13964
|
/**
|
|
13384
|
-
* Geometry cache animation track
|
|
13385
|
-
*
|
|
13965
|
+
* Geometry cache animation track information.
|
|
13386
13966
|
* @public
|
|
13387
13967
|
*/
|
|
13388
13968
|
type AssetGeometryCacheAnimationTrack = AssetFixedGeometryCacheAnimationTrack | AssetPCAGeometryCacheAnimationTrack;
|
|
@@ -13444,18 +14024,17 @@ declare class AssetHierarchyNode extends NamedObject {
|
|
|
13444
14024
|
private _mesh;
|
|
13445
14025
|
private _skeleton;
|
|
13446
14026
|
private _attachToSkeleton;
|
|
13447
|
-
private _meshAttached;
|
|
13448
14027
|
private _matrix;
|
|
13449
14028
|
private _worldMatrix;
|
|
13450
14029
|
private _weights;
|
|
13451
14030
|
private readonly _children;
|
|
13452
|
-
private readonly _instances
|
|
14031
|
+
private readonly _instances;
|
|
13453
14032
|
/**
|
|
13454
14033
|
* Creates an instance of AssetHierarchyNode
|
|
13455
14034
|
* @param name - Name of the node
|
|
13456
14035
|
* @param parent - Parent of the node
|
|
13457
14036
|
*/
|
|
13458
|
-
constructor(name: string, parent?:
|
|
14037
|
+
constructor(name: string, model: SharedModel, parent?: AssetHierarchyNode);
|
|
13459
14038
|
/** Parent of the node */
|
|
13460
14039
|
get parent(): Nullable<AssetHierarchyNode>;
|
|
13461
14040
|
/** Local transformation matrix of the node */
|
|
@@ -13470,7 +14049,7 @@ declare class AssetHierarchyNode extends NamedObject {
|
|
|
13470
14049
|
t: Vector3;
|
|
13471
14050
|
s: Vector3;
|
|
13472
14051
|
r: Quaternion;
|
|
13473
|
-
}[]
|
|
14052
|
+
}[];
|
|
13474
14053
|
/** Default morph target weights */
|
|
13475
14054
|
get weights(): Nullable<number[]>;
|
|
13476
14055
|
set weights(val: Nullable<number[]>);
|
|
@@ -13486,12 +14065,13 @@ declare class AssetHierarchyNode extends NamedObject {
|
|
|
13486
14065
|
/** The scale of the node */
|
|
13487
14066
|
get scaling(): Vector3;
|
|
13488
14067
|
set scaling(val: Vector3);
|
|
13489
|
-
/** true if the node is parent of a mesh node */
|
|
13490
|
-
get meshAttached(): boolean;
|
|
13491
14068
|
/** Children of the node */
|
|
13492
14069
|
get children(): AssetHierarchyNode[];
|
|
13493
14070
|
/** The skeleton to which the node belongs if this is a joint node */
|
|
13494
14071
|
get skeletonAttached(): Nullable<Set<AssetSkeleton>>;
|
|
14072
|
+
isParentOf(child: Nullable<AssetHierarchyNode>): boolean;
|
|
14073
|
+
getWorldPosition(): Vector3;
|
|
14074
|
+
computeTransforms(parentTransform: Nullable<Matrix4x4>): void;
|
|
13495
14075
|
/**
|
|
13496
14076
|
* Adds a child to this node
|
|
13497
14077
|
* @param child - The child node to be added
|
|
@@ -13537,6 +14117,7 @@ declare class AssetSkeleton extends NamedObject {
|
|
|
13537
14117
|
* @param inverseBindMatrix - Inverse binding matrix of the joint
|
|
13538
14118
|
*/
|
|
13539
14119
|
addJoint(joint: AssetHierarchyNode, inverseBindMatrix: Matrix4x4): void;
|
|
14120
|
+
get root(): AssetHierarchyNode;
|
|
13540
14121
|
}
|
|
13541
14122
|
/**
|
|
13542
14123
|
* Scene for model loading
|
|
@@ -13551,6 +14132,115 @@ declare class AssetScene extends NamedObject {
|
|
|
13551
14132
|
*/
|
|
13552
14133
|
constructor(name: string);
|
|
13553
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
|
+
};
|
|
13554
14244
|
/**
|
|
13555
14245
|
* Model information that can be shared by multiple model nodes
|
|
13556
14246
|
* @public
|
|
@@ -13558,31 +14248,58 @@ declare class AssetScene extends NamedObject {
|
|
|
13558
14248
|
declare class SharedModel extends Disposable {
|
|
13559
14249
|
/**
|
|
13560
14250
|
* Creates an instance of SharedModel
|
|
13561
|
-
* @param name - Name of the model
|
|
13562
14251
|
*/
|
|
13563
|
-
constructor(
|
|
13564
|
-
/** Name of the model */
|
|
13565
|
-
get name(): string;
|
|
13566
|
-
set name(val: string);
|
|
14252
|
+
constructor();
|
|
13567
14253
|
/** All scenes that the model contains */
|
|
13568
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[];
|
|
13569
14259
|
/** All animations that the model contains */
|
|
13570
14260
|
get animations(): AssetAnimationData[];
|
|
13571
14261
|
/** All skeletons that the model contains */
|
|
13572
14262
|
get skeletons(): AssetSkeleton[];
|
|
13573
|
-
/** All
|
|
13574
|
-
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[];
|
|
13575
14275
|
/** The active scene of the model */
|
|
13576
14276
|
get activeScene(): number;
|
|
13577
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;
|
|
13578
14283
|
/**
|
|
13579
|
-
* Adds a
|
|
13580
|
-
* @param
|
|
13581
|
-
|
|
13582
|
-
|
|
13583
|
-
|
|
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
|
|
13584
14296
|
*/
|
|
13585
|
-
|
|
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
|
|
14301
|
+
*/
|
|
14302
|
+
buildMorphTargetGroupsByName(): AssetMorphTargetGroup[];
|
|
13586
14303
|
/**
|
|
13587
14304
|
* Adds a skeleton to the scene
|
|
13588
14305
|
* @param skeleton - The skeleton to be added
|
|
@@ -13593,7 +14310,14 @@ declare class SharedModel extends Disposable {
|
|
|
13593
14310
|
* @param animation - The animation to be added
|
|
13594
14311
|
*/
|
|
13595
14312
|
addAnimation(animation: AssetAnimationData): void;
|
|
13596
|
-
|
|
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>;
|
|
13597
14321
|
private remapGeometryCacheFrames;
|
|
13598
14322
|
private remapPCAGeometryCacheData;
|
|
13599
14323
|
private reconstructPCAGeometryCacheReference;
|
|
@@ -13604,6 +14328,10 @@ declare class SharedModel extends Disposable {
|
|
|
13604
14328
|
private geometryCachePositionKey;
|
|
13605
14329
|
protected onDispose(): void;
|
|
13606
14330
|
private setAssetNodeToSceneNode;
|
|
14331
|
+
private image2Texture;
|
|
14332
|
+
private createTexture;
|
|
14333
|
+
private createPrimitive;
|
|
14334
|
+
private createMaterial;
|
|
13607
14335
|
}
|
|
13608
14336
|
|
|
13609
14337
|
/**
|
|
@@ -13653,28 +14381,226 @@ declare abstract class AbstractTextureLoader extends LoaderBase {
|
|
|
13653
14381
|
*/
|
|
13654
14382
|
abstract load(mimeType: string, data: ArrayBuffer | TypedArray, srgb: boolean, samplerOptions?: SamplerOptions, texture?: Nullable<BaseTexture>): Promise<Nullable<BaseTexture>>;
|
|
13655
14383
|
}
|
|
14384
|
+
|
|
13656
14385
|
/**
|
|
13657
|
-
*
|
|
14386
|
+
* Font outline point.
|
|
14387
|
+
*
|
|
13658
14388
|
* @public
|
|
13659
14389
|
*/
|
|
13660
|
-
|
|
13661
|
-
|
|
13662
|
-
|
|
13663
|
-
|
|
13664
|
-
|
|
13665
|
-
|
|
13666
|
-
|
|
13667
|
-
|
|
13668
|
-
|
|
13669
|
-
|
|
13670
|
-
|
|
13671
|
-
|
|
13672
|
-
|
|
13673
|
-
|
|
13674
|
-
|
|
13675
|
-
|
|
14390
|
+
type GlyphPoint = {
|
|
14391
|
+
x: number;
|
|
14392
|
+
y: number;
|
|
14393
|
+
onCurve: boolean;
|
|
14394
|
+
};
|
|
14395
|
+
/**
|
|
14396
|
+
* Glyph contour represented by ordered quadratic points.
|
|
14397
|
+
*
|
|
14398
|
+
* @public
|
|
14399
|
+
*/
|
|
14400
|
+
type GlyphContour = GlyphPoint[];
|
|
14401
|
+
/**
|
|
14402
|
+
* Parsed glyph outline and metrics.
|
|
14403
|
+
*
|
|
14404
|
+
* @public
|
|
14405
|
+
*/
|
|
14406
|
+
type GlyphData = {
|
|
14407
|
+
glyphIndex: number;
|
|
14408
|
+
advanceWidth: number;
|
|
14409
|
+
leftSideBearing: number;
|
|
14410
|
+
xMin: number;
|
|
14411
|
+
yMin: number;
|
|
14412
|
+
xMax: number;
|
|
14413
|
+
yMax: number;
|
|
14414
|
+
contours: GlyphContour[];
|
|
14415
|
+
};
|
|
14416
|
+
/**
|
|
14417
|
+
* Minimal font metrics required by runtime text layout.
|
|
14418
|
+
*
|
|
14419
|
+
* @public
|
|
14420
|
+
*/
|
|
14421
|
+
type FontMetrics = {
|
|
14422
|
+
unitsPerEm: number;
|
|
14423
|
+
ascent: number;
|
|
14424
|
+
descent: number;
|
|
14425
|
+
lineGap: number;
|
|
14426
|
+
glyphCount: number;
|
|
14427
|
+
};
|
|
14428
|
+
|
|
14429
|
+
/**
|
|
14430
|
+
* MSDF atlas settings associated with a font asset.
|
|
14431
|
+
* @public
|
|
14432
|
+
*/
|
|
14433
|
+
type FontAssetMSDFAtlasSettings = Readonly<{
|
|
14434
|
+
pageSize: number;
|
|
14435
|
+
glyphSize: number;
|
|
14436
|
+
}>;
|
|
14437
|
+
/**
|
|
14438
|
+
* Minimal horizontal pair adjustment extracted from GPOS.
|
|
14439
|
+
*
|
|
14440
|
+
* @public
|
|
14441
|
+
*/
|
|
14442
|
+
type PairAdjustment = {
|
|
14443
|
+
firstXPlacement: number;
|
|
14444
|
+
firstXAdvance: number;
|
|
14445
|
+
secondXPlacement: number;
|
|
14446
|
+
secondXAdvance: number;
|
|
14447
|
+
};
|
|
14448
|
+
/**
|
|
14449
|
+
* Minimal runtime font asset for TrueType outlines.
|
|
14450
|
+
*
|
|
14451
|
+
* @public
|
|
14452
|
+
*/
|
|
14453
|
+
declare class FontAsset {
|
|
14454
|
+
private readonly _reader;
|
|
14455
|
+
private readonly _tables;
|
|
14456
|
+
private readonly _glyphOffsets;
|
|
14457
|
+
private readonly _advanceWidths;
|
|
14458
|
+
private readonly _leftSideBearings;
|
|
14459
|
+
private readonly _glyphCache;
|
|
14460
|
+
private readonly _cmapFormat4;
|
|
14461
|
+
private readonly _cmapFormat12;
|
|
14462
|
+
private readonly _kernPairs;
|
|
14463
|
+
private readonly _gposPairs;
|
|
14464
|
+
private readonly _metrics;
|
|
14465
|
+
private readonly _numberOfHMetrics;
|
|
14466
|
+
private readonly _msdfAtlasSettings;
|
|
14467
|
+
private constructor();
|
|
14468
|
+
static fromBuffer(buffer: ArrayBuffer, options?: FontAssetFetchOptions): FontAsset;
|
|
14469
|
+
get metrics(): FontMetrics;
|
|
14470
|
+
get msdfAtlasSettings(): FontAssetMSDFAtlasSettings;
|
|
14471
|
+
get msdfAtlasPageSize(): number;
|
|
14472
|
+
get msdfGlyphSize(): number;
|
|
14473
|
+
getGlyphIndex(codePoint: number): number;
|
|
14474
|
+
getKerning(leftGlyphIndex: number, rightGlyphIndex: number): number;
|
|
14475
|
+
getPairAdjustment(leftGlyphIndex: number, rightGlyphIndex: number): PairAdjustment | null;
|
|
14476
|
+
getGlyph(glyphIndex: number): GlyphData | null;
|
|
14477
|
+
private getTable;
|
|
14478
|
+
private requireTable;
|
|
14479
|
+
private loadGlyph;
|
|
13676
14480
|
}
|
|
13677
14481
|
|
|
14482
|
+
/**
|
|
14483
|
+
* Signed distance field generation options.
|
|
14484
|
+
*
|
|
14485
|
+
* @public
|
|
14486
|
+
*/
|
|
14487
|
+
type MSDFOptions = {
|
|
14488
|
+
width: number;
|
|
14489
|
+
height: number;
|
|
14490
|
+
range: number;
|
|
14491
|
+
padding?: number;
|
|
14492
|
+
};
|
|
14493
|
+
/**
|
|
14494
|
+
* RGB MSDF bitmap and placement information.
|
|
14495
|
+
*
|
|
14496
|
+
* @public
|
|
14497
|
+
*/
|
|
14498
|
+
type MSDFBitmap = {
|
|
14499
|
+
width: number;
|
|
14500
|
+
height: number;
|
|
14501
|
+
pixels: Uint8Array<ArrayBuffer>;
|
|
14502
|
+
scale: number;
|
|
14503
|
+
translateX: number;
|
|
14504
|
+
translateY: number;
|
|
14505
|
+
};
|
|
14506
|
+
/**
|
|
14507
|
+
* Edge color mask used by MSDF generation.
|
|
14508
|
+
*
|
|
14509
|
+
* Colors are stored as RGB bit masks, allowing an edge to contribute to
|
|
14510
|
+
* multiple channels (for example cyan = green | blue).
|
|
14511
|
+
*
|
|
14512
|
+
* @public
|
|
14513
|
+
*/
|
|
14514
|
+
type EdgeColor = 1 | 2 | 3 | 4 | 5 | 6 | 7;
|
|
14515
|
+
/**
|
|
14516
|
+
* Colored line edge used for MSDF generation.
|
|
14517
|
+
*
|
|
14518
|
+
* @public
|
|
14519
|
+
*/
|
|
14520
|
+
type ColoredLineEdge = {
|
|
14521
|
+
kind: 'line';
|
|
14522
|
+
color: EdgeColor;
|
|
14523
|
+
p0: {
|
|
14524
|
+
x: number;
|
|
14525
|
+
y: number;
|
|
14526
|
+
};
|
|
14527
|
+
p1: {
|
|
14528
|
+
x: number;
|
|
14529
|
+
y: number;
|
|
14530
|
+
};
|
|
14531
|
+
};
|
|
14532
|
+
/**
|
|
14533
|
+
* Colored quadratic edge used for MSDF generation.
|
|
14534
|
+
*
|
|
14535
|
+
* @public
|
|
14536
|
+
*/
|
|
14537
|
+
type ColoredQuadraticEdge = {
|
|
14538
|
+
kind: 'quadratic';
|
|
14539
|
+
color: EdgeColor;
|
|
14540
|
+
p0: {
|
|
14541
|
+
x: number;
|
|
14542
|
+
y: number;
|
|
14543
|
+
};
|
|
14544
|
+
p1: {
|
|
14545
|
+
x: number;
|
|
14546
|
+
y: number;
|
|
14547
|
+
};
|
|
14548
|
+
p2: {
|
|
14549
|
+
x: number;
|
|
14550
|
+
y: number;
|
|
14551
|
+
};
|
|
14552
|
+
};
|
|
14553
|
+
/**
|
|
14554
|
+
* Colored edge used for MSDF generation.
|
|
14555
|
+
*
|
|
14556
|
+
* @public
|
|
14557
|
+
*/
|
|
14558
|
+
type ColoredEdge = ColoredLineEdge | ColoredQuadraticEdge;
|
|
14559
|
+
/**
|
|
14560
|
+
* Converted glyph shape ready for MSDF sampling.
|
|
14561
|
+
*
|
|
14562
|
+
* @public
|
|
14563
|
+
*/
|
|
14564
|
+
type MSDFShape = {
|
|
14565
|
+
contours: ColoredEdge[][];
|
|
14566
|
+
sourceContours: GlyphContour[];
|
|
14567
|
+
};
|
|
14568
|
+
|
|
14569
|
+
/**
|
|
14570
|
+
* Builds an MSDF shape from glyph contours.
|
|
14571
|
+
* @public
|
|
14572
|
+
*/
|
|
14573
|
+
declare function buildMSDFShape(contours: GlyphContour[]): MSDFShape;
|
|
14574
|
+
|
|
14575
|
+
/**
|
|
14576
|
+
* Generate a runtime RGB(A) distance field bitmap from a parsed glyph.
|
|
14577
|
+
*
|
|
14578
|
+
* Distances are encoded in output texel units, which matches the shader-side
|
|
14579
|
+
* `distanceRange` logic and keeps the field scale-invariant across font sizes.
|
|
14580
|
+
*
|
|
14581
|
+
* @public
|
|
14582
|
+
*/
|
|
14583
|
+
declare function generateMSDF(glyph: GlyphData, options: MSDFOptions): MSDFBitmap;
|
|
14584
|
+
|
|
14585
|
+
/**
|
|
14586
|
+
* Base fetch options
|
|
14587
|
+
*
|
|
14588
|
+
* @public
|
|
14589
|
+
*/
|
|
14590
|
+
type BaseFetchOptions = {
|
|
14591
|
+
/**
|
|
14592
|
+
* VFS used to fetch file data
|
|
14593
|
+
*/
|
|
14594
|
+
overrideVFS?: VFS;
|
|
14595
|
+
};
|
|
14596
|
+
/**
|
|
14597
|
+
* Options for font fetching.
|
|
14598
|
+
* @public
|
|
14599
|
+
*/
|
|
14600
|
+
type FontAssetFetchOptions = BaseFetchOptions & {
|
|
14601
|
+
pageSize?: number;
|
|
14602
|
+
glyphSize?: number;
|
|
14603
|
+
};
|
|
13678
14604
|
/**
|
|
13679
14605
|
* Options for texture fetching.
|
|
13680
14606
|
*
|
|
@@ -13683,7 +14609,7 @@ declare abstract class AbstractModelLoader extends LoaderBase {
|
|
|
13683
14609
|
* @typeParam T - Texture type to be returned, extending BaseTexture.
|
|
13684
14610
|
* @public
|
|
13685
14611
|
*/
|
|
13686
|
-
type TextureFetchOptions<T extends BaseTexture> = {
|
|
14612
|
+
type TextureFetchOptions<T extends BaseTexture> = BaseFetchOptions & {
|
|
13687
14613
|
/**
|
|
13688
14614
|
* Explicit MIME type hint. If omitted, the type is inferred from file extension via VFS.
|
|
13689
14615
|
*/
|
|
@@ -13711,7 +14637,7 @@ type TextureFetchOptions<T extends BaseTexture> = {
|
|
|
13711
14637
|
* Provides decoding and instancing hints used by supported model loaders.
|
|
13712
14638
|
* @public
|
|
13713
14639
|
*/
|
|
13714
|
-
type ModelFetchOptions = {
|
|
14640
|
+
type ModelFetchOptions = BaseFetchOptions & {
|
|
13715
14641
|
/**
|
|
13716
14642
|
* Explicit MIME type hint for the model. If omitted, inferred from file extension via VFS.
|
|
13717
14643
|
*/
|
|
@@ -13725,6 +14651,26 @@ type ModelFetchOptions = {
|
|
|
13725
14651
|
* Default is false.
|
|
13726
14652
|
*/
|
|
13727
14653
|
enableInstancing?: boolean;
|
|
14654
|
+
/**
|
|
14655
|
+
* If true, meshes will be loaded from this model.
|
|
14656
|
+
* Default is true.
|
|
14657
|
+
*/
|
|
14658
|
+
loadMeshes?: boolean;
|
|
14659
|
+
/**
|
|
14660
|
+
* If true, rigs and skin bindings will be loaded from this model.
|
|
14661
|
+
* Default is true.
|
|
14662
|
+
*/
|
|
14663
|
+
loadSkeletons?: boolean;
|
|
14664
|
+
/**
|
|
14665
|
+
* If true, animations will be loaded from this model.
|
|
14666
|
+
* Default is true.
|
|
14667
|
+
*/
|
|
14668
|
+
loadAnimations?: boolean;
|
|
14669
|
+
/**
|
|
14670
|
+
* If true, automatically create joint dynamics (for VRM models only).
|
|
14671
|
+
* Default is true.
|
|
14672
|
+
*/
|
|
14673
|
+
loadJointDynamics?: boolean;
|
|
13728
14674
|
/**
|
|
13729
14675
|
* Optional post-process callback applied to the loaded SharedModel before creating nodes.
|
|
13730
14676
|
* Use this to remap materials, merge meshes, or apply custom data transforms.
|
|
@@ -13747,6 +14693,14 @@ type ModelInfo = {
|
|
|
13747
14693
|
*/
|
|
13748
14694
|
animationSet: AnimationSet;
|
|
13749
14695
|
};
|
|
14696
|
+
/**
|
|
14697
|
+
* Interface for model importers
|
|
14698
|
+
*
|
|
14699
|
+
* @public
|
|
14700
|
+
*/
|
|
14701
|
+
interface ModelLoader {
|
|
14702
|
+
loadModel(path: string, vfs?: VFS): Promise<SharedModel>;
|
|
14703
|
+
}
|
|
13750
14704
|
/**
|
|
13751
14705
|
* Centralized asset manager for loading and caching resources.
|
|
13752
14706
|
*
|
|
@@ -13780,6 +14734,15 @@ declare class AssetManager {
|
|
|
13780
14734
|
* if no other owners are holding them.
|
|
13781
14735
|
*/
|
|
13782
14736
|
clearCache(): void;
|
|
14737
|
+
/**
|
|
14738
|
+
* Removes a cached font asset entry by URL.
|
|
14739
|
+
*
|
|
14740
|
+
* This only evicts the cache entry. It does not dispose any external references to the FontAsset.
|
|
14741
|
+
*
|
|
14742
|
+
* @param url - Resource URL or VFS path.
|
|
14743
|
+
* @returns `true` if a cache entry existed and was removed.
|
|
14744
|
+
*/
|
|
14745
|
+
releaseFontAsset(url: string): boolean;
|
|
13783
14746
|
/**
|
|
13784
14747
|
* Register a texture loader (highest priority first).
|
|
13785
14748
|
*
|
|
@@ -13790,12 +14753,8 @@ declare class AssetManager {
|
|
|
13790
14753
|
static addTextureLoader(loader: AbstractTextureLoader): void;
|
|
13791
14754
|
/**
|
|
13792
14755
|
* Register a model loader (highest priority first).
|
|
13793
|
-
*
|
|
13794
|
-
* Note: This is a static registry shared by all AssetManager instances.
|
|
13795
|
-
*
|
|
13796
|
-
* @param loader - A concrete model loader implementation.
|
|
13797
14756
|
*/
|
|
13798
|
-
|
|
14757
|
+
setModelLoader(mimeType: string, loader: ModelLoader): void;
|
|
13799
14758
|
/**
|
|
13800
14759
|
* Fetch a UTF-8 text resource via VFS.
|
|
13801
14760
|
*
|
|
@@ -13808,7 +14767,7 @@ declare class AssetManager {
|
|
|
13808
14767
|
* @param httpRequest - Optional HttpRequest for custom URL resolution/headers.
|
|
13809
14768
|
* @returns A promise that resolves to the loaded (and optionally processed) text.
|
|
13810
14769
|
*/
|
|
13811
|
-
fetchTextData(url: string, postProcess?: (text: string) => string, httpRequest?: HttpRequest,
|
|
14770
|
+
fetchTextData(url: string, postProcess?: (text: string) => string, httpRequest?: HttpRequest, options?: BaseFetchOptions): Promise<string>;
|
|
13812
14771
|
/**
|
|
13813
14772
|
* Fetch a JSON resource via VFS.
|
|
13814
14773
|
*
|
|
@@ -13820,7 +14779,7 @@ declare class AssetManager {
|
|
|
13820
14779
|
* @param httpRequest - Optional HttpRequest for custom URL resolution/headers.
|
|
13821
14780
|
* @returns A promise that resolves to the loaded (and optionally processed) JSON value.
|
|
13822
14781
|
*/
|
|
13823
|
-
fetchJsonData<T = any>(url: string, postProcess?: (json: T) => T, httpRequest?: HttpRequest,
|
|
14782
|
+
fetchJsonData<T = any>(url: string, postProcess?: (json: T) => T, httpRequest?: HttpRequest, options?: BaseFetchOptions): Promise<T>;
|
|
13824
14783
|
/**
|
|
13825
14784
|
* Fetch a binary resource via VFS.
|
|
13826
14785
|
*
|
|
@@ -13831,8 +14790,26 @@ declare class AssetManager {
|
|
|
13831
14790
|
* @param httpRequest - Optional HttpRequest for custom URL resolution/headers.
|
|
13832
14791
|
* @returns A promise that resolves to the loaded (and optionally processed) ArrayBuffer.
|
|
13833
14792
|
*/
|
|
13834
|
-
fetchBinaryData(url: string, postProcess?: Nullable<(data: ArrayBuffer) => ArrayBuffer>, httpRequest?: Nullable<HttpRequest>,
|
|
13835
|
-
|
|
14793
|
+
fetchBinaryData(url: string, postProcess?: Nullable<(data: ArrayBuffer) => ArrayBuffer>, httpRequest?: Nullable<HttpRequest>, options?: BaseFetchOptions): Promise<Nullable<ArrayBuffer>>;
|
|
14794
|
+
/**
|
|
14795
|
+
* Fetch a font asset via VFS.
|
|
14796
|
+
*
|
|
14797
|
+
* - Cached per URL only.
|
|
14798
|
+
* - `options` are applied only when the font is first loaded for that URL.
|
|
14799
|
+
* - If the URL is already cached, later calls ignore `options` and reuse the cached FontAsset.
|
|
14800
|
+
*
|
|
14801
|
+
* @param url - Resource URL or VFS path.
|
|
14802
|
+
* @param options - Optional MSDF atlas settings bound to the loaded FontAsset.
|
|
14803
|
+
* @returns A promise that resolves to the loaded (and optionally processed) font asset.
|
|
14804
|
+
*/
|
|
14805
|
+
fetchFontAsset(url: string, options?: FontAssetFetchOptions): Promise<Nullable<FontAsset>>;
|
|
14806
|
+
/**
|
|
14807
|
+
* Fetch a font asset via VFS if already cached.
|
|
14808
|
+
* @param url - Resource URL or VFS path.
|
|
14809
|
+
* @returns The cached FontAsset if it exists and is loaded, or null if not cached or still loading.
|
|
14810
|
+
*/
|
|
14811
|
+
getFontAsset(url: string): Nullable<FontAsset>;
|
|
14812
|
+
fetchBluePrint(url: string, options?: BaseFetchOptions): Promise<Nullable<Record<string, MaterialBlueprintIR>>>;
|
|
13836
14813
|
/**
|
|
13837
14814
|
* Fetch a material resource.
|
|
13838
14815
|
*
|
|
@@ -13840,7 +14817,7 @@ declare class AssetManager {
|
|
|
13840
14817
|
* @param url - Resource URL or VFS path.
|
|
13841
14818
|
* @returns A promise that resolves to the loaded material.
|
|
13842
14819
|
*/
|
|
13843
|
-
fetchMaterial<T extends Material = Material>(url: string,
|
|
14820
|
+
fetchMaterial<T extends Material = Material>(url: string, options?: BaseFetchOptions): Promise<Nullable<T>>;
|
|
13844
14821
|
/**
|
|
13845
14822
|
* Fetch a primitive resource.
|
|
13846
14823
|
*
|
|
@@ -13848,7 +14825,7 @@ declare class AssetManager {
|
|
|
13848
14825
|
* @param url - Resource URL or VFS path.
|
|
13849
14826
|
* @returns A promise that resolves to the loaded primitive.
|
|
13850
14827
|
*/
|
|
13851
|
-
fetchPrimitive<T extends Primitive = Primitive>(url: string,
|
|
14828
|
+
fetchPrimitive<T extends Primitive = Primitive>(url: string, options?: BaseFetchOptions): Promise<Nullable<T>>;
|
|
13852
14829
|
/**
|
|
13853
14830
|
* Fetch a texture resource via registered loaders.
|
|
13854
14831
|
*
|
|
@@ -13863,24 +14840,8 @@ declare class AssetManager {
|
|
|
13863
14840
|
* @param httpRequest - Optional HttpRequest (not used for binary read but may supply URL resolver for hashing).
|
|
13864
14841
|
* @returns A promise that resolves to the loaded texture.
|
|
13865
14842
|
*/
|
|
13866
|
-
fetchTexture<T extends BaseTexture>(url: string, options?: TextureFetchOptions<T
|
|
13867
|
-
|
|
13868
|
-
* Fetch a model resource and instantiate it under a scene.
|
|
13869
|
-
*
|
|
13870
|
-
* - Loads or retrieves a cached SharedModel, then creates a SceneNode hierarchy.
|
|
13871
|
-
* - Returns both the created group node and any associated AnimationSet.
|
|
13872
|
-
*
|
|
13873
|
-
* @param scene - Scene into which the model node will be created.
|
|
13874
|
-
* @param url - Model URL or VFS path.
|
|
13875
|
-
* @param options - Model loader options and instancing hint.
|
|
13876
|
-
* @param httpRequest - Optional HttpRequest (unused for binary read; present for API symmetry).
|
|
13877
|
-
* @returns A promise with the created node group and animation set info.
|
|
13878
|
-
*/
|
|
13879
|
-
fetchModel(scene: Scene, url: string, options?: ModelFetchOptions, VFSs?: VFS[]): Promise<{
|
|
13880
|
-
group: SceneNode;
|
|
13881
|
-
animationSet: AnimationSet;
|
|
13882
|
-
}>;
|
|
13883
|
-
loadPrimitive<T extends Primitive = Primitive>(url: string, VFSs?: VFS[]): Promise<Nullable<T>>;
|
|
14843
|
+
fetchTexture<T extends BaseTexture>(url: string, options?: TextureFetchOptions<T>): Promise<T>;
|
|
14844
|
+
loadPrimitive<T extends Primitive = Primitive>(url: string, vfs?: VFS): Promise<Nullable<T>>;
|
|
13884
14845
|
reloadBluePrintMaterials(filter?: (m: PBRBluePrintMaterial) => boolean): Promise<void>;
|
|
13885
14846
|
private loadBluePrintMaterialData;
|
|
13886
14847
|
private rebuildGraphStructure;
|
|
@@ -13898,7 +14859,7 @@ declare class AssetManager {
|
|
|
13898
14859
|
order: number[];
|
|
13899
14860
|
};
|
|
13900
14861
|
invalidateBluePrint(path: string): void;
|
|
13901
|
-
loadBluePrint(path: string,
|
|
14862
|
+
loadBluePrint(path: string, vfs?: VFS): Promise<Record<string, MaterialBlueprintIR> | null>;
|
|
13902
14863
|
/**
|
|
13903
14864
|
* Load a texture directly from an ArrayBuffer or typed array.
|
|
13904
14865
|
*
|
|
@@ -13938,14 +14899,14 @@ declare class AssetManager {
|
|
|
13938
14899
|
*/
|
|
13939
14900
|
static setBuiltinTextureLoader(name: string, loader: (assetManager: AssetManager) => BaseTexture): void;
|
|
13940
14901
|
/**
|
|
13941
|
-
* Write file to a
|
|
14902
|
+
* Write file to a VFS
|
|
13942
14903
|
*
|
|
13943
14904
|
* @param path - File path
|
|
13944
14905
|
* @param data - Data to write
|
|
13945
14906
|
* @param options - Write options
|
|
13946
|
-
* @param
|
|
14907
|
+
* @param vfs - VFS to write to
|
|
13947
14908
|
*/
|
|
13948
|
-
writeFileToVFSs(path: string, data: ArrayBuffer | string, options: WriteOptions,
|
|
14909
|
+
writeFileToVFSs(path: string, data: ArrayBuffer | string, options: WriteOptions, vfs?: VFS): Promise<void>;
|
|
13949
14910
|
}
|
|
13950
14911
|
|
|
13951
14912
|
declare const WaterMaterial_base: typeof MeshMaterial & (new (...args: any[]) => IMixinLight);
|
|
@@ -14752,10 +15713,6 @@ declare class BaseSprite<M extends SpriteMaterial> extends BaseSprite_base imple
|
|
|
14752
15713
|
* @param scene - The scene to which the mesh node belongs
|
|
14753
15714
|
*/
|
|
14754
15715
|
constructor(scene: Scene);
|
|
14755
|
-
/**
|
|
14756
|
-
* {@inheritDoc Drawable.getName}
|
|
14757
|
-
*/
|
|
14758
|
-
getName(): string;
|
|
14759
15716
|
/**
|
|
14760
15717
|
* Returns the batch instance ID for the current render pass.
|
|
14761
15718
|
*/
|
|
@@ -14876,11 +15833,198 @@ declare class ScriptAttachment {
|
|
|
14876
15833
|
constructor(script?: string, config?: ScriptAttachmentConfig);
|
|
14877
15834
|
}
|
|
14878
15835
|
/**
|
|
14879
|
-
* Normalizes an arbitrary value into an array of script attachments.
|
|
15836
|
+
* Normalizes an arbitrary value into an array of script attachments.
|
|
15837
|
+
*
|
|
15838
|
+
* @public
|
|
15839
|
+
*/
|
|
15840
|
+
declare function normalizeScriptAttachments(value: unknown): ScriptAttachment[];
|
|
15841
|
+
|
|
15842
|
+
type MSDFGlyphInfo = {
|
|
15843
|
+
glyphIndex: number;
|
|
15844
|
+
advanceWidth: number;
|
|
15845
|
+
leftSideBearing: number;
|
|
15846
|
+
atlasIndex: number;
|
|
15847
|
+
width: number;
|
|
15848
|
+
height: number;
|
|
15849
|
+
uMin: number;
|
|
15850
|
+
vMin: number;
|
|
15851
|
+
uMax: number;
|
|
15852
|
+
vMax: number;
|
|
15853
|
+
planeLeft: number;
|
|
15854
|
+
planeBottom: number;
|
|
15855
|
+
planeRight: number;
|
|
15856
|
+
planeTop: number;
|
|
15857
|
+
};
|
|
15858
|
+
/**
|
|
15859
|
+
* Runtime dynamic MSDF glyph atlas.
|
|
15860
|
+
*
|
|
15861
|
+
* @public
|
|
15862
|
+
*/
|
|
15863
|
+
declare class MSDFGlyphAtlas extends TextureAtlasManager {
|
|
15864
|
+
private readonly _font;
|
|
15865
|
+
private readonly _glyphs;
|
|
15866
|
+
private readonly _range;
|
|
15867
|
+
private readonly _glyphSize;
|
|
15868
|
+
private readonly _padding;
|
|
15869
|
+
constructor(device: AbstractDevice, font: FontAsset, glyphSize?: number, atlasSize?: number, range?: number, padding?: number);
|
|
15870
|
+
get font(): FontAsset;
|
|
15871
|
+
get glyphSize(): number;
|
|
15872
|
+
get distanceRange(): number;
|
|
15873
|
+
getAtlasTexture(index: number): Texture2D | undefined;
|
|
15874
|
+
ensureGlyph(glyphIndex: number): MSDFGlyphInfo | null;
|
|
15875
|
+
private createGlyph;
|
|
15876
|
+
}
|
|
15877
|
+
|
|
15878
|
+
/**
|
|
15879
|
+
* Manages MSDF glyph atlases for font assets.
|
|
15880
|
+
* @public
|
|
15881
|
+
*/
|
|
15882
|
+
declare class MSDFTextAtlasManager {
|
|
15883
|
+
private readonly _atlases;
|
|
15884
|
+
constructor();
|
|
15885
|
+
getAtlas(font: FontAsset): MSDFGlyphAtlas;
|
|
15886
|
+
configureAtlas(font: FontAsset, glyphSize: number, atlasSize: number, distanceRange?: number, padding?: number): MSDFGlyphAtlas;
|
|
15887
|
+
releaseAtlas(font: FontAsset): boolean;
|
|
15888
|
+
clear(): void;
|
|
15889
|
+
}
|
|
15890
|
+
|
|
15891
|
+
type TextAlign = 'left' | 'center' | 'right';
|
|
15892
|
+
|
|
15893
|
+
declare class MeshDrawableBase extends Disposable {
|
|
15894
|
+
private _node;
|
|
15895
|
+
constructor(node: SceneNode);
|
|
15896
|
+
getNode(): SceneNode;
|
|
15897
|
+
}
|
|
15898
|
+
declare const MeshDrawable_base: typeof MeshDrawableBase & _zephyr3d_base.GenericConstructor<{
|
|
15899
|
+
getNode(): SceneNode;
|
|
15900
|
+
} & Disposable> & (new (...args: any[]) => IMixinDrawable);
|
|
15901
|
+
declare class MeshDrawable<M extends MeshMaterial> extends MeshDrawable_base implements Drawable {
|
|
15902
|
+
private _material;
|
|
15903
|
+
private _primitive;
|
|
15904
|
+
constructor(node: SceneNode, material: M, primitive: Primitive);
|
|
15905
|
+
get material(): Nullable<M>;
|
|
15906
|
+
set material(mat: Nullable<M>);
|
|
15907
|
+
getMaterial(): Nullable<MeshMaterial>;
|
|
15908
|
+
get primitive(): Nullable<Primitive>;
|
|
15909
|
+
set primitive(prim: Nullable<Primitive>);
|
|
15910
|
+
getPrimitive(): Nullable<Primitive>;
|
|
15911
|
+
getPickTarget(): PickTarget;
|
|
15912
|
+
getBoneMatrices(): Nullable<Texture2D>;
|
|
15913
|
+
getMorphData(): Nullable<MorphData>;
|
|
15914
|
+
getMorphInfo(): Nullable<MorphInfo>;
|
|
15915
|
+
/**
|
|
15916
|
+
* {@inheritDoc Drawable.getSortDistance}
|
|
15917
|
+
*/
|
|
15918
|
+
getSortDistance(camera: Camera): number;
|
|
15919
|
+
getQueueType(): number;
|
|
15920
|
+
needSceneColor(): boolean;
|
|
15921
|
+
needSceneDepth(): boolean;
|
|
15922
|
+
isUnlit(): boolean;
|
|
15923
|
+
isBatchable(): this is BatchDrawable;
|
|
15924
|
+
draw(ctx: DrawContext, renderQueue: Nullable<RenderQueue>): void;
|
|
15925
|
+
protected onDispose(): void;
|
|
15926
|
+
}
|
|
15927
|
+
|
|
15928
|
+
/**
|
|
15929
|
+
* Billboard MSDF text node.
|
|
15930
|
+
*
|
|
15931
|
+
* @public
|
|
15932
|
+
*/
|
|
15933
|
+
declare class MSDFTextSprite extends GraphNode {
|
|
15934
|
+
private _fontAsset;
|
|
15935
|
+
private _atlas;
|
|
15936
|
+
private _text;
|
|
15937
|
+
private _fontSize;
|
|
15938
|
+
private _maxWidth;
|
|
15939
|
+
private _textAlign;
|
|
15940
|
+
private _anchor;
|
|
15941
|
+
private _color;
|
|
15942
|
+
private _outlineWidth;
|
|
15943
|
+
private _outlineColor;
|
|
15944
|
+
private _pageBatches;
|
|
15945
|
+
constructor(scene: Scene);
|
|
15946
|
+
get fontAsset(): FontAsset | null;
|
|
15947
|
+
set fontAsset(font: FontAsset | null);
|
|
15948
|
+
get text(): string;
|
|
15949
|
+
set text(value: string);
|
|
15950
|
+
get fontSize(): number;
|
|
15951
|
+
set fontSize(value: number);
|
|
15952
|
+
get maxWidth(): number;
|
|
15953
|
+
set maxWidth(value: number);
|
|
15954
|
+
get textAlign(): TextAlign;
|
|
15955
|
+
set textAlign(value: TextAlign);
|
|
15956
|
+
get anchorX(): number;
|
|
15957
|
+
set anchorX(value: number);
|
|
15958
|
+
get anchorY(): number;
|
|
15959
|
+
set anchorY(value: number);
|
|
15960
|
+
get anchor(): Immutable<Vector2>;
|
|
15961
|
+
set anchor(value: Immutable<Vector2>);
|
|
15962
|
+
get textColor(): Immutable<Vector3>;
|
|
15963
|
+
set textColor(value: Immutable<Vector3>);
|
|
15964
|
+
get outlineWidth(): number;
|
|
15965
|
+
set outlineWidth(value: number);
|
|
15966
|
+
get outlineColor(): Immutable<Vector3>;
|
|
15967
|
+
set outlineColor(value: Immutable<Vector3>);
|
|
15968
|
+
get batches(): MeshDrawable<MSDFTextSpriteMaterial>[];
|
|
15969
|
+
update(): void;
|
|
15970
|
+
calculateLocalTransform(outMatrix: Matrix4x4): void;
|
|
15971
|
+
computeWorldBoundingVolume(localBV: Nullable<BoundingVolume>): BoundingBox | null;
|
|
15972
|
+
isMSDFTextSprite(): this is MSDFTextSprite;
|
|
15973
|
+
protected onDispose(): void;
|
|
15974
|
+
private ensurePageBatch;
|
|
15975
|
+
private disposePageBatches;
|
|
15976
|
+
}
|
|
15977
|
+
|
|
15978
|
+
/**
|
|
15979
|
+
* Billboard MSDF text node.
|
|
14880
15980
|
*
|
|
14881
15981
|
* @public
|
|
14882
15982
|
*/
|
|
14883
|
-
declare
|
|
15983
|
+
declare class MSDFText extends GraphNode {
|
|
15984
|
+
private _fontAsset;
|
|
15985
|
+
private _atlas;
|
|
15986
|
+
private _castShadow;
|
|
15987
|
+
private _text;
|
|
15988
|
+
private _fontSize;
|
|
15989
|
+
private _maxWidth;
|
|
15990
|
+
private _textAlign;
|
|
15991
|
+
private _anchor;
|
|
15992
|
+
private _color;
|
|
15993
|
+
private _outlineWidth;
|
|
15994
|
+
private _outlineColor;
|
|
15995
|
+
private _pageBatches;
|
|
15996
|
+
constructor(scene: Scene);
|
|
15997
|
+
get castShadow(): boolean;
|
|
15998
|
+
set castShadow(value: boolean);
|
|
15999
|
+
get fontAsset(): FontAsset | null;
|
|
16000
|
+
set fontAsset(font: FontAsset | null);
|
|
16001
|
+
get text(): string;
|
|
16002
|
+
set text(value: string);
|
|
16003
|
+
get fontSize(): number;
|
|
16004
|
+
set fontSize(value: number);
|
|
16005
|
+
get maxWidth(): number;
|
|
16006
|
+
set maxWidth(value: number);
|
|
16007
|
+
get textAlign(): TextAlign;
|
|
16008
|
+
set textAlign(value: TextAlign);
|
|
16009
|
+
get anchorX(): number;
|
|
16010
|
+
set anchorX(value: number);
|
|
16011
|
+
get anchorY(): number;
|
|
16012
|
+
set anchorY(value: number);
|
|
16013
|
+
get anchor(): Immutable<Vector2>;
|
|
16014
|
+
set anchor(value: Immutable<Vector2>);
|
|
16015
|
+
get textColor(): Immutable<Vector3>;
|
|
16016
|
+
set textColor(value: Immutable<Vector3>);
|
|
16017
|
+
get outlineWidth(): number;
|
|
16018
|
+
set outlineWidth(value: number);
|
|
16019
|
+
get outlineColor(): Immutable<Vector3>;
|
|
16020
|
+
set outlineColor(value: Immutable<Vector3>);
|
|
16021
|
+
get batches(): MeshDrawable<MSDFTextMaterial>[];
|
|
16022
|
+
update(): void;
|
|
16023
|
+
isMSDFText(): this is MSDFText;
|
|
16024
|
+
protected onDispose(): void;
|
|
16025
|
+
private ensurePageBatch;
|
|
16026
|
+
private disposePageBatches;
|
|
16027
|
+
}
|
|
14884
16028
|
|
|
14885
16029
|
/**
|
|
14886
16030
|
* Iteration callback used by traversal helpers.
|
|
@@ -14900,6 +16044,46 @@ type NodeIterateFunc = ((node: SceneNode) => boolean) | ((node: SceneNode) => vo
|
|
|
14900
16044
|
* @public
|
|
14901
16045
|
*/
|
|
14902
16046
|
type SceneNodeVisible = 'visible' | 'inherit' | 'hidden';
|
|
16047
|
+
/**
|
|
16048
|
+
* Runtime morph target binding used by model-level expression groups.
|
|
16049
|
+
* @public
|
|
16050
|
+
*/
|
|
16051
|
+
interface SceneMorphTargetBinding {
|
|
16052
|
+
mesh: Mesh;
|
|
16053
|
+
targetIndex?: number;
|
|
16054
|
+
targetName?: string;
|
|
16055
|
+
weight: number;
|
|
16056
|
+
}
|
|
16057
|
+
/**
|
|
16058
|
+
* Runtime morph target group used by model instances.
|
|
16059
|
+
* @public
|
|
16060
|
+
*/
|
|
16061
|
+
interface SceneMorphTargetGroup {
|
|
16062
|
+
name: string;
|
|
16063
|
+
bindings: SceneMorphTargetBinding[];
|
|
16064
|
+
isBinary?: boolean;
|
|
16065
|
+
weight?: number;
|
|
16066
|
+
}
|
|
16067
|
+
/**
|
|
16068
|
+
* Serializable morph target binding descriptor.
|
|
16069
|
+
* @public
|
|
16070
|
+
*/
|
|
16071
|
+
interface SerializedMorphTargetBinding {
|
|
16072
|
+
meshId: string;
|
|
16073
|
+
targetIndex?: number;
|
|
16074
|
+
targetName?: string;
|
|
16075
|
+
weight: number;
|
|
16076
|
+
}
|
|
16077
|
+
/**
|
|
16078
|
+
* Serializable morph target group descriptor.
|
|
16079
|
+
* @public
|
|
16080
|
+
*/
|
|
16081
|
+
interface SerializedMorphTargetGroup {
|
|
16082
|
+
name: string;
|
|
16083
|
+
bindings: SerializedMorphTargetBinding[];
|
|
16084
|
+
isBinary?: boolean;
|
|
16085
|
+
weight?: number;
|
|
16086
|
+
}
|
|
14903
16087
|
declare const SceneNode_base: (new (...args: any[]) => {
|
|
14904
16088
|
_listeners: Nullable<{
|
|
14905
16089
|
nodeattached?: {
|
|
@@ -15658,6 +16842,9 @@ declare class SceneNode extends SceneNode_base implements IDisposable {
|
|
|
15658
16842
|
*/
|
|
15659
16843
|
get sharedModel(): Nullable<SharedModel>;
|
|
15660
16844
|
set sharedModel(model: Nullable<SharedModel>);
|
|
16845
|
+
/** Runtime morph target groups bound to this model instance. */
|
|
16846
|
+
get morphTargetGroups(): SceneMorphTargetGroup[];
|
|
16847
|
+
set morphTargetGroups(groups: SceneMorphTargetGroup[]);
|
|
15661
16848
|
/**
|
|
15662
16849
|
* Clone this node.
|
|
15663
16850
|
*
|
|
@@ -15722,6 +16909,10 @@ declare class SceneNode extends SceneNode_base implements IDisposable {
|
|
|
15722
16909
|
isMesh(): this is Mesh;
|
|
15723
16910
|
/** Type guard: true if this node is a sprite */
|
|
15724
16911
|
isSprite(): this is Sprite;
|
|
16912
|
+
/** Type guard: true if this node is a MSDF text sprite */
|
|
16913
|
+
isMSDFTextSprite(): this is MSDFTextSprite;
|
|
16914
|
+
/** Type guard: true if this node is a MSDF text sprite */
|
|
16915
|
+
isMSDFText(): this is MSDFText;
|
|
15725
16916
|
/** Type guard: true if this node is a water node. */
|
|
15726
16917
|
isWater(): this is Water;
|
|
15727
16918
|
/** Type guard: true if this node is a particle system. */
|
|
@@ -15792,7 +16983,19 @@ declare class SceneNode extends SceneNode_base implements IDisposable {
|
|
|
15792
16983
|
* @param id - Persistent identifier to match against `Skeleton.persistentId`.
|
|
15793
16984
|
* @returns The first matchign node, or `null` if not found.
|
|
15794
16985
|
*/
|
|
15795
|
-
findSkeletonById(id: string):
|
|
16986
|
+
findSkeletonById(id: string): SkinBinding | null;
|
|
16987
|
+
/**
|
|
16988
|
+
* Finds a skin binding by its persistent ID.
|
|
16989
|
+
* @param id - Persistent identifier to match against `SkinBinding.persistentId`.
|
|
16990
|
+
* @returns The first matching binding, or `null` if not found.
|
|
16991
|
+
*/
|
|
16992
|
+
findSkinBindingById(id: string): SkinBinding | null;
|
|
16993
|
+
/**
|
|
16994
|
+
* Finds a shared skeleton rig by its persistent ID.
|
|
16995
|
+
* @param id - Persistent identifier to match against `SkeletonRig.persistentId`.
|
|
16996
|
+
* @returns The first matching rig, or `null` if not found.
|
|
16997
|
+
*/
|
|
16998
|
+
findSkeletonRigById(id: string): SkeletonRig | null;
|
|
15796
16999
|
/**
|
|
15797
17000
|
* Finds a scene node by name.
|
|
15798
17001
|
*
|
|
@@ -15812,7 +17015,43 @@ declare class SceneNode extends SceneNode_base implements IDisposable {
|
|
|
15812
17015
|
/** Bounding box draw mode */
|
|
15813
17016
|
get boundingBoxDrawMode(): number;
|
|
15814
17017
|
set boundingBoxDrawMode(mode: number);
|
|
17018
|
+
/** Returns serialized morph target groups for this node. */
|
|
17019
|
+
getSerializedMorphTargetGroups(): SerializedMorphTargetGroup[];
|
|
17020
|
+
/** Restores serialized morph target groups for this node. */
|
|
17021
|
+
setSerializedMorphTargetGroups(groups: SerializedMorphTargetGroup[]): void;
|
|
17022
|
+
/**
|
|
17023
|
+
* Force transform update and notify descendants.
|
|
17024
|
+
* @param invalidateLocal - If true, also invalidate local matrix; otherwise only invalidate world matrix.
|
|
17025
|
+
*/
|
|
15815
17026
|
invalidateTransform(invalidateLocal?: boolean): void;
|
|
17027
|
+
/**
|
|
17028
|
+
* Set morph target weight by name for all meshes in the subtree.
|
|
17029
|
+
* @param name - Morph target name
|
|
17030
|
+
* @param weight - Morph target weight
|
|
17031
|
+
*/
|
|
17032
|
+
setMorphTargetWeight(name: string, weight: number): void;
|
|
17033
|
+
/**
|
|
17034
|
+
* Set morph target group weight for the model instance.
|
|
17035
|
+
* @param name - Morph target group name
|
|
17036
|
+
* @param weight - Group weight
|
|
17037
|
+
*/
|
|
17038
|
+
setMorphTargetGroupWeight(name: string, weight: number): void;
|
|
17039
|
+
/**
|
|
17040
|
+
* Get morph target group weight.
|
|
17041
|
+
* @param name - Morph target group name
|
|
17042
|
+
* @returns The group weight, or 0 if no group was found
|
|
17043
|
+
*/
|
|
17044
|
+
getMorphTargetGroupWeight(name: string): number;
|
|
17045
|
+
/**
|
|
17046
|
+
* Collect all morph target names from meshes in the subtree.
|
|
17047
|
+
* @returns Array of unique morph target names
|
|
17048
|
+
*/
|
|
17049
|
+
collectMorphTargetNames(): string[];
|
|
17050
|
+
/**
|
|
17051
|
+
* Collect all model-level morph target group names.
|
|
17052
|
+
* @returns Array of morph target group names
|
|
17053
|
+
*/
|
|
17054
|
+
collectMorphTargetGroupNames(): string[];
|
|
15816
17055
|
/** Get called when the node was just created by cloning from other node */
|
|
15817
17056
|
protected onPostClone(): void | Promise<void>;
|
|
15818
17057
|
/** Disposes the node */
|
|
@@ -16066,16 +17305,16 @@ declare class InputManager {
|
|
|
16066
17305
|
*
|
|
16067
17306
|
* Responsibilities:
|
|
16068
17307
|
* - Resolve logical module IDs to physical paths or URLs.
|
|
16069
|
-
* - In editor mode,
|
|
17308
|
+
* - In editor mode, bundle local script modules into a single data URL after transpile.
|
|
16070
17309
|
* - Transpile TypeScript to JavaScript on the fly (requires `window.ts` TypeScript runtime).
|
|
16071
17310
|
* - Gather static and dynamic import dependencies for tooling.
|
|
16072
17311
|
*
|
|
16073
17312
|
* Modes:
|
|
16074
|
-
* - Editor mode (`editorMode === true`):
|
|
17313
|
+
* - Editor mode (`editorMode === true`): local script graphs are bundled to data URLs.
|
|
16075
17314
|
* - Runtime mode (`editorMode === false`): returns .js URLs directly (with .ts -\> .js mapping).
|
|
16076
17315
|
*
|
|
16077
17316
|
* Caching:
|
|
16078
|
-
* - Built
|
|
17317
|
+
* - Built bundles are memoized in `_built` map keyed by canonical source path.
|
|
16079
17318
|
*
|
|
16080
17319
|
* @public
|
|
16081
17320
|
*/
|
|
@@ -16083,10 +17322,11 @@ declare class ScriptRegistry {
|
|
|
16083
17322
|
private _vfs;
|
|
16084
17323
|
private _scriptsRoot;
|
|
16085
17324
|
private _built;
|
|
17325
|
+
private _building;
|
|
17326
|
+
private _builtDeps;
|
|
16086
17327
|
/**
|
|
16087
17328
|
* @param vfs - The virtual file system for existence checks, reads, and path ops.
|
|
16088
17329
|
* @param scriptsRoot - Root directory for script resolution (used with `#/` specifiers).
|
|
16089
|
-
* @param editorMode - Whether to build modules to data URLs and rewrite imports.
|
|
16090
17330
|
*/
|
|
16091
17331
|
constructor(vfs: VFS, scriptsRoot: string);
|
|
16092
17332
|
/**
|
|
@@ -16151,56 +17391,31 @@ declare class ScriptRegistry {
|
|
|
16151
17391
|
*/
|
|
16152
17392
|
getDependencies(entryId: string, fromId: string, dependencies: Record<string, string>): Promise<void>;
|
|
16153
17393
|
/**
|
|
16154
|
-
* Builds a logical module id into a data URL (editor mode pipeline).
|
|
17394
|
+
* Builds a logical module id into a bundled data URL (editor mode pipeline).
|
|
16155
17395
|
*
|
|
16156
17396
|
* Steps:
|
|
16157
17397
|
* - Resolve source path (.ts/.js) via {@link ScriptRegistry.resolveSourcePath}.
|
|
16158
|
-
* -
|
|
16159
|
-
* -
|
|
16160
|
-
* -
|
|
16161
|
-
* - Convert to `data:` URL and memoize in `_built`.
|
|
17398
|
+
* - Collect reachable local imports without recursively building data URLs.
|
|
17399
|
+
* - Transpile local modules to `System.register`.
|
|
17400
|
+
* - Emit a single `data:` URL with a small module loader and memoize it in `_built`.
|
|
16162
17401
|
*
|
|
16163
17402
|
* @param id - Logical module id to build.
|
|
16164
17403
|
* @returns Data URL string for dynamic import, or empty string if not found.
|
|
16165
17404
|
*/
|
|
16166
17405
|
private build;
|
|
17406
|
+
private buildBundle;
|
|
17407
|
+
private collectModule;
|
|
17408
|
+
private resolveModuleInfo;
|
|
17409
|
+
private getTypeScriptRuntime;
|
|
17410
|
+
private transpileToESModule;
|
|
17411
|
+
private transpileToSystemModule;
|
|
16167
17412
|
/**
|
|
16168
|
-
*
|
|
16169
|
-
*
|
|
16170
|
-
* Behavior:
|
|
16171
|
-
* - For `'js'`, returns code with `//# sourceURL=logicalId`.
|
|
16172
|
-
* - For `'ts'`, requires `window.ts` (TypeScript compiler) to be present and
|
|
16173
|
-
* transpiles to ES2015/ESNext module with inline source maps.
|
|
16174
|
-
*
|
|
16175
|
-
* @param code - Source code to transpile.
|
|
16176
|
-
* @param _id - Logical module id (used for fileName/sourceURL).
|
|
16177
|
-
* @param type - Source type (`'js' | 'ts'`).
|
|
16178
|
-
* @returns Transpiled JavaScript source.
|
|
16179
|
-
* @throws If TypeScript runtime is not found for TS input.
|
|
16180
|
-
*/
|
|
16181
|
-
private transpile;
|
|
16182
|
-
/**
|
|
16183
|
-
* Rewrites ESM import specifiers in `code` into runtime-loadable URLs.
|
|
16184
|
-
*
|
|
16185
|
-
* Parsing:
|
|
16186
|
-
* - Uses `es-module-lexer` to find import spans; sorts them ascending by start.
|
|
16187
|
-
*
|
|
16188
|
-
* Replacement rules:
|
|
16189
|
-
* - Skip invalid spans or ones without quoted specifiers.
|
|
16190
|
-
* - If spec is absolute URL, special URL (data:, blob:), or bare module:
|
|
16191
|
-
* - If it starts with `@zephyr3d/`, keep as-is (external).
|
|
16192
|
-
* - Otherwise resolve to a logical id and attempt to `build` it (if available).
|
|
16193
|
-
* - Else (relative spec), resolve from `fromId` and `build` recursively.
|
|
16194
|
-
*
|
|
16195
|
-
* Output:
|
|
16196
|
-
* - Directly writes the replacement specifier without re-adding quotes,
|
|
16197
|
-
* so replacements must themselves be quoted or be valid URLs/data URLs.
|
|
16198
|
-
*
|
|
16199
|
-
* @param code - Module source code to transform.
|
|
16200
|
-
* @param fromId - The logical id of the current module (resolution base for relatives).
|
|
16201
|
-
* @returns Transformed source with rewritten import specifiers.
|
|
17413
|
+
* Rewrites local ESM specifiers to canonical source paths and records local deps.
|
|
17414
|
+
* External URLs and package imports are left for the native dynamic import path.
|
|
16202
17415
|
*/
|
|
16203
|
-
private
|
|
17416
|
+
private rewriteImportsToLogicalIds;
|
|
17417
|
+
private resolveImportTarget;
|
|
17418
|
+
private getSystemBundleRuntime;
|
|
16204
17419
|
/**
|
|
16205
17420
|
* Resolves a specifier to a logical id suitable for further processing.
|
|
16206
17421
|
*
|
|
@@ -16623,6 +17838,7 @@ declare class ScriptingSystem {
|
|
|
16623
17838
|
interface IRenderable extends IDisposable {
|
|
16624
17839
|
render(): void;
|
|
16625
17840
|
}
|
|
17841
|
+
type RenderFunc = () => void;
|
|
16626
17842
|
/**
|
|
16627
17843
|
* Interface for render hooks to customize rendering behavior.
|
|
16628
17844
|
*
|
|
@@ -16653,10 +17869,11 @@ declare class Engine {
|
|
|
16653
17869
|
private _builtinsVFS;
|
|
16654
17870
|
private _scriptingSystem;
|
|
16655
17871
|
private _resourceManager;
|
|
17872
|
+
private _msdfTextAtlasManager;
|
|
16656
17873
|
private _enabled;
|
|
16657
17874
|
private _screen;
|
|
16658
17875
|
protected _activeRenderables: {
|
|
16659
|
-
renderable: DRef<IRenderable>;
|
|
17876
|
+
renderable: Nullable<RenderFunc> | DRef<IRenderable>;
|
|
16660
17877
|
hook: Nullable<IRenderHook>;
|
|
16661
17878
|
}[];
|
|
16662
17879
|
private _loadingScenes;
|
|
@@ -16676,11 +17893,50 @@ declare class Engine {
|
|
|
16676
17893
|
* Exposes the virtual file system used by the underlying {@link ScriptingSystem}'s registry.
|
|
16677
17894
|
*/
|
|
16678
17895
|
get VFS(): VFS;
|
|
17896
|
+
/**
|
|
17897
|
+
* Replaces the virtual file system used by the engine.
|
|
17898
|
+
*
|
|
17899
|
+
* The previous resource manager VFS is closed, the scripting registry is updated,
|
|
17900
|
+
* and built-in assets are remounted on the new VFS.
|
|
17901
|
+
*
|
|
17902
|
+
* @param vfs - New virtual file system.
|
|
17903
|
+
*/
|
|
16679
17904
|
set VFS(vfs: VFS);
|
|
16680
17905
|
/**
|
|
16681
17906
|
* Exposes the instance of {@link ResourceManager}.
|
|
16682
17907
|
*/
|
|
16683
17908
|
get resourceManager(): ResourceManager;
|
|
17909
|
+
/**
|
|
17910
|
+
* Exposes the shared runtime MSDF text atlas manager.
|
|
17911
|
+
*/
|
|
17912
|
+
get msdfTextAtlasManager(): MSDFTextAtlasManager;
|
|
17913
|
+
/**
|
|
17914
|
+
* Releases a loaded font asset from the resource cache and disposes its shared MSDF atlas textures.
|
|
17915
|
+
*
|
|
17916
|
+
* Existing scene nodes that still reference this font asset are not updated automatically.
|
|
17917
|
+
* Call this only after you have stopped using the font, or when you intentionally want it to rebuild later.
|
|
17918
|
+
*
|
|
17919
|
+
* @param font - The loaded font asset path to release.
|
|
17920
|
+
* @returns `true` if either the atlas cache or the font cache had an entry to remove.
|
|
17921
|
+
*/
|
|
17922
|
+
releaseFontAsset(font: string): boolean;
|
|
17923
|
+
/**
|
|
17924
|
+
* Configures the MSDF atlas for a given font asset, creating or replacing the atlas as needed.
|
|
17925
|
+
*
|
|
17926
|
+
* This is useful to customize the glyph size, atlas page size, distance range, and padding for MSDF text rendering.
|
|
17927
|
+
* Existing scene nodes that reference this font asset will use the updated atlas automatically.
|
|
17928
|
+
*
|
|
17929
|
+
* @param font - The font asset path to configure the MSDF atlas for.
|
|
17930
|
+
* @param pageSize - The size of each atlas page in pixels (e.g., 512, 1024).
|
|
17931
|
+
* @param glyphSize - The size of each glyph in pixels (e.g., 32, 64).
|
|
17932
|
+
* @param distanceRange - The distance range for MSDF generation. Defaults to 4.
|
|
17933
|
+
* @param padding - The padding between glyphs in the atlas in pixels. Defaults to 2.
|
|
17934
|
+
* @returns `true` if the atlas was successfully configured, or `false` if the font asset was not found.
|
|
17935
|
+
*
|
|
17936
|
+
* @remarks
|
|
17937
|
+
* The font asset must be loaded and available in the resource manager for the atlas to be configured.
|
|
17938
|
+
*/
|
|
17939
|
+
configureMSDFAtlas(font: string, pageSize: number, glyphSize: number, distanceRange?: number, padding?: number): boolean;
|
|
16684
17940
|
/**
|
|
16685
17941
|
* Exposes the active {@link ScreenAdapter}.
|
|
16686
17942
|
*/
|
|
@@ -16708,6 +17964,7 @@ declare class Engine {
|
|
|
16708
17964
|
* @typeParam T - Host type.
|
|
16709
17965
|
* @param host - Host object to attach the script to.
|
|
16710
17966
|
* @param module - Module identifier to resolve and load.
|
|
17967
|
+
* @param config - Optional configuration passed to the script instance.
|
|
16711
17968
|
* @returns The `RuntimeScript<T>` instance, or `null` if disabled or on failure.
|
|
16712
17969
|
*/
|
|
16713
17970
|
attachScript<T extends Host>(host: Nullable<T>, module: string, config?: Nullable<RuntimeScriptConfig>): Promise<Nullable<RuntimeScript<T>>>;
|
|
@@ -16734,16 +17991,56 @@ declare class Engine {
|
|
|
16734
17991
|
/**
|
|
16735
17992
|
* Ticks all attached scripts by calling their `onUpdate` hooks, if enabled.
|
|
16736
17993
|
*
|
|
16737
|
-
* Delegates to {@link ScriptingSystem.update}. No-op when disabled.
|
|
16738
|
-
*
|
|
16739
17994
|
* @param deltaTime - Time since last update in Seconds.
|
|
16740
17995
|
* @param elapsedTime - Total elapsed time in Seconds.
|
|
16741
17996
|
*/
|
|
16742
17997
|
update(deltaTime: number, elapsedTime: number): void;
|
|
17998
|
+
/**
|
|
17999
|
+
* Loads a scene from a file path.
|
|
18000
|
+
*
|
|
18001
|
+
* Concurrent requests for the same normalized path share the same loading promise.
|
|
18002
|
+
* Scripts declared on the scene and its nodes are attached after the scene is loaded.
|
|
18003
|
+
*
|
|
18004
|
+
* @param path - Scene file path in the current VFS.
|
|
18005
|
+
* @returns The loaded scene, or `null` when loading fails.
|
|
18006
|
+
*/
|
|
16743
18007
|
loadSceneFromFile(path: string): Promise<Nullable<Scene>>;
|
|
16744
|
-
|
|
18008
|
+
/**
|
|
18009
|
+
* Sets or clears the renderable for a render layer.
|
|
18010
|
+
*
|
|
18011
|
+
* Passing `null` clears the layer. Object renderables are held through a strong reference wrapper,
|
|
18012
|
+
* while render functions are stored directly.
|
|
18013
|
+
*
|
|
18014
|
+
* @param renderable - Renderable object or render function to assign, or `null` to clear.
|
|
18015
|
+
* @param layer - Render layer index. Defaults to `0`.
|
|
18016
|
+
* @param hook - Optional render hook invoked before and after this layer renders.
|
|
18017
|
+
*/
|
|
18018
|
+
setRenderable(renderable: Nullable<IRenderable | RenderFunc>, layer?: number, hook?: IRenderHook): void;
|
|
18019
|
+
/**
|
|
18020
|
+
* Reads a file from the current VFS.
|
|
18021
|
+
*
|
|
18022
|
+
* @typeParam T - Requested read encoding.
|
|
18023
|
+
* @param path - File path to read.
|
|
18024
|
+
* @param encoding - Optional read encoding. Defaults to `binary`.
|
|
18025
|
+
* @returns The file content, or `null` when the read fails.
|
|
18026
|
+
*/
|
|
16745
18027
|
readFile<T extends ReadOptions['encoding'] = 'binary'>(path: string, encoding?: T): Promise<(T extends "binary" ? ArrayBuffer : string) | null>;
|
|
18028
|
+
/**
|
|
18029
|
+
* Starts the runtime by optionally showing a splash screen, running a startup script,
|
|
18030
|
+
* and loading the startup scene.
|
|
18031
|
+
*
|
|
18032
|
+
* @param startupScene - Optional scene path rendered on layer `0` after startup completes.
|
|
18033
|
+
* @param splashScreen - Optional scene path rendered on a temporary splash layer during startup.
|
|
18034
|
+
* @param startupScript - Optional startup script module path. A trailing `.ts` or `.js`
|
|
18035
|
+
* extension is removed before loading.
|
|
18036
|
+
*/
|
|
16746
18037
|
startup(startupScene?: Nullable<string>, splashScreen?: Nullable<string>, startupScript?: Nullable<string>): Promise<void>;
|
|
18038
|
+
/**
|
|
18039
|
+
* Renders all active render layers.
|
|
18040
|
+
*
|
|
18041
|
+
* Each layer's `beforeRender` hook can return `false` to skip rendering that layer.
|
|
18042
|
+
* The `afterRender` hook is invoked after the render attempt.
|
|
18043
|
+
*/
|
|
16747
18044
|
render(): void;
|
|
16748
18045
|
private ensureBuiltinVFS;
|
|
16749
18046
|
private createBuiltinVFS;
|
|
@@ -17532,6 +18829,32 @@ declare class Scene extends Scene_base implements IRenderable {
|
|
|
17532
18829
|
protected onDispose(): void;
|
|
17533
18830
|
}
|
|
17534
18831
|
|
|
18832
|
+
/**
|
|
18833
|
+
* 3D Text Sprite node
|
|
18834
|
+
* @public
|
|
18835
|
+
*/
|
|
18836
|
+
declare class TextSprite extends BaseSprite<StandardSpriteMaterial> {
|
|
18837
|
+
private _resolutionX;
|
|
18838
|
+
private _resolutionY;
|
|
18839
|
+
private _text;
|
|
18840
|
+
private _font;
|
|
18841
|
+
private _color;
|
|
18842
|
+
private static _textRenderState;
|
|
18843
|
+
constructor(scene: Scene);
|
|
18844
|
+
isSprite(): this is Sprite;
|
|
18845
|
+
get resolutionX(): number;
|
|
18846
|
+
set resolutionX(value: number);
|
|
18847
|
+
get resolutionY(): number;
|
|
18848
|
+
set resolutionY(value: number);
|
|
18849
|
+
get text(): string;
|
|
18850
|
+
set text(value: string);
|
|
18851
|
+
get textColor(): Immutable<Vector3>;
|
|
18852
|
+
set textColor(value: Immutable<Vector3>);
|
|
18853
|
+
get font(): string;
|
|
18854
|
+
set font(value: string);
|
|
18855
|
+
update(): void;
|
|
18856
|
+
}
|
|
18857
|
+
|
|
17535
18858
|
/**
|
|
17536
18859
|
* Visitor for raycasting in the scene. It can be used for picking or other raycast-based queries.
|
|
17537
18860
|
* @public
|
|
@@ -17728,6 +19051,13 @@ declare class ResourceManager {
|
|
|
17728
19051
|
*
|
|
17729
19052
|
*/
|
|
17730
19053
|
setAssetId(asset: unknown, id?: Nullable<string>): void;
|
|
19054
|
+
/**
|
|
19055
|
+
* Register a model loader.
|
|
19056
|
+
*
|
|
19057
|
+
* @param mimeType - What MIME type of files this loader can load
|
|
19058
|
+
* @param loader - A concrete model loader implementation.
|
|
19059
|
+
*/
|
|
19060
|
+
setModelLoader(mimeType: string, loader: ModelLoader): void;
|
|
17731
19061
|
/**
|
|
17732
19062
|
* Fetch a binary asset by ID via the asset manager.
|
|
17733
19063
|
*
|
|
@@ -17735,11 +19065,32 @@ declare class ResourceManager {
|
|
|
17735
19065
|
* - Associates the returned data with the given ID for future reverse lookup.
|
|
17736
19066
|
* - The ID is typically a VFS path or locator.
|
|
17737
19067
|
*
|
|
17738
|
-
* @param
|
|
19068
|
+
* @param path - VFS path of the binary asset.
|
|
17739
19069
|
*
|
|
17740
19070
|
* @returns A Promise that resolves to the binary content, or `null` if not found.
|
|
17741
19071
|
*/
|
|
17742
|
-
fetchBinary(
|
|
19072
|
+
fetchBinary(path: string, options?: BaseFetchOptions): Promise<Nullable<ArrayBuffer>>;
|
|
19073
|
+
/**
|
|
19074
|
+
* Fetch a text asset by ID via the asset manager.
|
|
19075
|
+
*
|
|
19076
|
+
* @param path - VFS path of TTF/OTF file.
|
|
19077
|
+
* @returns A Promise that resolves to the font asset, or `null` if not found.
|
|
19078
|
+
*/
|
|
19079
|
+
fetchFontAsset(path: string, options?: FontAssetFetchOptions): Promise<Nullable<FontAsset>>;
|
|
19080
|
+
/**
|
|
19081
|
+
* Get a cached font asset by ID if already loaded.
|
|
19082
|
+
*
|
|
19083
|
+
* @param path - VFS path of TTF/OTF file.
|
|
19084
|
+
* @returns The cached FontAsset if it exists and is loaded, or null if not cached or still loading.
|
|
19085
|
+
*/
|
|
19086
|
+
getFontAsset(path: string): Nullable<FontAsset>;
|
|
19087
|
+
/**
|
|
19088
|
+
* Removes a cached font asset entry by asset instance or asset ID.
|
|
19089
|
+
*
|
|
19090
|
+
* @param asset - Loaded font asset instance or its asset ID/path.
|
|
19091
|
+
* @returns `true` if a cache entry existed and was removed.
|
|
19092
|
+
*/
|
|
19093
|
+
releaseFontAsset(asset: FontAsset | string): boolean;
|
|
17743
19094
|
/**
|
|
17744
19095
|
* Serialize an object to a JSON structure using registered class metadata.
|
|
17745
19096
|
*
|
|
@@ -17788,16 +19139,13 @@ declare class ResourceManager {
|
|
|
17788
19139
|
/**
|
|
17789
19140
|
* Load a model by ID and track the allocation for reverse lookup.
|
|
17790
19141
|
*
|
|
17791
|
-
* @param
|
|
19142
|
+
* @param path - VFS path of the model file.
|
|
17792
19143
|
* @param scene - Scene into which the model is loaded.
|
|
17793
19144
|
* @param options - Optional model fetch options.
|
|
17794
19145
|
*
|
|
17795
19146
|
* @returns A Promise resolving to the loaded model object, or `null` if failed.
|
|
17796
19147
|
*/
|
|
17797
|
-
fetchModel(
|
|
17798
|
-
group: SceneNode;
|
|
17799
|
-
animationSet: AnimationSet;
|
|
17800
|
-
}>;
|
|
19148
|
+
fetchModel(path: string, scene: Scene, options?: ModelFetchOptions): Promise<SceneNode | undefined>;
|
|
17801
19149
|
/**
|
|
17802
19150
|
* Load a texture directly from an ArrayBuffer or typed array.
|
|
17803
19151
|
*
|
|
@@ -17816,20 +19164,20 @@ declare class ResourceManager {
|
|
|
17816
19164
|
/**
|
|
17817
19165
|
* Load a texture by ID and track the allocation for reverse lookup.
|
|
17818
19166
|
*
|
|
17819
|
-
* @param
|
|
19167
|
+
* @param path - VFS path of the texture file.
|
|
17820
19168
|
* @param options - Optional texture fetch options.
|
|
17821
19169
|
*
|
|
17822
19170
|
* @returns A Promise resolving to the loaded texture, or `null` if failed.
|
|
17823
19171
|
*/
|
|
17824
|
-
fetchTexture<T extends Texture2D | TextureCube | Texture2DArray>(
|
|
19172
|
+
fetchTexture<T extends Texture2D | TextureCube | Texture2DArray>(path: string, options?: TextureFetchOptions<T>): Promise<T>;
|
|
17825
19173
|
/**
|
|
17826
19174
|
* Load a material by ID and track the allocation for reverse lookup.
|
|
17827
19175
|
*
|
|
17828
|
-
* @param
|
|
19176
|
+
* @param path - VFS path of the material file.
|
|
17829
19177
|
*
|
|
17830
19178
|
* @returns A Promise resolving to the loaded material, or `null` if failed.
|
|
17831
19179
|
*/
|
|
17832
|
-
fetchMaterial<T extends Material = MeshMaterial>(
|
|
19180
|
+
fetchMaterial<T extends Material = MeshMaterial>(path: string, options?: BaseFetchOptions): Promise<Nullable<T>>;
|
|
17833
19181
|
/**
|
|
17834
19182
|
* Reload specific blue print materials
|
|
17835
19183
|
*
|
|
@@ -17845,11 +19193,11 @@ declare class ResourceManager {
|
|
|
17845
19193
|
/**
|
|
17846
19194
|
* Load a primitive by ID and track the allocation for reverse lookup.
|
|
17847
19195
|
*
|
|
17848
|
-
* @param
|
|
19196
|
+
* @param path - VFS path of the primitive file.
|
|
17849
19197
|
*
|
|
17850
19198
|
* @returns A Promise resolving to the loaded primitive, or `null` if failed.
|
|
17851
19199
|
*/
|
|
17852
|
-
fetchPrimitive<T extends Primitive = Primitive>(
|
|
19200
|
+
fetchPrimitive<T extends Primitive = Primitive>(path: string, options?: BaseFetchOptions): Promise<Nullable<T>>;
|
|
17853
19201
|
/**
|
|
17854
19202
|
* Load a prefab content.
|
|
17855
19203
|
* @param path - Path to the prefab JSON file in VFS.
|
|
@@ -21115,6 +22463,120 @@ declare class TextureSampleGrad extends BaseGraphNode {
|
|
|
21115
22463
|
protected getType(): string;
|
|
21116
22464
|
}
|
|
21117
22465
|
|
|
22466
|
+
/**
|
|
22467
|
+
* Vertex output node
|
|
22468
|
+
* @public
|
|
22469
|
+
*/
|
|
22470
|
+
declare class VertexOutputNode extends BaseGraphNode {
|
|
22471
|
+
private _index;
|
|
22472
|
+
constructor(index: number);
|
|
22473
|
+
get index(): number;
|
|
22474
|
+
static getSerializationCls(): SerializableClass;
|
|
22475
|
+
/**
|
|
22476
|
+
* Generates a string representation of this node
|
|
22477
|
+
*
|
|
22478
|
+
* @returns 'vertex index'
|
|
22479
|
+
*/
|
|
22480
|
+
toString(): string;
|
|
22481
|
+
/**
|
|
22482
|
+
* Validates the node state
|
|
22483
|
+
*
|
|
22484
|
+
* @returns Empty string (always valid)
|
|
22485
|
+
*
|
|
22486
|
+
* @remarks
|
|
22487
|
+
* Vertex index nodes are always valid as they have no inputs.
|
|
22488
|
+
*/
|
|
22489
|
+
protected validate(): string;
|
|
22490
|
+
/**
|
|
22491
|
+
* Gets the output type for a specific output slot
|
|
22492
|
+
*
|
|
22493
|
+
* @param id - The output slot ID
|
|
22494
|
+
* @returns 'float' for individual channel outputs (id \> 1), 'vec4' for full color
|
|
22495
|
+
*/
|
|
22496
|
+
protected getType(id: number): "float" | "vec4";
|
|
22497
|
+
}
|
|
22498
|
+
/**
|
|
22499
|
+
* Vertex index input node
|
|
22500
|
+
* @public
|
|
22501
|
+
*/
|
|
22502
|
+
declare class VertexIndexNode extends BaseGraphNode {
|
|
22503
|
+
/**
|
|
22504
|
+
* Creates a new vertex index node
|
|
22505
|
+
*/
|
|
22506
|
+
constructor();
|
|
22507
|
+
/**
|
|
22508
|
+
* Gets the serialization descriptor for this node type
|
|
22509
|
+
*
|
|
22510
|
+
* @returns Serialization class descriptor
|
|
22511
|
+
*/
|
|
22512
|
+
static getSerializationCls(): {
|
|
22513
|
+
ctor: typeof VertexIndexNode;
|
|
22514
|
+
name: string;
|
|
22515
|
+
getProps(): never[];
|
|
22516
|
+
};
|
|
22517
|
+
/**
|
|
22518
|
+
* Generates a string representation of this node
|
|
22519
|
+
*
|
|
22520
|
+
* @returns 'vertex index'
|
|
22521
|
+
*/
|
|
22522
|
+
toString(): string;
|
|
22523
|
+
/**
|
|
22524
|
+
* Validates the node state
|
|
22525
|
+
*
|
|
22526
|
+
* @returns Empty string (always valid)
|
|
22527
|
+
*
|
|
22528
|
+
* @remarks
|
|
22529
|
+
* Vertex index nodes are always valid as they have no inputs.
|
|
22530
|
+
*/
|
|
22531
|
+
protected validate(): string;
|
|
22532
|
+
/**
|
|
22533
|
+
* Gets the output type for a specific output slot
|
|
22534
|
+
*
|
|
22535
|
+
* @returns 'float'
|
|
22536
|
+
*/
|
|
22537
|
+
protected getType(): string;
|
|
22538
|
+
}
|
|
22539
|
+
/**
|
|
22540
|
+
* Instance index input node
|
|
22541
|
+
* @public
|
|
22542
|
+
*/
|
|
22543
|
+
declare class InstanceIndexNode extends BaseGraphNode {
|
|
22544
|
+
/**
|
|
22545
|
+
* Creates a new instance index node
|
|
22546
|
+
*/
|
|
22547
|
+
constructor();
|
|
22548
|
+
/**
|
|
22549
|
+
* Gets the serialization descriptor for this node type
|
|
22550
|
+
*
|
|
22551
|
+
* @returns Serialization class descriptor
|
|
22552
|
+
*/
|
|
22553
|
+
static getSerializationCls(): {
|
|
22554
|
+
ctor: typeof InstanceIndexNode;
|
|
22555
|
+
name: string;
|
|
22556
|
+
getProps(): never[];
|
|
22557
|
+
};
|
|
22558
|
+
/**
|
|
22559
|
+
* Generates a string representation of this node
|
|
22560
|
+
*
|
|
22561
|
+
* @returns 'instance index'
|
|
22562
|
+
*/
|
|
22563
|
+
toString(): string;
|
|
22564
|
+
/**
|
|
22565
|
+
* Validates the node state
|
|
22566
|
+
*
|
|
22567
|
+
* @returns Empty string (always valid)
|
|
22568
|
+
*
|
|
22569
|
+
* @remarks
|
|
22570
|
+
* Instance index nodes are always valid as they have no inputs.
|
|
22571
|
+
*/
|
|
22572
|
+
protected validate(): string;
|
|
22573
|
+
/**
|
|
22574
|
+
* Gets the output type for a specific output slot
|
|
22575
|
+
*
|
|
22576
|
+
* @returns 'float'
|
|
22577
|
+
*/
|
|
22578
|
+
protected getType(): string;
|
|
22579
|
+
}
|
|
21118
22580
|
/**
|
|
21119
22581
|
* Vertex color input node
|
|
21120
22582
|
*
|
|
@@ -23687,6 +25149,121 @@ declare function interleavedGradientNoise(scope: PBInsideFunctionScope, c: PBSha
|
|
|
23687
25149
|
*/
|
|
23688
25150
|
declare function temporalResolve(scope: PBInsideFunctionScope, currentColorTex: PBShaderExp, historyColorTex: PBShaderExp, currentDepthTex: PBShaderExp, motionVectorTex: PBShaderExp, prevMotionVectorTex: PBShaderExp, uv: PBShaderExp, workSize: PBShaderExp, debug?: number): PBShaderExp;
|
|
23689
25151
|
|
|
25152
|
+
/** @public */
|
|
25153
|
+
type AvatarSlotId = string;
|
|
25154
|
+
/** @public */
|
|
25155
|
+
type AvatarBindMode = 'exact' | 'humanoid' | 'name' | 'custom';
|
|
25156
|
+
/** @public */
|
|
25157
|
+
type AvatarFitMode = 'reuseInverseBind' | 'preserveRestPose';
|
|
25158
|
+
/** @public */
|
|
25159
|
+
type AvatarOutfitSource = string | SceneNode | SharedModel;
|
|
25160
|
+
/** @public */
|
|
25161
|
+
type AvatarBodyRegionTarget = SceneNode | Mesh;
|
|
25162
|
+
/** @public */
|
|
25163
|
+
type AvatarBodyRegions = Record<string, AvatarBodyRegionTarget[]>;
|
|
25164
|
+
/** @public */
|
|
25165
|
+
type AvatarJointMap = Record<string, string> | ((sourceJoint: SceneNode, targetRig: SkeletonRig, sourceRig: SkeletonRig) => Nullable<SceneNode>);
|
|
25166
|
+
/** @public */
|
|
25167
|
+
type AvatarSlotOptions = {
|
|
25168
|
+
id: AvatarSlotId;
|
|
25169
|
+
hideBodyRegions?: string[];
|
|
25170
|
+
exclusiveWith?: AvatarSlotId[];
|
|
25171
|
+
allowMultiple?: boolean;
|
|
25172
|
+
};
|
|
25173
|
+
/** @public */
|
|
25174
|
+
type AvatarWardrobeOptions = {
|
|
25175
|
+
root: SceneNode;
|
|
25176
|
+
rig?: SkeletonRig | string;
|
|
25177
|
+
slots?: AvatarSlotOptions[];
|
|
25178
|
+
bodyRegions?: AvatarBodyRegions;
|
|
25179
|
+
modelFetchOptions?: ModelFetchOptions;
|
|
25180
|
+
};
|
|
25181
|
+
/** @public */
|
|
25182
|
+
type AvatarEquipOptions = {
|
|
25183
|
+
slot?: AvatarSlotId;
|
|
25184
|
+
bindMode?: AvatarBindMode;
|
|
25185
|
+
fitMode?: AvatarFitMode;
|
|
25186
|
+
jointMap?: AvatarJointMap;
|
|
25187
|
+
hideBodyRegions?: string[];
|
|
25188
|
+
modelFetchOptions?: ModelFetchOptions;
|
|
25189
|
+
};
|
|
25190
|
+
/** @public */
|
|
25191
|
+
type AvatarOutfitValidation = {
|
|
25192
|
+
ok: boolean;
|
|
25193
|
+
meshes: number;
|
|
25194
|
+
skinBindings: number;
|
|
25195
|
+
mappedJoints: number;
|
|
25196
|
+
missingJoints: string[];
|
|
25197
|
+
errors: string[];
|
|
25198
|
+
warnings: string[];
|
|
25199
|
+
};
|
|
25200
|
+
/**
|
|
25201
|
+
* A concrete equipped outfit item.
|
|
25202
|
+
*
|
|
25203
|
+
* Disposing the instance unequips it from the owning wardrobe.
|
|
25204
|
+
*
|
|
25205
|
+
* @public
|
|
25206
|
+
*/
|
|
25207
|
+
declare class AvatarOutfitInstance extends Disposable {
|
|
25208
|
+
readonly id: string;
|
|
25209
|
+
readonly slot: AvatarSlotId;
|
|
25210
|
+
readonly root: DRef<SceneNode>;
|
|
25211
|
+
readonly meshes: DRef<Mesh>[];
|
|
25212
|
+
readonly skinBindings: SkinBinding[];
|
|
25213
|
+
readonly hiddenBodyRegions: string[];
|
|
25214
|
+
private _wardrobe;
|
|
25215
|
+
protected onDispose(): void;
|
|
25216
|
+
}
|
|
25217
|
+
/**
|
|
25218
|
+
* High level avatar outfit controller.
|
|
25219
|
+
*
|
|
25220
|
+
* The wardrobe keeps one avatar {@link SkeletonRig} as the animation source and
|
|
25221
|
+
* binds equipped clothing meshes to that rig with new {@link SkinBinding}s.
|
|
25222
|
+
*
|
|
25223
|
+
* @public
|
|
25224
|
+
*/
|
|
25225
|
+
declare class AvatarWardrobe extends Disposable {
|
|
25226
|
+
private readonly _root;
|
|
25227
|
+
private readonly _rig;
|
|
25228
|
+
private readonly _slots;
|
|
25229
|
+
private readonly _bodyRegions;
|
|
25230
|
+
private readonly _equipped;
|
|
25231
|
+
private readonly _hiddenBodyNodeCounts;
|
|
25232
|
+
private readonly _bodyNodeOriginalState;
|
|
25233
|
+
private readonly _modelFetchOptions;
|
|
25234
|
+
constructor(options: AvatarWardrobeOptions);
|
|
25235
|
+
static from(root: SceneNode, options?: Omit<AvatarWardrobeOptions, 'root'>): AvatarWardrobe;
|
|
25236
|
+
get root(): SceneNode;
|
|
25237
|
+
get rig(): SkeletonRig;
|
|
25238
|
+
getEquipped(slot?: AvatarSlotId): AvatarOutfitInstance[];
|
|
25239
|
+
equip(source: AvatarOutfitSource, options?: AvatarEquipOptions): Promise<Nullable<AvatarOutfitInstance>>;
|
|
25240
|
+
unequip(slotOrInstance: AvatarSlotId | AvatarOutfitInstance): void;
|
|
25241
|
+
clear(): void;
|
|
25242
|
+
validateOutfit(source: SceneNode, options?: AvatarEquipOptions): AvatarOutfitValidation;
|
|
25243
|
+
protected onDispose(): void;
|
|
25244
|
+
private resolveTargetRig;
|
|
25245
|
+
private ensureRigRegistered;
|
|
25246
|
+
private enforceSlotRules;
|
|
25247
|
+
private resolveSource;
|
|
25248
|
+
private collectSkinnedMeshes;
|
|
25249
|
+
private chooseBindMode;
|
|
25250
|
+
private resolveTargetJoint;
|
|
25251
|
+
private resolveHumanoidTargetJoint;
|
|
25252
|
+
private findHumanoidMappedJoint;
|
|
25253
|
+
private findTargetJointByName;
|
|
25254
|
+
private createInverseBindMatrices;
|
|
25255
|
+
private computeBindWorldMatrices;
|
|
25256
|
+
private getRigNodeBindPose;
|
|
25257
|
+
private stripSourceSkinBindings;
|
|
25258
|
+
private removeSkinBinding;
|
|
25259
|
+
private removeRefs;
|
|
25260
|
+
private getHiddenBodyRegions;
|
|
25261
|
+
private retainBodyRegions;
|
|
25262
|
+
private releaseBodyRegions;
|
|
25263
|
+
private collectBodyRegionNodes;
|
|
25264
|
+
private uniqueNodes;
|
|
25265
|
+
}
|
|
25266
|
+
|
|
23690
25267
|
/**
|
|
23691
25268
|
* Blit type
|
|
23692
25269
|
* @public
|
|
@@ -24081,4 +25658,4 @@ declare const ATMOSPHERIC_FOG_BIT: number;
|
|
|
24081
25658
|
*/
|
|
24082
25659
|
declare const HEIGHT_FOG_BIT: number;
|
|
24083
25660
|
|
|
24084
|
-
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, 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 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, type ForwardPlusOptions, FractNode, FunctionCallNode, FunctionInputNode, FunctionOutputNode, GPUClothSystem, type GPUClothSystemOptions, type GPUClothWrapBindingData, type GPUClothWrapBindingTarget, GaussianBlurBlitter, GenericMathNode, type GeometryCacheFrame, type GeometryCacheMeshBinding, type GeometryCacheState, GerstnerWaveGenerator, 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, 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, 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, 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, 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, VertexNormalNode, VertexPositionNode, VertexTangentNode, VertexUVNode, ViewMatrixNode, ViewProjMatrixNode, type Visitor, Water, type WaveGenerator, WeightedBlendedOIT, applyAngleLimits, applyMaterialMixins, applyResult, applyRuntimeScriptConfig, buildConstraints, buildForwardPlusGraph, 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, 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 };
|
|
25661
|
+
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 };
|