@needle-tools/engine 4.13.1-beta → 4.13.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.
Files changed (61) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/components.needle.json +1 -1
  3. package/dist/{needle-engine.bundle-6774fXoY.min.js → needle-engine.bundle-BNIUpreS.min.js} +2 -2
  4. package/dist/{needle-engine.bundle-CGtsEhyJ.js → needle-engine.bundle-DauZUYl7.js} +4 -4
  5. package/dist/{needle-engine.bundle-fbFZTOKP.umd.cjs → needle-engine.bundle-tjI5Fq2c.umd.cjs} +4 -4
  6. package/dist/needle-engine.d.ts +256 -25
  7. package/dist/needle-engine.js +2 -2
  8. package/dist/needle-engine.min.js +1 -1
  9. package/dist/needle-engine.umd.cjs +1 -1
  10. package/lib/engine/engine_physics.d.ts +2 -0
  11. package/lib/engine/engine_physics.js +2 -0
  12. package/lib/engine/engine_physics.js.map +1 -1
  13. package/lib/engine/engine_physics_rapier.d.ts +2 -0
  14. package/lib/engine/engine_physics_rapier.js +2 -0
  15. package/lib/engine/engine_physics_rapier.js.map +1 -1
  16. package/lib/engine-components/ContactShadows.d.ts +2 -0
  17. package/lib/engine-components/ContactShadows.js +2 -0
  18. package/lib/engine-components/ContactShadows.js.map +1 -1
  19. package/lib/engine-components/EventList.js +2 -2
  20. package/lib/engine-components/EventList.js.map +1 -1
  21. package/lib/engine-components/Renderer.d.ts +4 -3
  22. package/lib/engine-components/Renderer.js +4 -3
  23. package/lib/engine-components/Renderer.js.map +1 -1
  24. package/lib/engine-components/RigidBody.d.ts +57 -5
  25. package/lib/engine-components/RigidBody.js +57 -5
  26. package/lib/engine-components/RigidBody.js.map +1 -1
  27. package/lib/engine-components/ScreenCapture.d.ts +1 -0
  28. package/lib/engine-components/ScreenCapture.js +1 -0
  29. package/lib/engine-components/ScreenCapture.js.map +1 -1
  30. package/lib/engine-components/SeeThrough.d.ts +70 -5
  31. package/lib/engine-components/SeeThrough.js +70 -5
  32. package/lib/engine-components/SeeThrough.js.map +1 -1
  33. package/lib/engine-components/ShadowCatcher.d.ts +56 -4
  34. package/lib/engine-components/ShadowCatcher.js +56 -4
  35. package/lib/engine-components/ShadowCatcher.js.map +1 -1
  36. package/lib/engine-components/Skybox.d.ts +43 -7
  37. package/lib/engine-components/Skybox.js +43 -7
  38. package/lib/engine-components/Skybox.js.map +1 -1
  39. package/lib/engine-components/VideoPlayer.d.ts +1 -1
  40. package/lib/engine-components/VideoPlayer.js +1 -1
  41. package/lib/engine-components/timeline/PlayableDirector.d.ts +4 -0
  42. package/lib/engine-components/timeline/PlayableDirector.js +4 -0
  43. package/lib/engine-components/timeline/PlayableDirector.js.map +1 -1
  44. package/lib/engine-components/timeline/TimelineModels.d.ts +14 -0
  45. package/lib/engine-components/timeline/TimelineModels.js +4 -0
  46. package/lib/engine-components/timeline/TimelineModels.js.map +1 -1
  47. package/package.json +1 -1
  48. package/src/engine/engine_physics.ts +4 -0
  49. package/src/engine/engine_physics_rapier.ts +8 -4
  50. package/src/engine-components/ContactShadows.ts +6 -1
  51. package/src/engine-components/EventList.ts +2 -2
  52. package/src/engine-components/Renderer.ts +14 -13
  53. package/src/engine-components/RigidBody.ts +64 -8
  54. package/src/engine-components/ScreenCapture.ts +1 -0
  55. package/src/engine-components/SeeThrough.ts +76 -9
  56. package/src/engine-components/ShadowCatcher.ts +61 -6
  57. package/src/engine-components/Skybox.ts +48 -12
  58. package/src/engine-components/VideoPlayer.ts +1 -1
  59. package/src/engine-components/timeline/PlayableDirector.ts +5 -1
  60. package/src/engine-components/timeline/SignalAsset.ts +1 -1
  61. package/src/engine-components/timeline/TimelineModels.ts +18 -2
