@needle-tools/engine 4.9.2 → 4.9.3-next.0facab6

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 (105) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/components.needle.json +1 -1
  3. package/dist/{gltf-progressive-DhE1A6hX.min.js → gltf-progressive-CoZbSfPR.min.js} +1 -1
  4. package/dist/{gltf-progressive-egsMzRdv.js → gltf-progressive-DUR9TuAH.js} +3 -3
  5. package/dist/{gltf-progressive-DWiyqrwB.umd.cjs → gltf-progressive-Iy7aSAPk.umd.cjs} +1 -1
  6. package/dist/{needle-engine.bundle-WLYWw5OF.umd.cjs → needle-engine.bundle-DAo7BPxQ.umd.cjs} +149 -127
  7. package/dist/needle-engine.bundle-DP2gYtOQ.min.js +1638 -0
  8. package/dist/{needle-engine.bundle-XBRfMDwo.js → needle-engine.bundle-TvT7wv7z.js} +7567 -7380
  9. package/dist/needle-engine.js +446 -444
  10. package/dist/needle-engine.min.js +1 -1
  11. package/dist/needle-engine.umd.cjs +1 -1
  12. package/dist/{postprocessing-B_FzkwDz.min.js → postprocessing-BHMVuZQ1.min.js} +53 -53
  13. package/dist/{postprocessing-DTX5VXrj.umd.cjs → postprocessing-BsnRNRRS.umd.cjs} +76 -76
  14. package/dist/{postprocessing-DP1U_BpT.js → postprocessing-DQ2pynXW.js} +213 -191
  15. package/dist/{three-BK56xWDs.umd.cjs → three-B-jwTHao.umd.cjs} +11 -11
  16. package/dist/{three-CsHK73Zc.js → three-CJSAehtG.js} +1 -0
  17. package/dist/{three-examples-Bph291U2.min.js → three-examples-BivkhnvN.min.js} +1 -1
  18. package/dist/{three-examples-C9WfZu-X.umd.cjs → three-examples-Deqc1bNw.umd.cjs} +1 -1
  19. package/dist/{three-examples-BvMpKSun.js → three-examples-Doq0rvFU.js} +1 -1
  20. package/dist/{three-mesh-ui-CN6aRT7i.js → three-mesh-ui-CktOi6oI.js} +1 -1
  21. package/dist/{three-mesh-ui-DnxkZWNA.umd.cjs → three-mesh-ui-CsHwj9cJ.umd.cjs} +1 -1
  22. package/dist/{three-mesh-ui-n_qS2BM-.min.js → three-mesh-ui-DhYXcXZe.min.js} +1 -1
  23. package/dist/{three-TNFQHSFa.min.js → three-qw28ZtTy.min.js} +10 -10
  24. package/dist/{vendor-BtJpSuCj.umd.cjs → vendor-D0Yvltn9.umd.cjs} +1 -1
  25. package/dist/{vendor-k9i6CeGi.js → vendor-DU8tJyl_.js} +1 -1
  26. package/dist/{vendor-XJ9xiwrv.min.js → vendor-JyrX4DVM.min.js} +1 -1
  27. package/lib/engine/api.d.ts +1 -0
  28. package/lib/engine/api.js +1 -0
  29. package/lib/engine/api.js.map +1 -1
  30. package/lib/engine/codegen/register_types.js +2 -0
  31. package/lib/engine/codegen/register_types.js.map +1 -1
  32. package/lib/engine/engine_animation.d.ts +21 -1
  33. package/lib/engine/engine_animation.js +32 -1
  34. package/lib/engine/engine_animation.js.map +1 -1
  35. package/lib/engine/engine_camera.fit.d.ts +68 -0
  36. package/lib/engine/engine_camera.fit.js +193 -0
  37. package/lib/engine/engine_camera.fit.js.map +1 -0
  38. package/lib/engine/engine_gizmos.d.ts +2 -2
  39. package/lib/engine/engine_gizmos.js +2 -2
  40. package/lib/engine/engine_physics.js +6 -3
  41. package/lib/engine/engine_physics.js.map +1 -1
  42. package/lib/engine/webcomponents/needle-engine.d.ts +1 -0
  43. package/lib/engine/webcomponents/needle-engine.js +6 -0
  44. package/lib/engine/webcomponents/needle-engine.js.map +1 -1
  45. package/lib/engine/webcomponents/needle-engine.loading.js +59 -23
  46. package/lib/engine/webcomponents/needle-engine.loading.js.map +1 -1
  47. package/lib/engine/xr/NeedleXRSession.d.ts +1 -0
  48. package/lib/engine/xr/NeedleXRSession.js +25 -11
  49. package/lib/engine/xr/NeedleXRSession.js.map +1 -1
  50. package/lib/engine-components/AnimatorController.js +16 -0
  51. package/lib/engine-components/AnimatorController.js.map +1 -1
  52. package/lib/engine-components/CameraUtils.js +8 -9
  53. package/lib/engine-components/CameraUtils.js.map +1 -1
  54. package/lib/engine-components/OrbitControls.d.ts +4 -47
  55. package/lib/engine-components/OrbitControls.js +30 -178
  56. package/lib/engine-components/OrbitControls.js.map +1 -1
  57. package/lib/engine-components/Renderer.js +9 -5
  58. package/lib/engine-components/Renderer.js.map +1 -1
  59. package/lib/engine-components/SpriteRenderer.js +4 -1
  60. package/lib/engine-components/SpriteRenderer.js.map +1 -1
  61. package/lib/engine-components/api.d.ts +0 -1
  62. package/lib/engine-components/api.js.map +1 -1
  63. package/lib/engine-components/codegen/components.d.ts +1 -0
  64. package/lib/engine-components/codegen/components.js +1 -0
  65. package/lib/engine-components/codegen/components.js.map +1 -1
  66. package/lib/engine-components/web/Clickthrough.d.ts +3 -0
  67. package/lib/engine-components/web/Clickthrough.js +3 -0
  68. package/lib/engine-components/web/Clickthrough.js.map +1 -1
  69. package/lib/engine-components/web/CursorFollow.d.ts +3 -0
  70. package/lib/engine-components/web/CursorFollow.js +3 -0
  71. package/lib/engine-components/web/CursorFollow.js.map +1 -1
  72. package/lib/engine-components/web/HoverAnimation.d.ts +44 -0
  73. package/lib/engine-components/web/HoverAnimation.js +105 -0
  74. package/lib/engine-components/web/HoverAnimation.js.map +1 -0
  75. package/lib/engine-components/web/ScrollFollow.d.ts +4 -0
  76. package/lib/engine-components/web/ScrollFollow.js +4 -0
  77. package/lib/engine-components/web/ScrollFollow.js.map +1 -1
  78. package/lib/engine-components/web/index.d.ts +1 -0
  79. package/lib/engine-components/web/index.js +1 -0
  80. package/lib/engine-components/web/index.js.map +1 -1
  81. package/package.json +2 -2
  82. package/plugins/vite/alias.js +5 -3
  83. package/plugins/vite/poster-client.js +22 -21
  84. package/src/engine/api.ts +2 -1
  85. package/src/engine/codegen/register_types.ts +2 -0
  86. package/src/engine/engine_animation.ts +69 -1
  87. package/src/engine/engine_camera.fit.ts +288 -0
  88. package/src/engine/engine_gizmos.ts +2 -2
  89. package/src/engine/engine_physics.ts +6 -3
  90. package/src/engine/webcomponents/needle-engine.loading.ts +63 -24
  91. package/src/engine/webcomponents/needle-engine.ts +6 -1
  92. package/src/engine/xr/NeedleXRSession.ts +25 -10
  93. package/src/engine-components/AnimatorController.ts +21 -2
  94. package/src/engine-components/CameraUtils.ts +8 -9
  95. package/src/engine-components/OrbitControls.ts +30 -239
  96. package/src/engine-components/Renderer.ts +9 -6
  97. package/src/engine-components/SpriteRenderer.ts +3 -1
  98. package/src/engine-components/api.ts +0 -1
  99. package/src/engine-components/codegen/components.ts +1 -0
  100. package/src/engine-components/web/Clickthrough.ts +3 -0
  101. package/src/engine-components/web/CursorFollow.ts +3 -0
  102. package/src/engine-components/web/HoverAnimation.ts +99 -0
  103. package/src/engine-components/web/ScrollFollow.ts +4 -0
  104. package/src/engine-components/web/index.ts +1 -0
  105. package/dist/needle-engine.bundle-DwspSk2O.min.js +0 -1616
