@needle-tools/engine 4.9.3 → 4.10.0-beta.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/CHANGELOG.md +9 -0
- package/components.needle.json +1 -1
- package/dist/{gltf-progressive-DhE1A6hX.min.js → gltf-progressive-CoZbSfPR.min.js} +1 -1
- package/dist/{gltf-progressive-egsMzRdv.js → gltf-progressive-DUR9TuAH.js} +3 -3
- package/dist/{gltf-progressive-DWiyqrwB.umd.cjs → gltf-progressive-Iy7aSAPk.umd.cjs} +1 -1
- package/dist/{needle-engine.bundle-C7LSzO5L.umd.cjs → needle-engine.bundle-6so_os_w.umd.cjs} +179 -145
- package/dist/{needle-engine.bundle-BAsxNKpA.js → needle-engine.bundle-Dj2DYdMY.js} +7699 -7235
- package/dist/needle-engine.bundle-Djy6H4lx.min.js +1650 -0
- package/dist/needle-engine.js +460 -456
- package/dist/needle-engine.min.js +1 -1
- package/dist/needle-engine.umd.cjs +1 -1
- package/dist/{postprocessing-BZOSD1ln.min.js → postprocessing-BHMVuZQ1.min.js} +1 -1
- package/dist/{postprocessing-Bb5StX0o.umd.cjs → postprocessing-BsnRNRRS.umd.cjs} +1 -1
- package/dist/{postprocessing-BzFF7i-7.js → postprocessing-DQ2pynXW.js} +2 -2
- package/dist/{three-BK56xWDs.umd.cjs → three-B-jwTHao.umd.cjs} +11 -11
- package/dist/{three-CsHK73Zc.js → three-CJSAehtG.js} +1 -0
- package/dist/{three-examples-Bph291U2.min.js → three-examples-BivkhnvN.min.js} +1 -1
- package/dist/{three-examples-C9WfZu-X.umd.cjs → three-examples-Deqc1bNw.umd.cjs} +1 -1
- package/dist/{three-examples-BvMpKSun.js → three-examples-Doq0rvFU.js} +1 -1
- package/dist/{three-mesh-ui-CN6aRT7i.js → three-mesh-ui-CktOi6oI.js} +1 -1
- package/dist/{three-mesh-ui-DnxkZWNA.umd.cjs → three-mesh-ui-CsHwj9cJ.umd.cjs} +1 -1
- package/dist/{three-mesh-ui-n_qS2BM-.min.js → three-mesh-ui-DhYXcXZe.min.js} +1 -1
- package/dist/{three-TNFQHSFa.min.js → three-qw28ZtTy.min.js} +10 -10
- package/dist/{vendor-BtJpSuCj.umd.cjs → vendor-D0Yvltn9.umd.cjs} +1 -1
- package/dist/{vendor-k9i6CeGi.js → vendor-DU8tJyl_.js} +1 -1
- package/dist/{vendor-XJ9xiwrv.min.js → vendor-JyrX4DVM.min.js} +1 -1
- package/lib/engine/api.d.ts +1 -0
- package/lib/engine/api.js +1 -0
- package/lib/engine/api.js.map +1 -1
- package/lib/engine/codegen/register_types.js +6 -0
- package/lib/engine/codegen/register_types.js.map +1 -1
- package/lib/engine/engine_animation.d.ts +21 -1
- package/lib/engine/engine_animation.js +32 -1
- package/lib/engine/engine_animation.js.map +1 -1
- package/lib/engine/engine_camera.d.ts +7 -1
- package/lib/engine/engine_camera.fit.d.ts +68 -0
- package/lib/engine/engine_camera.fit.js +166 -0
- package/lib/engine/engine_camera.fit.js.map +1 -0
- package/lib/engine/engine_camera.js +46 -6
- package/lib/engine/engine_camera.js.map +1 -1
- package/lib/engine/engine_context.d.ts +6 -0
- package/lib/engine/engine_context.js +48 -9
- package/lib/engine/engine_context.js.map +1 -1
- package/lib/engine/engine_gizmos.d.ts +2 -2
- package/lib/engine/engine_gizmos.js +2 -2
- package/lib/engine/engine_physics.js +6 -3
- package/lib/engine/engine_physics.js.map +1 -1
- package/lib/engine/webcomponents/logo-element.d.ts +1 -1
- package/lib/engine/webcomponents/logo-element.js +29 -5
- package/lib/engine/webcomponents/logo-element.js.map +1 -1
- package/lib/engine/webcomponents/needle menu/needle-menu.js +4 -3
- package/lib/engine/webcomponents/needle menu/needle-menu.js.map +1 -1
- package/lib/engine/webcomponents/needle-engine.d.ts +1 -0
- package/lib/engine/webcomponents/needle-engine.js +6 -0
- package/lib/engine/webcomponents/needle-engine.js.map +1 -1
- package/lib/engine/webcomponents/needle-engine.loading.d.ts +0 -1
- package/lib/engine/webcomponents/needle-engine.loading.js +62 -59
- package/lib/engine/webcomponents/needle-engine.loading.js.map +1 -1
- package/lib/engine-components/AnimatorController.js +16 -0
- package/lib/engine-components/AnimatorController.js.map +1 -1
- package/lib/engine-components/CameraUtils.js +8 -9
- package/lib/engine-components/CameraUtils.js.map +1 -1
- package/lib/engine-components/OrbitControls.d.ts +7 -47
- package/lib/engine-components/OrbitControls.js +25 -149
- package/lib/engine-components/OrbitControls.js.map +1 -1
- package/lib/engine-components/Renderer.d.ts +2 -2
- package/lib/engine-components/Renderer.js +10 -5
- package/lib/engine-components/Renderer.js.map +1 -1
- package/lib/engine-components/api.d.ts +0 -1
- package/lib/engine-components/api.js.map +1 -1
- package/lib/engine-components/codegen/components.d.ts +3 -0
- package/lib/engine-components/codegen/components.js +3 -0
- package/lib/engine-components/codegen/components.js.map +1 -1
- package/lib/engine-components/timeline/PlayableDirector.d.ts +35 -6
- package/lib/engine-components/timeline/PlayableDirector.js +67 -26
- package/lib/engine-components/timeline/PlayableDirector.js.map +1 -1
- package/lib/engine-components/timeline/TimelineModels.d.ts +11 -0
- package/lib/engine-components/timeline/TimelineModels.js.map +1 -1
- package/lib/engine-components/timeline/TimelineTracks.d.ts +7 -0
- package/lib/engine-components/timeline/TimelineTracks.js +23 -2
- package/lib/engine-components/timeline/TimelineTracks.js.map +1 -1
- package/lib/engine-components/utils/LookAt.js +5 -1
- package/lib/engine-components/utils/LookAt.js.map +1 -1
- package/lib/engine-components/web/Clickthrough.d.ts +3 -0
- package/lib/engine-components/web/Clickthrough.js +13 -2
- package/lib/engine-components/web/Clickthrough.js.map +1 -1
- package/lib/engine-components/web/CursorFollow.d.ts +3 -0
- package/lib/engine-components/web/CursorFollow.js +3 -0
- package/lib/engine-components/web/CursorFollow.js.map +1 -1
- package/lib/engine-components/web/HoverAnimation.d.ts +44 -0
- package/lib/engine-components/web/HoverAnimation.js +105 -0
- package/lib/engine-components/web/HoverAnimation.js.map +1 -0
- package/lib/engine-components/web/ScrollFollow.d.ts +40 -4
- package/lib/engine-components/web/ScrollFollow.js +256 -27
- package/lib/engine-components/web/ScrollFollow.js.map +1 -1
- package/lib/engine-components/web/ViewBox.d.ts +16 -0
- package/lib/engine-components/web/ViewBox.js +183 -0
- package/lib/engine-components/web/ViewBox.js.map +1 -0
- package/lib/engine-components/web/index.d.ts +2 -0
- package/lib/engine-components/web/index.js +2 -0
- package/lib/engine-components/web/index.js.map +1 -1
- package/package.json +1 -1
- package/plugins/vite/alias.js +5 -3
- package/plugins/vite/poster-client.js +22 -21
- package/src/engine/api.ts +2 -1
- package/src/engine/codegen/register_types.ts +6 -0
- package/src/engine/engine_animation.ts +69 -1
- package/src/engine/engine_camera.fit.ts +258 -0
- package/src/engine/engine_camera.ts +62 -8
- package/src/engine/engine_context.ts +50 -10
- package/src/engine/engine_gizmos.ts +2 -2
- package/src/engine/engine_physics.ts +6 -3
- package/src/engine/webcomponents/logo-element.ts +29 -4
- package/src/engine/webcomponents/needle menu/needle-menu.ts +4 -3
- package/src/engine/webcomponents/needle-engine.loading.ts +95 -56
- package/src/engine/webcomponents/needle-engine.ts +6 -1
- package/src/engine-components/AnimatorController.ts +21 -2
- package/src/engine-components/CameraUtils.ts +8 -9
- package/src/engine-components/OrbitControls.ts +36 -206
- package/src/engine-components/Renderer.ts +10 -5
- package/src/engine-components/api.ts +0 -1
- package/src/engine-components/codegen/components.ts +3 -0
- package/src/engine-components/timeline/PlayableDirector.ts +88 -34
- package/src/engine-components/timeline/TimelineModels.ts +11 -0
- package/src/engine-components/timeline/TimelineTracks.ts +26 -2
- package/src/engine-components/utils/LookAt.ts +5 -1
- package/src/engine-components/web/Clickthrough.ts +14 -2
- package/src/engine-components/web/CursorFollow.ts +3 -0
- package/src/engine-components/web/HoverAnimation.ts +99 -0
- package/src/engine-components/web/ScrollFollow.ts +316 -25
- package/src/engine-components/web/ViewBox.ts +199 -0
- package/src/engine-components/web/index.ts +3 -1
- package/dist/needle-engine.bundle-ugr1bBtk.min.js +0 -1616
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register_types.js","sourceRoot":"","sources":["../../../src/engine/codegen/register_types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"register_types.js","sourceRoot":"","sources":["../../../src/engine/codegen/register_types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AnimationAction, AnimationClip, AnimationMixer, Object3D } from "three";
|
|
1
|
+
import { AnimationAction, AnimationClip, AnimationMixer, Object3D, Vector3Like } from "three";
|
|
2
2
|
import type { Context } from "./engine_context.js";
|
|
3
3
|
import { IAnimationComponent, Model } from "./engine_types.js";
|
|
4
4
|
/**
|
|
@@ -38,4 +38,24 @@ export declare class AnimationUtils {
|
|
|
38
38
|
* @param file The GLTF file to assign the animations from
|
|
39
39
|
*/
|
|
40
40
|
static autoplayAnimations(file: Object3D | Pick<Model, "animations" | "scene">): Array<IAnimationComponent> | null;
|
|
41
|
+
static emptyClip(): AnimationClip;
|
|
42
|
+
static createScaleClip(options?: ScaleClipOptions): AnimationClip;
|
|
41
43
|
}
|
|
44
|
+
/**
|
|
45
|
+
* Type of scale animation to create.
|
|
46
|
+
* - "linear": Simple linear scale up animation.
|
|
47
|
+
* - "spring": Spring-like scale animation with overshoot and settling.
|
|
48
|
+
*/
|
|
49
|
+
export type ScaleClipType = "linear" | "spring";
|
|
50
|
+
type ScaleClipOptions = {
|
|
51
|
+
/**
|
|
52
|
+
* Type of scale animation to create.
|
|
53
|
+
* - "linear": Simple linear scale up animation.
|
|
54
|
+
* - "spring": Spring-like scale animation with overshoot and settling.
|
|
55
|
+
*/
|
|
56
|
+
type?: ScaleClipType;
|
|
57
|
+
duration?: number;
|
|
58
|
+
scale?: number | Vector3Like;
|
|
59
|
+
scaleFactor?: number;
|
|
60
|
+
};
|
|
61
|
+
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PropertyBinding } from "three";
|
|
1
|
+
import { AnimationClip, KeyframeTrack, PropertyBinding } from "three";
|
|
2
2
|
import { TypeStore } from "./engine_typestore.js";
|
|
3
3
|
/**
|
|
4
4
|
* Registry for animation related data. Use {@link registerAnimationMixer} to register an animation mixer instance.
|
|
@@ -136,5 +136,36 @@ export class AnimationUtils {
|
|
|
136
136
|
return findAnimationComponentInParent(obj.parent);
|
|
137
137
|
}
|
|
138
138
|
}
|
|
139
|
+
static emptyClip() {
|
|
140
|
+
return new AnimationClip("empty", 0, []);
|
|
141
|
+
}
|
|
142
|
+
static createScaleClip(options) {
|
|
143
|
+
const duration = options?.duration ?? 0.3;
|
|
144
|
+
let baseScale = { x: 1, y: 1, z: 1 };
|
|
145
|
+
if (options?.scale !== undefined) {
|
|
146
|
+
if (typeof options.scale === "number") {
|
|
147
|
+
baseScale = { x: options.scale, y: options.scale, z: options.scale };
|
|
148
|
+
}
|
|
149
|
+
else {
|
|
150
|
+
baseScale = options.scale;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
const type = options?.type ?? "linear";
|
|
154
|
+
const scale = options?.scaleFactor ?? 1.2;
|
|
155
|
+
const times = new Array();
|
|
156
|
+
const values = new Array();
|
|
157
|
+
switch (type) {
|
|
158
|
+
case "linear":
|
|
159
|
+
times.push(0, duration);
|
|
160
|
+
values.push(baseScale.x, baseScale.y, baseScale.z, baseScale.x * scale, baseScale.y * scale, baseScale.z * scale);
|
|
161
|
+
break;
|
|
162
|
+
case "spring":
|
|
163
|
+
times.push(0, duration * 0.3, duration * 0.5, duration * 0.7, duration * 0.9, duration);
|
|
164
|
+
values.push(baseScale.x, baseScale.y, baseScale.z, baseScale.x * scale, baseScale.y * scale, baseScale.z * scale, baseScale.x * 0.9, baseScale.y * 0.9, baseScale.z * 0.9, baseScale.x * 1.05, baseScale.y * 1.05, baseScale.z * 1.05, baseScale.x * 0.98, baseScale.y * 0.98, baseScale.z * 0.98, baseScale.x, baseScale.y, baseScale.z);
|
|
165
|
+
break;
|
|
166
|
+
}
|
|
167
|
+
const track = new KeyframeTrack(".scale", times, values);
|
|
168
|
+
return new AnimationClip("scale", times[times.length - 1], [track]);
|
|
169
|
+
}
|
|
139
170
|
}
|
|
140
171
|
//# sourceMappingURL=engine_animation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine_animation.js","sourceRoot":"","sources":["../../src/engine/engine_animation.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"engine_animation.js","sourceRoot":"","sources":["../../src/engine/engine_animation.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,6 +22,12 @@ export type FocusRectSettings = {
|
|
|
22
22
|
* Minimum value is 0.
|
|
23
23
|
*/
|
|
24
24
|
damping: number;
|
|
25
|
+
/** X offset in camera coordinates. Used by ViewBox component */
|
|
26
|
+
offsetX: number;
|
|
27
|
+
/** Y offset in camera coordinates. Used by ViewBox component */
|
|
28
|
+
offsetY: number;
|
|
29
|
+
/** Zoom factor. Used by ViewBox component */
|
|
30
|
+
zoom: number;
|
|
25
31
|
};
|
|
26
32
|
export type FocusRect = DOMRect | Element | {
|
|
27
33
|
x: number;
|
|
@@ -30,4 +36,4 @@ export type FocusRect = DOMRect | Element | {
|
|
|
30
36
|
height: number;
|
|
31
37
|
};
|
|
32
38
|
/** Used internally by the Needle Engine context via 'setFocusRect(<rect>)' */
|
|
33
|
-
export declare function updateCameraFocusRect(focusRect: FocusRect, dt: number, camera: PerspectiveCamera, renderer: WebGLRenderer): void;
|
|
39
|
+
export declare function updateCameraFocusRect(focusRect: FocusRect, settings: FocusRectSettings, dt: number, camera: PerspectiveCamera, renderer: WebGLRenderer): void;
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { Camera, Object3D, Vector3, Vector3Like } from "three";
|
|
2
|
+
import { Context } from "./engine_context.js";
|
|
3
|
+
/**
|
|
4
|
+
* Options for fitting the camera to the scene. Used in {@link OrbitControls.fitCamera}
|
|
5
|
+
*/
|
|
6
|
+
export type FitCameraOptions = {
|
|
7
|
+
/** When enabled debug rendering will be shown */
|
|
8
|
+
debug?: boolean;
|
|
9
|
+
/**
|
|
10
|
+
* If true the camera position and target will be applied immediately
|
|
11
|
+
* @default true
|
|
12
|
+
*/
|
|
13
|
+
autoApply?: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* The context to use. If not provided the current context will be used
|
|
16
|
+
*/
|
|
17
|
+
context?: Context;
|
|
18
|
+
/**
|
|
19
|
+
* The camera to fit. If not provided the current camera will be used
|
|
20
|
+
*/
|
|
21
|
+
camera?: Camera;
|
|
22
|
+
currentZoom?: number;
|
|
23
|
+
minZoom?: number;
|
|
24
|
+
maxZoom?: number;
|
|
25
|
+
/**
|
|
26
|
+
* The objects to fit the camera to. If not provided the scene children will be used
|
|
27
|
+
*/
|
|
28
|
+
objects?: Object3D[] | Object3D;
|
|
29
|
+
/** Fit offset: A factor to multiply the distance to the objects by
|
|
30
|
+
* @default 1.1
|
|
31
|
+
*/
|
|
32
|
+
fitOffset?: number;
|
|
33
|
+
/** The direction from which the camera should be fitted in worldspace. If not defined the current camera's position will be used */
|
|
34
|
+
fitDirection?: Vector3Like;
|
|
35
|
+
/** If set to "y" the camera will be centered in the y axis */
|
|
36
|
+
centerCamera?: "none" | "y";
|
|
37
|
+
/** Set to 'auto' to update the camera near or far plane based on the fitted-objects bounds */
|
|
38
|
+
cameraNearFar?: "keep" | "auto";
|
|
39
|
+
/**
|
|
40
|
+
* Offset the camera position in world space
|
|
41
|
+
*/
|
|
42
|
+
cameraOffset?: Partial<Vector3Like>;
|
|
43
|
+
/**
|
|
44
|
+
* Offset the camera position relative to the size of the objects being focused on (e.g. x: 0.5).
|
|
45
|
+
* Value range: -1 to 1
|
|
46
|
+
*/
|
|
47
|
+
relativeCameraOffset?: Partial<Vector3Like>;
|
|
48
|
+
/**
|
|
49
|
+
* Offset the camera target position in world space
|
|
50
|
+
*/
|
|
51
|
+
targetOffset?: Partial<Vector3Like>;
|
|
52
|
+
/**
|
|
53
|
+
* Offset the camera target position relative to the size of the objects being focused on.
|
|
54
|
+
* Value range: -1 to 1
|
|
55
|
+
*/
|
|
56
|
+
relativeTargetOffset?: Partial<Vector3Like>;
|
|
57
|
+
/**
|
|
58
|
+
* Field of view (FOV) for the camera
|
|
59
|
+
*/
|
|
60
|
+
fov?: number;
|
|
61
|
+
};
|
|
62
|
+
export type FitCameraReturnType = {
|
|
63
|
+
camera: Camera;
|
|
64
|
+
position: Vector3;
|
|
65
|
+
lookAt: Vector3;
|
|
66
|
+
fov: number | undefined;
|
|
67
|
+
};
|
|
68
|
+
export declare function fitCamera(options?: FitCameraOptions): null | FitCameraReturnType;
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
import { PerspectiveCamera, Vector3 } from "three";
|
|
2
|
+
import { GroundProjectedEnv } from "../engine-components/GroundProjection.js";
|
|
3
|
+
import { findObjectOfType } from "./engine_components.js";
|
|
4
|
+
import { Context } from "./engine_context.js";
|
|
5
|
+
import { Gizmos } from "./engine_gizmos.js";
|
|
6
|
+
import { getBoundingBox } from "./engine_three_utils.js";
|
|
7
|
+
import { NeedleXRSession } from "./xr/NeedleXRSession.js";
|
|
8
|
+
export function fitCamera(options) {
|
|
9
|
+
if (NeedleXRSession.active) {
|
|
10
|
+
// camera fitting in XR is not supported
|
|
11
|
+
console.warn('[OrbitControls] Can not fit camera while XR session is active');
|
|
12
|
+
return null;
|
|
13
|
+
}
|
|
14
|
+
const context = Context.Current;
|
|
15
|
+
if (!context) {
|
|
16
|
+
console.warn('[OrbitControls] No context found');
|
|
17
|
+
return null;
|
|
18
|
+
}
|
|
19
|
+
const camera = options?.camera || context.mainCamera;
|
|
20
|
+
// const controls = this._controls as ThreeOrbitControls | null;
|
|
21
|
+
if (!camera) {
|
|
22
|
+
console.warn("No camera or controls found to fit camera to objects...");
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
25
|
+
if (!options)
|
|
26
|
+
options = {};
|
|
27
|
+
options.autoApply = options.autoApply !== false; // default to true
|
|
28
|
+
options.minZoom ||= 0;
|
|
29
|
+
options.maxZoom ||= Infinity;
|
|
30
|
+
const { centerCamera, cameraNearFar = "auto", fitOffset = 1.1, fov = camera instanceof PerspectiveCamera ? camera?.fov : -1 } = options;
|
|
31
|
+
const size = new Vector3();
|
|
32
|
+
const center = new Vector3();
|
|
33
|
+
const aspect = camera instanceof PerspectiveCamera ? camera.aspect : 1;
|
|
34
|
+
const objects = options.objects || context.scene;
|
|
35
|
+
// TODO would be much better to calculate the bounds in camera space instead of world space -
|
|
36
|
+
// we would get proper view-dependant fit.
|
|
37
|
+
// Right now it's independent from where the camera is actually looking from,
|
|
38
|
+
// and thus we're just getting some maximum that will work for sure.
|
|
39
|
+
const box = getBoundingBox(objects, undefined, camera?.layers);
|
|
40
|
+
const boxCopy = box.clone();
|
|
41
|
+
box.getCenter(center);
|
|
42
|
+
const box_size = new Vector3();
|
|
43
|
+
box.getSize(box_size);
|
|
44
|
+
// project this box into camera space
|
|
45
|
+
if (camera instanceof PerspectiveCamera)
|
|
46
|
+
camera.updateProjectionMatrix();
|
|
47
|
+
camera.updateMatrixWorld();
|
|
48
|
+
box.applyMatrix4(camera.matrixWorldInverse);
|
|
49
|
+
box.getSize(size);
|
|
50
|
+
box.setFromCenterAndSize(center, size);
|
|
51
|
+
if (Number.isNaN(size.x) || Number.isNaN(size.y) || Number.isNaN(size.z)) {
|
|
52
|
+
console.warn("Camera fit size resultet in NaN", camera, box);
|
|
53
|
+
return null;
|
|
54
|
+
}
|
|
55
|
+
if (size.length() <= 0.0000000001) {
|
|
56
|
+
console.warn("Camera fit size is zero", box);
|
|
57
|
+
return null;
|
|
58
|
+
}
|
|
59
|
+
const verticalFov = fov;
|
|
60
|
+
const horizontalFov = 2 * Math.atan(Math.tan(verticalFov * Math.PI / 360 / 2) * aspect) / Math.PI * 360;
|
|
61
|
+
const fitHeightDistance = size.y / (2 * Math.atan(Math.PI * verticalFov / 360));
|
|
62
|
+
const fitWidthDistance = size.x / (2 * Math.atan(Math.PI * horizontalFov / 360));
|
|
63
|
+
const distance = fitOffset * Math.max(fitHeightDistance, fitWidthDistance) + size.z / 2;
|
|
64
|
+
options.maxZoom = distance * 10;
|
|
65
|
+
options.minZoom = distance * 0.01;
|
|
66
|
+
if (options.debug === true) {
|
|
67
|
+
console.log("Fit camera to objects", { fitHeightDistance, fitWidthDistance, distance, verticalFov, horizontalFov });
|
|
68
|
+
}
|
|
69
|
+
const verticalOffset = 0.05;
|
|
70
|
+
const lookAt = center.clone();
|
|
71
|
+
lookAt.y -= size.y * verticalOffset;
|
|
72
|
+
if (options.targetOffset) {
|
|
73
|
+
if (options.targetOffset.x !== undefined)
|
|
74
|
+
lookAt.x += options.targetOffset.x;
|
|
75
|
+
if (options.targetOffset.y !== undefined)
|
|
76
|
+
lookAt.y += options.targetOffset.y;
|
|
77
|
+
if (options.targetOffset.z !== undefined)
|
|
78
|
+
lookAt.z += options.targetOffset.z;
|
|
79
|
+
}
|
|
80
|
+
if (options.relativeTargetOffset) {
|
|
81
|
+
if (options.relativeTargetOffset.x !== undefined)
|
|
82
|
+
lookAt.x += options.relativeTargetOffset.x * size.x;
|
|
83
|
+
if (options.relativeTargetOffset.y !== undefined)
|
|
84
|
+
lookAt.y += options.relativeTargetOffset.y * size.y;
|
|
85
|
+
if (options.relativeTargetOffset.z !== undefined)
|
|
86
|
+
lookAt.z += options.relativeTargetOffset.z * size.z;
|
|
87
|
+
}
|
|
88
|
+
// this.setLookTargetPosition(lookAt, immediate);
|
|
89
|
+
// this.setFieldOfView(options.fov, immediate);
|
|
90
|
+
if (cameraNearFar == undefined || cameraNearFar == "auto") {
|
|
91
|
+
// Check if the scene has a GroundProjectedEnv and include the scale to the far plane so that it doesnt cut off
|
|
92
|
+
const groundprojection = findObjectOfType(GroundProjectedEnv);
|
|
93
|
+
const groundProjectionRadius = groundprojection ? groundprojection.radius : 0;
|
|
94
|
+
const boundsMax = Math.max(box_size.x, box_size.y, box_size.z, groundProjectionRadius);
|
|
95
|
+
// TODO: this doesnt take the Camera component nearClipPlane into account
|
|
96
|
+
if (camera instanceof PerspectiveCamera) {
|
|
97
|
+
camera.near = (distance / 100);
|
|
98
|
+
camera.far = boundsMax + distance * 10;
|
|
99
|
+
camera.updateProjectionMatrix();
|
|
100
|
+
}
|
|
101
|
+
// adjust maxZoom so that the ground projection radius is always inside
|
|
102
|
+
if (groundprojection) {
|
|
103
|
+
options.maxZoom = Math.max(Math.min(options.maxZoom, groundProjectionRadius * 0.5), distance);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
// ensure we're not clipping out of the current zoom level just because we're fitting
|
|
107
|
+
if (options.currentZoom !== undefined) {
|
|
108
|
+
if (options.currentZoom < options.minZoom)
|
|
109
|
+
options.minZoom = options.currentZoom * 0.9;
|
|
110
|
+
if (options.currentZoom > options.maxZoom)
|
|
111
|
+
options.maxZoom = options.currentZoom * 1.1;
|
|
112
|
+
}
|
|
113
|
+
const direction = center.clone();
|
|
114
|
+
if (options.fitDirection) {
|
|
115
|
+
direction.sub(new Vector3().copy(options.fitDirection).multiplyScalar(1_000_000));
|
|
116
|
+
}
|
|
117
|
+
else {
|
|
118
|
+
direction.sub(camera.worldPosition);
|
|
119
|
+
}
|
|
120
|
+
if (centerCamera === "y")
|
|
121
|
+
direction.y = 0;
|
|
122
|
+
direction.normalize();
|
|
123
|
+
direction.multiplyScalar(distance);
|
|
124
|
+
if (centerCamera === "y")
|
|
125
|
+
direction.y += -verticalOffset * 4 * distance;
|
|
126
|
+
let cameraLocalPosition = center.clone().sub(direction);
|
|
127
|
+
if (options.cameraOffset) {
|
|
128
|
+
if (options.cameraOffset.x !== undefined)
|
|
129
|
+
cameraLocalPosition.x += options.cameraOffset.x;
|
|
130
|
+
if (options.cameraOffset.y !== undefined)
|
|
131
|
+
cameraLocalPosition.y += options.cameraOffset.y;
|
|
132
|
+
if (options.cameraOffset.z !== undefined)
|
|
133
|
+
cameraLocalPosition.z += options.cameraOffset.z;
|
|
134
|
+
}
|
|
135
|
+
if (options.relativeCameraOffset) {
|
|
136
|
+
if (options.relativeCameraOffset.x !== undefined)
|
|
137
|
+
cameraLocalPosition.x += options.relativeCameraOffset.x * size.x;
|
|
138
|
+
if (options.relativeCameraOffset.y !== undefined)
|
|
139
|
+
cameraLocalPosition.y += options.relativeCameraOffset.y * size.y;
|
|
140
|
+
if (options.relativeCameraOffset.z !== undefined)
|
|
141
|
+
cameraLocalPosition.z += options.relativeCameraOffset.z * size.z;
|
|
142
|
+
}
|
|
143
|
+
if (camera.parent) {
|
|
144
|
+
cameraLocalPosition = camera.parent.worldToLocal(cameraLocalPosition);
|
|
145
|
+
}
|
|
146
|
+
// this.setCameraTargetPosition(cameraLocalPosition, immediate);
|
|
147
|
+
if (options.debug) {
|
|
148
|
+
Gizmos.DrawWireBox3(box, 0xffff33, 10);
|
|
149
|
+
Gizmos.DrawWireBox3(boxCopy, 0x00ff00, 10);
|
|
150
|
+
}
|
|
151
|
+
if (options.autoApply) {
|
|
152
|
+
camera.position.copy(cameraLocalPosition);
|
|
153
|
+
camera.lookAt(lookAt);
|
|
154
|
+
if (fov > 0 && camera instanceof PerspectiveCamera) {
|
|
155
|
+
camera.fov = fov;
|
|
156
|
+
camera.updateProjectionMatrix();
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
return {
|
|
160
|
+
camera: camera,
|
|
161
|
+
position: cameraLocalPosition,
|
|
162
|
+
lookAt: lookAt,
|
|
163
|
+
fov: options.fov,
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
//# sourceMappingURL=engine_camera.fit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"engine_camera.fit.js","sourceRoot":"","sources":["../../src/engine/engine_camera.fit.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,8 +37,9 @@ export function setAutoFitEnabled(obj, enabled) {
|
|
|
37
37
|
}
|
|
38
38
|
let rendererRect = undefined;
|
|
39
39
|
const overlapRect = { x: 0, y: 0, width: 0, height: 0 };
|
|
40
|
+
let _testTime = 1;
|
|
40
41
|
/** Used internally by the Needle Engine context via 'setFocusRect(<rect>)' */
|
|
41
|
-
export function updateCameraFocusRect(focusRect, dt, camera, renderer) {
|
|
42
|
+
export function updateCameraFocusRect(focusRect, settings, dt, camera, renderer) {
|
|
42
43
|
if (focusRect instanceof Element) {
|
|
43
44
|
focusRect = focusRect.getBoundingClientRect();
|
|
44
45
|
}
|
|
@@ -50,14 +51,53 @@ export function updateCameraFocusRect(focusRect, dt, camera, renderer) {
|
|
|
50
51
|
rect.height = focusRect.height;
|
|
51
52
|
rect.x -= rendererRect.x;
|
|
52
53
|
rect.y -= rendererRect.y;
|
|
53
|
-
const
|
|
54
|
-
const
|
|
54
|
+
const sourceWidth = rendererRect.width;
|
|
55
|
+
const sourceHeight = rendererRect.height;
|
|
55
56
|
const view = camera.view;
|
|
57
|
+
// Apply zoom
|
|
58
|
+
let zoom = settings.zoom;
|
|
56
59
|
let offsetX = view?.offsetX || 0;
|
|
57
60
|
let offsetY = view?.offsetY || 0;
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
+
let width = rendererRect.width;
|
|
62
|
+
let height = rendererRect.height;
|
|
63
|
+
width /= zoom;
|
|
64
|
+
height /= zoom;
|
|
65
|
+
offsetX = width * (zoom - 1) * .5;
|
|
66
|
+
offsetY = height * (zoom - 1) * .5;
|
|
67
|
+
const focusRectCenterX = rect.x + rect.width * .5;
|
|
68
|
+
const focusRectCenterY = rect.y + rect.height * .5;
|
|
69
|
+
const rendererCenterX = rendererRect.width * .5;
|
|
70
|
+
const rendererCenterY = rendererRect.height * .5;
|
|
71
|
+
const diffx = focusRectCenterX - rendererCenterX;
|
|
72
|
+
const diffy = focusRectCenterY - rendererCenterY;
|
|
73
|
+
offsetX -= diffx / zoom;
|
|
74
|
+
offsetY -= diffy / zoom;
|
|
75
|
+
if (settings.offsetX !== undefined) {
|
|
76
|
+
offsetX += settings.offsetX * (rendererRect.width * .5);
|
|
77
|
+
}
|
|
78
|
+
if (settings.offsetY !== undefined) {
|
|
79
|
+
offsetY -= settings.offsetY * (rendererRect.height * .5);
|
|
80
|
+
}
|
|
81
|
+
const currentOffsetX = view?.offsetX || offsetX;
|
|
82
|
+
const currentOffsetY = view?.offsetY || offsetY;
|
|
83
|
+
offsetX = Mathf.lerp(currentOffsetX, offsetX, dt);
|
|
84
|
+
offsetY = Mathf.lerp(currentOffsetY, offsetY, dt);
|
|
85
|
+
const currentWidth = view?.width || sourceWidth;
|
|
86
|
+
const currentHeight = view?.height || sourceHeight;
|
|
87
|
+
width = Mathf.lerp(currentWidth, width, dt);
|
|
88
|
+
height = Mathf.lerp(currentHeight, height, dt);
|
|
89
|
+
camera.setViewOffset(sourceWidth, sourceHeight, offsetX, offsetY, width, height);
|
|
61
90
|
camera.updateProjectionMatrix();
|
|
91
|
+
if (settings.damping > 0) {
|
|
92
|
+
settings.damping *= (1.0 - dt);
|
|
93
|
+
if (settings.damping < 0.01)
|
|
94
|
+
settings.damping = 0;
|
|
95
|
+
settings.damping = Math.max(0, settings.damping);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
function fit(width1, height1, width2, height2) {
|
|
99
|
+
const scaleX = width2 / width1;
|
|
100
|
+
const scaleY = height2 / height1;
|
|
101
|
+
return Math.max(scaleX, scaleY);
|
|
62
102
|
}
|
|
63
103
|
//# sourceMappingURL=engine_camera.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine_camera.js","sourceRoot":"","sources":["../../src/engine/engine_camera.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAIzC,MAAM,iBAAiB,GAAG,yBAAyB,CAAC;AAEpD;GACG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAAW;IAC3C,OAAO,GAAG,CAAC,iBAAiB,CAAC,CAAC;AAClC,CAAC;AAED,qDAAqD;AACrD,MAAM,UAAU,mBAAmB,CAAC,GAAW,EAAE,gBAAmC,EAAE,MAAe;IACjG,IAAI,MAAM;QACN,GAAG,CAAC,iBAAiB,CAAC,GAAG,gBAAgB,CAAC;SACzC;QACD,IAAI,GAAG,CAAC,iBAAiB,CAAC,KAAK,gBAAgB;YAC3C,GAAG,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC;KACrC;AACL,CAAC;AAGD,MAAM,OAAO,GAAG,gBAAgB,CAAC;AAEjC;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,GAAa;IACvC,yDAAyD;IACzD,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAC5C,4EAA4E;IAC5E,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,CAAC;AAClC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAa,EAAE,OAAgB;IAC7D,GAAG,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;AAC3B,CAAC;
|
|
1
|
+
{"version":3,"file":"engine_camera.js","sourceRoot":"","sources":["../../src/engine/engine_camera.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAIzC,MAAM,iBAAiB,GAAG,yBAAyB,CAAC;AAEpD;GACG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAAW;IAC3C,OAAO,GAAG,CAAC,iBAAiB,CAAC,CAAC;AAClC,CAAC;AAED,qDAAqD;AACrD,MAAM,UAAU,mBAAmB,CAAC,GAAW,EAAE,gBAAmC,EAAE,MAAe;IACjG,IAAI,MAAM;QACN,GAAG,CAAC,iBAAiB,CAAC,GAAG,gBAAgB,CAAC;SACzC;QACD,IAAI,GAAG,CAAC,iBAAiB,CAAC,KAAK,gBAAgB;YAC3C,GAAG,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC;KACrC;AACL,CAAC;AAGD,MAAM,OAAO,GAAG,gBAAgB,CAAC;AAEjC;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,GAAa;IACvC,yDAAyD;IACzD,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAC5C,4EAA4E;IAC5E,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,CAAC;AAClC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAa,EAAE,OAAgB;IAC7D,GAAG,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;AAC3B,CAAC;AAmBD,IAAI,YAAY,GAAwB,SAAS,CAAC;AAClD,MAAM,WAAW,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;AACxD,IAAI,SAAS,GAAG,CAAC,CAAC;AAElB,+EAA+E;AAC/E,MAAM,UAAU,qBAAqB,CAAC,SAAoB,EAAE,QAA2B,EAAE,EAAU,EAAE,MAAyB,EAAE,QAAuB;IAEnJ,IAAI,SAAS,YAAY,OAAO,EAAE;QAC9B,SAAS,GAAG,SAAS,CAAC,qBAAqB,EAAE,CAAC;KACjD;IACD,YAAY,GAAG,QAAQ,CAAC,UAAU,CAAC,qBAAqB,EAAE,CAAC;IAE3D,MAAM,IAAI,GAAG,WAAW,CAAC;IACzB,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;IACrB,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;IACrB,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;IAC7B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;IAE/B,IAAI,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC;IACzB,IAAI,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC;IAEzB,MAAM,WAAW,GAAG,YAAY,CAAC,KAAK,CAAC;IACvC,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC;IAEzC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAiC,CAAC;IAEtD,aAAa;IACb,IAAI,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;IACzB,IAAI,OAAO,GAAG,IAAI,EAAE,OAAO,IAAI,CAAC,CAAC;IACjC,IAAI,OAAO,GAAG,IAAI,EAAE,OAAO,IAAI,CAAC,CAAC;IAEjC,IAAI,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC;IAC/B,IAAI,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;IACjC,KAAK,IAAI,IAAI,CAAC;IACd,MAAM,IAAI,IAAI,CAAC;IACf,OAAO,GAAG,KAAK,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;IAClC,OAAO,GAAG,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;IAEnC,MAAM,gBAAgB,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IAClD,MAAM,gBAAgB,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;IACnD,MAAM,eAAe,GAAG,YAAY,CAAC,KAAK,GAAG,EAAE,CAAC;IAChD,MAAM,eAAe,GAAG,YAAY,CAAC,MAAM,GAAG,EAAE,CAAC;IAEjD,MAAM,KAAK,GAAG,gBAAgB,GAAG,eAAe,CAAC;IACjD,MAAM,KAAK,GAAG,gBAAgB,GAAG,eAAe,CAAC;IACjD,OAAO,IAAI,KAAK,GAAG,IAAI,CAAC;IACxB,OAAO,IAAI,KAAK,GAAG,IAAI,CAAC;IACxB,IAAI,QAAQ,CAAC,OAAO,KAAK,SAAS,EAAE;QAChC,OAAO,IAAI,QAAQ,CAAC,OAAO,GAAG,CAAC,YAAY,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;KAC3D;IACD,IAAI,QAAQ,CAAC,OAAO,KAAK,SAAS,EAAE;QAChC,OAAO,IAAI,QAAQ,CAAC,OAAO,GAAG,CAAC,YAAY,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;KAC5D;IAGD,MAAM,cAAc,GAAG,IAAI,EAAE,OAAO,IAAI,OAAO,CAAC;IAChD,MAAM,cAAc,GAAG,IAAI,EAAE,OAAO,IAAI,OAAO,CAAC;IAChD,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;IAClD,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;IAClD,MAAM,YAAY,GAAG,IAAI,EAAE,KAAK,IAAI,WAAW,CAAC;IAChD,MAAM,aAAa,GAAG,IAAI,EAAE,MAAM,IAAI,YAAY,CAAC;IACnD,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;IAC5C,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;IAE/C,MAAM,CAAC,aAAa,CAAC,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IACjF,MAAM,CAAC,sBAAsB,EAAE,CAAC;IAEhC,IAAI,QAAQ,CAAC,OAAO,GAAG,CAAC,EAAE;QACtB,QAAQ,CAAC,OAAO,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;QAC/B,IAAI,QAAQ,CAAC,OAAO,GAAG,IAAI;YAAE,QAAQ,CAAC,OAAO,GAAG,CAAC,CAAC;QAClD,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;KACpD;AACL,CAAC;AAGD,SAAS,GAAG,CAAC,MAAc,EAAE,OAAe,EAAE,MAAc,EAAE,OAAe;IACzE,MAAM,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAC/B,MAAM,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;IACjC,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACpC,CAAC"}
|
|
@@ -465,6 +465,12 @@ export declare class Context implements IContext {
|
|
|
465
465
|
*/
|
|
466
466
|
setCameraFocusRect(rect: FocusRect | null, settings?: Partial<FocusRectSettings>): void;
|
|
467
467
|
get focusRect(): FocusRect | null;
|
|
468
|
+
get focusRectSize(): null | {
|
|
469
|
+
x: number;
|
|
470
|
+
y: number;
|
|
471
|
+
width: number;
|
|
472
|
+
height: number;
|
|
473
|
+
};
|
|
468
474
|
/** Settings when a focus rect is set. Use `setCameraFocusRect(...)` to do so.
|
|
469
475
|
* This can be used to offset the renderer center e.g. to a specific DOM element.
|
|
470
476
|
*/
|
|
@@ -1265,21 +1265,60 @@ export class Context {
|
|
|
1265
1265
|
* @param settings Optional settings for the focus rect. These will override the `focusRectSettings` property
|
|
1266
1266
|
*/
|
|
1267
1267
|
setCameraFocusRect(rect, settings) {
|
|
1268
|
+
const oldRect = this._focusRect;
|
|
1268
1269
|
this._focusRect = rect;
|
|
1269
1270
|
if (settings) {
|
|
1270
1271
|
Object.assign(this.focusRectSettings, settings);
|
|
1271
1272
|
}
|
|
1273
|
+
if (settings?.damping === undefined) {
|
|
1274
|
+
// if the new rect is on screen then set damping
|
|
1275
|
+
if (oldRect) {
|
|
1276
|
+
let domRect = oldRect;
|
|
1277
|
+
if (oldRect instanceof HTMLElement) {
|
|
1278
|
+
domRect = oldRect.getBoundingClientRect();
|
|
1279
|
+
}
|
|
1280
|
+
if (domRect && "top" in domRect) {
|
|
1281
|
+
const allowedDistance = 100;
|
|
1282
|
+
const isVisible = domRect.bottom >= -allowedDistance && domRect.right >= -allowedDistance && domRect.top <= window.innerHeight + allowedDistance && domRect.left <= window.innerWidth + allowedDistance;
|
|
1283
|
+
if (isVisible)
|
|
1284
|
+
this.focusRectSettings.damping = .2;
|
|
1285
|
+
}
|
|
1286
|
+
}
|
|
1287
|
+
}
|
|
1272
1288
|
}
|
|
1273
1289
|
get focusRect() { return this._focusRect; }
|
|
1290
|
+
get focusRectSize() {
|
|
1291
|
+
const rect = this._focusRect;
|
|
1292
|
+
if (rect && (rect instanceof DOMRect || ("width" in rect && "height" in rect && "x" in rect && "y" in rect))) {
|
|
1293
|
+
return { x: rect.x, y: rect.y, width: rect.width, height: rect.height };
|
|
1294
|
+
}
|
|
1295
|
+
else if (rect instanceof HTMLElement) {
|
|
1296
|
+
const r = rect.getBoundingClientRect();
|
|
1297
|
+
return { x: r.x, y: r.y, width: r.width, height: r.height };
|
|
1298
|
+
}
|
|
1299
|
+
return null;
|
|
1300
|
+
}
|
|
1274
1301
|
/** Settings when a focus rect is set. Use `setCameraFocusRect(...)` to do so.
|
|
1275
1302
|
* This can be used to offset the renderer center e.g. to a specific DOM element.
|
|
1276
1303
|
*/
|
|
1277
1304
|
focusRectSettings = {
|
|
1278
1305
|
/** Controls how fast the rect is centered. Smaller values mean the rect is centered faster.
|
|
1279
1306
|
* A minimum value of 0 means the rect is centered instantly.
|
|
1280
|
-
* @default
|
|
1307
|
+
* @default 0
|
|
1281
1308
|
*/
|
|
1282
|
-
damping:
|
|
1309
|
+
damping: 0,
|
|
1310
|
+
/**
|
|
1311
|
+
* Zoom factor when a focus rect is set.
|
|
1312
|
+
*/
|
|
1313
|
+
zoom: 1,
|
|
1314
|
+
/**
|
|
1315
|
+
* Additional offset in pixels from the center of the rect
|
|
1316
|
+
*/
|
|
1317
|
+
offsetX: 0,
|
|
1318
|
+
/**
|
|
1319
|
+
* Additional offset in pixels from the center of the rect
|
|
1320
|
+
*/
|
|
1321
|
+
offsetY: 0,
|
|
1283
1322
|
};
|
|
1284
1323
|
_focusRect = null;
|
|
1285
1324
|
_lastTimestamp = 0;
|
|
@@ -1392,13 +1431,6 @@ export class Context {
|
|
|
1392
1431
|
this.internalUpdatePhysics(this.physicsSteps);
|
|
1393
1432
|
}
|
|
1394
1433
|
if (this.isVisibleToUser || this.runInBackground) {
|
|
1395
|
-
if (this._focusRect) {
|
|
1396
|
-
if (this.mainCamera instanceof PerspectiveCamera) {
|
|
1397
|
-
const settings = this.focusRectSettings;
|
|
1398
|
-
const dt = settings.damping > 0 ? this.time.deltaTime / settings.damping : 1;
|
|
1399
|
-
updateCameraFocusRect(this._focusRect, dt, this.mainCamera, this.renderer);
|
|
1400
|
-
}
|
|
1401
|
-
}
|
|
1402
1434
|
this._currentFrameEvent = FrameEvent.OnBeforeRender;
|
|
1403
1435
|
// should we move these callbacks in the regular three onBeforeRender events?
|
|
1404
1436
|
for (let i = 0; i < this.scripts_onBeforeRender.length; i++) {
|
|
@@ -1413,6 +1445,13 @@ export class Context {
|
|
|
1413
1445
|
}
|
|
1414
1446
|
this.executeCoroutines(FrameEvent.OnBeforeRender);
|
|
1415
1447
|
invokeLifecycleFunctions(this, FrameEvent.OnBeforeRender);
|
|
1448
|
+
if (this._focusRect) {
|
|
1449
|
+
if (this.mainCamera instanceof PerspectiveCamera) {
|
|
1450
|
+
const settings = this.focusRectSettings;
|
|
1451
|
+
const dt = settings.damping > 0 ? this.time.deltaTime / settings.damping : 1;
|
|
1452
|
+
updateCameraFocusRect(this._focusRect, this.focusRectSettings, dt, this.mainCamera, this.renderer);
|
|
1453
|
+
}
|
|
1454
|
+
}
|
|
1416
1455
|
if (this._needsUpdateSize)
|
|
1417
1456
|
this.updateSize();
|
|
1418
1457
|
if (this.pre_render_callbacks) {
|