@@ -3,15 +3,67 @@ import { CollisionDetectionMode, RigidbodyConstraints } from "../engine/engine_p
3
3
  import type { IRigidbody, Vec3 } from "../engine/engine_types.js";
4
4
  import { Behaviour } from "./Component.js";
5
5
  /**
6
- * A Rigidbody is used together with a Collider to create physical interactions between objects in the scene.
6
+ * Rigidbody component for realistic physics simulation and dynamic interactions.
7
+ * Used together with a {@link Collider} to enable physical behavior like gravity, collisions,
8
+ * forces, and constraints. Powered by the Rapier physics engine.
7
9
  *
8
- * - Example: https://samples.needle.tools/physics-basic
9
- * - Example: https://samples.needle.tools/physics-playground
10
- * - Example: https://samples.needle.tools/physics-&-animation
10
+ * ![](https://cloud.needle.tools/-/media/slYWnXyaxdlrCqu8GP_lFQ.gif)
11
11
  *
12
- * @summary Rigidbody for physical interactions
12
+ * **Key features:**
13
+ * - Dynamic, kinematic, or static body types
14
+ * - Automatic or manual mass calculation
15
+ * - Gravity, drag, and angular drag control
16
+ * - Position and rotation constraints (locking axes)
17
+ * - Force, impulse, and velocity manipulation
18
+ * - Sleep/wake optimization for performance
19
+ * - Continuous collision detection (CCD) support
20
+ *
21
+ * @example Basic dynamic rigidbody
22
+ * ```ts
23
+ * const rb = this.gameObject.getComponent(Rigidbody);
24
+ * rb.useGravity = true;
25
+ * rb.mass = 2.0;
26
+ * rb.drag = 0.5;
27
+ * ```
28
+ *
29
+ * @example Apply force to move object
30
+ * ```ts
31
+ * const rb = this.gameObject.getComponent(Rigidbody);
32
+ * rb.applyForce(new Vector3(0, 10, 0)); // Upward force
33
+ * rb.applyImpulse(new Vector3(5, 0, 0)); // Instant velocity change
34
+ * ```
35
+ *
36
+ * @example Kinematic rigidbody (manually controlled)
37
+ * ```ts
38
+ * const rb = this.gameObject.getComponent(Rigidbody);
39
+ * rb.isKinematic = true; // Not affected by forces
40
+ * rb.teleport({ x: 0, y: 5, z: 0 }); // Move without physics
41
+ * ```
42
+ *
43
+ * @example Lock rotation on Y axis (useful for characters)
44
+ * ```ts
45
+ * const rb = this.gameObject.getComponent(Rigidbody);
46
+ * rb.lockRotationY = true;
47
+ * // Or use constraints for multiple axes:
48
+ * rb.constraints = RigidbodyConstraints.FreezeRotationY | RigidbodyConstraints.FreezePositionZ;
49
+ * ```
50
+ *
51
+ * @summary Enables physics simulation with forces, gravity, and collisions
13
52
  * @category Physics
14
53
  * @group Components
54
+ * @see {@link BoxCollider} for box-shaped colliders
55
+ * @see {@link SphereCollider} for sphere-shaped colliders
56
+ * @see {@link CapsuleCollider} for capsule-shaped colliders
57
+ * @see {@link MeshCollider} for mesh-based colliders
58
+ * @see {@link Collider} for collider base class
59
+ * @see {@link CharacterController} for character movement
60
+ * @see {@link Joint} for connecting bodies
61
+ * @see {@link RapierPhysics} for physics engine implementation
62
+ * @see {@link Physics} for raycasting and physics utilities
63
+ * @link https://engine.needle.tools/samples/physics-basic/
64
+ * @link https://engine.needle.tools/samples/physics-playground/
65
+ * @link https://engine.needle.tools/samples/physics-&-animation/
66
+ * @link https://rapier.rs/docs/user_guides/javascript/rigid_bodies
15
67
  */