@@ -287,6 +287,22 @@ export class AnimatorController {
287
287
  return null;
288
288
  return action;
289
289
  }
290
+ // addState(state: State, layerIndex: number = 0) {
291
+ // if (!this.model) throw new Error("AnimatorController model is missing");
292
+ // if (layerIndex < 0 || layerIndex >= this.model.layers.length) {
293
+ // throw new Error(`Invalid layer index: ${layerIndex}`);
294
+ // }
295
+ // const layer = this.model.layers[layerIndex];
296
+ // if (!layer.stateMachine) {
297
+ // layer.stateMachine = { states: [], defaultState: 0 };
298
+ // }
299
+ // if (!layer.stateMachine.states) {
300
+ // layer.stateMachine.states = [];
301
+ // }
302
+ // if (state.hash === undefined) {
303
+ // state.hash = stringToHash(state.name || "state" + layer.stateMachine.states.length);
304
+ // }
305
+ // }
290
306
  /**
291
307
  * The normalized time (0-1) to start playing the first state at.
292
308
  * This affects the initial state when the animator is first enabled.
@@ -1 +1 @@
1
- {"version":3,"file":"AnimatorController.js","sourceRoot":"","sources":["../../src/engine-components/AnimatorController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AnimatorController.js","sourceRoot":"","sources":["../../src/engine-components/AnimatorController.ts"],"names":[],"mappings":"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"}
@@ -101,16 +101,15 @@ function createDefaultCameraControls(context, cam) {
101
101
  if (cameraObject) {
102
102
  const orbit = getOrAddComponent(cameraObject, OrbitControls);
103
103
  orbit.sourceId = cam?.sourceId ?? "unknown";
104
+ // /enable auto-rotate if the auto-rotate attribute is provided
104
105
  const autoRotate = context.domElement.getAttribute("auto-rotate");
105
- orbit.autoRotate = autoRotate !== undefined && autoRotate !== null && (autoRotate != "0" && autoRotate?.toLowerCase() != "false");
106
- orbit.autoRotateSpeed = 0.5;
107
- orbit.autoFit = true;
108
- if (orbit.autoRotate && autoRotate) {
109
- const autoRotateValue = parseFloat(autoRotate);
110
- if (!isNaN(autoRotateValue)) {
111
- orbit.autoRotateSpeed = autoRotateValue;
112
- }
113
- }
106
+ orbit.autoRotate = autoRotate != "0" && autoRotate?.toLowerCase() != "false";
107
+ const autoRotateSpeed = Number.parseFloat(autoRotate || ".5");
108
+ orbit.autoRotateSpeed = !isNaN(autoRotateSpeed) ? autoRotateSpeed : .5;
109
+ console.log("Auto-rotate", orbit.autoRotate, "speed:", orbit.autoRotateSpeed);
110
+ const autoFit = context.domElement.getAttribute("auto-fit");
111
+ orbit.autoFit = autoFit !== "0" && autoFit?.toLowerCase() != "false";
112
+ orbit.autoTarget = true;
114
113
  }
115
114
  else {
116
115
  console.warn("Missing camera object, can not add orbit controls");
@@ -1 +1 @@
1
- {"version":3,"file":"CameraUtils.js","sourceRoot":"","sources":["../../src/engine-components/CameraUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CameraUtils.js","sourceRoot":"","sources":["../../src/engine-components/CameraUtils.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { Object3D, Vector3Like } from "three";
2
2
  import { OrbitControls as ThreeOrbitControls } from "three/examples/jsm/controls/OrbitControls.js";
3
+ import { FitCameraOptions } from "../engine/engine_camera.fit.js";
3
4
  import type { ICameraController } from "../engine/engine_types.js";
4
5
  import { Camera } from "./Camera.js";
5
6
  import { Behaviour } from "./Component.js";
@@ -300,54 +301,10 @@ export declare class OrbitControls extends Behaviour implements ICameraControlle
300
301
  /**
301
302
  * Fits the camera to show the objects provided (defaults to the scene if no objects are passed in)
302
303
  */
