@onerjs/core 8.56.4 → 9.0.1
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/Animations/animatable.core.js +36 -0
- package/Animations/animatable.core.js.map +1 -1
- package/Animations/animationGroup.pure.d.ts +61 -1
- package/Animations/animationGroup.pure.js +191 -2
- package/Animations/animationGroup.pure.js.map +1 -1
- package/Animations/index.d.ts +1 -0
- package/Animations/index.js +1 -0
- package/Animations/index.js.map +1 -1
- package/Animations/pure.d.ts +1 -0
- package/Animations/pure.js +1 -0
- package/Animations/pure.js.map +1 -1
- package/Animations/rootMotion.d.ts +560 -0
- package/Animations/rootMotion.js +1709 -0
- package/Animations/rootMotion.js.map +1 -0
- package/Animations/runtimeAnimation.d.ts +57 -0
- package/Animations/runtimeAnimation.js +127 -3
- package/Animations/runtimeAnimation.js.map +1 -1
- package/Cameras/arcRotateCamera.pure.d.ts +2 -0
- package/Cameras/arcRotateCamera.pure.js +2 -0
- package/Cameras/arcRotateCamera.pure.js.map +1 -1
- package/Cameras/targetCamera.pure.d.ts +2 -0
- package/Cameras/targetCamera.pure.js +13 -2
- package/Cameras/targetCamera.pure.js.map +1 -1
- package/Collisions/gpuPicker.js +5 -5
- package/Collisions/gpuPicker.js.map +1 -1
- package/Engines/AbstractEngine/abstractEngine.query.pure.js +4 -2
- package/Engines/AbstractEngine/abstractEngine.query.pure.js.map +1 -1
- package/Engines/AbstractEngine/abstractEngine.query.types.d.ts +11 -2
- package/Engines/AbstractEngine/abstractEngine.query.types.js.map +1 -1
- package/Engines/AbstractEngine/abstractEngine.renderPass.pure.js +1 -0
- package/Engines/AbstractEngine/abstractEngine.renderPass.pure.js.map +1 -1
- package/Engines/Extensions/engine.multiRender.pure.js +63 -0
- package/Engines/Extensions/engine.multiRender.pure.js.map +1 -1
- package/Engines/Extensions/engine.multiRender.types.d.ts +13 -0
- package/Engines/Extensions/engine.multiRender.types.js.map +1 -1
- package/Engines/Extensions/engine.prefilteredCubeTexture.pure.js +2 -2
- package/Engines/Extensions/engine.prefilteredCubeTexture.pure.js.map +1 -1
- package/Engines/Extensions/engine.prefilteredCubeTexture.types.d.ts +2 -1
- package/Engines/Extensions/engine.prefilteredCubeTexture.types.js.map +1 -1
- package/Engines/Extensions/index.d.ts +1 -0
- package/Engines/Extensions/index.js +1 -0
- package/Engines/Extensions/index.js.map +1 -1
- package/Engines/Extensions/pure.d.ts +1 -1
- package/Engines/Extensions/pure.js +1 -1
- package/Engines/Extensions/pure.js.map +1 -1
- package/Engines/Native/Extensions/nativeEngine.cubeTexture.pure.js +88 -39
- package/Engines/Native/Extensions/nativeEngine.cubeTexture.pure.js.map +1 -1
- package/Engines/Native/Extensions/nativeEngine.cubeTexture.types.d.ts +20 -2
- package/Engines/Native/Extensions/nativeEngine.cubeTexture.types.js.map +1 -1
- package/Engines/Native/nativeHardwareTexture.d.ts +8 -1
- package/Engines/Native/nativeHardwareTexture.js +7 -0
- package/Engines/Native/nativeHardwareTexture.js.map +1 -1
- package/Engines/Native/nativeHelpers.js +56 -1
- package/Engines/Native/nativeHelpers.js.map +1 -1
- package/Engines/Native/nativeInterfaces.d.ts +37 -8
- package/Engines/Native/nativeInterfaces.js.map +1 -1
- package/Engines/Native/nativeRenderTargetWrapper.d.ts +40 -0
- package/Engines/Native/nativeRenderTargetWrapper.js +265 -5
- package/Engines/Native/nativeRenderTargetWrapper.js.map +1 -1
- package/Engines/Processors/shaderCodeCursor.d.ts +1 -0
- package/Engines/Processors/shaderCodeCursor.js +40 -3
- package/Engines/Processors/shaderCodeCursor.js.map +1 -1
- package/Engines/WebGPU/Extensions/engine.multiRender.pure.js +4 -0
- package/Engines/WebGPU/Extensions/engine.multiRender.pure.js.map +1 -1
- package/Engines/WebGPU/Extensions/engine.multiRender.types.d.ts +13 -0
- package/Engines/WebGPU/Extensions/engine.multiRender.types.js.map +1 -1
- package/Engines/WebGPU/Extensions/engine.query.pure.js +11 -3
- package/Engines/WebGPU/Extensions/engine.query.pure.js.map +1 -1
- package/Engines/WebGPU/Extensions/engine.renderTarget.pure.js +1 -0
- package/Engines/WebGPU/Extensions/engine.renderTarget.pure.js.map +1 -1
- package/Engines/WebGPU/Extensions/index.d.ts +1 -0
- package/Engines/WebGPU/Extensions/index.js +1 -0
- package/Engines/WebGPU/Extensions/index.js.map +1 -1
- package/Engines/WebGPU/Extensions/pure.d.ts +1 -1
- package/Engines/WebGPU/Extensions/pure.js +1 -1
- package/Engines/WebGPU/Extensions/pure.js.map +1 -1
- package/Engines/WebGPU/webgpuBundleList.d.ts +2 -0
- package/Engines/WebGPU/webgpuBundleList.js +4 -0
- package/Engines/WebGPU/webgpuBundleList.js.map +1 -1
- package/Engines/WebGPU/webgpuCacheRenderPipeline.js +5 -2
- package/Engines/WebGPU/webgpuCacheRenderPipeline.js.map +1 -1
- package/Engines/WebGPU/webgpuHardwareTexture.js +3 -1
- package/Engines/WebGPU/webgpuHardwareTexture.js.map +1 -1
- package/Engines/WebGPU/webgpuOcclusionQuery.js +1 -1
- package/Engines/WebGPU/webgpuOcclusionQuery.js.map +1 -1
- package/Engines/WebGPU/webgpuSnapshotRendering.d.ts +4 -0
- package/Engines/WebGPU/webgpuSnapshotRendering.js +40 -7
- package/Engines/WebGPU/webgpuSnapshotRendering.js.map +1 -1
- package/Engines/WebGPU/webgpuTextureHelper.d.ts +1 -1
- package/Engines/WebGPU/webgpuTextureHelper.js +2 -2
- package/Engines/WebGPU/webgpuTextureHelper.js.map +1 -1
- package/Engines/WebGPU/webgpuTextureManager.d.ts +2 -0
- package/Engines/WebGPU/webgpuTextureManager.js +286 -13
- package/Engines/WebGPU/webgpuTextureManager.js.map +1 -1
- package/Engines/abstractEngine.pure.d.ts +17 -1
- package/Engines/abstractEngine.pure.js +17 -5
- package/Engines/abstractEngine.pure.js.map +1 -1
- package/Engines/constants.d.ts +4 -0
- package/Engines/constants.js +4 -0
- package/Engines/constants.js.map +1 -1
- package/Engines/engine.pure.d.ts +0 -1
- package/Engines/engine.pure.js +0 -7
- package/Engines/engine.pure.js.map +1 -1
- package/Engines/nativeEngine.pure.js +1 -1
- package/Engines/nativeEngine.pure.js.map +1 -1
- package/Engines/thinEngine.pure.d.ts +15 -0
- package/Engines/thinEngine.pure.js +61 -14
- package/Engines/thinEngine.pure.js.map +1 -1
- package/Engines/thinNativeEngine.pure.d.ts +218 -17
- package/Engines/thinNativeEngine.pure.js +1438 -165
- package/Engines/thinNativeEngine.pure.js.map +1 -1
- package/Engines/thinWebGPUEngine.d.ts +4 -0
- package/Engines/thinWebGPUEngine.js +16 -2
- package/Engines/thinWebGPUEngine.js.map +1 -1
- package/Engines/webgpuEngine.pure.d.ts +17 -3
- package/Engines/webgpuEngine.pure.js +56 -13
- package/Engines/webgpuEngine.pure.js.map +1 -1
- package/FlowGraph/Blocks/Data/Math/flowGraphMathBlocks.pure.js +2 -2
- package/FlowGraph/Blocks/Data/Math/flowGraphMathBlocks.pure.js.map +1 -1
- package/FlowGraph/Blocks/Data/Transformers/flowGraphJsonPointerParserBlock.pure.d.ts +10 -0
- package/FlowGraph/Blocks/Data/Transformers/flowGraphJsonPointerParserBlock.pure.js +24 -12
- package/FlowGraph/Blocks/Data/Transformers/flowGraphJsonPointerParserBlock.pure.js.map +1 -1
- package/FlowGraph/Blocks/Data/Utils/flowGraphArrayIndexBlock.pure.d.ts +11 -2
- package/FlowGraph/Blocks/Data/Utils/flowGraphArrayIndexBlock.pure.js +1 -1
- package/FlowGraph/Blocks/Data/Utils/flowGraphArrayIndexBlock.pure.js.map +1 -1
- package/FlowGraph/Blocks/Data/flowGraphGetPropertyBlock.pure.d.ts +7 -0
- package/FlowGraph/Blocks/Data/flowGraphGetPropertyBlock.pure.js +43 -0
- package/FlowGraph/Blocks/Data/flowGraphGetPropertyBlock.pure.js.map +1 -1
- package/FlowGraph/Blocks/Event/flowGraphMeshPickEventBlock.pure.d.ts +9 -1
- package/FlowGraph/Blocks/Event/flowGraphMeshPickEventBlock.pure.js +6 -8
- package/FlowGraph/Blocks/Event/flowGraphMeshPickEventBlock.pure.js.map +1 -1
- package/FlowGraph/Blocks/Event/flowGraphPointerOutEventBlock.pure.d.ts +2 -0
- package/FlowGraph/Blocks/Event/flowGraphPointerOutEventBlock.pure.js +5 -1
- package/FlowGraph/Blocks/Event/flowGraphPointerOutEventBlock.pure.js.map +1 -1
- package/FlowGraph/Blocks/Event/flowGraphPointerOverEventBlock.pure.d.ts +2 -0
- package/FlowGraph/Blocks/Event/flowGraphPointerOverEventBlock.pure.js +5 -1
- package/FlowGraph/Blocks/Event/flowGraphPointerOverEventBlock.pure.js.map +1 -1
- package/FlowGraph/Blocks/Event/flowGraphReceiveCustomEventBlock.pure.d.ts +9 -0
- package/FlowGraph/Blocks/Event/flowGraphReceiveCustomEventBlock.pure.js +34 -9
- package/FlowGraph/Blocks/Event/flowGraphReceiveCustomEventBlock.pure.js.map +1 -1
- package/FlowGraph/Blocks/Event/flowGraphSceneReadyEventBlock.pure.d.ts +2 -0
- package/FlowGraph/Blocks/Event/flowGraphSceneReadyEventBlock.pure.js +4 -0
- package/FlowGraph/Blocks/Event/flowGraphSceneReadyEventBlock.pure.js.map +1 -1
- package/FlowGraph/Blocks/Event/flowGraphSceneTickEventBlock.pure.d.ts +18 -4
- package/FlowGraph/Blocks/Event/flowGraphSceneTickEventBlock.pure.js +24 -6
- package/FlowGraph/Blocks/Event/flowGraphSceneTickEventBlock.pure.js.map +1 -1
- package/FlowGraph/Blocks/Event/flowGraphSendCustomEventBlock.pure.js +19 -7
- package/FlowGraph/Blocks/Event/flowGraphSendCustomEventBlock.pure.js.map +1 -1
- package/FlowGraph/Blocks/Execution/Animation/flowGraphInterpolationBlock.pure.js +3 -3
- package/FlowGraph/Blocks/Execution/Animation/flowGraphInterpolationBlock.pure.js.map +1 -1
- package/FlowGraph/Blocks/Execution/Animation/flowGraphPlayAnimationBlock.pure.d.ts +20 -2
- package/FlowGraph/Blocks/Execution/Animation/flowGraphPlayAnimationBlock.pure.js +85 -25
- package/FlowGraph/Blocks/Execution/Animation/flowGraphPlayAnimationBlock.pure.js.map +1 -1
- package/FlowGraph/Blocks/Execution/Animation/flowGraphStopAnimationBlock.pure.d.ts +16 -1
- package/FlowGraph/Blocks/Execution/Animation/flowGraphStopAnimationBlock.pure.js +64 -14
- package/FlowGraph/Blocks/Execution/Animation/flowGraphStopAnimationBlock.pure.js.map +1 -1
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphCancelDelayBlock.pure.d.ts +12 -1
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphCancelDelayBlock.pure.js +8 -0
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphCancelDelayBlock.pure.js.map +1 -1
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphForLoopBlock.pure.js +4 -1
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphForLoopBlock.pure.js.map +1 -1
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphThrottleBlock.pure.d.ts +12 -1
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphThrottleBlock.pure.js +5 -1
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphThrottleBlock.pure.js.map +1 -1
- package/FlowGraph/Blocks/Execution/flowGraphConsoleLogBlock.pure.js +64 -16
- package/FlowGraph/Blocks/Execution/flowGraphConsoleLogBlock.pure.js.map +1 -1
- package/FlowGraph/Blocks/Execution/flowGraphSetPropertyBlock.pure.d.ts +2 -0
- package/FlowGraph/Blocks/Execution/flowGraphSetPropertyBlock.pure.js +14 -2
- package/FlowGraph/Blocks/Execution/flowGraphSetPropertyBlock.pure.js.map +1 -1
- package/FlowGraph/Blocks/Execution/flowGraphSetVariableBlock.pure.d.ts +5 -1
- package/FlowGraph/Blocks/Execution/flowGraphSetVariableBlock.pure.js +23 -8
- package/FlowGraph/Blocks/Execution/flowGraphSetVariableBlock.pure.js.map +1 -1
- package/FlowGraph/CustomTypes/flowGraphInteger.pure.d.ts +5 -0
- package/FlowGraph/CustomTypes/flowGraphInteger.pure.js +7 -0
- package/FlowGraph/CustomTypes/flowGraphInteger.pure.js.map +1 -1
- package/FlowGraph/CustomTypes/flowGraphMatrix.d.ts +10 -0
- package/FlowGraph/CustomTypes/flowGraphMatrix.js +14 -0
- package/FlowGraph/CustomTypes/flowGraphMatrix.js.map +1 -1
- package/FlowGraph/flowGraph.d.ts +6 -1
- package/FlowGraph/flowGraph.js +41 -9
- package/FlowGraph/flowGraph.js.map +1 -1
- package/FlowGraph/flowGraphAnimationHelpers.d.ts +24 -0
- package/FlowGraph/flowGraphAnimationHelpers.js +21 -0
- package/FlowGraph/flowGraphAnimationHelpers.js.map +1 -0
- package/FlowGraph/flowGraphBlock.js +3 -0
- package/FlowGraph/flowGraphBlock.js.map +1 -1
- package/FlowGraph/flowGraphConnection.d.ts +7 -0
- package/FlowGraph/flowGraphConnection.js +7 -0
- package/FlowGraph/flowGraphConnection.js.map +1 -1
- package/FlowGraph/flowGraphContext.d.ts +2 -1
- package/FlowGraph/flowGraphContext.js +5 -3
- package/FlowGraph/flowGraphContext.js.map +1 -1
- package/FlowGraph/flowGraphCoordinator.d.ts +15 -1
- package/FlowGraph/flowGraphCoordinator.js +47 -16
- package/FlowGraph/flowGraphCoordinator.js.map +1 -1
- package/FlowGraph/flowGraphEventBlock.d.ts +5 -0
- package/FlowGraph/flowGraphEventBlock.js +7 -0
- package/FlowGraph/flowGraphEventBlock.js.map +1 -1
- package/FlowGraph/flowGraphHostResolver.d.ts +2 -1
- package/FlowGraph/flowGraphHostResolver.js.map +1 -1
- package/FlowGraph/flowGraphParser.js +60 -2
- package/FlowGraph/flowGraphParser.js.map +1 -1
- package/FlowGraph/flowGraphValidator.js +0 -4
- package/FlowGraph/flowGraphValidator.js.map +1 -1
- package/FlowGraph/index.d.ts +2 -0
- package/FlowGraph/index.js +2 -0
- package/FlowGraph/index.js.map +1 -1
- package/FlowGraph/pure.d.ts +2 -0
- package/FlowGraph/pure.js +2 -0
- package/FlowGraph/pure.js.map +1 -1
- package/FlowGraph/serialization.d.ts +4 -2
- package/FlowGraph/serialization.js +12 -24
- package/FlowGraph/serialization.js.map +1 -1
- package/FlowGraph/typeDefinitions.d.ts +9 -1
- package/FlowGraph/typeDefinitions.js.map +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/meshBlendingPostProcessBlock.d.ts +5 -0
- package/FrameGraph/Node/Blocks/PostProcesses/meshBlendingPostProcessBlock.js +8 -0
- package/FrameGraph/Node/Blocks/PostProcesses/meshBlendingPostProcessBlock.js.map +1 -0
- package/FrameGraph/Node/Blocks/PostProcesses/meshBlendingPostProcessBlock.pure.d.ts +87 -0
- package/FrameGraph/Node/Blocks/PostProcesses/meshBlendingPostProcessBlock.pure.js +295 -0
- package/FrameGraph/Node/Blocks/PostProcesses/meshBlendingPostProcessBlock.pure.js.map +1 -0
- package/FrameGraph/Node/Blocks/PostProcesses/pure.d.ts +1 -0
- package/FrameGraph/Node/Blocks/PostProcesses/pure.js +1 -0
- package/FrameGraph/Node/Blocks/PostProcesses/pure.js.map +1 -1
- package/FrameGraph/Node/Blocks/Rendering/baseObjectRendererBlock.js +4 -4
- package/FrameGraph/Node/Blocks/Rendering/baseObjectRendererBlock.js.map +1 -1
- package/FrameGraph/Node/Blocks/Rendering/geometryRendererBlock.pure.d.ts +5 -1
- package/FrameGraph/Node/Blocks/Rendering/geometryRendererBlock.pure.js +13 -1
- package/FrameGraph/Node/Blocks/Rendering/geometryRendererBlock.pure.js.map +1 -1
- package/FrameGraph/Node/Blocks/Textures/minMaxReducerBlock.d.ts +1 -0
- package/FrameGraph/Node/Blocks/Textures/minMaxReducerBlock.js +4 -0
- package/FrameGraph/Node/Blocks/Textures/minMaxReducerBlock.js.map +1 -0
- package/FrameGraph/Node/Blocks/Textures/minMaxReducerBlock.pure.d.ts +54 -0
- package/FrameGraph/Node/Blocks/Textures/minMaxReducerBlock.pure.js +155 -0
- package/FrameGraph/Node/Blocks/Textures/minMaxReducerBlock.pure.js.map +1 -0
- package/FrameGraph/Node/Blocks/Textures/pure.d.ts +1 -0
- package/FrameGraph/Node/Blocks/Textures/pure.js +1 -0
- package/FrameGraph/Node/Blocks/Textures/pure.js.map +1 -1
- package/FrameGraph/Node/Blocks/allBlocks.pure.js +4 -0
- package/FrameGraph/Node/Blocks/allBlocks.pure.js.map +1 -1
- package/FrameGraph/Node/Blocks/index.d.ts +2 -0
- package/FrameGraph/Node/Blocks/index.js +2 -0
- package/FrameGraph/Node/Blocks/index.js.map +1 -1
- package/FrameGraph/Node/Blocks/inputBlock.pure.js +20 -1
- package/FrameGraph/Node/Blocks/inputBlock.pure.js.map +1 -1
- package/FrameGraph/Node/Blocks/pure.d.ts +2 -0
- package/FrameGraph/Node/Blocks/pure.js +2 -0
- package/FrameGraph/Node/Blocks/pure.js.map +1 -1
- package/FrameGraph/Node/Types/nodeRenderGraphTypes.d.ts +4 -2
- package/FrameGraph/Node/Types/nodeRenderGraphTypes.js +4 -2
- package/FrameGraph/Node/Types/nodeRenderGraphTypes.js.map +1 -1
- package/FrameGraph/Node/nodeRenderGraph.js +1 -1
- package/FrameGraph/Node/nodeRenderGraph.js.map +1 -1
- package/FrameGraph/Tasks/Layers/selectionOutlineTask.js +1 -0
- package/FrameGraph/Tasks/Layers/selectionOutlineTask.js.map +1 -1
- package/FrameGraph/Tasks/Misc/cullObjectsTask.js +5 -1
- package/FrameGraph/Tasks/Misc/cullObjectsTask.js.map +1 -1
- package/FrameGraph/Tasks/Misc/lightingVolumeTask.js +1 -0
- package/FrameGraph/Tasks/Misc/lightingVolumeTask.js.map +1 -1
- package/FrameGraph/Tasks/Misc/minMaxReducerTask.d.ts +62 -0
- package/FrameGraph/Tasks/Misc/minMaxReducerTask.js +159 -0
- package/FrameGraph/Tasks/Misc/minMaxReducerTask.js.map +1 -0
- package/FrameGraph/Tasks/PostProcesses/meshBlendingTask.d.ts +69 -0
- package/FrameGraph/Tasks/PostProcesses/meshBlendingTask.js +223 -0
- package/FrameGraph/Tasks/PostProcesses/meshBlendingTask.js.map +1 -0
- package/FrameGraph/Tasks/Rendering/geometryRendererTask.d.ts +25 -3
- package/FrameGraph/Tasks/Rendering/geometryRendererTask.js +72 -34
- package/FrameGraph/Tasks/Rendering/geometryRendererTask.js.map +1 -1
- package/FrameGraph/Tasks/Rendering/objectRendererTask.js +3 -1
- package/FrameGraph/Tasks/Rendering/objectRendererTask.js.map +1 -1
- package/FrameGraph/frameGraph.d.ts +4 -0
- package/FrameGraph/frameGraph.js +14 -0
- package/FrameGraph/frameGraph.js.map +1 -1
- package/FrameGraph/frameGraphObjectList.d.ts +6 -1
- package/FrameGraph/frameGraphObjectList.js.map +1 -1
- package/FrameGraph/frameGraphRenderContext.d.ts +3 -1
- package/FrameGraph/frameGraphRenderContext.js +5 -5
- package/FrameGraph/frameGraphRenderContext.js.map +1 -1
- package/FrameGraph/index.d.ts +2 -0
- package/FrameGraph/index.js +2 -0
- package/FrameGraph/index.js.map +1 -1
- package/FrameGraph/pure.d.ts +2 -0
- package/FrameGraph/pure.js +2 -0
- package/FrameGraph/pure.js.map +1 -1
- package/Inputs/scene.inputManager.d.ts +4 -0
- package/Inputs/scene.inputManager.js +50 -8
- package/Inputs/scene.inputManager.js.map +1 -1
- package/Lights/Clustered/clusteredLightingSceneComponent.pure.d.ts +5 -0
- package/Lights/Clustered/clusteredLightingSceneComponent.pure.js +22 -1
- package/Lights/Clustered/clusteredLightingSceneComponent.pure.js.map +1 -1
- package/Lights/Shadows/cascadedShadowGenerator.pure.js +7 -3
- package/Lights/Shadows/cascadedShadowGenerator.pure.js.map +1 -1
- package/Materials/GaussianSplatting/gaussianPointSplattingBlitMaterial.d.ts +7 -0
- package/Materials/GaussianSplatting/gaussianPointSplattingBlitMaterial.js +8 -0
- package/Materials/GaussianSplatting/gaussianPointSplattingBlitMaterial.js.map +1 -0
- package/Materials/GaussianSplatting/gaussianPointSplattingBlitMaterial.pure.d.ts +54 -0
- package/Materials/GaussianSplatting/gaussianPointSplattingBlitMaterial.pure.js +81 -0
- package/Materials/GaussianSplatting/gaussianPointSplattingBlitMaterial.pure.js.map +1 -0
- package/Materials/GaussianSplatting/gaussianPointSplattingDepthBlitMaterial.d.ts +7 -0
- package/Materials/GaussianSplatting/gaussianPointSplattingDepthBlitMaterial.js +8 -0
- package/Materials/GaussianSplatting/gaussianPointSplattingDepthBlitMaterial.js.map +1 -0
- package/Materials/GaussianSplatting/gaussianPointSplattingDepthBlitMaterial.pure.d.ts +60 -0
- package/Materials/GaussianSplatting/gaussianPointSplattingDepthBlitMaterial.pure.js +90 -0
- package/Materials/GaussianSplatting/gaussianPointSplattingDepthBlitMaterial.pure.js.map +1 -0
- package/Materials/GaussianSplatting/gaussianSplattingDebugMaterialPlugin.pure.d.ts +31 -0
- package/Materials/GaussianSplatting/gaussianSplattingDebugMaterialPlugin.pure.js +103 -5
- package/Materials/GaussianSplatting/gaussianSplattingDebugMaterialPlugin.pure.js.map +1 -1
- package/Materials/GaussianSplatting/gaussianSplattingGpuPickingMaterialPlugin.pure.js +6 -6
- package/Materials/GaussianSplatting/gaussianSplattingGpuPickingMaterialPlugin.pure.js.map +1 -1
- package/Materials/GaussianSplatting/gaussianSplattingMaterial.pure.d.ts +26 -1
- package/Materials/GaussianSplatting/gaussianSplattingMaterial.pure.js +153 -49
- package/Materials/GaussianSplatting/gaussianSplattingMaterial.pure.js.map +1 -1
- package/Materials/GaussianSplatting/gaussianSplattingOverdrawMaterialPlugin.d.ts +1 -0
- package/Materials/GaussianSplatting/gaussianSplattingOverdrawMaterialPlugin.js +4 -0
- package/Materials/GaussianSplatting/gaussianSplattingOverdrawMaterialPlugin.js.map +1 -0
- package/Materials/GaussianSplatting/gaussianSplattingOverdrawMaterialPlugin.pure.d.ts +83 -0
- package/Materials/GaussianSplatting/gaussianSplattingOverdrawMaterialPlugin.pure.js +191 -0
- package/Materials/GaussianSplatting/gaussianSplattingOverdrawMaterialPlugin.pure.js.map +1 -0
- package/Materials/GaussianSplatting/gaussianSplattingSizeMaterialPlugin.d.ts +1 -0
- package/Materials/GaussianSplatting/gaussianSplattingSizeMaterialPlugin.js +4 -0
- package/Materials/GaussianSplatting/gaussianSplattingSizeMaterialPlugin.js.map +1 -0
- package/Materials/GaussianSplatting/gaussianSplattingSizeMaterialPlugin.pure.d.ts +62 -0
- package/Materials/GaussianSplatting/gaussianSplattingSizeMaterialPlugin.pure.js +125 -0
- package/Materials/GaussianSplatting/gaussianSplattingSizeMaterialPlugin.pure.js.map +1 -0
- package/Materials/GaussianSplatting/gaussianSplattingSolidColorMaterialPlugin.pure.js +5 -5
- package/Materials/GaussianSplatting/gaussianSplattingSolidColorMaterialPlugin.pure.js.map +1 -1
- package/Materials/GaussianSplatting/pure.d.ts +4 -0
- package/Materials/GaussianSplatting/pure.js +4 -0
- package/Materials/GaussianSplatting/pure.js.map +1 -1
- package/Materials/Node/Blocks/Dual/imageSourceBlock.pure.d.ts +1 -0
- package/Materials/Node/Blocks/Dual/imageSourceBlock.pure.js +12 -0
- package/Materials/Node/Blocks/Dual/imageSourceBlock.pure.js.map +1 -1
- package/Materials/Node/Blocks/Fragment/fragmentOutputBlock.pure.js +11 -1
- package/Materials/Node/Blocks/Fragment/fragmentOutputBlock.pure.js.map +1 -1
- package/Materials/Node/Blocks/Fragment/prePassOutputBlock.pure.js +17 -2
- package/Materials/Node/Blocks/Fragment/prePassOutputBlock.pure.js.map +1 -1
- package/Materials/Node/Blocks/GaussianSplatting/gaussianSplattingBlock.pure.js +2 -2
- package/Materials/Node/Blocks/GaussianSplatting/gaussianSplattingBlock.pure.js.map +1 -1
- package/Materials/Node/nodeMaterial.pure.d.ts +4 -0
- package/Materials/Node/nodeMaterial.pure.js +4 -0
- package/Materials/Node/nodeMaterial.pure.js.map +1 -1
- package/Materials/Node/nodeMaterialBuildState.d.ts +1 -1
- package/Materials/Node/nodeMaterialBuildState.js +25 -3
- package/Materials/Node/nodeMaterialBuildState.js.map +1 -1
- package/Materials/PBR/openpbrMaterial.pure.d.ts +2 -0
- package/Materials/PBR/pbrBaseMaterial.pure.d.ts +2 -0
- package/Materials/Textures/Procedurals/proceduralTexture.pure.d.ts +14 -14
- package/Materials/Textures/Procedurals/proceduralTexture.pure.js +37 -13
- package/Materials/Textures/Procedurals/proceduralTexture.pure.js.map +1 -1
- package/Materials/Textures/baseTexture.pure.js +3 -0
- package/Materials/Textures/baseTexture.pure.js.map +1 -1
- package/Materials/Textures/cubeTexture.pure.js +1 -1
- package/Materials/Textures/cubeTexture.pure.js.map +1 -1
- package/Materials/Textures/internalTexture.d.ts +8 -1
- package/Materials/Textures/internalTexture.js +9 -2
- package/Materials/Textures/internalTexture.js.map +1 -1
- package/Materials/Textures/mirrorTexture.pure.js +3 -1
- package/Materials/Textures/mirrorTexture.pure.js.map +1 -1
- package/Materials/Textures/rawTexture2DArray.functions.d.ts +3 -3
- package/Materials/Textures/rawTexture2DArray.functions.js.map +1 -1
- package/Materials/Textures/rawTexture3D.d.ts +1 -1
- package/Materials/Textures/rawTexture3D.js +1 -1
- package/Materials/Textures/rawTexture3D.js.map +1 -1
- package/Materials/Textures/texture.pure.js +1 -1
- package/Materials/Textures/texture.pure.js.map +1 -1
- package/Materials/Textures/textureHelper.functions.d.ts +14 -0
- package/Materials/Textures/textureHelper.functions.js +24 -0
- package/Materials/Textures/textureHelper.functions.js.map +1 -1
- package/Materials/ditheredTileFadeMaterialPlugin.d.ts +210 -0
- package/Materials/ditheredTileFadeMaterialPlugin.js +509 -0
- package/Materials/ditheredTileFadeMaterialPlugin.js.map +1 -0
- package/Materials/effectRenderer.pure.d.ts +4 -0
- package/Materials/effectRenderer.pure.js +3 -2
- package/Materials/effectRenderer.pure.js.map +1 -1
- package/Materials/index.d.ts +5 -0
- package/Materials/index.js +5 -0
- package/Materials/index.js.map +1 -1
- package/Materials/material.pure.js +25 -12
- package/Materials/material.pure.js.map +1 -1
- package/Materials/materialHelper.geometryrendering.d.ts +46 -1
- package/Materials/materialHelper.geometryrendering.js +105 -8
- package/Materials/materialHelper.geometryrendering.js.map +1 -1
- package/Materials/prepass.defines.d.ts +2 -0
- package/Materials/prepass.defines.js +2 -0
- package/Materials/prepass.defines.js.map +1 -1
- package/Materials/pure.d.ts +5 -0
- package/Materials/pure.js +5 -0
- package/Materials/pure.js.map +1 -1
- package/Materials/standardMaterial.pure.d.ts +10 -0
- package/Materials/standardMaterial.pure.js +30 -5
- package/Materials/standardMaterial.pure.js.map +1 -1
- package/Meshes/Builders/polygonBuilder.pure.d.ts +4 -0
- package/Meshes/Builders/polygonBuilder.pure.js +3 -0
- package/Meshes/Builders/polygonBuilder.pure.js.map +1 -1
- package/Meshes/GaussianSplatting/gaussianPointSplattingController.d.ts +8 -0
- package/Meshes/GaussianSplatting/gaussianPointSplattingController.js +11 -0
- package/Meshes/GaussianSplatting/gaussianPointSplattingController.js.map +1 -0
- package/Meshes/GaussianSplatting/gaussianPointSplattingController.pure.d.ts +231 -0
- package/Meshes/GaussianSplatting/gaussianPointSplattingController.pure.js +1212 -0
- package/Meshes/GaussianSplatting/gaussianPointSplattingController.pure.js.map +1 -0
- package/Meshes/GaussianSplatting/gaussianPointSplattingRenderer.d.ts +14 -0
- package/Meshes/GaussianSplatting/gaussianPointSplattingRenderer.js +15 -0
- package/Meshes/GaussianSplatting/gaussianPointSplattingRenderer.js.map +1 -0
- package/Meshes/GaussianSplatting/gaussianPointSplattingRenderer.pure.d.ts +285 -0
- package/Meshes/GaussianSplatting/gaussianPointSplattingRenderer.pure.js +812 -0
- package/Meshes/GaussianSplatting/gaussianPointSplattingRenderer.pure.js.map +1 -0
- package/Meshes/GaussianSplatting/gaussianSplatting.functions.d.ts +19 -0
- package/Meshes/GaussianSplatting/gaussianSplatting.functions.js +23 -0
- package/Meshes/GaussianSplatting/gaussianSplatting.functions.js.map +1 -0
- package/Meshes/GaussianSplatting/gaussianSplattingMesh.d.ts +1 -0
- package/Meshes/GaussianSplatting/gaussianSplattingMesh.js +2 -0
- package/Meshes/GaussianSplatting/gaussianSplattingMesh.js.map +1 -1
- package/Meshes/GaussianSplatting/gaussianSplattingMesh.pure.d.ts +163 -14
- package/Meshes/GaussianSplatting/gaussianSplattingMesh.pure.js +239 -24
- package/Meshes/GaussianSplatting/gaussianSplattingMesh.pure.js.map +1 -1
- package/Meshes/GaussianSplatting/gaussianSplattingMeshBase.pure.d.ts +34 -4
- package/Meshes/GaussianSplatting/gaussianSplattingMeshBase.pure.js +125 -25
- package/Meshes/GaussianSplatting/gaussianSplattingMeshBase.pure.js.map +1 -1
- package/Meshes/GaussianSplatting/pure.d.ts +2 -0
- package/Meshes/GaussianSplatting/pure.js +2 -0
- package/Meshes/GaussianSplatting/pure.js.map +1 -1
- package/Meshes/Node/Blocks/booleanGeometryBlock.pure.js +25 -11
- package/Meshes/Node/Blocks/booleanGeometryBlock.pure.js.map +1 -1
- package/Meshes/abstractMesh.pure.d.ts +30 -0
- package/Meshes/abstractMesh.pure.js +54 -0
- package/Meshes/abstractMesh.pure.js.map +1 -1
- package/Meshes/index.d.ts +2 -0
- package/Meshes/index.js +2 -0
- package/Meshes/index.js.map +1 -1
- package/Meshes/instancedMesh.pure.d.ts +5 -0
- package/Meshes/instancedMesh.pure.js +12 -0
- package/Meshes/instancedMesh.pure.js.map +1 -1
- package/Meshes/mesh.pure.js +23 -8
- package/Meshes/mesh.pure.js.map +1 -1
- package/Meshes/meshBlendingTag.d.ts +47 -0
- package/Meshes/meshBlendingTag.js +64 -0
- package/Meshes/meshBlendingTag.js.map +1 -0
- package/Meshes/polygonMesh.js +2 -2
- package/Meshes/polygonMesh.js.map +1 -1
- package/Meshes/pure.d.ts +2 -0
- package/Meshes/pure.js +2 -0
- package/Meshes/pure.js.map +1 -1
- package/Meshes/subMesh.pure.d.ts +11 -2
- package/Meshes/subMesh.pure.js +20 -5
- package/Meshes/subMesh.pure.js.map +1 -1
- package/Meshes/thinInstanceMesh.pure.js +1 -0
- package/Meshes/thinInstanceMesh.pure.js.map +1 -1
- package/Misc/andOrNotEvaluator.js +4 -0
- package/Misc/andOrNotEvaluator.js.map +1 -1
- package/Misc/fileTools.pure.js +21 -0
- package/Misc/fileTools.pure.js.map +1 -1
- package/Misc/minMaxReducer.pure.d.ts +6 -0
- package/Misc/minMaxReducer.pure.js +10 -0
- package/Misc/minMaxReducer.pure.js.map +1 -1
- package/Misc/snapshotRenderingHelper.js +2 -2
- package/Misc/snapshotRenderingHelper.js.map +1 -1
- package/Misc/thinMinMaxReducer.d.ts +19 -2
- package/Misc/thinMinMaxReducer.js +74 -21
- package/Misc/thinMinMaxReducer.js.map +1 -1
- package/Misc/tools.pure.js +1 -1
- package/Misc/tools.pure.js.map +1 -1
- package/Particles/Node/Blocks/Update/updateNoiseBlock.pure.js +19 -7
- package/Particles/Node/Blocks/Update/updateNoiseBlock.pure.js.map +1 -1
- package/Particles/Node/Blocks/particleSourceTextureBlock.pure.js +3 -2
- package/Particles/Node/Blocks/particleSourceTextureBlock.pure.js.map +1 -1
- package/Particles/gpuParticleSystem.pure.d.ts +4 -0
- package/Particles/gpuParticleSystem.pure.js +101 -32
- package/Particles/gpuParticleSystem.pure.js.map +1 -1
- package/Particles/particle.js +3 -2
- package/Particles/particle.js.map +1 -1
- package/Particles/solidParticleSystem.js +7 -1
- package/Particles/solidParticleSystem.js.map +1 -1
- package/Particles/thinParticleSystem.function.d.ts +6 -0
- package/Particles/thinParticleSystem.function.js +144 -88
- package/Particles/thinParticleSystem.function.js.map +1 -1
- package/Particles/thinParticleSystem.pure.d.ts +8 -0
- package/Particles/thinParticleSystem.pure.js +154 -28
- package/Particles/thinParticleSystem.pure.js.map +1 -1
- package/Particles/webgl2ParticleSystem.pure.d.ts +1 -0
- package/Particles/webgl2ParticleSystem.pure.js +12 -4
- package/Particles/webgl2ParticleSystem.pure.js.map +1 -1
- package/Physics/v2/ragdoll.d.ts +2 -4
- package/Physics/v2/ragdoll.js +11 -4
- package/Physics/v2/ragdoll.js.map +1 -1
- package/PostProcesses/RenderPipeline/Pipelines/lensRenderingPipeline.pure.js +7 -0
- package/PostProcesses/RenderPipeline/Pipelines/lensRenderingPipeline.pure.js.map +1 -1
- package/PostProcesses/index.d.ts +2 -0
- package/PostProcesses/index.js +2 -0
- package/PostProcesses/index.js.map +1 -1
- package/PostProcesses/meshBlendingBlueNoise.d.ts +15 -0
- package/PostProcesses/meshBlendingBlueNoise.js +77 -0
- package/PostProcesses/meshBlendingBlueNoise.js.map +1 -0
- package/PostProcesses/meshBlendingPostProcess.d.ts +131 -0
- package/PostProcesses/meshBlendingPostProcess.js +315 -0
- package/PostProcesses/meshBlendingPostProcess.js.map +1 -0
- package/PostProcesses/pure.d.ts +2 -0
- package/PostProcesses/pure.js +2 -0
- package/PostProcesses/pure.js.map +1 -1
- package/PostProcesses/thinMeshBlendingPostProcess.d.ts +339 -0
- package/PostProcesses/thinMeshBlendingPostProcess.js +771 -0
- package/PostProcesses/thinMeshBlendingPostProcess.js.map +1 -0
- package/Rendering/IBLShadows/iblShadowsRenderPipeline.pure.js +6 -6
- package/Rendering/IBLShadows/iblShadowsRenderPipeline.pure.js.map +1 -1
- package/Rendering/IBLShadows/iblShadowsVoxelRenderer.pure.d.ts +12 -0
- package/Rendering/IBLShadows/iblShadowsVoxelRenderer.pure.js +50 -25
- package/Rendering/IBLShadows/iblShadowsVoxelRenderer.pure.js.map +1 -1
- package/Rendering/boundingBoxRenderer.pure.js +2 -1
- package/Rendering/boundingBoxRenderer.pure.js.map +1 -1
- package/Rendering/depthRenderer.pure.d.ts +9 -0
- package/Rendering/depthRenderer.pure.js +15 -4
- package/Rendering/depthRenderer.pure.js.map +1 -1
- package/Rendering/edgesRenderer.pure.d.ts +4 -2
- package/Rendering/edgesRenderer.pure.js +11 -2
- package/Rendering/edgesRenderer.pure.js.map +1 -1
- package/Rendering/fluidRenderer/fluidRenderingObject.d.ts +14 -0
- package/Rendering/fluidRenderer/fluidRenderingObject.js +26 -0
- package/Rendering/fluidRenderer/fluidRenderingObject.js.map +1 -1
- package/Rendering/fluidRenderer/fluidRenderingObjectParticleSystem.d.ts +13 -3
- package/Rendering/fluidRenderer/fluidRenderingObjectParticleSystem.js +22 -9
- package/Rendering/fluidRenderer/fluidRenderingObjectParticleSystem.js.map +1 -1
- package/Rendering/fluidRenderer/fluidRenderingTargetRenderer.js +3 -0
- package/Rendering/fluidRenderer/fluidRenderingTargetRenderer.js.map +1 -1
- package/Rendering/geometryBufferRenderer.pure.d.ts +38 -4
- package/Rendering/geometryBufferRenderer.pure.js +130 -18
- package/Rendering/geometryBufferRenderer.pure.js.map +1 -1
- package/Rendering/objectRenderer.d.ts +7 -1
- package/Rendering/objectRenderer.js +45 -7
- package/Rendering/objectRenderer.js.map +1 -1
- package/Rendering/outlineRenderer.pure.js +6 -2
- package/Rendering/outlineRenderer.pure.js.map +1 -1
- package/Rendering/prePassRenderer.pure.js +3 -3
- package/Rendering/prePassRenderer.pure.js.map +1 -1
- package/Rendering/renderingManager.d.ts +1 -1
- package/Rendering/renderingManager.js +5 -4
- package/Rendering/renderingManager.js.map +1 -1
- package/Shaders/ShadersInclude/defaultFragmentAlpha.d.ts +5 -0
- package/Shaders/ShadersInclude/defaultFragmentAlpha.js +34 -0
- package/Shaders/ShadersInclude/defaultFragmentAlpha.js.map +1 -0
- package/Shaders/ShadersInclude/gaussianSplatting.js +3 -1
- package/Shaders/ShadersInclude/gaussianSplatting.js.map +1 -1
- package/Shaders/ShadersInclude/gaussianSplattingVertexDeclaration.js +5 -1
- package/Shaders/ShadersInclude/gaussianSplattingVertexDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/geometryRenderingFragment.d.ts +5 -0
- package/Shaders/ShadersInclude/geometryRenderingFragment.js +74 -0
- package/Shaders/ShadersInclude/geometryRenderingFragment.js.map +1 -0
- package/Shaders/ShadersInclude/lightsFragmentFunctions.js +27 -3
- package/Shaders/ShadersInclude/lightsFragmentFunctions.js.map +1 -1
- package/Shaders/ShadersInclude/mrtFragmentDeclaration.js +89 -0
- package/Shaders/ShadersInclude/mrtFragmentDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/oitDeclaration.js +1 -1
- package/Shaders/ShadersInclude/oitDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/openpbrBlockPrePass.js +24 -17
- package/Shaders/ShadersInclude/openpbrBlockPrePass.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBlockPrePass.js +27 -20
- package/Shaders/ShadersInclude/pbrBlockPrePass.js.map +1 -1
- package/Shaders/ShadersInclude/pbrDebug.js +6 -2
- package/Shaders/ShadersInclude/pbrDebug.js.map +1 -1
- package/Shaders/ShadersInclude/prePassDeclaration.js +95 -2
- package/Shaders/ShadersInclude/prePassDeclaration.js.map +1 -1
- package/Shaders/default.fragment.js +31 -40
- package/Shaders/default.fragment.js.map +1 -1
- package/Shaders/depthOfField.fragment.js +13 -9
- package/Shaders/depthOfField.fragment.js.map +1 -1
- package/Shaders/fluidRenderingParticleDepth.vertex.js +16 -1
- package/Shaders/fluidRenderingParticleDepth.vertex.js.map +1 -1
- package/Shaders/fluidRenderingParticleThickness.vertex.js +16 -1
- package/Shaders/fluidRenderingParticleThickness.vertex.js.map +1 -1
- package/Shaders/gaussianSplatting.fragment.js +63 -3
- package/Shaders/gaussianSplatting.fragment.js.map +1 -1
- package/Shaders/gaussianSplatting.vertex.js +80 -0
- package/Shaders/gaussianSplatting.vertex.js.map +1 -1
- package/Shaders/geometry.fragment.js +17 -11
- package/Shaders/geometry.fragment.js.map +1 -1
- package/Shaders/gpuRenderParticles.fragment.js +43 -1
- package/Shaders/gpuRenderParticles.fragment.js.map +1 -1
- package/Shaders/gpuRenderParticles.vertex.js +96 -16
- package/Shaders/gpuRenderParticles.vertex.js.map +1 -1
- package/Shaders/meshBlending.fragment.d.ts +5 -0
- package/Shaders/meshBlending.fragment.js +519 -0
- package/Shaders/meshBlending.fragment.js.map +1 -0
- package/Shaders/minmaxRedux.fragment.js +6 -1
- package/Shaders/minmaxRedux.fragment.js.map +1 -1
- package/Shaders/particles.fragment.js +43 -1
- package/Shaders/particles.fragment.js.map +1 -1
- package/Shaders/particles.vertex.js +84 -3
- package/Shaders/particles.vertex.js.map +1 -1
- package/Shaders/sprites.fragment.js +52 -2
- package/Shaders/sprites.fragment.js.map +1 -1
- package/Shaders/sprites.vertex.js +62 -1
- package/Shaders/sprites.vertex.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/defaultFragmentAlpha.d.ts +5 -0
- package/ShadersWGSL/ShadersInclude/defaultFragmentAlpha.js +33 -0
- package/ShadersWGSL/ShadersInclude/defaultFragmentAlpha.js.map +1 -0
- package/ShadersWGSL/ShadersInclude/gaussianPointSplatting.d.ts +5 -0
- package/ShadersWGSL/ShadersInclude/gaussianPointSplatting.js +65 -0
- package/ShadersWGSL/ShadersInclude/gaussianPointSplatting.js.map +1 -0
- package/ShadersWGSL/ShadersInclude/gaussianPointSplattingScan.d.ts +5 -0
- package/ShadersWGSL/ShadersInclude/gaussianPointSplattingScan.js +17 -0
- package/ShadersWGSL/ShadersInclude/gaussianPointSplattingScan.js.map +1 -0
- package/ShadersWGSL/ShadersInclude/gaussianSplatting.d.ts +1 -0
- package/ShadersWGSL/ShadersInclude/gaussianSplatting.js +6 -78
- package/ShadersWGSL/ShadersInclude/gaussianSplatting.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/gaussianSplattingFragmentDeclaration.js +2 -2
- package/ShadersWGSL/ShadersInclude/gaussianSplattingFragmentDeclaration.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/gaussianSplattingShared.d.ts +5 -0
- package/ShadersWGSL/ShadersInclude/gaussianSplattingShared.js +79 -0
- package/ShadersWGSL/ShadersInclude/gaussianSplattingShared.js.map +1 -0
- package/ShadersWGSL/ShadersInclude/geometryRenderingFragment.d.ts +6 -0
- package/ShadersWGSL/ShadersInclude/geometryRenderingFragment.js +76 -0
- package/ShadersWGSL/ShadersInclude/geometryRenderingFragment.js.map +1 -0
- package/ShadersWGSL/ShadersInclude/lightFragment.js +1 -1
- package/ShadersWGSL/ShadersInclude/lightFragment.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/lightsFragmentFunctions.js +27 -3
- package/ShadersWGSL/ShadersInclude/lightsFragmentFunctions.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/meshBlendTagFragmentOutput.d.ts +5 -0
- package/ShadersWGSL/ShadersInclude/meshBlendTagFragmentOutput.js +18 -0
- package/ShadersWGSL/ShadersInclude/meshBlendTagFragmentOutput.js.map +1 -0
- package/ShadersWGSL/ShadersInclude/openpbrBlockPrePass.d.ts +1 -0
- package/ShadersWGSL/ShadersInclude/openpbrBlockPrePass.js +11 -25
- package/ShadersWGSL/ShadersInclude/openpbrBlockPrePass.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/pbrBlockPrePass.d.ts +1 -0
- package/ShadersWGSL/ShadersInclude/pbrBlockPrePass.js +11 -25
- package/ShadersWGSL/ShadersInclude/pbrBlockPrePass.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/pbrDebug.js +5 -1
- package/ShadersWGSL/ShadersInclude/pbrDebug.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/prePassDeclaration.js +6 -1
- package/ShadersWGSL/ShadersInclude/prePassDeclaration.js.map +1 -1
- package/ShadersWGSL/default.fragment.js +17 -48
- package/ShadersWGSL/default.fragment.js.map +1 -1
- package/ShadersWGSL/fluidRenderingParticleDepth.vertex.js +15 -2
- package/ShadersWGSL/fluidRenderingParticleDepth.vertex.js.map +1 -1
- package/ShadersWGSL/fluidRenderingParticleThickness.vertex.js +15 -2
- package/ShadersWGSL/fluidRenderingParticleThickness.vertex.js.map +1 -1
- package/ShadersWGSL/gaussianPointSplattingBlit.fragment.d.ts +5 -0
- package/ShadersWGSL/gaussianPointSplattingBlit.fragment.js +22 -0
- package/ShadersWGSL/gaussianPointSplattingBlit.fragment.js.map +1 -0
- package/ShadersWGSL/gaussianPointSplattingBlit.vertex.d.ts +5 -0
- package/ShadersWGSL/gaussianPointSplattingBlit.vertex.js +19 -0
- package/ShadersWGSL/gaussianPointSplattingBlit.vertex.js.map +1 -0
- package/ShadersWGSL/gaussianPointSplattingDepthBlit.fragment.d.ts +5 -0
- package/ShadersWGSL/gaussianPointSplattingDepthBlit.fragment.js +21 -0
- package/ShadersWGSL/gaussianPointSplattingDepthBlit.fragment.js.map +1 -0
- package/ShadersWGSL/gaussianSplatting.fragment.js +63 -2
- package/ShadersWGSL/gaussianSplatting.fragment.js.map +1 -1
- package/ShadersWGSL/gaussianSplatting.vertex.js +82 -1
- package/ShadersWGSL/gaussianSplatting.vertex.js.map +1 -1
- package/ShadersWGSL/gaussianSplattingDepth.vertex.js +2 -1
- package/ShadersWGSL/gaussianSplattingDepth.vertex.js.map +1 -1
- package/ShadersWGSL/gaussianSplattingVoxel.vertex.js +2 -1
- package/ShadersWGSL/gaussianSplattingVoxel.vertex.js.map +1 -1
- package/ShadersWGSL/geometry.fragment.js +37 -2
- package/ShadersWGSL/geometry.fragment.js.map +1 -1
- package/ShadersWGSL/gpsHiZBuild.compute.d.ts +5 -0
- package/ShadersWGSL/gpsHiZBuild.compute.js +16 -0
- package/ShadersWGSL/gpsHiZBuild.compute.js.map +1 -0
- package/ShadersWGSL/gpsPartition.compute.d.ts +5 -0
- package/ShadersWGSL/gpsPartition.compute.js +27 -0
- package/ShadersWGSL/gpsPartition.compute.js.map +1 -0
- package/ShadersWGSL/gpsPreprocess.compute.d.ts +5 -0
- package/ShadersWGSL/gpsPreprocess.compute.js +86 -0
- package/ShadersWGSL/gpsPreprocess.compute.js.map +1 -0
- package/ShadersWGSL/gpsResolve.compute.d.ts +5 -0
- package/ShadersWGSL/gpsResolve.compute.js +41 -0
- package/ShadersWGSL/gpsResolve.compute.js.map +1 -0
- package/ShadersWGSL/gpsScanAdd.compute.d.ts +5 -0
- package/ShadersWGSL/gpsScanAdd.compute.js +22 -0
- package/ShadersWGSL/gpsScanAdd.compute.js.map +1 -0
- package/ShadersWGSL/gpsScanBlocks.compute.d.ts +5 -0
- package/ShadersWGSL/gpsScanBlocks.compute.js +23 -0
- package/ShadersWGSL/gpsScanBlocks.compute.js.map +1 -0
- package/ShadersWGSL/gpsScanSums.compute.d.ts +5 -0
- package/ShadersWGSL/gpsScanSums.compute.js +30 -0
- package/ShadersWGSL/gpsScanSums.compute.js.map +1 -0
- package/ShadersWGSL/gpsSplat.compute.d.ts +5 -0
- package/ShadersWGSL/gpsSplat.compute.js +37 -0
- package/ShadersWGSL/gpsSplat.compute.js.map +1 -0
- package/ShadersWGSL/gpuRenderParticles.fragment.js +47 -2
- package/ShadersWGSL/gpuRenderParticles.fragment.js.map +1 -1
- package/ShadersWGSL/gpuRenderParticles.vertex.js +110 -7
- package/ShadersWGSL/gpuRenderParticles.vertex.js.map +1 -1
- package/ShadersWGSL/meshBlending.fragment.d.ts +5 -0
- package/ShadersWGSL/meshBlending.fragment.js +576 -0
- package/ShadersWGSL/meshBlending.fragment.js.map +1 -0
- package/ShadersWGSL/minmaxRedux.fragment.js +20 -3
- package/ShadersWGSL/minmaxRedux.fragment.js.map +1 -1
- package/ShadersWGSL/openpbr.fragment.js +2 -1
- package/ShadersWGSL/openpbr.fragment.js.map +1 -1
- package/ShadersWGSL/particles.fragment.js +45 -1
- package/ShadersWGSL/particles.fragment.js.map +1 -1
- package/ShadersWGSL/particles.vertex.js +86 -4
- package/ShadersWGSL/particles.vertex.js.map +1 -1
- package/ShadersWGSL/pbr.fragment.js +2 -1
- package/ShadersWGSL/pbr.fragment.js.map +1 -1
- package/ShadersWGSL/sprites.fragment.js +56 -2
- package/ShadersWGSL/sprites.fragment.js.map +1 -1
- package/ShadersWGSL/sprites.vertex.js +62 -1
- package/ShadersWGSL/sprites.vertex.js.map +1 -1
- package/Sprites/spriteManager.d.ts +13 -0
- package/Sprites/spriteManager.js +15 -0
- package/Sprites/spriteManager.js.map +1 -1
- package/Sprites/spriteRenderer.d.ts +24 -1
- package/Sprites/spriteRenderer.js +368 -50
- package/Sprites/spriteRenderer.js.map +1 -1
- package/Sprites/thinSprite.d.ts +4 -0
- package/Sprites/thinSprite.js +4 -0
- package/Sprites/thinSprite.js.map +1 -1
- package/States/alphaCullingState.d.ts +3 -1
- package/States/alphaCullingState.js +18 -3
- package/States/alphaCullingState.js.map +1 -1
- package/XR/features/WebXRSpaceWarp.pure.js +2 -1
- package/XR/features/WebXRSpaceWarp.pure.js.map +1 -1
- package/XR/webXRDefaultExperience.d.ts +5 -1
- package/XR/webXRDefaultExperience.js.map +1 -1
- package/XR/webXREnterExitUI.d.ts +2 -1
- package/XR/webXREnterExitUI.js.map +1 -1
- package/assetContainer.d.ts +1 -0
- package/assetContainer.js +5 -1
- package/assetContainer.js.map +1 -1
- package/package.json +1 -1
- package/scene.pure.d.ts +36 -2
- package/scene.pure.js +63 -4
- package/scene.pure.js.map +1 -1
|
@@ -0,0 +1,560 @@
|
|
|
1
|
+
import { type Animatable, type AnimationGroup, type Bone, type IDisposable, type Nullable, type RuntimeAnimation } from "../index.js";
|
|
2
|
+
import { Animation } from "./animation.pure.js";
|
|
3
|
+
import { Vector3 } from "../Maths/math.vector.pure.js";
|
|
4
|
+
import { Observable } from "../Misc/observable.pure.js";
|
|
5
|
+
import { TransformNode } from "../Meshes/transformNode.pure.js";
|
|
6
|
+
/**
|
|
7
|
+
* Where the travel of a {@link RootMotionClip} comes from.
|
|
8
|
+
*/
|
|
9
|
+
export declare enum RootMotionSource {
|
|
10
|
+
/**
|
|
11
|
+
* No motion was found: the clip neither moves its root nor walks its contact nodes.
|
|
12
|
+
*/
|
|
13
|
+
None = 0,
|
|
14
|
+
/**
|
|
15
|
+
* The root node's own animation - the clip's ground truth. Its travel (and turning, when extracted) is left out of
|
|
16
|
+
* the in-place animation group and applied to the character node instead.
|
|
17
|
+
*/
|
|
18
|
+
Root = 1,
|
|
19
|
+
/**
|
|
20
|
+
* Deduced from the contact nodes (usually the feet) of an in-place clip: whatever a planted contact gives up in
|
|
21
|
+
* character space, the character travels. The travel is not in the clip, so nothing is left out of it.
|
|
22
|
+
*/
|
|
23
|
+
FootContact = 2
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Options for {@link RootMotionClip}.
|
|
27
|
+
*/
|
|
28
|
+
export interface IRootMotionClipOptions {
|
|
29
|
+
/**
|
|
30
|
+
* The root node, usually the hips or a dedicated root bone, whose own travel is tried first. A bone is resolved to
|
|
31
|
+
* its linked transform node. Defaults to the position-animated node with the most animated descendants in the group.
|
|
32
|
+
* A node the group does not animate is accepted as the base of the animated hierarchy: the travel then comes from
|
|
33
|
+
* the contact nodes under it, and {@link RootMotionSource.Root} cannot be forced.
|
|
34
|
+
*/
|
|
35
|
+
rootNode?: TransformNode | Bone;
|
|
36
|
+
/**
|
|
37
|
+
* The node that receives the motion and whose local space the motion is measured in. Defaults to the topmost
|
|
38
|
+
* ancestor of the root node (the "__root__" node of a glTF asset). The group must not animate its position or
|
|
39
|
+
* rotation, since the motion applied to it would be overwritten.
|
|
40
|
+
*/
|
|
41
|
+
characterNode?: TransformNode;
|
|
42
|
+
/**
|
|
43
|
+
* The nodes that touch the ground, used when the root does not travel. A bone is resolved to its linked
|
|
44
|
+
* transform node. Defaults to the leaf nodes under the root that come closest to the ground during the clip.
|
|
45
|
+
*/
|
|
46
|
+
contactNodes?: Array<TransformNode | Bone>;
|
|
47
|
+
/**
|
|
48
|
+
* Forces the source of the travel instead of trying {@link RootMotionSource.Root} first and falling back to
|
|
49
|
+
* {@link RootMotionSource.FootContact}.
|
|
50
|
+
*/
|
|
51
|
+
source?: RootMotionSource;
|
|
52
|
+
/**
|
|
53
|
+
* Whether the root's turning about the up axis is extracted and applied to the character. By default it is when
|
|
54
|
+
* a cycle leaves the character facing at least {@link IRootMotionClipOptions.minimumTurn} away from where it
|
|
55
|
+
* started, so a walk's hip twist - or a dance that spins round to face the front again - stays in the pose while a
|
|
56
|
+
* turning clip turns the character.
|
|
57
|
+
*/
|
|
58
|
+
extractRotation?: boolean;
|
|
59
|
+
/**
|
|
60
|
+
* How densely the clip is sampled during analysis. Default is 60 samples per second of animation.
|
|
61
|
+
*/
|
|
62
|
+
samplesPerSecond?: number;
|
|
63
|
+
/**
|
|
64
|
+
* Travel below this share of the character's height over a cycle is treated as the clip standing still: root
|
|
65
|
+
* sway rather than root motion. Default is 0.1.
|
|
66
|
+
*/
|
|
67
|
+
minimumTravel?: number;
|
|
68
|
+
/**
|
|
69
|
+
* Turning below this angle over a cycle, in radians, is treated as twist rather than a turn. Default is 10 degrees.
|
|
70
|
+
*/
|
|
71
|
+
minimumTurn?: number;
|
|
72
|
+
/**
|
|
73
|
+
* A straight clip whose direction of travel is within this angle of a character space axis, in radians, travels
|
|
74
|
+
* along that axis; 0 keeps the measured direction. Ignored when lateral motion is extracted.
|
|
75
|
+
*
|
|
76
|
+
* By default a root clip keeps its direction (0): its travel is authored or captured, and a deliberate veer is data.
|
|
77
|
+
* Travel deduced from contacts snaps within 10 degrees: an in-place clip is meant to travel straight, and the
|
|
78
|
+
* deduced direction is an estimate - Xbot's run deduces 3.5 degrees off straight from feet that slide 1 degree off.
|
|
79
|
+
*/
|
|
80
|
+
directionSnapAngle?: number;
|
|
81
|
+
/**
|
|
82
|
+
* When false (the default) only the travel along the clip's direction of travel is extracted, leaving the
|
|
83
|
+
* side-to-side sway of the root in the animation. Set to true to extract all horizontal motion, for strafing
|
|
84
|
+
* clips. Turning clips always extract all horizontal motion, since their direction of travel changes.
|
|
85
|
+
*/
|
|
86
|
+
extractLateralMotion?: boolean;
|
|
87
|
+
/**
|
|
88
|
+
* The up axis in character space. Default is +Y.
|
|
89
|
+
*/
|
|
90
|
+
upAxis?: Vector3;
|
|
91
|
+
/**
|
|
92
|
+
* The name of the in-place animation group. Defaults to the source group's name followed by " (in place)".
|
|
93
|
+
*/
|
|
94
|
+
name?: string;
|
|
95
|
+
/**
|
|
96
|
+
* Whether every animation is cloned into the in-place animation group. By default (false) only the root channels
|
|
97
|
+
* the extraction rewrites are cloned, and the animations it leaves untouched are shared with the source group, as
|
|
98
|
+
* {@link AnimationGroup.clone} shares them. Set it to true before changing the in-place group's animations in place
|
|
99
|
+
* - with {@link AnimationGroup.MakeAnimationAdditive} or {@link AnimationGroup.normalize} for example - so the
|
|
100
|
+
* source group's animations are not changed with them.
|
|
101
|
+
*/
|
|
102
|
+
cloneAnimations?: boolean;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* What the animation mixer wrote to a root channel in the last animation step - the writes its late bindings read,
|
|
106
|
+
* those made after them belonging to the step that follows - gathered for every clip that follows that channel.
|
|
107
|
+
*/
|
|
108
|
+
interface IChannelWriters {
|
|
109
|
+
/** The property of the channel. */
|
|
110
|
+
property: string;
|
|
111
|
+
/** The weights of the weighted animatables writing the channel, additive ones aside. */
|
|
112
|
+
total: number;
|
|
113
|
+
/** Whether any weighted animatable writes the channel. */
|
|
114
|
+
weighted: boolean;
|
|
115
|
+
/** The last runtime animation writing the channel unweighted, whose value is the pose unless a weighted one replaces it. */
|
|
116
|
+
lastDirect: Nullable<RuntimeAnimation>;
|
|
117
|
+
/** The writes to the channel this step, in order: the runtime animation of each, which may write more than once. */
|
|
118
|
+
current: RuntimeAnimation[];
|
|
119
|
+
/** The weight of each write, -1 for a direct one. */
|
|
120
|
+
currentWeights: number[];
|
|
121
|
+
/** Whether each write was additive. */
|
|
122
|
+
currentAdditive: boolean[];
|
|
123
|
+
/** The factor each write blended in with, one once the animation writing it has blended in. */
|
|
124
|
+
currentBlending: number[];
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* The root motion of an animation group: how far the clip carries the character over a cycle, and how far it turns it,
|
|
128
|
+
* so that the character can be moved by it and its feet stay planted instead of skating.
|
|
129
|
+
*
|
|
130
|
+
* The clip is analyzed once, when the RootMotionClip is created, without playing the group or changing it:
|
|
131
|
+
* 1. The root node's own animation is tried first, as the ground truth. If the root ends a cycle a meaningful distance
|
|
132
|
+
* from where it started, that travel is the root motion. Turning is read from the root the same way.
|
|
133
|
+
* 2. Otherwise the clip is treated as an in-place cycle and the travel is deduced from its contact nodes: a planted
|
|
134
|
+
* contact stays put in the world, so in character space it moves opposite to the character, and whatever it gives
|
|
135
|
+
* up the character gains. The direction of travel falls out of the same measurement, so the forward axis of
|
|
136
|
+
* the rig does not have to be known.
|
|
137
|
+
*
|
|
138
|
+
* The source group is never changed. The clip owns {@link RootMotionClip.animationGroup}, a clone of the source in
|
|
139
|
+
* which the root's travel and turning are left out, so it plays and loops in place: play that group, and give the clip
|
|
140
|
+
* to the {@link RootMotionController} of the character so the motion is applied to the character node instead.
|
|
141
|
+
*
|
|
142
|
+
* ```ts
|
|
143
|
+
* const walk = new RootMotionClip(walkGroup);
|
|
144
|
+
* const controller = new RootMotionController(walk.characterNode, [walk]);
|
|
145
|
+
* walk.animationGroup.start(true);
|
|
146
|
+
* ```
|
|
147
|
+
*
|
|
148
|
+
* The in-place group is a group of the scene, not of the source's asset container, so dispose the clip when it is done
|
|
149
|
+
* with; disposing the container does not. To play a clip additively, build it from the source as it is and make the
|
|
150
|
+
* in-place group additive: `AnimationGroup.MakeAnimationAdditive(clip.animationGroup, { referenceFrame: 0 })`, with
|
|
151
|
+
* {@link IRootMotionClipOptions.cloneAnimations} set so the source keeps its keys.
|
|
152
|
+
*/
|
|
153
|
+
export declare class RootMotionClip implements IDisposable {
|
|
154
|
+
/**
|
|
155
|
+
* @internal
|
|
156
|
+
* The node of the clip's clock: the channel whose runtime animation the controller reads the evaluated progress
|
|
157
|
+
* from and turns into motion. It is the root node, or the first animated transform node when the group animates
|
|
158
|
+
* no position.
|
|
159
|
+
*/
|
|
160
|
+
_clockNode: Nullable<TransformNode>;
|
|
161
|
+
/** @internal The property of the clock's channel. */
|
|
162
|
+
_clockProperty: string;
|
|
163
|
+
/** @internal The very channel of the in-place group the analysis ran on, which another of the same property must not be taken for. */
|
|
164
|
+
_clockAnimation: Nullable<Animation>;
|
|
165
|
+
/** @internal The runtime animation of the clock the controller followed last. */
|
|
166
|
+
_clockRuntime: Nullable<RuntimeAnimation>;
|
|
167
|
+
/** @internal The animatable of the clock the controller followed last. */
|
|
168
|
+
_clockAnimatable: Nullable<Animatable>;
|
|
169
|
+
/** @internal The animatable the last search for the clock found. */
|
|
170
|
+
_foundAnimatable: Nullable<Animatable>;
|
|
171
|
+
/** @internal The animatable the clock's playback was synchronized with last, and the runtime animation of that root. */
|
|
172
|
+
_syncRoot: Nullable<Animatable>;
|
|
173
|
+
/** @internal The runtime animation the clock was synchronized with last. */
|
|
174
|
+
_syncRuntime: Nullable<RuntimeAnimation>;
|
|
175
|
+
/** @internal The progress of the clock the controller consumed last. */
|
|
176
|
+
_lastProgress: Nullable<number>;
|
|
177
|
+
/** @internal Whether the clock has been left unevaluated at a weight of zero since the progress consumed last. */
|
|
178
|
+
_parked: boolean;
|
|
179
|
+
/** @internal The clock's runtime animation at the last reset, whose evaluation of then is not where the playback carries on from. */
|
|
180
|
+
_staleRuntime: Nullable<RuntimeAnimation>;
|
|
181
|
+
/** @internal Its progress then. */
|
|
182
|
+
_staleProgress: Nullable<number>;
|
|
183
|
+
/** @internal What the mixer wrote to the clock's channel this frame. */
|
|
184
|
+
_writers: Nullable<IChannelWriters>;
|
|
185
|
+
/** @internal The controller the clip belongs to. */
|
|
186
|
+
_controller: Nullable<RootMotionController>;
|
|
187
|
+
private readonly _sourceGroup;
|
|
188
|
+
private readonly _group;
|
|
189
|
+
private readonly _characterNode;
|
|
190
|
+
private readonly _upAxis;
|
|
191
|
+
private readonly _extractLateral;
|
|
192
|
+
private readonly _directionSnapAngle;
|
|
193
|
+
/** Sideways travel over a cycle left in the root's keys after snapping the direction, removed without being applied. */
|
|
194
|
+
private readonly _lateralDrift;
|
|
195
|
+
private readonly _channels;
|
|
196
|
+
private _source;
|
|
197
|
+
private _rootNode;
|
|
198
|
+
private _contactNodes;
|
|
199
|
+
private readonly _travelDirection;
|
|
200
|
+
private readonly _cycleOffset;
|
|
201
|
+
private _cycleRotation;
|
|
202
|
+
private _turns;
|
|
203
|
+
private _duration;
|
|
204
|
+
private _characterHeight;
|
|
205
|
+
private _fromFrame;
|
|
206
|
+
private _toFrame;
|
|
207
|
+
private _sampleCount;
|
|
208
|
+
private _track;
|
|
209
|
+
/** Whether the root's own travel is left out of the in-place group - not so for a clip that only turns on the spot. */
|
|
210
|
+
private _removesRootTravel;
|
|
211
|
+
/** Whether the motion is a turn about the root's starting point: a clip that only turns on the spot. */
|
|
212
|
+
private _pivots;
|
|
213
|
+
/** The root's position before the clip, when the in-place group animates a position the source leaves alone. */
|
|
214
|
+
private _restoredPosition;
|
|
215
|
+
private _clockIndex;
|
|
216
|
+
private _sampleBlend;
|
|
217
|
+
private readonly _lastOffset;
|
|
218
|
+
private readonly _rangeStart;
|
|
219
|
+
private readonly _rangeCycle;
|
|
220
|
+
private readonly _cyclesOffset;
|
|
221
|
+
private readonly _planarStep;
|
|
222
|
+
private readonly _yawQuaternion;
|
|
223
|
+
private readonly _yawMatrix;
|
|
224
|
+
/**
|
|
225
|
+
* The animation group the clip was analyzed from. It is never changed.
|
|
226
|
+
*/
|
|
227
|
+
get sourceAnimationGroup(): AnimationGroup;
|
|
228
|
+
/**
|
|
229
|
+
* The in-place animation group to play: a clone of the source with the root motion left out of the root's keys.
|
|
230
|
+
* Animations the extraction does not rewrite are shared with the source unless the clip was created with
|
|
231
|
+
* {@link IRootMotionClipOptions.cloneAnimations}. It belongs to the scene, and is disposed with the clip.
|
|
232
|
+
*/
|
|
233
|
+
get animationGroup(): AnimationGroup;
|
|
234
|
+
/**
|
|
235
|
+
* The controller the clip was added to, if any.
|
|
236
|
+
*/
|
|
237
|
+
get controller(): Nullable<RootMotionController>;
|
|
238
|
+
/**
|
|
239
|
+
* Where the travel comes from. {@link RootMotionSource.None} when no motion was found.
|
|
240
|
+
*/
|
|
241
|
+
get source(): RootMotionSource;
|
|
242
|
+
/**
|
|
243
|
+
* The root node the clip was analyzed with, or null when the group animates no position. It carries the motion
|
|
244
|
+
* only when {@link RootMotionClip.source} is {@link RootMotionSource.Root}.
|
|
245
|
+
*/
|
|
246
|
+
get rootNode(): Nullable<TransformNode>;
|
|
247
|
+
/**
|
|
248
|
+
* The node the motion is measured in the local space of, and that a controller moves.
|
|
249
|
+
*/
|
|
250
|
+
get characterNode(): TransformNode;
|
|
251
|
+
/**
|
|
252
|
+
* The contact nodes used to deduce the travel. Empty unless the source is {@link RootMotionSource.FootContact}.
|
|
253
|
+
*/
|
|
254
|
+
get contactNodes(): ReadonlyArray<TransformNode>;
|
|
255
|
+
/**
|
|
256
|
+
* The up axis in character space (unit length).
|
|
257
|
+
*/
|
|
258
|
+
get upAxis(): Vector3;
|
|
259
|
+
/**
|
|
260
|
+
* The first frame of the range the clip is analyzed over: the group's range, with a bound outside the clock
|
|
261
|
+
* channel's keys replaced by that channel's first or last key, as playback does.
|
|
262
|
+
*/
|
|
263
|
+
get fromFrame(): number;
|
|
264
|
+
/**
|
|
265
|
+
* The last frame of the range the clip is analyzed over.
|
|
266
|
+
*/
|
|
267
|
+
get toFrame(): number;
|
|
268
|
+
/**
|
|
269
|
+
* The direction the clip travels in over a cycle, in character space (unit length).
|
|
270
|
+
*/
|
|
271
|
+
get travelDirection(): Vector3;
|
|
272
|
+
/**
|
|
273
|
+
* The travel covered by one cycle of the clip, in character space.
|
|
274
|
+
*/
|
|
275
|
+
get cycleOffset(): Vector3;
|
|
276
|
+
/**
|
|
277
|
+
* The distance covered by one cycle of the clip along the direction of travel, in character space units.
|
|
278
|
+
*/
|
|
279
|
+
get cycleDistance(): number;
|
|
280
|
+
/**
|
|
281
|
+
* The turn covered by one cycle of the clip about the up axis, in radians. Zero unless rotation is extracted.
|
|
282
|
+
*/
|
|
283
|
+
get cycleRotation(): number;
|
|
284
|
+
/**
|
|
285
|
+
* Whether the root's turning is extracted and applied to the character.
|
|
286
|
+
*/
|
|
287
|
+
get extractsRotation(): boolean;
|
|
288
|
+
/**
|
|
289
|
+
* The length of one cycle of the clip in seconds, at a speed ratio of 1.
|
|
290
|
+
*/
|
|
291
|
+
get duration(): number;
|
|
292
|
+
/**
|
|
293
|
+
* The speed the clip implies at a speed ratio of 1, in character space units per second.
|
|
294
|
+
*/
|
|
295
|
+
get averageSpeed(): number;
|
|
296
|
+
/**
|
|
297
|
+
* The vertical extent of the animated hierarchy at the first frame, in character space units. Thresholds are
|
|
298
|
+
* relative to it.
|
|
299
|
+
*/
|
|
300
|
+
get characterHeight(): number;
|
|
301
|
+
/**
|
|
302
|
+
* Analyzes an animation group and builds the in-place animation group to play instead of it.
|
|
303
|
+
* @param animationGroup defines the animation group to extract the root motion of; it is not changed
|
|
304
|
+
* @param options defines how the root motion is extracted
|
|
305
|
+
* @throws when the group has nothing to analyze, is additive, or animates the character node itself
|
|
306
|
+
*/
|
|
307
|
+
constructor(animationGroup: AnimationGroup, options?: IRootMotionClipOptions);
|
|
308
|
+
/**
|
|
309
|
+
* Gets the travel reached at a frame of the clip, relative to its first frame, in character space.
|
|
310
|
+
* @param frame defines the frame to sample
|
|
311
|
+
* @param result defines the vector receiving the travel
|
|
312
|
+
* @returns the result vector
|
|
313
|
+
*/
|
|
314
|
+
getOffsetAtFrame(frame: number, result: Vector3): Vector3;
|
|
315
|
+
/**
|
|
316
|
+
* Gets the turn reached at a frame of the clip about the up axis, relative to its first frame, in radians.
|
|
317
|
+
* @param frame defines the frame to sample
|
|
318
|
+
* @returns the turn in radians
|
|
319
|
+
*/
|
|
320
|
+
getRotationAtFrame(frame: number): number;
|
|
321
|
+
/**
|
|
322
|
+
* Removes the clip from its controller and disposes the in-place animation group. The source group is untouched.
|
|
323
|
+
* When the in-place group animates the root's position although the source does not (a root that only turns), the
|
|
324
|
+
* root's position is put back to what it was when the clip was created.
|
|
325
|
+
*/
|
|
326
|
+
dispose(): void;
|
|
327
|
+
/**
|
|
328
|
+
* @internal
|
|
329
|
+
* Finds the runtime animation of the clock in the in-place group's current playback, leaving its animatable in
|
|
330
|
+
* _foundAnimatable.
|
|
331
|
+
* @returns the runtime animation once it has been evaluated, or null when the group is not playing the clock
|
|
332
|
+
*/
|
|
333
|
+
_findClock(): Nullable<RuntimeAnimation>;
|
|
334
|
+
/**
|
|
335
|
+
* @internal
|
|
336
|
+
* Forgets the playback the controller was following.
|
|
337
|
+
*/
|
|
338
|
+
_forgetPlayback(): void;
|
|
339
|
+
/**
|
|
340
|
+
* @internal
|
|
341
|
+
* The motion between two progresses of a playback over a range, as a turn and then a translation in the character
|
|
342
|
+
* space of the earlier progress. Progress is unwrapped: whole cycles are in it, however many passed.
|
|
343
|
+
* @param from defines the first frame of the played range
|
|
344
|
+
* @param to defines the last frame of the played range
|
|
345
|
+
* @param lastProgress defines the earlier progress, in frames from the first frame
|
|
346
|
+
* @param progress defines the later progress, in frames from the first frame
|
|
347
|
+
* @param result defines the vector receiving the translation
|
|
348
|
+
* @returns the turn in radians
|
|
349
|
+
*/
|
|
350
|
+
_motionBetween(from: number, to: number, lastProgress: number, progress: number, result: Vector3): number;
|
|
351
|
+
/**
|
|
352
|
+
* The motion at a frame relative to the motion at the start of the played range.
|
|
353
|
+
* @param frame defines the frame
|
|
354
|
+
* @param startYaw defines the turn at the start of the range
|
|
355
|
+
* @param startOffset defines the travel at the start of the range
|
|
356
|
+
* @param result defines the vector receiving the travel
|
|
357
|
+
* @returns the turn
|
|
358
|
+
*/
|
|
359
|
+
private _motionInRange;
|
|
360
|
+
/**
|
|
361
|
+
* A whole number of cycles of a planar motion - a turn about the up axis and then a translation - in closed form,
|
|
362
|
+
* for any number of cycles, forwards or back: the sum of the horizontal translation turned 0, 1, ... n-1 times is
|
|
363
|
+
* the translation turned (n - 1) / 2 times, sin(n * turn / 2) / sin(turn / 2) times as long, and n times the
|
|
364
|
+
* translation when there is no turn. The vertical part adds up. Nothing here is a matter of precision: no series
|
|
365
|
+
* is summed and no small angle is divided by.
|
|
366
|
+
* @param cycles defines the number of cycles, negative to go back
|
|
367
|
+
* @param step defines the translation of one cycle
|
|
368
|
+
* @param stepYaw defines the turn of one cycle
|
|
369
|
+
* @param result defines the vector receiving the translation of all the cycles
|
|
370
|
+
* @returns the turn of all the cycles
|
|
371
|
+
*/
|
|
372
|
+
private _cyclePower;
|
|
373
|
+
private _measureRootYaw;
|
|
374
|
+
private _measureRootTravel;
|
|
375
|
+
/**
|
|
376
|
+
* The travel removed from the root at a pose, so that the in-place root keeps the start position (turning) or its
|
|
377
|
+
* sway (straight).
|
|
378
|
+
* @param position defines the root position in character space
|
|
379
|
+
* @param start defines the root position in character space at the first frame
|
|
380
|
+
* @param yaw defines the turn at this pose
|
|
381
|
+
* @param turning defines whether turning is extracted
|
|
382
|
+
* @param result defines the vector receiving the travel
|
|
383
|
+
* @returns the result vector
|
|
384
|
+
*/
|
|
385
|
+
private _rootTravelAt;
|
|
386
|
+
private _measureContactTravel;
|
|
387
|
+
/**
|
|
388
|
+
* Clones the source group into the in-place group. When the root motion is in the root's keys, the root's channels
|
|
389
|
+
* are cloned with the motion left out: each key's pose, in character space, has the motion at its frame undone. The
|
|
390
|
+
* motion is the root's travel for a {@link RootMotionSource.Root} clip, plus the turn when rotation is extracted.
|
|
391
|
+
* Everything is computed from the source keys, which are not touched.
|
|
392
|
+
* @param name defines the name of the in-place group
|
|
393
|
+
* @param cloneAnimations defines whether every animation is cloned rather than only the rewritten root channels
|
|
394
|
+
* @returns the in-place group
|
|
395
|
+
*/
|
|
396
|
+
private _buildInPlaceGroup;
|
|
397
|
+
private _findRootNode;
|
|
398
|
+
private _measureHeight;
|
|
399
|
+
/**
|
|
400
|
+
* The track sample before a frame; the blend towards the next one is left in _sampleBlend.
|
|
401
|
+
* @param frame defines the frame
|
|
402
|
+
* @returns the sample index
|
|
403
|
+
*/
|
|
404
|
+
private _sampleAt;
|
|
405
|
+
private _frameAt;
|
|
406
|
+
private _horizontal;
|
|
407
|
+
private _project;
|
|
408
|
+
/**
|
|
409
|
+
* Snaps the direction of travel onto the nearest horizontal character space axis within the snap angle.
|
|
410
|
+
* @param defaultAngle defines the snap angle when none was given in the options
|
|
411
|
+
*/
|
|
412
|
+
private _snapTravelDirection;
|
|
413
|
+
private _rotateAboutUp;
|
|
414
|
+
/**
|
|
415
|
+
* The turn about the up axis from a reference orientation to a rotation, both in character space: the angle of the
|
|
416
|
+
* rotation about the up axis that best matches the change of orientation. Unlike the twist of a swing-twist split,
|
|
417
|
+
* it stays well defined while the root pitches and rolls - a dancer's hips tilting through the vertical made the
|
|
418
|
+
* twist jump by half turns.
|
|
419
|
+
* @param rotation defines the rotation
|
|
420
|
+
* @param referenceConjugate defines the conjugate of the reference rotation
|
|
421
|
+
* @returns the angle in radians, between -PI and PI
|
|
422
|
+
*/
|
|
423
|
+
private _twist;
|
|
424
|
+
private _positionInCharacter;
|
|
425
|
+
private _rotationInCharacter;
|
|
426
|
+
/**
|
|
427
|
+
* Composes a node's transform into character space at a frame of the clip, from the evaluated keys of animated
|
|
428
|
+
* nodes and the current transform of the others. Nothing is played or written.
|
|
429
|
+
* @param node defines the node, or null for the character space itself
|
|
430
|
+
* @param frame defines the frame to evaluate
|
|
431
|
+
* @param result defines the matrix receiving the transform
|
|
432
|
+
* @returns the result matrix
|
|
433
|
+
*/
|
|
434
|
+
private _matrixToCharacter;
|
|
435
|
+
private _localMatrix;
|
|
436
|
+
private _resolveNode;
|
|
437
|
+
private _firstAnimatedNode;
|
|
438
|
+
private _topmostAncestor;
|
|
439
|
+
}
|
|
440
|
+
/**
|
|
441
|
+
* Moves and turns a character node by the root motion of the clips playing on it, once per animation step - from the
|
|
442
|
+
* scene's onAfterAnimationsObservable, so after animations are evaluated and before the world matrices are computed.
|
|
443
|
+
*
|
|
444
|
+
* The motion of each clip follows the playback of its in-place group's root animation: the progress of the pose it
|
|
445
|
+
* evaluated, so pausing, speed ratio changes, looping in every loop mode, forwards and backwards, playing a range,
|
|
446
|
+
* synchronizing with another animatable and running to the end all move the character exactly as far as the pose went.
|
|
447
|
+
* Clips playing together are blended the way the animation mixer blends their root pose: weighted animation groups
|
|
448
|
+
* contribute their share, normalized once their weights add up to more than one, additive groups add theirs on top,
|
|
449
|
+
* an unweighted group contributes its whole pose only while no weighted group animates the root (among unweighted
|
|
450
|
+
* groups the last to write wins), and a group blending in contributes as much as it is blended in, so the character
|
|
451
|
+
* moves with the blended pose whatever the clips do. The turn is blended as a weighted sum of the clips' turns.
|
|
452
|
+
*
|
|
453
|
+
* ```ts
|
|
454
|
+
* const controller = new RootMotionController(character, [walk, run]);
|
|
455
|
+
* walk.animationGroup.start(true);
|
|
456
|
+
* run.animationGroup.start(true);
|
|
457
|
+
* walk.animationGroup.weight = 0.3;
|
|
458
|
+
* run.animationGroup.weight = 0.7;
|
|
459
|
+
* ```
|
|
460
|
+
*/
|
|
461
|
+
export declare class RootMotionController implements IDisposable {
|
|
462
|
+
/**
|
|
463
|
+
* Gets or sets whether the motion is applied to the character node every frame. Set it to false to consume
|
|
464
|
+
* {@link RootMotionController.deltaPosition} and {@link RootMotionController.deltaRotation} yourself, for example
|
|
465
|
+
* to drive a physics character controller.
|
|
466
|
+
*/
|
|
467
|
+
applyToCharacter: boolean;
|
|
468
|
+
/**
|
|
469
|
+
* Notified every animation step the clips produce motion, after {@link RootMotionController.deltaPosition} and
|
|
470
|
+
* {@link RootMotionController.deltaRotation} are updated.
|
|
471
|
+
*/
|
|
472
|
+
readonly onRootMotionObservable: Observable<RootMotionController>;
|
|
473
|
+
private readonly _characterNode;
|
|
474
|
+
private readonly _clips;
|
|
475
|
+
private readonly _sceneRootMotion;
|
|
476
|
+
private _upAxis;
|
|
477
|
+
private readonly _deltaPosition;
|
|
478
|
+
private _deltaRotation;
|
|
479
|
+
private readonly _frameDelta;
|
|
480
|
+
private _frameYaw;
|
|
481
|
+
private readonly _clipDelta;
|
|
482
|
+
/**
|
|
483
|
+
* The node the motion is applied to.
|
|
484
|
+
*/
|
|
485
|
+
get characterNode(): TransformNode;
|
|
486
|
+
/**
|
|
487
|
+
* The clips whose motion moves the character.
|
|
488
|
+
*/
|
|
489
|
+
get clips(): ReadonlyArray<RootMotionClip>;
|
|
490
|
+
/**
|
|
491
|
+
* The travel of the last animation step, in world space; applied to the character unless
|
|
492
|
+
* {@link RootMotionController.applyToCharacter} is false.
|
|
493
|
+
*/
|
|
494
|
+
get deltaPosition(): Vector3;
|
|
495
|
+
/**
|
|
496
|
+
* The turn of the last animation step about the up axis, in radians; applied to the character unless
|
|
497
|
+
* {@link RootMotionController.applyToCharacter} is false.
|
|
498
|
+
*/
|
|
499
|
+
get deltaRotation(): number;
|
|
500
|
+
/**
|
|
501
|
+
* Creates a controller for a character node.
|
|
502
|
+
* @param characterNode defines the node to move: the character node of the clips
|
|
503
|
+
* @param clips defines the clips to add
|
|
504
|
+
*/
|
|
505
|
+
constructor(characterNode: TransformNode, clips?: RootMotionClip[]);
|
|
506
|
+
/**
|
|
507
|
+
* Adds a clip, so the character moves while its in-place group plays.
|
|
508
|
+
* @param clip defines the clip; its character node must be the controller's
|
|
509
|
+
* @throws when the clip belongs to another controller, moves another node, or has another up axis than the clips
|
|
510
|
+
* already added
|
|
511
|
+
*/
|
|
512
|
+
addClip(clip: RootMotionClip): void;
|
|
513
|
+
/**
|
|
514
|
+
* Removes a clip. Its in-place group keeps playing, in place.
|
|
515
|
+
* @param clip defines the clip
|
|
516
|
+
*/
|
|
517
|
+
removeClip(clip: RootMotionClip): void;
|
|
518
|
+
/**
|
|
519
|
+
* Forgets where the playbacks were last measured. Call after jumping a group with goToFrame or resetting it, so the
|
|
520
|
+
* jump is not read as motion. Starting a group again needs no reset.
|
|
521
|
+
*/
|
|
522
|
+
reset(): void;
|
|
523
|
+
/**
|
|
524
|
+
* Stops applying the motion and lets the clips go. The clips and their groups are not disposed.
|
|
525
|
+
*/
|
|
526
|
+
dispose(): void;
|
|
527
|
+
/**
|
|
528
|
+
* @internal
|
|
529
|
+
* Applies the motion of this frame, once the mixer's writers of the clips' channels are gathered.
|
|
530
|
+
* @param animated defines whether the scene animated this step at all; when it did not, nothing moved and nothing
|
|
531
|
+
* is read into the clips' playbacks
|
|
532
|
+
*/
|
|
533
|
+
_update(animated: boolean): void;
|
|
534
|
+
/**
|
|
535
|
+
* Adds a clip's motion between two progresses of a playback into this frame's motion, weighted the way the mixer
|
|
536
|
+
* weighs the pose of the playback.
|
|
537
|
+
* @param clip defines the clip
|
|
538
|
+
* @param runtime defines the runtime animation of the clip's clock
|
|
539
|
+
* @param lastProgress defines the progress consumed before
|
|
540
|
+
* @param progress defines the progress to consume
|
|
541
|
+
* @returns whether anything was added
|
|
542
|
+
*/
|
|
543
|
+
private _accumulate;
|
|
544
|
+
/**
|
|
545
|
+
* The share of a playback in the pose the mixer wrote to its channel this step, following the late animation
|
|
546
|
+
* bindings of the scene: an unweighted animatable writes directly and the last one wins, unless a weighted animatable
|
|
547
|
+
* also animates the channel, in which case the weighted ones replace it - normalized once their weights add up to
|
|
548
|
+
* more than one - and additive ones add their weight on top. A playback that ran to its end this step is among the
|
|
549
|
+
* writers like any other, from its place in the order they wrote; one that did not write this step has no share;
|
|
550
|
+
* one that wrote more than once - re-evaluated by an animation event, say - has the share of all its writes, as the
|
|
551
|
+
* bindings add them up. A playback still blending in wrote that much of its pose, so the share follows the factor
|
|
552
|
+
* its last write blended in with, taken from the record of that write rather than from the animation, whose own
|
|
553
|
+
* factor a write made since the step may have moved on.
|
|
554
|
+
* @param writers defines what the mixer wrote to the clip's channel this step
|
|
555
|
+
* @param runtime defines the runtime animation of the clip's clock
|
|
556
|
+
* @returns the share, between 0 and 1
|
|
557
|
+
*/
|
|
558
|
+
private _effectiveWeight;
|
|
559
|
+
}
|
|
560
|
+
export {};
|