16
68
  export declare class Rigidbody extends Behaviour implements IRigidbody {
17
69
  get isRigidbody(): boolean;
@@ -128,15 +128,67 @@ class TransformWatch {
128
128
  }
129
129
  }
130
130
  /**
131
- * A Rigidbody is used together with a Collider to create physical interactions between objects in the scene.
131
+ * Rigidbody component for realistic physics simulation and dynamic interactions.
132
+ * Used together with a {@link Collider} to enable physical behavior like gravity, collisions,
133
+ * forces, and constraints. Powered by the Rapier physics engine.
132
134
  *
133
- * - Example: https://samples.needle.tools/physics-basic
134
- * - Example: https://samples.needle.tools/physics-playground
135
- * - Example: https://samples.needle.tools/physics-&-animation
135
+ * ![](https://cloud.needle.tools/-/media/slYWnXyaxdlrCqu8GP_lFQ.gif)
136
136
  *
137
- * @summary Rigidbody for physical interactions
137
+ * **Key features:**
138
+ * - Dynamic, kinematic, or static body types
139
+ * - Automatic or manual mass calculation
140
+ * - Gravity, drag, and angular drag control
141
+ * - Position and rotation constraints (locking axes)
142
+ * - Force, impulse, and velocity manipulation
143
+ * - Sleep/wake optimization for performance
144
+ * - Continuous collision detection (CCD) support
145
+ *
146
+ * @example Basic dynamic rigidbody
147
+ * ```ts
148
+ * const rb = this.gameObject.getComponent(Rigidbody);
149
+ * rb.useGravity = true;
150
+ * rb.mass = 2.0;
151
+ * rb.drag = 0.5;
152
+ * ```
153
+ *
154
+ * @example Apply force to move object
155
+ * ```ts
156
+ * const rb = this.gameObject.getComponent(Rigidbody);
157
+ * rb.applyForce(new Vector3(0, 10, 0)); // Upward force
158
+ * rb.applyImpulse(new Vector3(5, 0, 0)); // Instant velocity change
159
+ * ```
160
+ *
161
+ * @example Kinematic rigidbody (manually controlled)
162
+ * ```ts
163
+ * const rb = this.gameObject.getComponent(Rigidbody);
164
+ * rb.isKinematic = true; // Not affected by forces
165
+ * rb.teleport({ x: 0, y: 5, z: 0 }); // Move without physics
166
+ * ```
167
+ *
168
+ * @example Lock rotation on Y axis (useful for characters)
169
+ * ```ts
170
+ * const rb = this.gameObject.getComponent(Rigidbody);
171
+ * rb.lockRotationY = true;
172
+ * // Or use constraints for multiple axes:
173
+ * rb.constraints = RigidbodyConstraints.FreezeRotationY | RigidbodyConstraints.FreezePositionZ;
174
+ * ```
175
+ *
176
+ * @summary Enables physics simulation with forces, gravity, and collisions
138
177
  * @category Physics
139
178
  * @group Components
179
+ * @see {@link BoxCollider} for box-shaped colliders
180
+ * @see {@link SphereCollider} for sphere-shaped colliders
181
+ * @see {@link CapsuleCollider} for capsule-shaped colliders
182
+ * @see {@link MeshCollider} for mesh-based colliders
183
+ * @see {@link Collider} for collider base class
184
+ * @see {@link CharacterController} for character movement
185
+ * @see {@link Joint} for connecting bodies
186
+ * @see {@link RapierPhysics} for physics engine implementation
187
+ * @see {@link Physics} for raycasting and physics utilities
188
+ * @link https://engine.needle.tools/samples/physics-basic/
189
+ * @link https://engine.needle.tools/samples/physics-playground/
190
+ * @link https://engine.needle.tools/samples/physics-&-animation/
191
+ * @link https://rapier.rs/docs/user_guides/javascript/rigid_bodies
140
192
  */