303
- fitCamera(options?: FitCameraOptions): any;
304
- fitCamera(objects?: Object3D | Array<Object3D>, options?: Omit<FitCameraOptions, "objects">): any;
304
+ fitCamera(options?: OrbitFitCameraOptions): void;
305
305
  private _haveAttachedKeyboardEvents;
306
306
  }
307
- /**
308
- * Options for fitting the camera to the scene. Used in {@link OrbitControls.fitCamera}
309
- */
310
- export type FitCameraOptions = {
311
- /** When enabled debug rendering will be shown */
312
- debug?: boolean;
313
- /**
314
- * The objects to fit the camera to. If not provided the scene children will be used
315
- */
316
- objects?: Object3D[] | Object3D;
317
- /** If true the camera will move immediately to the new position, otherwise it will lerp
318
- * @default false
319
- */
307
+ type OrbitFitCameraOptions = FitCameraOptions & {
320
308
  immediate?: boolean;
321
- /** Fit offset: A factor to multiply the distance to the objects by
322
- * @default 1.1
323
- */
324
- fitOffset?: number;
325
- /** The direction from which the camera should be fitted in worldspace. If not defined the current camera's position will be used */
326
- fitDirection?: Vector3Like;
327
- /** If set to "y" the camera will be centered in the y axis */
328
- centerCamera?: "none" | "y";
329
- /** Set to 'auto' to update the camera near or far plane based on the fitted-objects bounds */
330
- cameraNearFar?: "keep" | "auto";
331
- /**
332
- * Offset the camera position in world space
333
- */
334
- cameraOffset?: Partial<Vector3Like>;
335
- /**
336
- * Offset the camera position relative to the size of the objects being focused on (e.g. x: 0.5).
337
- * Value range: -1 to 1
338
- */
339
- relativeCameraOffset?: Partial<Vector3Like>;
340
- /**
341
- * Offset the camera target position in world space
342
- */
343
- targetOffset?: Partial<Vector3Like>;
344
- /**
345
- * Offset the camera target position relative to the size of the objects being focused on.
346
- * Value range: -1 to 1
347
- */
348
- relativeTargetOffset?: Partial<Vector3Like>;
349
- /**
350
- * Field of view (FOV) for the camera
351
- */
352
- fov?: number;
353
309
  };
310
+ export {};
@@ -7,17 +7,17 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  import { Camera as Camera3, Object3D, PerspectiveCamera, Ray, Vector2, Vector3 } from "three";
8
8
  import { OrbitControls as ThreeOrbitControls } from "three/examples/jsm/controls/OrbitControls.js";
9
9
  import { isDevEnvironment } from "../engine/debug/index.js";
10
+ import { fitCamera } from "../engine/engine_camera.fit.js";
10
11
  import { setCameraController } from "../engine/engine_camera.js";
11
12
  import { Gizmos } from "../engine/engine_gizmos.js";
12
13
  import { InputEventQueue } from "../engine/engine_input.js";
13
14
  import { Mathf } from "../engine/engine_math.js";
14
15
  import { RaycastOptions } from "../engine/engine_physics.js";
15
16
  import { serializable } from "../engine/engine_serialization_decorator.js";
16
- import { getBoundingBox, getTempVector, getWorldPosition } from "../engine/engine_three_utils.js";
17
+ import { getTempVector, getWorldPosition } from "../engine/engine_three_utils.js";
17
18
  import { DeviceUtilities, getParam } from "../engine/engine_utils.js";
18
19
  import { Camera } from "./Camera.js";
19
20
  import { Behaviour, GameObject } from "./Component.js";
20
- import { GroundProjectedEnv } from "./GroundProjection.js";
21
21
  import { LookAtConstraint } from "./LookAtConstraint.js";
22
22
  import { SyncedTransform } from "./SyncedTransform.js";
23
23
  import { EventSystem, EventSystemEvents } from "./ui/EventSystem.js";
@@ -285,6 +285,9 @@ export class OrbitControls extends Behaviour {
285
285
  console.debug("OrbitControls", this);
286
286
  this._didSetTarget = 0;
287
287
  this._startedListeningToKeyEvents = false;
288
+ if (this.context.domElement.cameraControls === false) {
289
+ this.enabled = false;
290
+ }
288
291
  }
289
292
  /** @internal */
290
293
  start() {
@@ -413,10 +416,13 @@ export class OrbitControls extends Behaviour {
413
416
  this._lastTimeClickOnBackground = this.context.time.time;
414
417
  if (this.clickBackgroundToFitScene <= 1 || dt < this.clickBackgroundToFitScene * .15) {
415
418
  this._clickOnBackgroundCount += 1;
416
- if (this._clickOnBackgroundCount >= this.clickBackgroundToFitScene - 1)
417
- this.fitCamera(this.context.scene.children, {
418
- immediate: false
419
+ if (this._clickOnBackgroundCount >= this.clickBackgroundToFitScene - 1) {
420
+ this.autoRotate = false;
421
+ this.fitCamera({
422
+ objects: this.context.scene,
423
+ immediate: false,
419
424
  });
425
+ }
420
426
  }
421
427
  else {
422
428
  this._clickOnBackgroundCount = 0;
@@ -888,181 +894,27 @@ export class OrbitControls extends Behaviour {
888
894
  }
889
895
  return false;
890
896
  }
891
- fitCamera(objectsOrOptions, options) {
892
- if (this.context.isInXR) {
893
- // camera fitting in XR is not supported
894
- console.warn('[OrbitControls] Can not fit camera while XR session is active');
895
- return;
896
- }
897
- let objects = undefined;
898
- // If the user passed in an array as first argument
899
- if (Array.isArray(objectsOrOptions)) {
900
- objects = objectsOrOptions;
901
- }
902
- // If the user passed in an object as first argument
903
- else if (objectsOrOptions && "type" in objectsOrOptions) {
904
- objects = objectsOrOptions;
905
- }
906
- // If the user passed in an object as first argument and options as second argument
907
- else if (objectsOrOptions && typeof objectsOrOptions === "object") {
908
- if (!(objectsOrOptions instanceof Object3D) && !Array.isArray(objectsOrOptions)) {
909
- options = objectsOrOptions;
910
- objects = options.objects;
911
- }
912
- }
913
- // Ensure objects are setup correctly
914
- if (objects && !Array.isArray(objects)) {
915
- objects = [objects];
916
- }
917
- if (!Array.isArray(objects) || objects && objects.length <= 0) {
918
- objects = this.context.scene.children;
919
- }
920
- // Make sure there's anything to fit to
921
- if (!Array.isArray(objects) || objects.length <= 0) {
922
- console.warn("No objects to fit camera to...");
923
- return;
924
- }
925
- const camera = this._cameraObject;
926
- const controls = this._controls;
927
- if (!camera || !controls) {
928
- console.warn("No camera or controls found to fit camera to objects...");
929
- return;
930
- }
931
- if (!options)
932
- options = {};
933
- const { immediate = false, centerCamera, cameraNearFar = "auto", fitOffset = 1.1, fov = camera?.fov } = options;
934
- const size = new Vector3();
935
- const center = new Vector3();
936
- // TODO would be much better to calculate the bounds in camera space instead of world space -
937
- // we would get proper view-dependant fit.
938
- // Right now it's independent from where the camera is actually looking from,
939
- // and thus we're just getting some maximum that will work for sure.
940
- const box = getBoundingBox(objects, undefined, this._camera?.threeCamera?.layers);
941
- const boxCopy = box.clone();
942
- box.getCenter(center);
943
- const box_size = new Vector3();
944
- box.getSize(box_size);
945
- // project this box into camera space
946
- camera.updateMatrixWorld();
947
- box.applyMatrix4(camera.matrixWorldInverse);
948
- box.getSize(size);
949
- box.setFromCenterAndSize(center, size);
950
- if (Number.isNaN(size.x) || Number.isNaN(size.y) || Number.isNaN(size.z)) {
951
- console.warn("Camera fit size resultet in NaN", camera, box, [...objects]);
952
- return;
953
- }
954
- if (size.length() <= 0.0000000001) {
955
- if (debugCameraFit)
956
- console.warn("Camera fit size is zero", box, [...objects]);
897
+ // Adapted from https://discourse.threejs.org/t/camera-zoom-to-fit-object/936/24
898
+ // Slower but better implementation that takes bones and exact vertex positions into account: https://github.com/google/model-viewer/blob/04e900c5027de8c5306fe1fe9627707f42811b05/packages/model-viewer/src/three-components/ModelScene.ts#L321
899
+ /**
900
+ * Fits the camera to show the objects provided (defaults to the scene if no objects are passed in)
901
+ */
902
+ fitCamera(options) {
903
+ const res = fitCamera({
904
+ ...options,
905
+ autoApply: false,
906
+ context: this.context,
907
+ camera: this._cameraObject,
908
+ currentZoom: this._controls?.getDistance() || undefined,
909
+ minZoom: this.minZoom,
910
+ maxZoom: this.maxZoom,
911
+ });
912
+ if (!res)
957
913
  return;
958
- }
959
- const verticalFov = fov;
960
- const horizontalFov = 2 * Math.atan(Math.tan(verticalFov * Math.PI / 360 / 2) * camera.aspect) / Math.PI * 360;
961
- const fitHeightDistance = size.y / (2 * Math.atan(Math.PI * verticalFov / 360));
962
- const fitWidthDistance = size.x / (2 * Math.atan(Math.PI * horizontalFov / 360));
963
- const distance = fitOffset * Math.max(fitHeightDistance, fitWidthDistance) + size.z / 2;
964
- if (debugCameraFit) {
965
- console.log("Fit camera to objects", { fitHeightDistance, fitWidthDistance, distance, verticalFov, horizontalFov });
966
- }
967
- this.maxZoom = distance * 10;
968
- this.minZoom = distance * 0.01;
969
- const verticalOffset = 0.05;
970
- const lookAt = center.clone();
971
- lookAt.y -= size.y * verticalOffset;
972
- if (options.targetOffset) {
973
- if (options.targetOffset.x !== undefined)
974
- lookAt.x += options.targetOffset.x;
975
- if (options.targetOffset.y !== undefined)
976
- lookAt.y += options.targetOffset.y;
977
- if (options.targetOffset.z !== undefined)
978
- lookAt.z += options.targetOffset.z;
979
- }
980
- if (options.relativeTargetOffset) {
981
- if (options.relativeTargetOffset.x !== undefined)
982
- lookAt.x += options.relativeTargetOffset.x * size.x;
983
- if (options.relativeTargetOffset.y !== undefined)
984
- lookAt.y += options.relativeTargetOffset.y * size.y;
985
- if (options.relativeTargetOffset.z !== undefined)
986
- lookAt.z += options.relativeTargetOffset.z * size.z;
987
- }
988
- this.setLookTargetPosition(lookAt, immediate);
989
- this.setFieldOfView(options.fov, immediate);
990
- if (cameraNearFar == undefined || cameraNearFar == "auto") {
991
- // Check if the scene has a GroundProjectedEnv and include the scale to the far plane so that it doesnt cut off
992
- const groundprojection = GameObject.findObjectOfType(GroundProjectedEnv);
993
- const groundProjectionRadius = groundprojection ? groundprojection.radius : 0;
994
- const boundsMax = Math.max(box_size.x, box_size.y, box_size.z, groundProjectionRadius);
995
- // TODO: this doesnt take the Camera component nearClipPlane into account
996
- camera.near = (distance / 100);
997
- camera.far = boundsMax + distance * 10;
998
- camera.updateProjectionMatrix();
999
- // adjust maxZoom so that the ground projection radius is always inside
1000
- if (groundprojection) {
1001
- this.maxZoom = Math.max(Math.min(this.maxZoom, groundProjectionRadius * 0.5), distance);
1002
- }
1003
- }
1004
- // ensure we're not clipping out of the current zoom level just because we're fitting
1005
- const currentZoom = controls.getDistance();
1006
- if (currentZoom < this.minZoom)
1007
- this.minZoom = currentZoom * 0.9;
1008
- if (currentZoom > this.maxZoom)
1009
- this.maxZoom = currentZoom * 1.1;
1010
- const direction = center.clone();
1011
- if (options.fitDirection) {
1012
- direction.sub(new Vector3().copy(options.fitDirection).multiplyScalar(1_000_000));
1013
- }
1014
- else {
1015
- direction.sub(camera.worldPosition);
1016
- }
1017
- if (centerCamera === "y")
1018
- direction.y = 0;
1019
- direction.normalize();
1020
- direction.multiplyScalar(distance);
1021
- if (centerCamera === "y")
1022
- direction.y += -verticalOffset * 4 * distance;
1023
- let cameraLocalPosition = center.clone().sub(direction);
1024
- if (options.cameraOffset) {
1025
- if (options.cameraOffset.x !== undefined)
1026
- cameraLocalPosition.x += options.cameraOffset.x;
1027
- if (options.cameraOffset.y !== undefined)
1028
- cameraLocalPosition.y += options.cameraOffset.y;
1029
- if (options.cameraOffset.z !== undefined)
1030
- cameraLocalPosition.z += options.cameraOffset.z;
1031
- }
1032
- if (options.relativeCameraOffset) {
1033
- if (options.relativeCameraOffset.x !== undefined)
1034
- cameraLocalPosition.x += options.relativeCameraOffset.x * size.x;
1035
- if (options.relativeCameraOffset.y !== undefined)
1036
- cameraLocalPosition.y += options.relativeCameraOffset.y * size.y;
1037
- if (options.relativeCameraOffset.z !== undefined)
1038
- cameraLocalPosition.z += options.relativeCameraOffset.z * size.z;
1039
- }
1040
- if (camera.parent) {
1041
- cameraLocalPosition = camera.parent.worldToLocal(cameraLocalPosition);
1042
- }
1043
- this.setCameraTargetPosition(cameraLocalPosition, immediate);
1044
- if (debugCameraFit || options.debug) {
1045
- Gizmos.DrawWireBox3(box, 0xffff33, 10);
1046
- Gizmos.DrawWireBox3(boxCopy, 0x00ff00, 10);
1047
- if (!this._haveAttachedKeyboardEvents && debugCameraFit) {
1048
- this._haveAttachedKeyboardEvents = true;
1049
- document.body.addEventListener("keydown", (e) => {
1050
- if (e.code === "KeyF") {
1051
- // random fov for easier debugging of fov-based fitting
1052
- let fov = undefined;
1053
- if (this._cameraObject instanceof PerspectiveCamera)
1054
- fov = (Math.random() * Math.random()) * 170 + 10;
1055
- this.fitCamera({ objects, fitOffset, immediate: false, fov });
1056
- }
1057
- if (e.code === "KeyV") {
1058
- if (this._cameraObject instanceof PerspectiveCamera)
1059
- this._cameraObject.fov = 60;
1060
- }
1061
- });
1062
- }
1063
- }
914
+ this.setLookTargetPosition(res.lookAt, options?.immediate || false);
915
+ this.setCameraTargetPosition(res.position, options?.immediate || false);
916
+ this.setFieldOfView(options?.fov, options?.immediate || false);
1064
917
  this.onBeforeRender();
1065
- // controls.update(); // this is not enough when calling fitCamera({immediate:true}) in an interval
1066
918
  }
1067
919
  _haveAttachedKeyboardEvents = false;
1068
920
  }