@needle-tools/engine 4.12.0-beta.1 → 4.12.0-next.c6c0281
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/components.needle.json +1 -1
- package/dist/{generateMeshBVH.worker-mO20N_b8.js → generateMeshBVH.worker-BvGEI0r7.js} +4 -4
- package/dist/{gltf-progressive-DZrY8VT6.min.js → gltf-progressive-BmSygnAC.min.js} +2 -2
- package/dist/{gltf-progressive-DgYz5BYa.js → gltf-progressive-DnLBuGK5.js} +24 -24
- package/dist/{gltf-progressive-DWcmTMCh.umd.cjs → gltf-progressive-Rs-ojtXy.umd.cjs} +1 -1
- package/dist/{loader.worker-Dip-PthR.js → loader.worker-DWzfDpAl.js} +4 -4
- package/dist/{needle-engine.bundle-BxG30KEV.js → needle-engine.bundle-BVdPECIB.js} +1106 -1167
- package/dist/{needle-engine.bundle-C08Ag6_H.umd.cjs → needle-engine.bundle-Dk2U2sIu.umd.cjs} +76 -77
- package/dist/{needle-engine.bundle-BeTUOBiO.min.js → needle-engine.bundle-ThW_g39D.min.js} +80 -81
- package/dist/needle-engine.d.ts +96 -40
- package/dist/needle-engine.js +4 -4
- package/dist/needle-engine.min.js +1 -1
- package/dist/needle-engine.umd.cjs +1 -1
- package/dist/{postprocessing-DYDtB188.min.js → postprocessing-B5ksn9-G.min.js} +54 -54
- package/dist/{postprocessing-CMgoN5t5.umd.cjs → postprocessing-DZtb9Nnn.umd.cjs} +81 -81
- package/dist/{postprocessing-BTW9pD_s.js → postprocessing-__7s9wON.js} +450 -441
- package/dist/{three-DfMvBzXi.js → three-BCCkyCA5.js} +1 -7
- package/dist/{three-qj71I7J3.umd.cjs → three-Bf2NBxAw.umd.cjs} +2 -2
- package/dist/{three-B7CT31Bt.min.js → three-W7zWTcfP.min.js} +1 -1
- package/dist/{three-examples-CsW4_6LI.umd.cjs → three-examples-Dho7cuu4.umd.cjs} +4 -4
- package/dist/{three-examples-D1P7eEhn.min.js → three-examples-MsJjauyk.min.js} +10 -10
- package/dist/{three-examples-D1SK93ek.js → three-examples-y2GeYlze.js} +2 -20
- package/dist/{three-mesh-ui-C_uSB5dD.js → three-mesh-ui-3nSSizT4.js} +1 -1
- package/dist/{three-mesh-ui-LQ44s0AL.min.js → three-mesh-ui-CIez6qJQ.min.js} +1 -1
- package/dist/{three-mesh-ui-DpATDXwU.umd.cjs → three-mesh-ui-zsOOA5Pq.umd.cjs} +1 -1
- package/dist/vendor-BiJQtqow.min.js +1116 -0
- package/dist/{vendor-D0zoswDa.js → vendor-C_oHRUjX.js} +2686 -2663
- package/dist/{vendor-UCpFAwt1.umd.cjs → vendor-DN-NsXVB.umd.cjs} +30 -30
- package/lib/engine/codegen/register_types.js +0 -2
- package/lib/engine/codegen/register_types.js.map +1 -1
- package/lib/engine/engine_license.js +3 -9
- package/lib/engine/engine_license.js.map +1 -1
- package/lib/engine/engine_physics_rapier.js +1 -1
- package/lib/engine/engine_physics_rapier.js.map +1 -1
- package/lib/engine/extensions/extensions.d.ts +29 -7
- package/lib/engine/extensions/extensions.js.map +1 -1
- package/lib/engine/webcomponents/needle menu/needle-menu.js +4 -5
- package/lib/engine/webcomponents/needle menu/needle-menu.js.map +1 -1
- package/lib/engine/webcomponents/needle-engine.js +1 -1
- package/lib/engine/webcomponents/needle-engine.js.map +1 -1
- package/lib/engine-components/AlignmentConstraint.d.ts +1 -1
- package/lib/engine-components/AlignmentConstraint.js +1 -1
- package/lib/engine-components/Animation.d.ts +1 -1
- package/lib/engine-components/Animation.js +1 -1
- package/lib/engine-components/Animator.d.ts +1 -1
- package/lib/engine-components/Animator.js +1 -1
- package/lib/engine-components/AudioListener.d.ts +1 -1
- package/lib/engine-components/AudioListener.js +1 -1
- package/lib/engine-components/AudioSource.d.ts +1 -1
- package/lib/engine-components/AudioSource.js +1 -1
- package/lib/engine-components/Camera.d.ts +1 -1
- package/lib/engine-components/Camera.js +1 -1
- package/lib/engine-components/CharacterController.d.ts +6 -2
- package/lib/engine-components/CharacterController.js +6 -2
- package/lib/engine-components/CharacterController.js.map +1 -1
- package/lib/engine-components/Collider.d.ts +1 -1
- package/lib/engine-components/Collider.js.map +1 -1
- package/lib/engine-components/Joints.d.ts +14 -0
- package/lib/engine-components/Joints.js +14 -0
- package/lib/engine-components/Joints.js.map +1 -1
- package/lib/engine-components/LookAtConstraint.d.ts +1 -1
- package/lib/engine-components/LookAtConstraint.js +1 -1
- package/lib/engine-components/OrbitControls.d.ts +1 -1
- package/lib/engine-components/OrbitControls.js +1 -1
- package/lib/engine-components/Renderer.d.ts +6 -0
- package/lib/engine-components/Renderer.js +6 -0
- package/lib/engine-components/Renderer.js.map +1 -1
- package/lib/engine-components/RendererInstancing.js +5 -3
- package/lib/engine-components/RendererInstancing.js.map +1 -1
- package/lib/engine-components/SceneSwitcher.js +18 -14
- package/lib/engine-components/SceneSwitcher.js.map +1 -1
- package/lib/engine-components/SpriteRenderer.d.ts +2 -1
- package/lib/engine-components/SpriteRenderer.js +2 -1
- package/lib/engine-components/SpriteRenderer.js.map +1 -1
- package/lib/engine-components/api.d.ts +1 -0
- package/lib/engine-components/api.js +1 -0
- package/lib/engine-components/api.js.map +1 -1
- package/lib/engine-components/codegen/components.d.ts +0 -1
- package/lib/engine-components/codegen/components.js +0 -1
- package/lib/engine-components/codegen/components.js.map +1 -1
- package/lib/engine-components/timeline/SignalAsset.d.ts +1 -1
- package/lib/engine-components/timeline/SignalAsset.js +1 -1
- package/lib/engine-components/ui/Raycaster.d.ts +3 -2
- package/lib/engine-components/ui/Raycaster.js +3 -2
- package/lib/engine-components/ui/Raycaster.js.map +1 -1
- package/lib/engine-components/ui/RectTransform.d.ts +6 -0
- package/lib/engine-components/ui/RectTransform.js +6 -0
- package/lib/engine-components/ui/RectTransform.js.map +1 -1
- package/lib/engine-components/utils/LookAt.d.ts +2 -1
- package/lib/engine-components/utils/LookAt.js +2 -1
- package/lib/engine-components/utils/LookAt.js.map +1 -1
- package/lib/engine-components/web/CursorFollow.d.ts +1 -1
- package/lib/engine-components/web/CursorFollow.js +1 -1
- package/lib/engine-components/web/HoverAnimation.d.ts +1 -1
- package/lib/engine-components/web/HoverAnimation.js +1 -1
- package/lib/engine-components/web/ViewBox.d.ts +1 -1
- package/lib/engine-components/web/ViewBox.js +1 -1
- package/package.json +2 -2
- package/src/engine/codegen/register_types.ts +0 -2
- package/src/engine/engine_license.ts +3 -8
- package/src/engine/engine_physics_rapier.ts +1 -1
- package/src/engine/extensions/extensions.ts +30 -6
- package/src/engine/webcomponents/needle menu/needle-menu.ts +4 -5
- package/src/engine/webcomponents/needle-engine.ts +2 -2
- package/src/engine-components/AlignmentConstraint.ts +1 -1
- package/src/engine-components/Animation.ts +1 -1
- package/src/engine-components/Animator.ts +1 -1
- package/src/engine-components/AudioListener.ts +1 -1
- package/src/engine-components/AudioSource.ts +1 -1
- package/src/engine-components/Camera.ts +1 -1
- package/src/engine-components/CharacterController.ts +6 -2
- package/src/engine-components/Collider.ts +1 -1
- package/src/engine-components/Joints.ts +14 -0
- package/src/engine-components/LookAtConstraint.ts +1 -1
- package/src/engine-components/OrbitControls.ts +1 -1
- package/src/engine-components/Renderer.ts +6 -0
- package/src/engine-components/RendererInstancing.ts +6 -3
- package/src/engine-components/SceneSwitcher.ts +17 -17
- package/src/engine-components/SpriteRenderer.ts +2 -1
- package/src/engine-components/api.ts +2 -1
- package/src/engine-components/codegen/components.ts +0 -1
- package/src/engine-components/timeline/SignalAsset.ts +1 -1
- package/src/engine-components/ui/Raycaster.ts +3 -2
- package/src/engine-components/ui/RectTransform.ts +6 -0
- package/src/engine-components/utils/LookAt.ts +2 -1
- package/src/engine-components/web/CursorFollow.ts +1 -1
- package/src/engine-components/web/HoverAnimation.ts +1 -1
- package/src/engine-components/web/ViewBox.ts +1 -1
- package/dist/vendor-BKGa4GE0.min.js +0 -1116
|
@@ -36,6 +36,12 @@ export abstract class Joint extends Behaviour {
|
|
|
36
36
|
protected abstract createJoint(self: Rigidbody, other: Rigidbody);
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
+
/**
|
|
40
|
+
* The FixedJoint groups together 2 rigidbodies, making them stick together in their bound position
|
|
41
|
+
* @summary Connect two Rigidbodies and make them stick together
|
|
42
|
+
* @category Physics
|
|
43
|
+
* @group Components
|
|
44
|
+
*/
|
|
39
45
|
export class FixedJoint extends Joint {
|
|
40
46
|
|
|
41
47
|
protected createJoint(self: Rigidbody, other: Rigidbody) {
|
|
@@ -43,6 +49,14 @@ export class FixedJoint extends Joint {
|
|
|
43
49
|
}
|
|
44
50
|
}
|
|
45
51
|
|
|
52
|
+
/**
|
|
53
|
+
* The HingeJoint groups together 2 rigid bodies, constraining them to move like connected by a hinge.
|
|
54
|
+
*
|
|
55
|
+
* You can specify the anchor point and axis of rotation for the hinge.
|
|
56
|
+
* @summary Connect two Rigidbodies with a hinge
|
|
57
|
+
* @category Physics
|
|
58
|
+
* @group Components
|
|
59
|
+
*/
|
|
46
60
|
export class HingeJoint extends Joint {
|
|
47
61
|
|
|
48
62
|
@serializable(Vector3)
|
|
@@ -9,7 +9,7 @@ import type { OrbitControls } from "./OrbitControls.js";
|
|
|
9
9
|
* This component is used by {@link OrbitControls} internally.
|
|
10
10
|
*
|
|
11
11
|
* @summary Look At Constraint for OrbitControls
|
|
12
|
-
* @category Camera Controls
|
|
12
|
+
* @category Camera and Controls
|
|
13
13
|
* @group Components
|
|
14
14
|
*/
|
|
15
15
|
export class LookAtConstraint extends Behaviour {
|
|
@@ -64,7 +64,7 @@ declare module 'three/examples/jsm/controls/OrbitControls.js' {
|
|
|
64
64
|
* The three OrbitControls object can be accessed via the `controls` property.
|
|
65
65
|
* The object being controlled by the OrbitControls (usually the camera) can be accessed via the `controllerObject` property.
|
|
66
66
|
* @summary Camera controller using three.js OrbitControls
|
|
67
|
-
* @category Camera
|
|
67
|
+
* @category Camera and Controls
|
|
68
68
|
* @group Components
|
|
69
69
|
*/
|
|
70
70
|
export class OrbitControls extends Behaviour implements ICameraController {
|
|
@@ -805,6 +805,12 @@ export class Renderer extends Behaviour implements IRenderer {
|
|
|
805
805
|
export class MeshRenderer extends Renderer {
|
|
806
806
|
}
|
|
807
807
|
|
|
808
|
+
/**
|
|
809
|
+
* Renders deformable meshes that deform via bones and/or blend shapes.
|
|
810
|
+
* @summary Renderer for deformable meshes
|
|
811
|
+
* @category Rendering
|
|
812
|
+
* @group Components
|
|
813
|
+
**/
|
|
808
814
|
export class SkinnedMeshRenderer extends MeshRenderer {
|
|
809
815
|
|
|
810
816
|
private _needUpdateBoundingSphere = false;
|
|
@@ -669,14 +669,17 @@ class InstancedMeshRenderer {
|
|
|
669
669
|
private grow(geometry: BufferGeometry) {
|
|
670
670
|
const id = ++this._growId;
|
|
671
671
|
const growFactor = 2;
|
|
672
|
-
|
|
672
|
+
|
|
673
|
+
const growInstances = this.count >= this._maxInstanceCount;
|
|
674
|
+
const newSize = growInstances ? Math.ceil(this._maxInstanceCount * growFactor) : this._maxInstanceCount;
|
|
673
675
|
|
|
674
676
|
// create a new BatchedMesh instance
|
|
675
677
|
// TODO: we should keep track of how many instances for each geometry we have and consider that when estimating new space
|
|
676
678
|
const estimatedSpace = this.tryEstimateVertexCountSize(newSize, [geometry]);// geometry.attributes.position.count;
|
|
677
679
|
// const indices = geometry.index ? geometry.index.count : 0;
|
|
678
|
-
const
|
|
679
|
-
const
|
|
680
|
+
const vertexGrowFactor = 1.25;
|
|
681
|
+
const newMaxVertexCount = Math.max(this._maxVertexCount, Math.ceil(estimatedSpace.vertexCount * vertexGrowFactor));
|
|
682
|
+
const newMaxIndexCount = Math.max(this._maxIndexCount, Math.ceil(estimatedSpace.indexCount * vertexGrowFactor));
|
|
680
683
|
|
|
681
684
|
if (debugInstancing) {
|
|
682
685
|
const geometryInfo = getMeshInformation(geometry);
|
|
@@ -261,7 +261,7 @@ export class SceneSwitcher extends Behaviour {
|
|
|
261
261
|
if (scene && !scene.hasUrl && scene.asset instanceof Object3D) {
|
|
262
262
|
GameObject.remove(scene.asset);
|
|
263
263
|
}
|
|
264
|
-
else if(scene instanceof Object3D) {
|
|
264
|
+
else if (scene instanceof Object3D) {
|
|
265
265
|
GameObject.remove(scene);
|
|
266
266
|
}
|
|
267
267
|
}
|
|
@@ -477,13 +477,13 @@ export class SceneSwitcher extends Behaviour {
|
|
|
477
477
|
* @returns a promise that resolves to true if the scene was loaded successfully
|
|
478
478
|
*/
|
|
479
479
|
select(index: number | string): Promise<boolean> {
|
|
480
|
-
if (debug) console.log("select", index);
|
|
480
|
+
if (debug) console.log("[SceneSwitcher] select", index);
|
|
481
481
|
|
|
482
482
|
if (typeof index === "object") {
|
|
483
483
|
// If a user tries to reference a scene object in a UnityEvent and invoke select(obj)
|
|
484
484
|
// Then the object will be serialized as a object { guid : ... } or with the index json pointer
|
|
485
485
|
// This case is not supported right now. Object references in the editor must not be scene references
|
|
486
|
-
console.warn("Switching to \"" + index + "\" might not work. Please either use an index or a AssetReference (not a scene reference)");
|
|
486
|
+
console.warn("[SceneSwitcher] Switching to \"" + index + "\" might not work. Please either use an index or a AssetReference (not a scene reference)");
|
|
487
487
|
}
|
|
488
488
|
|
|
489
489
|
if (typeof index === "string") {
|
|
@@ -595,7 +595,7 @@ export class SceneSwitcher extends Behaviour {
|
|
|
595
595
|
const current = this._currentScene;
|
|
596
596
|
this._currentScene = undefined;
|
|
597
597
|
if (current) {
|
|
598
|
-
if (debug) console.log("UNLOAD", current.url, "HasURL?: " + current.hasUrl)
|
|
598
|
+
if (debug) console.log("[SceneSwitcher] UNLOAD", current.url, "HasURL?: " + current.hasUrl)
|
|
599
599
|
const sceneListener = this.tryGetSceneEventListener(current.asset as any as Object3D);
|
|
600
600
|
if (sceneListener?.sceneClosing) {
|
|
601
601
|
const res = sceneListener.sceneClosing();
|
|
@@ -620,6 +620,7 @@ export class SceneSwitcher extends Behaviour {
|
|
|
620
620
|
const index = this._currentIndex = this.scenes?.indexOf(scene) ?? -1;
|
|
621
621
|
|
|
622
622
|
try {
|
|
623
|
+
if (debug) console.debug(`${Date.now()} [SceneSwitcher] Loading scene start: ${scene.url} (index: ${index})`);
|
|
623
624
|
this._currentlyLoadingScene = scene;
|
|
624
625
|
this._currentLoadingProgress = new ProgressEvent("progress", { loaded: 0, total: 1 });
|
|
625
626
|
|
|
@@ -632,7 +633,7 @@ export class SceneSwitcher extends Behaviour {
|
|
|
632
633
|
if (debug) {
|
|
633
634
|
const t01 = prog.loaded / prog.total;
|
|
634
635
|
const progressBarString = "[" + "=".repeat(Math.floor(t01 * 20)) + "-".repeat(20 - Math.floor(t01 * 20)) + "]";
|
|
635
|
-
console.debug(
|
|
636
|
+
console.debug(`${Date.now()} [SceneSwitcher] Loading scene progress: ${(t01 * 100).toFixed(1)} % ${progressBarString}`, scene.url);
|
|
636
637
|
}
|
|
637
638
|
this._currentLoadingProgress = prog;
|
|
638
639
|
this.dispatchEvent(prog);
|
|
@@ -646,15 +647,15 @@ export class SceneSwitcher extends Behaviour {
|
|
|
646
647
|
this._currentlyLoadingScene = undefined;
|
|
647
648
|
|
|
648
649
|
if (finishedEvt.defaultPrevented) {
|
|
649
|
-
if (debug) console.warn("Adding loaded scene prevented:", scene, finishedEvt);
|
|
650
|
+
if (debug) console.warn("[SceneSwitcher] Adding loaded scene prevented:", scene, finishedEvt);
|
|
650
651
|
return false;
|
|
651
652
|
}
|
|
652
653
|
if (!scene.asset) {
|
|
653
|
-
if (debug) console.warn("Failed loading scene:", scene);
|
|
654
|
+
if (debug) console.warn("[SceneSwitcher] Failed loading scene:", scene);
|
|
654
655
|
return false;
|
|
655
656
|
}
|
|
656
657
|
if (this._currentIndex === index) {
|
|
657
|
-
if (debug) console.log("ADD", scene.url);
|
|
658
|
+
if (debug) console.log("[SceneSwitcher] ADD", scene.url);
|
|
658
659
|
this._currentScene = scene;
|
|
659
660
|
|
|
660
661
|
|
|
@@ -683,7 +684,7 @@ export class SceneSwitcher extends Behaviour {
|
|
|
683
684
|
this.context.scene.background = skybox;
|
|
684
685
|
}
|
|
685
686
|
else if (debug) {
|
|
686
|
-
console.warn("SceneSwitcher
|
|
687
|
+
console.warn("[SceneSwitcher] Can't find skybox for scene " + scene.url);
|
|
687
688
|
}
|
|
688
689
|
}
|
|
689
690
|
|
|
@@ -713,10 +714,9 @@ export class SceneSwitcher extends Behaviour {
|
|
|
713
714
|
const res = sceneListener.sceneOpened(this);
|
|
714
715
|
if (res instanceof Promise) await res;
|
|
715
716
|
}
|
|
716
|
-
|
|
717
|
+
if (debug) console.debug(`${Date.now()} [SceneSwitcher] Loading scene finished: ${scene.url} (index: ${index})`);
|
|
717
718
|
const openedEvt = new CustomEvent<LoadSceneEvent>("scene-opened", { detail: { scene: scene, switcher: this, index: index } });
|
|
718
719
|
this.dispatchEvent(openedEvt);
|
|
719
|
-
|
|
720
720
|
this.sceneLoaded?.invoke(this);
|
|
721
721
|
return true;
|
|
722
722
|
}
|
|
@@ -772,7 +772,7 @@ export class SceneSwitcher extends Behaviour {
|
|
|
772
772
|
}
|
|
773
773
|
}
|
|
774
774
|
|
|
775
|
-
if (isLocalNetwork()) console.warn("Can not find scene: \"" + value + "\"", this)
|
|
775
|
+
if (isLocalNetwork()) console.warn("[SceneSwitcher] Can not find scene: \"" + value + "\"", this)
|
|
776
776
|
|
|
777
777
|
return couldNotLoadScenePromise;
|
|
778
778
|
}
|
|
@@ -913,7 +913,7 @@ class PreLoadScheduler {
|
|
|
913
913
|
*/
|
|
914
914
|
begin(delay: number) {
|
|
915
915
|
if (this._isRunning) return;
|
|
916
|
-
if (debug) console.log("Preload
|
|
916
|
+
if (debug) console.log("[SceneSwitcher] Preload scheduled", { delay });
|
|
917
917
|
this._isRunning = true;
|
|
918
918
|
let lastRoom: number = -10;
|
|
919
919
|
let searchDistance: number;
|
|
@@ -923,7 +923,7 @@ class PreLoadScheduler {
|
|
|
923
923
|
const interval = setInterval(() => {
|
|
924
924
|
if (this.allLoaded()) {
|
|
925
925
|
if (debug)
|
|
926
|
-
console.log("All scenes (pre-)loaded");
|
|
926
|
+
console.log("[SceneSwitcher] All scenes (pre-)loaded");
|
|
927
927
|
this.stop();
|
|
928
928
|
}
|
|
929
929
|
if (!this._isRunning) {
|
|
@@ -950,7 +950,7 @@ class PreLoadScheduler {
|
|
|
950
950
|
if (roomIndex < 0 || roomIndex >= array.length) return;
|
|
951
951
|
if (!this._loadTasks.some(t => t.index === roomIndex)) {
|
|
952
952
|
const scene = array[roomIndex];
|
|
953
|
-
if (debug) console.log("
|
|
953
|
+
if (debug) console.log("[SceneSwitcher] Schedule preload scene", { roomIndex, searchForward, lastRoom, currentIndex: this._switcher.currentIndex, tasks: this._loadTasks.length }, scene?.url);
|
|
954
954
|
new LoadTask(roomIndex, scene, this._loadTasks);
|
|
955
955
|
}
|
|
956
956
|
}, 200);
|
|
@@ -1019,10 +1019,10 @@ class LoadTask {
|
|
|
1019
1019
|
private async awaitLoading() {
|
|
1020
1020
|
if (this.asset && !this.asset.isLoaded()) {
|
|
1021
1021
|
if (debug)
|
|
1022
|
-
console.log("Preload start: " + this.asset.url, this.index);
|
|
1022
|
+
console.log("[SceneSwitcher] Preload start: " + this.asset.url, this.index);
|
|
1023
1023
|
await this.asset.preload();
|
|
1024
1024
|
if (debug)
|
|
1025
|
-
console.log("Preload finished: " + this.asset.url, this.index);
|
|
1025
|
+
console.log("[SceneSwitcher] Preload finished: " + this.asset.url, this.index);
|
|
1026
1026
|
}
|
|
1027
1027
|
|
|
1028
1028
|
const i = this.tasks.indexOf(this);
|
|
@@ -262,7 +262,8 @@ export class SpriteData {
|
|
|
262
262
|
*
|
|
263
263
|
* - Example: https://engine.needle.tools/samples/spritesheet-animation
|
|
264
264
|
*
|
|
265
|
-
* @
|
|
265
|
+
* @summary Renders 2D images from a sprite sheet
|
|
266
|
+
* @category Rendering
|
|
266
267
|
* @group Components
|
|
267
268
|
*/
|
|
268
269
|
export class SpriteRenderer extends Behaviour {
|
|
@@ -35,7 +35,8 @@
|
|
|
35
35
|
*/
|
|
36
36
|
|
|
37
37
|
export * from "./codegen/components.js";
|
|
38
|
-
export { Behaviour, Component, GameObject } from "./Component.js"
|
|
38
|
+
export { Behaviour, Component, GameObject } from "./Component.js";
|
|
39
|
+
export { Collider } from "./Collider.js"; // export abstract type
|
|
39
40
|
|
|
40
41
|
// We dont want to export everything in the extensions
|
|
41
42
|
export { ClearFlags } from "./Camera.js"
|
|
@@ -23,7 +23,6 @@ export { BoxHelperComponent } from "../BoxHelperComponent.js";
|
|
|
23
23
|
export { Camera } from "../Camera.js";
|
|
24
24
|
export { CharacterController } from "../CharacterController.js";
|
|
25
25
|
export { CharacterControllerInput } from "../CharacterController.js";
|
|
26
|
-
export { Collider } from "../Collider.js";
|
|
27
26
|
export { SphereCollider } from "../Collider.js";
|
|
28
27
|
export { BoxCollider } from "../Collider.js";
|
|
29
28
|
export { MeshCollider } from "../Collider.js";
|
|
@@ -30,7 +30,7 @@ export class SignalReceiverEvent {
|
|
|
30
30
|
* Signals can be added to a signal track on a {@link PlayableDirector}
|
|
31
31
|
*
|
|
32
32
|
* @summary Receives signals and invokes reactions
|
|
33
|
-
* @category
|
|
33
|
+
* @category Animation and Sequencing
|
|
34
34
|
* @group Components
|
|
35
35
|
*/
|
|
36
36
|
export class SignalReceiver extends Behaviour {
|
|
@@ -31,7 +31,7 @@ export abstract class Raycaster extends Behaviour {
|
|
|
31
31
|
/**
|
|
32
32
|
* A Raycaster that performs raycasting against its own GameObject.
|
|
33
33
|
*
|
|
34
|
-
* @category
|
|
34
|
+
* @category Interactivity
|
|
35
35
|
* @group Components
|
|
36
36
|
*/
|
|
37
37
|
export class ObjectRaycaster extends Raycaster {
|
|
@@ -75,7 +75,8 @@ export class ObjectRaycaster extends Raycaster {
|
|
|
75
75
|
/**
|
|
76
76
|
* A Raycaster that performs raycasting against UI elements (objects with a CanvasRenderer component).
|
|
77
77
|
*
|
|
78
|
-
* @
|
|
78
|
+
* @summary Raycaster for UI elements
|
|
79
|
+
* @category User Interface
|
|
79
80
|
* @group Components
|
|
80
81
|
*/
|
|
81
82
|
export class GraphicRaycaster extends ObjectRaycaster {
|
|
@@ -29,6 +29,12 @@ const tempVec = new Vector3();
|
|
|
29
29
|
const tempMatrix = new Matrix4();
|
|
30
30
|
const tempQuaternion = new Quaternion();
|
|
31
31
|
|
|
32
|
+
/**
|
|
33
|
+
* RectTransform is a component that defines a rectangle for UI layout.
|
|
34
|
+
* @summary UI Rectangle Transform
|
|
35
|
+
* @category User Interface
|
|
36
|
+
* @group Components
|
|
37
|
+
*/
|
|
32
38
|
export class RectTransform extends BaseUIComponent implements IRectTransform, IRectTransformChangedReceiver {
|
|
33
39
|
|
|
34
40
|
get parent() {
|
|
@@ -13,7 +13,8 @@ import { Behaviour } from "../Component.js";
|
|
|
13
13
|
* It can also invert the forward direction and keep the up direction.
|
|
14
14
|
*
|
|
15
15
|
* @summary Makes the object look at a target object or the camera
|
|
16
|
-
* @category
|
|
16
|
+
* @category Everywhere Actions
|
|
17
|
+
* @category Interactivity
|
|
17
18
|
* @group Components
|
|
18
19
|
*/
|
|
19
20
|
export class LookAt extends Behaviour implements UsdzBehaviour {
|
|
@@ -15,7 +15,7 @@ const debug = getParam("debugcursor");
|
|
|
15
15
|
* - Example: [Look At Cursor sample](https://engine.needle.tools/samples/look-at-cursor-interactive-3d-header/). This sample combines the CursorFollow component with a LookAt component to create an interactive 3D header that looks at the cursor.
|
|
16
16
|
*
|
|
17
17
|
* @summary Makes the object follow the cursor position on screen
|
|
18
|
-
* @category
|
|
18
|
+
* @category Interactivity
|
|
19
19
|
* @group Components
|
|
20
20
|
* @component
|
|
21
21
|
*/
|
|
@@ -14,7 +14,7 @@ import { Behaviour } from "../Component.js";
|
|
|
14
14
|
* By default, a simple scale-up animation is used. You can customize the hover and idle animations by providing your own animation clips.
|
|
15
15
|
*
|
|
16
16
|
* @summary Hover Animation on Pointer Enter/Exit
|
|
17
|
-
* @category
|
|
17
|
+
* @category Interactivity
|
|
18
18
|
* @group Components
|
|
19
19
|
*/
|
|
20
20
|
@registerType
|