141
193
  export class Rigidbody extends Behaviour {
142
194
  get isRigidbody() { return true; }
@@ -1 +1 @@
1
- {"version":3,"file":"RigidBody.js","sourceRoot":"","sources":["../../src/engine-components/RigidBody.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RigidBody.js","sourceRoot":"","sources":["../../src/engine-components/RigidBody.ts"],"names":[],"mappings":"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"}
@@ -87,6 +87,7 @@ export declare type ScreenCaptureOptions = {
87
87
  *
88
88
  * @summary Share screen, camera or microphone in a networked room
89
89
  * @category Networking
90
+ * @category Multimedia
90
91
  * @group Components
91
92
  * @see {@link VideoPlayer} for displaying the received stream
92
93
  * @see {@link Voip} for voice-only communication
@@ -79,6 +79,7 @@ export var ScreenCaptureMode;
79
79
  *
80
80
  * @summary Share screen, camera or microphone in a networked room
81
81
  * @category Networking
82
+ * @category Multimedia
82
83
  * @group Components
83
84
  * @see {@link VideoPlayer} for displaying the received stream
84
85
  * @see {@link Voip} for voice-only communication
@@ -1 +1 @@
1
- {"version":3,"file":"ScreenCapture.js","sourceRoot":"","sources":["../../src/engine-components/ScreenCapture.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ScreenCapture.js","sourceRoot":"","sources":["../../src/engine-components/ScreenCapture.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,82 @@
1
1
  import { Object3D } from "three";
2
2
  import { Behaviour } from "./Component.js";
3
3
  /**
4
- * Makes the object fade out when it is obscuring the reference point from the camera. This component can be put on any object in the scene. It will affect all Renderer components on the same object and child objects.
4
+ * Automatically fades objects to transparent when they obscure a reference point from the camera's view.
5
+ * Perfect for architectural visualization, third-person games, or any scenario where objects should
6
+ * become see-through when blocking the view of important content.
5
7
  *
6
- * Useful for e.g. making walls transparent when the camera is outside or hiding object's that would otherwise block the view.
8
+ * [![](https://cloud.needle.tools/-/media/1gbMOJLgTlXOug_g6xeKfg.gif)](https://engine.needle.tools/samples/see-through)
7
9
  *
8
- * Requires a Renderer component on the same object or a child object.
10
+ * **How it works:**
11
+ * - Monitors the angle between the camera, this object, and a reference point
12
+ * - When the object blocks the view to the reference point, it fades out
13
+ * - Automatically affects all {@link Renderer} components on this object and children
14
+ * - Supports both transparent fading and alpha hash (dithered) fading
9
15
  *
10
- * - Example https://see-through-walls-z23hmxbz1kjfjn.needle.run/
16
+ * **Key Features:**
17
+ * - Smooth fade transitions with configurable duration
18
+ * - Optional alpha hash for maintaining opaque rendering (better performance)
19
+ * - Automatic or manual update modes
20
+ * - Disables raycasting when faded (objects become click-through)
21
+ * - Preserves original material properties when re-enabled
11
22
  *
12
- * @summary Makes objects fade out when obscuring a reference point from the camera
23
+ * **Configuration:**
24
+ * - `referencePoint` - Object to keep visible (defaults to scene root)
25
+ * - `fadeDuration` - Transition speed (default: 0.05 seconds)
26
+ * - `minAlpha` - Minimum opacity when faded (default: 0 = fully transparent)
27
+ * - `useAlphaHash` - Use dithered transparency instead of true transparency (default: true)
28
+ *
29
+ * **Performance:**
30
+ * - Materials are cloned once per renderer to avoid affecting shared materials
31
+ * - Updates direction calculation every 20 frames by default (configurable via `autoUpdate`)
32
+ * - Use `needsUpdate = true` to force immediate recalculation
33
+ *
34
+ * **Requirements:**
35
+ * Requires at least one {@link Renderer} component on the same object or child objects.
36
+ *
37
+ * @example Make walls transparent when blocking view
38
+ * ```ts
39
+ * // Add to walls or obstacles
40
+ * const seeThrough = wall.addComponent(SeeThrough);
41
+ * seeThrough.referencePoint = player; // Keep player visible
42
+ * seeThrough.fadeDuration = 0.2; // Smooth fade
43
+ * seeThrough.minAlpha = 0.2; // Slightly visible when faded
44
+ * ```
45
+ *
46
+ * @example Third-person camera with see-through objects
47
+ * ```ts
48
+ * const character = GameObject.findByName("Character");
49
+ * const obstacles = GameObject.findByTag("Obstacle");
50
+ *
51
+ * for (const obstacle of obstacles) {
52
+ * const st = obstacle.addComponent(SeeThrough);
53
+ * st.referencePoint = character;
54
+ * st.useAlphaHash = true; // Better performance
55
+ * }
56
+ * ```
57
+ *
58
+ * @example Manual control of see-through effect
59
+ * ```ts
60
+ * const seeThrough = this.gameObject.getComponent(SeeThrough);
61
+ * if (seeThrough) {
62
+ * seeThrough.autoUpdate = false; // Disable automatic fading
63
+ *
64
+ * // Manually control transparency
65
+ * seeThrough.updateAlpha(0.5, 0.3); // Fade to 50% over 0.3 seconds
66
+ *
67
+ * // Or use override for precise control
68
+ * seeThrough.overrideAlpha = 0.8; // Force 80% opacity
69
+ * }
70
+ * ```
71
+ *
72
+ * @summary Fades objects when they obscure the camera's view of a reference point
13
73
  * @category Rendering
14
74
  * @group Components
75
+ * @see {@link Renderer} for material/rendering control (required)
76
+ * @see {@link Camera} for camera setup and configuration
77
+ * @see {@link OrbitControls} for camera controls in similar use cases
78
+ * @link https://see-through-walls-z23hmxbz1kjfjn.needle.run/ for live demo
79
+ * @link https://engine.needle.tools/samples/see-through for sample project
15
80
  */
16
81
  export declare class SeeThrough extends Behaviour {
17
82
  /**
@@ -16,17 +16,82 @@ import { Renderer } from "./Renderer.js";
16
16
  const debugSeeThrough = getParam("debugseethrough");
17
17
  let i = 0;
18
18
  /**
19
- * Makes the object fade out when it is obscuring the reference point from the camera. This component can be put on any object in the scene. It will affect all Renderer components on the same object and child objects.
19
+ * Automatically fades objects to transparent when they obscure a reference point from the camera's view.
20
+ * Perfect for architectural visualization, third-person games, or any scenario where objects should
21
+ * become see-through when blocking the view of important content.
20
22
  *
21
- * Useful for e.g. making walls transparent when the camera is outside or hiding object's that would otherwise block the view.
23
+ * [![](https://cloud.needle.tools/-/media/1gbMOJLgTlXOug_g6xeKfg.gif)](https://engine.needle.tools/samples/see-through)
22
24
  *
23
- * Requires a Renderer component on the same object or a child object.
25
+ * **How it works:**
26
+ * - Monitors the angle between the camera, this object, and a reference point
27
+ * - When the object blocks the view to the reference point, it fades out
28
+ * - Automatically affects all {@link Renderer} components on this object and children
29
+ * - Supports both transparent fading and alpha hash (dithered) fading
24
30
  *
25
- * - Example https://see-through-walls-z23hmxbz1kjfjn.needle.run/
31
+ * **Key Features:**
32
+ * - Smooth fade transitions with configurable duration
33
+ * - Optional alpha hash for maintaining opaque rendering (better performance)
34
+ * - Automatic or manual update modes
35
+ * - Disables raycasting when faded (objects become click-through)
36
+ * - Preserves original material properties when re-enabled
26
37
  *
27
- * @summary Makes objects fade out when obscuring a reference point from the camera
38
+ * **Configuration:**
39
+ * - `referencePoint` - Object to keep visible (defaults to scene root)
40
+ * - `fadeDuration` - Transition speed (default: 0.05 seconds)
41
+ * - `minAlpha` - Minimum opacity when faded (default: 0 = fully transparent)
42
+ * - `useAlphaHash` - Use dithered transparency instead of true transparency (default: true)
43
+ *
44
+ * **Performance:**
45
+ * - Materials are cloned once per renderer to avoid affecting shared materials
46
+ * - Updates direction calculation every 20 frames by default (configurable via `autoUpdate`)
47
+ * - Use `needsUpdate = true` to force immediate recalculation
48
+ *
49
+ * **Requirements:**
50
+ * Requires at least one {@link Renderer} component on the same object or child objects.
51
+ *
52
+ * @example Make walls transparent when blocking view
53
+ * ```ts
54
+ * // Add to walls or obstacles
55
+ * const seeThrough = wall.addComponent(SeeThrough);
56
+ * seeThrough.referencePoint = player; // Keep player visible
57
+ * seeThrough.fadeDuration = 0.2; // Smooth fade
58
+ * seeThrough.minAlpha = 0.2; // Slightly visible when faded
59
+ * ```
60
+ *
61
+ * @example Third-person camera with see-through objects
62
+ * ```ts
63
+ * const character = GameObject.findByName("Character");
64
+ * const obstacles = GameObject.findByTag("Obstacle");
65
+ *
66
+ * for (const obstacle of obstacles) {
67
+ * const st = obstacle.addComponent(SeeThrough);
68
+ * st.referencePoint = character;
69
+ * st.useAlphaHash = true; // Better performance
70
+ * }
71
+ * ```
72
+ *
73
+ * @example Manual control of see-through effect
74
+ * ```ts
75
+ * const seeThrough = this.gameObject.getComponent(SeeThrough);
76
+ * if (seeThrough) {
77
+ * seeThrough.autoUpdate = false; // Disable automatic fading
78
+ *
79
+ * // Manually control transparency
80
+ * seeThrough.updateAlpha(0.5, 0.3); // Fade to 50% over 0.3 seconds
81
+ *
82
+ * // Or use override for precise control
83
+ * seeThrough.overrideAlpha = 0.8; // Force 80% opacity
84
+ * }
85
+ * ```
86
+ *
87
+ * @summary Fades objects when they obscure the camera's view of a reference point
28
88
  * @category Rendering
29
89
  * @group Components
90
+ * @see {@link Renderer} for material/rendering control (required)
91
+ * @see {@link Camera} for camera setup and configuration
92
+ * @see {@link OrbitControls} for camera controls in similar use cases
93
+ * @link https://see-through-walls-z23hmxbz1kjfjn.needle.run/ for live demo
94
+ * @link https://engine.needle.tools/samples/see-through for sample project
30
95
  */
31
96
  export class SeeThrough extends Behaviour {
32
97
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"SeeThrough.js","sourceRoot":"","sources":["../../src/engine-components/SeeThrough.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SeeThrough.js","sourceRoot":"","sources":["../../src/engine-components/SeeThrough.ts"],"names":[],"mappings":"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"}
@@ -12,14 +12,66 @@ declare enum ShadowMode {
12
12
  Occluder = 2
13
13
  }
14
14
  /**
15
- * ShadowCatcher can be added to an Object3D to make it render shadows (or light) in the scene. It can also be used to create a shadow mask, or to occlude light.
16
- * If the GameObject is a Mesh, it will apply a shadow-catching material to it - otherwise it will create a quad with the shadow-catching material.
15
+ * ShadowCatcher renders real-time shadows cast by lights onto a mesh surface.
16
+ * Captures actual shadow data from the scene's lighting system (directional lights, point lights, spot lights).
17
17
  *
18
- * Note that ShadowCatcher meshes are not raycastable by default; if you want them to be raycastable, change the layers in `onEnable()`.
18
+ * If the GameObject is a Mesh, it applies a shadow-catching material to it.
19
+ * Otherwise, it creates a quad mesh with the shadow-catching material automatically.
19
20
  *
20
- * @summary Creates a shadow mask or a light occluder
21
+ * [![](https://cloud.needle.tools/-/media/pFXPchA4vynNKOjgG_KucQ.gif)](https://engine.needle.tools/samples/shadow-catcher/)
22
+ * *Additive ShadowCatcher mode with point light shadows*
23
+ *
24
+ * [![](https://cloud.needle.tools/-/media/oIWgEU49rEA0xJ2TrbzVlg.gif)](https://engine.needle.tools/samples/transmission/)
25
+ * *ShadowCatcher with directional light shadows*
26
+ *
27
+ * **Shadow Modes:**
28
+ * - `ShadowMask` - Only renders shadows (works best with directional lights)
29
+ * - `Additive` - Renders light additively (works best with point/spot lights)
30
+ * - `Occluder` - Occludes light without rendering shadows
31
+ *
32
+ * **ShadowCatcher vs ContactShadows:**
33
+ * - **ShadowCatcher**: Real-time shadows from actual lights. Accurate directional shadows that match light sources. Requires lights with shadows enabled. Updates every frame.
34
+ * - **{@link ContactShadows}**: Proximity-based ambient occlusion-style shadows. Extremely soft and diffuse, ideal for subtle grounding. Better performance, works without lights.
35
+ *
36
+ * **When to use ShadowCatcher:**
37
+ * - You need accurate shadows that match specific light directions
38
+ * - Scene has real-time lighting with shadow-casting lights
39
+ * - Shadows need to follow light attenuation and angles
40
+ * - AR/VR scenarios where light estimation is available
41
+ * - Hard or semi-hard shadow edges are desired
42
+ *
43
+ * **When to use ContactShadows instead:**
44
+ * - You want very soft, ambient occlusion-style ground shadows
45
+ * - Performance is critical (no per-frame shadow rendering)
46
+ * - Scene doesn't have shadow-casting lights
47
+ * - Product visualization or configurators (subtle grounding effect)
48
+ * - Soft, diffuse shadows are more visually appealing than accurate ones
49
+ *
50
+ * **Note:** ShadowCatcher meshes are not raycastable by default (layer 2). Change layers in `onEnable()` if raycasting is needed.
51
+ *
52
+ * @example Basic shadow catcher plane
53
+ * ```ts
54
+ * const plane = new Object3D();
55
+ * const catcher = addComponent(plane, ShadowCatcher);
56
+ * catcher.mode = ShadowMode.ShadowMask;
57
+ * catcher.shadowColor = new RGBAColor(0, 0, 0, 0.8);
58
+ * ```
59
+ *
60
+ * @example Apply to existing mesh
61
+ * ```ts
62
+ * const mesh = this.gameObject.getComponent(Mesh);
63
+ * const catcher = addComponent(mesh, ShadowCatcher);
64
+ * // The mesh will now catch shadows from scene lights
65
+ * ```
66
+ *
67
+ * @summary Renders real-time shadows from lights onto surfaces
21
68
  * @category Rendering
22
69
  * @group Components
70
+ * @see {@link ContactShadows} for proximity-based fake shadows (better performance)
71
+ * @see {@link Light} for shadow-casting light configuration
72
+ * @see {@link Renderer} for shadow receiving settings
73
+ * @link https://engine.needle.tools/samples/shadow-catcher/
74
+ * @link https://engine.needle.tools/samples/transmission/
23
75
  */
24
76
  export declare class ShadowCatcher extends Behaviour {
25
77
  mode: ShadowMode;