@needle-tools/engine 4.3.0-alpha → 4.3.0-alpha.3
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/CHANGELOG.md +7 -0
- package/dist/needle-engine.bundle.js +6683 -5393
- package/dist/needle-engine.bundle.light.js +6687 -5397
- package/dist/needle-engine.bundle.light.min.js +121 -118
- package/dist/needle-engine.bundle.light.umd.cjs +128 -125
- package/dist/needle-engine.bundle.min.js +119 -116
- package/dist/needle-engine.bundle.umd.cjs +124 -121
- package/dist/needle-engine.d.ts +9 -9
- package/dist/needle-engine.light.d.ts +9 -9
- package/lib/engine/engine_context.js +1 -1
- package/lib/engine/engine_context.js.map +1 -1
- package/lib/engine/engine_mainloop_utils.js +2 -4
- package/lib/engine/engine_mainloop_utils.js.map +1 -1
- package/lib/engine/engine_serialization_core.js +1 -1
- package/lib/engine/engine_serialization_core.js.map +1 -1
- package/lib/engine/engine_types.d.ts +162 -17
- package/lib/engine/xr/NeedleXRSession.d.ts +6 -1
- package/lib/engine/xr/NeedleXRSession.js +6 -1
- package/lib/engine/xr/NeedleXRSession.js.map +1 -1
- package/lib/engine-components/Animator.d.ts +129 -21
- package/lib/engine-components/Animator.js +115 -21
- package/lib/engine-components/Animator.js.map +1 -1
- package/lib/engine-components/AnimatorController.d.ts +161 -32
- package/lib/engine-components/AnimatorController.js +176 -29
- package/lib/engine-components/AnimatorController.js.map +1 -1
- package/lib/engine-components/AudioListener.d.ts +16 -5
- package/lib/engine-components/AudioListener.js +16 -5
- package/lib/engine-components/AudioListener.js.map +1 -1
- package/lib/engine-components/AudioSource.d.ts +120 -28
- package/lib/engine-components/AudioSource.js +121 -40
- package/lib/engine-components/AudioSource.js.map +1 -1
- package/lib/engine-components/AvatarLoader.d.ts +61 -0
- package/lib/engine-components/AvatarLoader.js +61 -1
- package/lib/engine-components/AvatarLoader.js.map +1 -1
- package/lib/engine-components/AxesHelper.d.ts +19 -1
- package/lib/engine-components/AxesHelper.js +19 -1
- package/lib/engine-components/AxesHelper.js.map +1 -1
- package/lib/engine-components/BoxHelperComponent.d.ts +26 -0
- package/lib/engine-components/BoxHelperComponent.js +26 -0
- package/lib/engine-components/BoxHelperComponent.js.map +1 -1
- package/lib/engine-components/Camera.d.ts +126 -37
- package/lib/engine-components/Camera.js +139 -37
- package/lib/engine-components/Camera.js.map +1 -1
- package/lib/engine-components/CameraUtils.js +20 -0
- package/lib/engine-components/CameraUtils.js.map +1 -1
- package/lib/engine-components/Collider.d.ts +95 -21
- package/lib/engine-components/Collider.js +100 -23
- package/lib/engine-components/Collider.js.map +1 -1
- package/lib/engine-components/Component.d.ts +554 -106
- package/lib/engine-components/Component.js +352 -81
- package/lib/engine-components/Component.js.map +1 -1
- package/lib/engine-components/DragControls.d.ts +95 -21
- package/lib/engine-components/DragControls.js +126 -32
- package/lib/engine-components/DragControls.js.map +1 -1
- package/lib/engine-components/DropListener.d.ts +99 -16
- package/lib/engine-components/DropListener.js +119 -14
- package/lib/engine-components/DropListener.js.map +1 -1
- package/lib/engine-components/Light.d.ts +102 -5
- package/lib/engine-components/Light.js +102 -44
- package/lib/engine-components/Light.js.map +1 -1
- package/lib/engine-components/NeedleMenu.d.ts +28 -11
- package/lib/engine-components/NeedleMenu.js +28 -11
- package/lib/engine-components/NeedleMenu.js.map +1 -1
- package/lib/engine-components/Networking.d.ts +37 -5
- package/lib/engine-components/Networking.js +37 -5
- package/lib/engine-components/Networking.js.map +1 -1
- package/lib/engine-components/SceneSwitcher.js +44 -0
- package/lib/engine-components/SceneSwitcher.js.map +1 -1
- package/lib/engine-components/SpatialTrigger.d.ts +66 -1
- package/lib/engine-components/SpatialTrigger.js +74 -2
- package/lib/engine-components/SpatialTrigger.js.map +1 -1
- package/lib/engine-components/SpectatorCamera.d.ts +66 -4
- package/lib/engine-components/SpectatorCamera.js +132 -6
- package/lib/engine-components/SpectatorCamera.js.map +1 -1
- package/lib/engine-components/SyncedTransform.d.ts +45 -6
- package/lib/engine-components/SyncedTransform.js +45 -6
- package/lib/engine-components/SyncedTransform.js.map +1 -1
- package/lib/engine-components/TransformGizmo.d.ts +49 -3
- package/lib/engine-components/TransformGizmo.js +49 -3
- package/lib/engine-components/TransformGizmo.js.map +1 -1
- package/lib/engine-components/particlesystem/ParticleSystem.js +1 -1
- package/lib/engine-components/particlesystem/ParticleSystem.js.map +1 -1
- package/lib/engine-components/webxr/WebARSessionRoot.d.ts +8 -3
- package/lib/engine-components/webxr/WebARSessionRoot.js +30 -9
- package/lib/engine-components/webxr/WebARSessionRoot.js.map +1 -1
- package/lib/engine-components/webxr/WebXR.d.ts +156 -25
- package/lib/engine-components/webxr/WebXR.js +160 -26
- package/lib/engine-components/webxr/WebXR.js.map +1 -1
- package/lib/engine-components-experimental/networking/PlayerSync.d.ts +82 -9
- package/lib/engine-components-experimental/networking/PlayerSync.js +76 -11
- package/lib/engine-components-experimental/networking/PlayerSync.js.map +1 -1
- package/package.json +1 -1
- package/src/engine/engine_context.ts +1 -1
- package/src/engine/engine_mainloop_utils.ts +2 -4
- package/src/engine/engine_serialization_core.ts +1 -1
- package/src/engine/engine_types.ts +179 -18
- package/src/engine/xr/NeedleXRSession.ts +7 -1
- package/src/engine-components/Animator.ts +142 -22
- package/src/engine-components/AnimatorController.ts +184 -34
- package/src/engine-components/AudioListener.ts +16 -5
- package/src/engine-components/AudioSource.ts +127 -39
- package/src/engine-components/AvatarLoader.ts +61 -2
- package/src/engine-components/AxesHelper.ts +21 -1
- package/src/engine-components/BoxHelperComponent.ts +26 -0
- package/src/engine-components/Camera.ts +147 -41
- package/src/engine-components/CameraUtils.ts +20 -0
- package/src/engine-components/Collider.ts +102 -27
- package/src/engine-components/Component.ts +605 -129
- package/src/engine-components/DragControls.ts +134 -38
- package/src/engine-components/DropListener.ts +143 -23
- package/src/engine-components/Light.ts +105 -44
- package/src/engine-components/NeedleMenu.ts +29 -11
- package/src/engine-components/Networking.ts +37 -6
- package/src/engine-components/SceneSwitcher.ts +48 -1
- package/src/engine-components/SpatialTrigger.ts +80 -3
- package/src/engine-components/SpectatorCamera.ts +136 -18
- package/src/engine-components/SyncedTransform.ts +50 -7
- package/src/engine-components/TransformGizmo.ts +49 -4
- package/src/engine-components/particlesystem/ParticleSystem.ts +2 -2
- package/src/engine-components/webxr/WebARSessionRoot.ts +31 -8
- package/src/engine-components/webxr/WebXR.ts +173 -29
- package/src/engine-components-experimental/networking/PlayerSync.ts +85 -13
|
@@ -3,97 +3,205 @@ import { IAnimationComponent } from "../engine/engine_types.js";
|
|
|
3
3
|
import type { AnimatorControllerModel } from "../engine/extensions/NEEDLE_animator_controller_model.js";
|
|
4
4
|
import { AnimatorController } from "./AnimatorController.js";
|
|
5
5
|
import { Behaviour } from "./Component.js";
|
|
6
|
+
/**
|
|
7
|
+
* Represents an event emitted by an animation mixer
|
|
8
|
+
* @category Animation and Sequencing
|
|
9
|
+
*/
|
|
6
10
|
export declare class MixerEvent {
|
|
11
|
+
/** The type of event that occurred */
|
|
7
12
|
type: string;
|
|
13
|
+
/** The animation action that triggered this event */
|
|
8
14
|
action: AnimationAction;
|
|
15
|
+
/** Number of loops completed in this cycle */
|
|
9
16
|
loopDelta: number;
|
|
17
|
+
/** The animation mixer that emitted this event */
|
|
10
18
|
target: AnimationMixer;
|
|
11
19
|
}
|
|
20
|
+
/**
|
|
21
|
+
* Configuration options for playing animations
|
|
22
|
+
* @category Animation and Sequencing
|
|
23
|
+
*/
|
|
12
24
|
export declare class PlayOptions {
|
|
25
|
+
/** Whether the animation should loop, and if so, which loop style to use */
|
|
13
26
|
loop?: boolean | AnimationActionLoopStyles;
|
|
27
|
+
/** Whether the final animation state should be maintained after playback completes */
|
|
14
28
|
clampWhenFinished?: boolean;
|
|
15
29
|
}
|
|
16
|
-
/**
|
|
17
|
-
*
|
|
30
|
+
/**
|
|
31
|
+
* The Animator component plays and manages animations on a GameObject.
|
|
32
|
+
* It works with an AnimatorController to handle state transitions and animation blending.
|
|
33
|
+
* A new AnimatorController can be created from code via `AnimatorController.createFromClips`.
|
|
18
34
|
* @category Animation and Sequencing
|
|
19
35
|
* @group Components
|
|
20
36
|
*/
|
|
21
37
|
export declare class Animator extends Behaviour implements IAnimationComponent {
|
|
38
|
+
/**
|
|
39
|
+
* Identifies this component as an animation component in the engine
|
|
40
|
+
*/
|
|
22
41
|
get isAnimationComponent(): boolean;
|
|
42
|
+
/**
|
|
43
|
+
* When enabled, animation will affect the root transform position and rotation
|
|
44
|
+
*/
|
|
23
45
|
applyRootMotion: boolean;
|
|
46
|
+
/**
|
|
47
|
+
* Indicates whether this animator contains root motion data
|
|
48
|
+
*/
|
|
24
49
|
hasRootMotion: boolean;
|
|
50
|
+
/**
|
|
51
|
+
* When enabled, the animator will maintain its state when the component is disabled
|
|
52
|
+
*/
|
|
25
53
|
keepAnimatorControllerStateOnDisable: boolean;
|
|
54
|
+
/**
|
|
55
|
+
* Sets or replaces the animator controller for this component.
|
|
56
|
+
* Handles binding the controller to this animator instance and ensures
|
|
57
|
+
* proper initialization when the controller changes.
|
|
58
|
+
* @param val The animator controller model or instance to use
|
|
59
|
+
*/
|
|
26
60
|
set runtimeAnimatorController(val: AnimatorControllerModel | AnimatorController | undefined | null);
|
|
61
|
+
/**
|
|
62
|
+
* Gets the current animator controller instance
|
|
63
|
+
* @returns The current animator controller or null if none is assigned
|
|
64
|
+
*/
|
|
27
65
|
get runtimeAnimatorController(): AnimatorController | undefined | null;
|
|
28
|
-
/**
|
|
29
|
-
*
|
|
30
|
-
* @returns
|
|
31
|
-
|
|
66
|
+
/**
|
|
67
|
+
* Retrieves information about the current animation state
|
|
68
|
+
* @returns The current state information, or undefined if no state is playing
|
|
69
|
+
*/
|
|
32
70
|
getCurrentStateInfo(): import("../engine/extensions/NEEDLE_animator_controller_model.js").AnimatorStateInfo | null | undefined;
|
|
33
|
-
/**
|
|
34
|
-
*
|
|
35
|
-
|
|
71
|
+
/**
|
|
72
|
+
* The currently playing animation action that can be used to modify animation properties
|
|
73
|
+
* @returns The current animation action, or null if no animation is playing
|
|
74
|
+
*/
|
|
36
75
|
get currentAction(): AnimationAction | null;
|
|
37
|
-
/**
|
|
76
|
+
/**
|
|
77
|
+
* Indicates whether animation parameters have been modified since the last update
|
|
78
|
+
* @returns True if parameters have been changed
|
|
79
|
+
*/
|
|
38
80
|
get parametersAreDirty(): boolean;
|
|
39
81
|
private _parametersAreDirty;
|
|
40
|
-
/**
|
|
82
|
+
/**
|
|
83
|
+
* Indicates whether the animator state has changed since the last update
|
|
84
|
+
* @returns True if the animator has been changed
|
|
85
|
+
*/
|
|
41
86
|
get isDirty(): boolean;
|
|
42
87
|
private _isDirty;
|
|
43
88
|
/**@deprecated use play() */
|
|
44
89
|
Play(name: string | number, layer?: number, normalizedTime?: number, transitionDurationInSec?: number): void;
|
|
45
|
-
/**
|
|
46
|
-
*
|
|
47
|
-
* @param
|
|
48
|
-
* @param
|
|
49
|
-
* @param
|
|
50
|
-
* @
|
|
51
|
-
|
|
90
|
+
/**
|
|
91
|
+
* Plays an animation on the animator
|
|
92
|
+
* @param name The name or hash of the animation to play
|
|
93
|
+
* @param layer The layer to play the animation on (-1 for default layer)
|
|
94
|
+
* @param normalizedTime The time position to start playing (0-1 range, NEGATIVE_INFINITY for current position)
|
|
95
|
+
* @param transitionDurationInSec The duration of the blend transition in seconds
|
|
96
|
+
*/
|
|
52
97
|
play(name: string | number, layer?: number, normalizedTime?: number, transitionDurationInSec?: number): void;
|
|
53
98
|
/**@deprecated use reset */
|
|
54
99
|
Reset(): void;
|
|
55
|
-
/**
|
|
100
|
+
/**
|
|
101
|
+
* Resets the animator controller to its initial state
|
|
102
|
+
*/
|
|
56
103
|
reset(): void;
|
|
57
104
|
/**@deprecated use setBool */
|
|
58
105
|
SetBool(name: string | number, val: boolean): void;
|
|
106
|
+
/**
|
|
107
|
+
* Sets a boolean parameter in the animator
|
|
108
|
+
* @param name The name or hash of the parameter
|
|
109
|
+
* @param value The boolean value to set
|
|
110
|
+
*/
|
|
59
111
|
setBool(name: string | number, value: boolean): void;
|
|
60
112
|
/**@deprecated use getBool */
|
|
61
113
|
GetBool(name: string | number): boolean;
|
|
114
|
+
/**
|
|
115
|
+
* Gets a boolean parameter from the animator
|
|
116
|
+
* @param name The name or hash of the parameter
|
|
117
|
+
* @returns The value of the boolean parameter, or false if not found
|
|
118
|
+
*/
|
|
62
119
|
getBool(name: string | number): boolean;
|
|
120
|
+
/**
|
|
121
|
+
* Toggles a boolean parameter between true and false
|
|
122
|
+
* @param name The name or hash of the parameter
|
|
123
|
+
*/
|
|
63
124
|
toggleBool(name: string | number): void;
|
|
64
125
|
/**@deprecated use setFloat */
|
|
65
126
|
SetFloat(name: string | number, val: number): void;
|
|
127
|
+
/**
|
|
128
|
+
* Sets a float parameter in the animator
|
|
129
|
+
* @param name The name or hash of the parameter
|
|
130
|
+
* @param val The float value to set
|
|
131
|
+
*/
|
|
66
132
|
setFloat(name: string | number, val: number): void;
|
|
67
133
|
/**@deprecated use getFloat */
|
|
68
134
|
GetFloat(name: string | number): number;
|
|
135
|
+
/**
|
|
136
|
+
* Gets a float parameter from the animator
|
|
137
|
+
* @param name The name or hash of the parameter
|
|
138
|
+
* @returns The value of the float parameter, or -1 if not found
|
|
139
|
+
*/
|
|
69
140
|
getFloat(name: string | number): number;
|
|
70
141
|
/**@deprecated use setInteger */
|
|
71
142
|
SetInteger(name: string | number, val: number): void;
|
|
143
|
+
/**
|
|
144
|
+
* Sets an integer parameter in the animator
|
|
145
|
+
* @param name The name or hash of the parameter
|
|
146
|
+
* @param val The integer value to set
|
|
147
|
+
*/
|
|
72
148
|
setInteger(name: string | number, val: number): void;
|
|
73
149
|
/**@deprecated use getInteger */
|
|
74
150
|
GetInteger(name: string | number): number;
|
|
151
|
+
/**
|
|
152
|
+
* Gets an integer parameter from the animator
|
|
153
|
+
* @param name The name or hash of the parameter
|
|
154
|
+
* @returns The value of the integer parameter, or -1 if not found
|
|
155
|
+
*/
|
|
75
156
|
getInteger(name: string | number): number;
|
|
76
157
|
/**@deprecated use setTrigger */
|
|
77
158
|
SetTrigger(name: string | number): void;
|
|
159
|
+
/**
|
|
160
|
+
* Activates a trigger parameter in the animator
|
|
161
|
+
* @param name The name or hash of the trigger parameter
|
|
162
|
+
*/
|
|
78
163
|
setTrigger(name: string | number): void;
|
|
79
164
|
/**@deprecated use resetTrigger */
|
|
80
165
|
ResetTrigger(name: string | number): void;
|
|
166
|
+
/**
|
|
167
|
+
* Resets a trigger parameter in the animator
|
|
168
|
+
* @param name The name or hash of the trigger parameter
|
|
169
|
+
*/
|
|
81
170
|
resetTrigger(name: string | number): void;
|
|
82
171
|
/**@deprecated use getTrigger */
|
|
83
172
|
GetTrigger(name: string | number): void;
|
|
173
|
+
/**
|
|
174
|
+
* Gets the state of a trigger parameter from the animator
|
|
175
|
+
* @param name The name or hash of the trigger parameter
|
|
176
|
+
* @returns The state of the trigger parameter
|
|
177
|
+
*/
|
|
84
178
|
getTrigger(name: string | number): boolean | undefined;
|
|
85
179
|
/**@deprecated use isInTransition */
|
|
86
180
|
IsInTransition(): boolean;
|
|
87
|
-
/**
|
|
181
|
+
/**
|
|
182
|
+
* Checks if the animator is currently in a transition between states
|
|
183
|
+
* @returns True if the animator is currently blending between animations
|
|
184
|
+
*/
|
|
88
185
|
isInTransition(): boolean;
|
|
89
186
|
/**@deprecated use setSpeed */
|
|
90
187
|
SetSpeed(speed: number): void;
|
|
188
|
+
/**
|
|
189
|
+
* Sets the playback speed of the animator
|
|
190
|
+
* @param speed The new playback speed multiplier
|
|
191
|
+
*/
|
|
91
192
|
setSpeed(speed: number): void;
|
|
92
|
-
/**
|
|
193
|
+
/**
|
|
194
|
+
* Sets a random playback speed between the min and max values
|
|
195
|
+
* @param minMax Object with x (minimum) and y (maximum) speed values
|
|
196
|
+
*/
|
|
93
197
|
set minMaxSpeed(minMax: {
|
|
94
198
|
x: number;
|
|
95
199
|
y: number;
|
|
96
200
|
});
|
|
201
|
+
/**
|
|
202
|
+
* Sets a random normalized time offset for animations between min (x) and max (y) values
|
|
203
|
+
* @param minMax Object with x (min) and y (max) values for the offset range
|
|
204
|
+
*/
|
|
97
205
|
set minMaxOffsetNormalized(minMax: {
|
|
98
206
|
x: number;
|
|
99
207
|
y: number;
|
|
@@ -11,19 +11,39 @@ import { getObjectAnimated } from "./AnimationUtils.js";
|
|
|
11
11
|
import { AnimatorController } from "./AnimatorController.js";
|
|
12
12
|
import { Behaviour } from "./Component.js";
|
|
13
13
|
const debug = getParam("debuganimator");
|
|
14
|
-
/**
|
|
15
|
-
*
|
|
14
|
+
/**
|
|
15
|
+
* The Animator component plays and manages animations on a GameObject.
|
|
16
|
+
* It works with an AnimatorController to handle state transitions and animation blending.
|
|
17
|
+
* A new AnimatorController can be created from code via `AnimatorController.createFromClips`.
|
|
16
18
|
* @category Animation and Sequencing
|
|
17
19
|
* @group Components
|
|
18
20
|
*/
|
|
19
21
|
export class Animator extends Behaviour {
|
|
22
|
+
/**
|
|
23
|
+
* Identifies this component as an animation component in the engine
|
|
24
|
+
*/
|
|
20
25
|
get isAnimationComponent() {
|
|
21
26
|
return true;
|
|
22
27
|
}
|
|
28
|
+
/**
|
|
29
|
+
* When enabled, animation will affect the root transform position and rotation
|
|
30
|
+
*/
|
|
23
31
|
applyRootMotion = false;
|
|
32
|
+
/**
|
|
33
|
+
* Indicates whether this animator contains root motion data
|
|
34
|
+
*/
|
|
24
35
|
hasRootMotion = false;
|
|
36
|
+
/**
|
|
37
|
+
* When enabled, the animator will maintain its state when the component is disabled
|
|
38
|
+
*/
|
|
25
39
|
keepAnimatorControllerStateOnDisable = false;
|
|
26
40
|
// set from needle animator extension
|
|
41
|
+
/**
|
|
42
|
+
* Sets or replaces the animator controller for this component.
|
|
43
|
+
* Handles binding the controller to this animator instance and ensures
|
|
44
|
+
* proper initialization when the controller changes.
|
|
45
|
+
* @param val The animator controller model or instance to use
|
|
46
|
+
*/
|
|
27
47
|
set runtimeAnimatorController(val) {
|
|
28
48
|
if (this._animatorController && this._animatorController.model === val) {
|
|
29
49
|
return;
|
|
@@ -51,50 +71,68 @@ export class Animator extends Behaviour {
|
|
|
51
71
|
else
|
|
52
72
|
this._animatorController = null;
|
|
53
73
|
}
|
|
74
|
+
/**
|
|
75
|
+
* Gets the current animator controller instance
|
|
76
|
+
* @returns The current animator controller or null if none is assigned
|
|
77
|
+
*/
|
|
54
78
|
get runtimeAnimatorController() {
|
|
55
79
|
return this._animatorController;
|
|
56
80
|
}
|
|
57
|
-
/**
|
|
58
|
-
*
|
|
59
|
-
* @returns
|
|
60
|
-
|
|
81
|
+
/**
|
|
82
|
+
* Retrieves information about the current animation state
|
|
83
|
+
* @returns The current state information, or undefined if no state is playing
|
|
84
|
+
*/
|
|
61
85
|
getCurrentStateInfo() {
|
|
62
86
|
return this.runtimeAnimatorController?.getCurrentStateInfo();
|
|
63
87
|
}
|
|
64
|
-
/**
|
|
65
|
-
*
|
|
66
|
-
|
|
88
|
+
/**
|
|
89
|
+
* The currently playing animation action that can be used to modify animation properties
|
|
90
|
+
* @returns The current animation action, or null if no animation is playing
|
|
91
|
+
*/
|
|
67
92
|
get currentAction() {
|
|
68
93
|
return this.runtimeAnimatorController?.currentAction || null;
|
|
69
94
|
}
|
|
70
|
-
/**
|
|
95
|
+
/**
|
|
96
|
+
* Indicates whether animation parameters have been modified since the last update
|
|
97
|
+
* @returns True if parameters have been changed
|
|
98
|
+
*/
|
|
71
99
|
get parametersAreDirty() { return this._parametersAreDirty; }
|
|
72
100
|
_parametersAreDirty = false;
|
|
73
|
-
/**
|
|
101
|
+
/**
|
|
102
|
+
* Indicates whether the animator state has changed since the last update
|
|
103
|
+
* @returns True if the animator has been changed
|
|
104
|
+
*/
|
|
74
105
|
get isDirty() { return this._isDirty; }
|
|
75
106
|
_isDirty = false;
|
|
76
107
|
/**@deprecated use play() */
|
|
77
108
|
Play(name, layer = -1, normalizedTime = Number.NEGATIVE_INFINITY, transitionDurationInSec = 0) { this.play(name, layer, normalizedTime, transitionDurationInSec); }
|
|
78
|
-
/**
|
|
79
|
-
*
|
|
80
|
-
* @param
|
|
81
|
-
* @param
|
|
82
|
-
* @param
|
|
83
|
-
* @
|
|
84
|
-
|
|
109
|
+
/**
|
|
110
|
+
* Plays an animation on the animator
|
|
111
|
+
* @param name The name or hash of the animation to play
|
|
112
|
+
* @param layer The layer to play the animation on (-1 for default layer)
|
|
113
|
+
* @param normalizedTime The time position to start playing (0-1 range, NEGATIVE_INFINITY for current position)
|
|
114
|
+
* @param transitionDurationInSec The duration of the blend transition in seconds
|
|
115
|
+
*/
|
|
85
116
|
play(name, layer = -1, normalizedTime = Number.NEGATIVE_INFINITY, transitionDurationInSec = 0) {
|
|
86
117
|
this.runtimeAnimatorController?.play(name, layer, normalizedTime, transitionDurationInSec);
|
|
87
118
|
this._isDirty = true;
|
|
88
119
|
}
|
|
89
120
|
/**@deprecated use reset */
|
|
90
121
|
Reset() { this.reset(); }
|
|
91
|
-
/**
|
|
122
|
+
/**
|
|
123
|
+
* Resets the animator controller to its initial state
|
|
124
|
+
*/
|
|
92
125
|
reset() {
|
|
93
126
|
this._animatorController?.reset();
|
|
94
127
|
this._isDirty = true;
|
|
95
128
|
}
|
|
96
129
|
/**@deprecated use setBool */
|
|
97
130
|
SetBool(name, val) { this.setBool(name, val); }
|
|
131
|
+
/**
|
|
132
|
+
* Sets a boolean parameter in the animator
|
|
133
|
+
* @param name The name or hash of the parameter
|
|
134
|
+
* @param value The boolean value to set
|
|
135
|
+
*/
|
|
98
136
|
setBool(name, value) {
|
|
99
137
|
if (debug)
|
|
100
138
|
console.log("setBool", name, value);
|
|
@@ -104,17 +142,31 @@ export class Animator extends Behaviour {
|
|
|
104
142
|
}
|
|
105
143
|
/**@deprecated use getBool */
|
|
106
144
|
GetBool(name) { return this.getBool(name); }
|
|
145
|
+
/**
|
|
146
|
+
* Gets a boolean parameter from the animator
|
|
147
|
+
* @param name The name or hash of the parameter
|
|
148
|
+
* @returns The value of the boolean parameter, or false if not found
|
|
149
|
+
*/
|
|
107
150
|
getBool(name) {
|
|
108
151
|
const res = this.runtimeAnimatorController?.getBool(name) ?? false;
|
|
109
152
|
if (debug)
|
|
110
153
|
console.log("getBool", name, res);
|
|
111
154
|
return res;
|
|
112
155
|
}
|
|
156
|
+
/**
|
|
157
|
+
* Toggles a boolean parameter between true and false
|
|
158
|
+
* @param name The name or hash of the parameter
|
|
159
|
+
*/
|
|
113
160
|
toggleBool(name) {
|
|
114
161
|
this.setBool(name, !this.getBool(name));
|
|
115
162
|
}
|
|
116
163
|
/**@deprecated use setFloat */
|
|
117
164
|
SetFloat(name, val) { this.setFloat(name, val); }
|
|
165
|
+
/**
|
|
166
|
+
* Sets a float parameter in the animator
|
|
167
|
+
* @param name The name or hash of the parameter
|
|
168
|
+
* @param val The float value to set
|
|
169
|
+
*/
|
|
118
170
|
setFloat(name, val) {
|
|
119
171
|
if (this.runtimeAnimatorController?.getFloat(name) !== val)
|
|
120
172
|
this._parametersAreDirty = true;
|
|
@@ -124,6 +176,11 @@ export class Animator extends Behaviour {
|
|
|
124
176
|
}
|
|
125
177
|
/**@deprecated use getFloat */
|
|
126
178
|
GetFloat(name) { return this.getFloat(name); }
|
|
179
|
+
/**
|
|
180
|
+
* Gets a float parameter from the animator
|
|
181
|
+
* @param name The name or hash of the parameter
|
|
182
|
+
* @returns The value of the float parameter, or -1 if not found
|
|
183
|
+
*/
|
|
127
184
|
getFloat(name) {
|
|
128
185
|
const res = this.runtimeAnimatorController?.getFloat(name) ?? -1;
|
|
129
186
|
if (debug)
|
|
@@ -132,6 +189,11 @@ export class Animator extends Behaviour {
|
|
|
132
189
|
}
|
|
133
190
|
/**@deprecated use setInteger */
|
|
134
191
|
SetInteger(name, val) { this.setInteger(name, val); }
|
|
192
|
+
/**
|
|
193
|
+
* Sets an integer parameter in the animator
|
|
194
|
+
* @param name The name or hash of the parameter
|
|
195
|
+
* @param val The integer value to set
|
|
196
|
+
*/
|
|
135
197
|
setInteger(name, val) {
|
|
136
198
|
if (this.runtimeAnimatorController?.getInteger(name) !== val)
|
|
137
199
|
this._parametersAreDirty = true;
|
|
@@ -141,6 +203,11 @@ export class Animator extends Behaviour {
|
|
|
141
203
|
}
|
|
142
204
|
/**@deprecated use getInteger */
|
|
143
205
|
GetInteger(name) { return this.getInteger(name); }
|
|
206
|
+
/**
|
|
207
|
+
* Gets an integer parameter from the animator
|
|
208
|
+
* @param name The name or hash of the parameter
|
|
209
|
+
* @returns The value of the integer parameter, or -1 if not found
|
|
210
|
+
*/
|
|
144
211
|
getInteger(name) {
|
|
145
212
|
const res = this.runtimeAnimatorController?.getInteger(name) ?? -1;
|
|
146
213
|
if (debug)
|
|
@@ -149,6 +216,10 @@ export class Animator extends Behaviour {
|
|
|
149
216
|
}
|
|
150
217
|
/**@deprecated use setTrigger */
|
|
151
218
|
SetTrigger(name) { this.setTrigger(name); }
|
|
219
|
+
/**
|
|
220
|
+
* Activates a trigger parameter in the animator
|
|
221
|
+
* @param name The name or hash of the trigger parameter
|
|
222
|
+
*/
|
|
152
223
|
setTrigger(name) {
|
|
153
224
|
this._parametersAreDirty = true;
|
|
154
225
|
if (debug)
|
|
@@ -157,6 +228,10 @@ export class Animator extends Behaviour {
|
|
|
157
228
|
}
|
|
158
229
|
/**@deprecated use resetTrigger */
|
|
159
230
|
ResetTrigger(name) { this.resetTrigger(name); }
|
|
231
|
+
/**
|
|
232
|
+
* Resets a trigger parameter in the animator
|
|
233
|
+
* @param name The name or hash of the trigger parameter
|
|
234
|
+
*/
|
|
160
235
|
resetTrigger(name) {
|
|
161
236
|
this._parametersAreDirty = true;
|
|
162
237
|
if (debug)
|
|
@@ -165,6 +240,11 @@ export class Animator extends Behaviour {
|
|
|
165
240
|
}
|
|
166
241
|
/**@deprecated use getTrigger */
|
|
167
242
|
GetTrigger(name) { this.getTrigger(name); }
|
|
243
|
+
/**
|
|
244
|
+
* Gets the state of a trigger parameter from the animator
|
|
245
|
+
* @param name The name or hash of the trigger parameter
|
|
246
|
+
* @returns The state of the trigger parameter
|
|
247
|
+
*/
|
|
168
248
|
getTrigger(name) {
|
|
169
249
|
const res = this.runtimeAnimatorController?.getTrigger(name);
|
|
170
250
|
if (debug)
|
|
@@ -173,12 +253,19 @@ export class Animator extends Behaviour {
|
|
|
173
253
|
}
|
|
174
254
|
/**@deprecated use isInTransition */
|
|
175
255
|
IsInTransition() { return this.isInTransition(); }
|
|
176
|
-
/**
|
|
256
|
+
/**
|
|
257
|
+
* Checks if the animator is currently in a transition between states
|
|
258
|
+
* @returns True if the animator is currently blending between animations
|
|
259
|
+
*/
|
|
177
260
|
isInTransition() {
|
|
178
261
|
return this.runtimeAnimatorController?.isInTransition() ?? false;
|
|
179
262
|
}
|
|
180
263
|
/**@deprecated use setSpeed */
|
|
181
264
|
SetSpeed(speed) { return this.setSpeed(speed); }
|
|
265
|
+
/**
|
|
266
|
+
* Sets the playback speed of the animator
|
|
267
|
+
* @param speed The new playback speed multiplier
|
|
268
|
+
*/
|
|
182
269
|
setSpeed(speed) {
|
|
183
270
|
if (speed === this._speed)
|
|
184
271
|
return;
|
|
@@ -188,12 +275,19 @@ export class Animator extends Behaviour {
|
|
|
188
275
|
if (this._animatorController?.animator == this)
|
|
189
276
|
this._animatorController.setSpeed(speed);
|
|
190
277
|
}
|
|
191
|
-
/**
|
|
278
|
+
/**
|
|
279
|
+
* Sets a random playback speed between the min and max values
|
|
280
|
+
* @param minMax Object with x (minimum) and y (maximum) speed values
|
|
281
|
+
*/
|
|
192
282
|
set minMaxSpeed(minMax) {
|
|
193
283
|
this._speed = Mathf.lerp(minMax.x, minMax.y, Math.random());
|
|
194
284
|
if (this._animatorController?.animator == this)
|
|
195
285
|
this._animatorController.setSpeed(this._speed);
|
|
196
286
|
}
|
|
287
|
+
/**
|
|
288
|
+
* Sets a random normalized time offset for animations between min (x) and max (y) values
|
|
289
|
+
* @param minMax Object with x (min) and y (max) values for the offset range
|
|
290
|
+
*/
|
|
197
291
|
set minMaxOffsetNormalized(minMax) {
|
|
198
292
|
this._normalizedStartOffset = Mathf.lerp(minMax.x, minMax.y, Math.random());
|
|
199
293
|
if (this.runtimeAnimatorController?.animator == this)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Animator.js","sourceRoot":"","sources":["../../src/engine-components/Animator.ts"],"names":[],"mappings":";;;;;;AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,6CAA6C,CAAC;AAE3E,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAErD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,MAAM,KAAK,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"Animator.js","sourceRoot":"","sources":["../../src/engine-components/Animator.ts"],"names":[],"mappings":"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"}
|