@xviewer.js/core 1.0.0-alpha.34 → 1.0.0-alpha.35
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/dist/main.js +205 -110
- package/dist/main.js.map +1 -1
- package/dist/module.js +206 -111
- package/dist/module.js.map +1 -1
- package/package.json +1 -1
- package/types/cinestation/FreelookVirtualCamera.d.ts +28 -14
- package/types/cinestation/VirtualCamera.d.ts +7 -5
- package/types/tween/Tween.d.ts +1 -1
package/dist/module.js
CHANGED
|
@@ -3,7 +3,7 @@ import { FBXLoader } from 'three/examples/jsm/loaders/FBXLoader.js';
|
|
|
3
3
|
import { GLTFLoader } from 'three/examples/jsm/loaders/GLTFLoader.js';
|
|
4
4
|
import { DRACOLoader } from 'three/examples/jsm/loaders/DRACOLoader.js';
|
|
5
5
|
import { MeshoptDecoder } from 'three/examples/jsm/libs/meshopt_decoder.module.js';
|
|
6
|
-
import { EquirectangularReflectionMapping, FileLoader, TextureLoader, SRGBColorSpace, MathUtils, Vector3, Quaternion, Raycaster, Vector2, LinearInterpolant, Spherical,
|
|
6
|
+
import { EquirectangularReflectionMapping, FileLoader, TextureLoader, SRGBColorSpace, MathUtils, Vector3, Quaternion, Raycaster, Vector2, LinearInterpolant, Spherical, Mesh, BoxGeometry, SphereGeometry, PlaneGeometry, Plane as Plane$1, Matrix4, Vector4, PerspectiveCamera, WebGLRenderTarget, HalfFloatType, LinearMipMapLinearFilter, LinearFilter, ShaderMaterial, UniformsUtils, Color, Scene, OrthographicCamera, NoBlending, AdditiveBlending, FloatType, UnsignedByteType, BufferGeometry, Float32BufferAttribute, Object3D, ClampToEdgeWrapping, NearestFilter, LinearSRGBColorSpace, WebGLCubeRenderTarget, DataTexture, RGBAFormat, UVMapping, WebGLRenderer, PCFSoftShadowMap, LoadingManager, LinearToneMapping, PMREMGenerator, MeshBasicMaterial, CubeCamera, Box3Helper, Box3, ShaderLib, ShaderChunk } from 'three';
|
|
7
7
|
import { RGBELoader } from 'three/examples/jsm/loaders/RGBELoader.js';
|
|
8
8
|
|
|
9
9
|
class EventEmitter {
|
|
@@ -704,7 +704,6 @@ class Tween {
|
|
|
704
704
|
union(headTween, tailTween) {
|
|
705
705
|
this._headTween = headTween;
|
|
706
706
|
this._tailTween = tailTween.chain(this);
|
|
707
|
-
this._headStart = true;
|
|
708
707
|
return this;
|
|
709
708
|
}
|
|
710
709
|
repeat(times = 0) {
|
|
@@ -801,11 +800,13 @@ class Tween {
|
|
|
801
800
|
if (this._onFinishCallback) {
|
|
802
801
|
this._onFinishCallback(this._object);
|
|
803
802
|
}
|
|
804
|
-
if (this._headTween
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
803
|
+
if (this._headTween) {
|
|
804
|
+
if (this._headTweenStartFired === false) {
|
|
805
|
+
this._headTweenStartFired = true;
|
|
806
|
+
this._headTween.start(this._startTime + this._duration);
|
|
807
|
+
this._isPlaying = false;
|
|
808
|
+
return false;
|
|
809
|
+
}
|
|
809
810
|
}
|
|
810
811
|
}
|
|
811
812
|
const status = this._calculateCompletionStatus(elapsedTime, durationAndDelay);
|
|
@@ -828,7 +829,7 @@ class Tween {
|
|
|
828
829
|
this._onRepeatCallback(this._object);
|
|
829
830
|
}
|
|
830
831
|
if (this._headTween) {
|
|
831
|
-
this.
|
|
832
|
+
this._headTweenStartFired = false;
|
|
832
833
|
this._initialRepeat = this._repeat;
|
|
833
834
|
}
|
|
834
835
|
this._onEveryStartCallbackFired = false;
|
|
@@ -971,7 +972,7 @@ class Tween {
|
|
|
971
972
|
this._propertiesAreSetUp = false;
|
|
972
973
|
this._headTween = null;
|
|
973
974
|
this._tailTween = null;
|
|
974
|
-
this.
|
|
975
|
+
this._headTweenStartFired = false;
|
|
975
976
|
this._goToEnd = false;
|
|
976
977
|
}
|
|
977
978
|
}
|
|
@@ -1440,13 +1441,13 @@ class CinestationBrain extends Component {
|
|
|
1440
1441
|
}
|
|
1441
1442
|
_lerpToMainCamera(vcam, t) {
|
|
1442
1443
|
const from = this.node, to = vcam;
|
|
1443
|
-
const {
|
|
1444
|
-
const isLensChanged = from.fov != fov || from.near != near || from.far != far;
|
|
1444
|
+
const { lens, finalPosition, finalRotation } = to;
|
|
1445
|
+
const isLensChanged = from.fov != lens.fov || from.near != lens.near || from.far != lens.far;
|
|
1445
1446
|
from.position.lerp(finalPosition, t);
|
|
1446
1447
|
from.quaternion.slerp(finalRotation, t);
|
|
1447
|
-
from.fov = lerp$1(from.fov, fov, t);
|
|
1448
|
-
from.near = near;
|
|
1449
|
-
from.far = far;
|
|
1448
|
+
from.fov = lerp$1(from.fov, lens.fov, t);
|
|
1449
|
+
from.near = lens.near;
|
|
1450
|
+
from.far = lens.far;
|
|
1450
1451
|
if (isLensChanged) {
|
|
1451
1452
|
from.updateProjectionMatrix();
|
|
1452
1453
|
}
|
|
@@ -1464,6 +1465,28 @@ __decorate([
|
|
|
1464
1465
|
property
|
|
1465
1466
|
], CinestationBrain.prototype, "brainBlend", void 0);
|
|
1466
1467
|
|
|
1468
|
+
class Lens {
|
|
1469
|
+
constructor(){
|
|
1470
|
+
this.fov = 45;
|
|
1471
|
+
this.near = 0.1;
|
|
1472
|
+
this.far = 1000;
|
|
1473
|
+
}
|
|
1474
|
+
}
|
|
1475
|
+
__decorate([
|
|
1476
|
+
property({
|
|
1477
|
+
dir: "lens"
|
|
1478
|
+
})
|
|
1479
|
+
], Lens.prototype, "fov", void 0);
|
|
1480
|
+
__decorate([
|
|
1481
|
+
property({
|
|
1482
|
+
dir: "lens"
|
|
1483
|
+
})
|
|
1484
|
+
], Lens.prototype, "near", void 0);
|
|
1485
|
+
__decorate([
|
|
1486
|
+
property({
|
|
1487
|
+
dir: "lens"
|
|
1488
|
+
})
|
|
1489
|
+
], Lens.prototype, "far", void 0);
|
|
1467
1490
|
class VirtualCamera extends Component {
|
|
1468
1491
|
get finalPosition() {
|
|
1469
1492
|
return this._finalPosition.copy(this.node.position).add(this.correctPosition);
|
|
@@ -1474,9 +1497,9 @@ class VirtualCamera extends Component {
|
|
|
1474
1497
|
onLoad() {
|
|
1475
1498
|
this.node.isCamera = true;
|
|
1476
1499
|
const camera = this.viewer.camera;
|
|
1477
|
-
this.fov = camera.fov;
|
|
1478
|
-
this.near = camera.near;
|
|
1479
|
-
this.far = camera.far;
|
|
1500
|
+
this.lens.fov = camera.fov;
|
|
1501
|
+
this.lens.near = camera.near;
|
|
1502
|
+
this.lens.far = camera.far;
|
|
1480
1503
|
this.node.position.set(0, 0, 4);
|
|
1481
1504
|
this.brain = this.viewer.getComponent(camera, CinestationBrain, true);
|
|
1482
1505
|
this.brain.addCamera(this);
|
|
@@ -1489,30 +1512,14 @@ class VirtualCamera extends Component {
|
|
|
1489
1512
|
this._finalPosition = new Vector3();
|
|
1490
1513
|
this._finalRotation = new Quaternion();
|
|
1491
1514
|
this.priority = 10;
|
|
1492
|
-
this.
|
|
1493
|
-
this.follow = null;
|
|
1494
|
-
this.fov = 45;
|
|
1495
|
-
this.near = 0.1;
|
|
1496
|
-
this.far = 1000;
|
|
1515
|
+
this.lens = new Lens();
|
|
1497
1516
|
this.correctPosition = new Vector3();
|
|
1498
1517
|
this.correctRotation = new Quaternion();
|
|
1499
1518
|
}
|
|
1500
1519
|
}
|
|
1501
1520
|
__decorate([
|
|
1502
|
-
property
|
|
1503
|
-
|
|
1504
|
-
})
|
|
1505
|
-
], VirtualCamera.prototype, "fov", void 0);
|
|
1506
|
-
__decorate([
|
|
1507
|
-
property({
|
|
1508
|
-
dir: "lens"
|
|
1509
|
-
})
|
|
1510
|
-
], VirtualCamera.prototype, "near", void 0);
|
|
1511
|
-
__decorate([
|
|
1512
|
-
property({
|
|
1513
|
-
dir: "lens"
|
|
1514
|
-
})
|
|
1515
|
-
], VirtualCamera.prototype, "far", void 0);
|
|
1521
|
+
property
|
|
1522
|
+
], VirtualCamera.prototype, "lens", void 0);
|
|
1516
1523
|
|
|
1517
1524
|
const PressState = {
|
|
1518
1525
|
NONE: 1 << 0,
|
|
@@ -2609,16 +2616,39 @@ Perlin._Permutation = [
|
|
|
2609
2616
|
];
|
|
2610
2617
|
|
|
2611
2618
|
const { clamp, degToRad } = MathUtils;
|
|
2612
|
-
const { abs, tan } = Math;
|
|
2619
|
+
const { abs, tan, PI } = Math;
|
|
2620
|
+
const PI2 = PI * 2;
|
|
2621
|
+
const ESP = 0.001;
|
|
2613
2622
|
class FreelookVirtualCamera extends VirtualCamera {
|
|
2614
|
-
|
|
2615
|
-
|
|
2616
|
-
|
|
2617
|
-
|
|
2618
|
-
|
|
2619
|
-
|
|
2620
|
-
|
|
2621
|
-
|
|
2623
|
+
get lookAt() {
|
|
2624
|
+
return this._lookAt;
|
|
2625
|
+
}
|
|
2626
|
+
set lookAt(v) {
|
|
2627
|
+
this._lookAt = this._targetLookAt = v;
|
|
2628
|
+
}
|
|
2629
|
+
get springLength() {
|
|
2630
|
+
return this._spherical.radius;
|
|
2631
|
+
}
|
|
2632
|
+
set springLength(v) {
|
|
2633
|
+
this._spherical.radius = this._targetSpringLength = v;
|
|
2634
|
+
}
|
|
2635
|
+
get theta() {
|
|
2636
|
+
return this._spherical.theta;
|
|
2637
|
+
}
|
|
2638
|
+
set theta(v) {
|
|
2639
|
+
this._spherical.theta = this._targetTheta = v;
|
|
2640
|
+
}
|
|
2641
|
+
get phi() {
|
|
2642
|
+
return this._spherical.phi;
|
|
2643
|
+
}
|
|
2644
|
+
set phi(v) {
|
|
2645
|
+
this._spherical.phi = this._targetPhi = v;
|
|
2646
|
+
}
|
|
2647
|
+
get fov() {
|
|
2648
|
+
return this.lens.fov;
|
|
2649
|
+
}
|
|
2650
|
+
set fov(v) {
|
|
2651
|
+
this.lens.fov = this._targetFov = v;
|
|
2622
2652
|
}
|
|
2623
2653
|
onEnable() {
|
|
2624
2654
|
this.viewer.on(DeviceInput.POINTER_DOWN, this._onPointerDown, this);
|
|
@@ -2640,10 +2670,7 @@ class FreelookVirtualCamera extends VirtualCamera {
|
|
|
2640
2670
|
reset() {
|
|
2641
2671
|
this._button = -1;
|
|
2642
2672
|
this._touchID = -1;
|
|
2643
|
-
this._setSpherical(this.node.position, this.
|
|
2644
|
-
}
|
|
2645
|
-
get lookAtPosition() {
|
|
2646
|
-
return this._lookAtPosition.copy(this.lookAt.position).add(this._lookAtOffset);
|
|
2673
|
+
this._setSpherical(this.node.position, this.lookAt);
|
|
2647
2674
|
}
|
|
2648
2675
|
_setSpherical(position, lookAt) {
|
|
2649
2676
|
const { __posDelta } = FreelookVirtualCamera;
|
|
@@ -2667,12 +2694,12 @@ class FreelookVirtualCamera extends VirtualCamera {
|
|
|
2667
2694
|
switch(this._button){
|
|
2668
2695
|
case 0:
|
|
2669
2696
|
this._calculateRotatelDelta(__rotateDelta, this._preLoc0, __loc0);
|
|
2670
|
-
this.
|
|
2697
|
+
this._calculateTargetSpringArm(__rotateDelta);
|
|
2671
2698
|
break;
|
|
2672
2699
|
case 1:
|
|
2673
2700
|
case 2:
|
|
2674
2701
|
this._calculatePanDelta(__panDelta, this._preLoc0, __loc0);
|
|
2675
|
-
this.
|
|
2702
|
+
this._calculateTargetLookAt(__panDelta);
|
|
2676
2703
|
break;
|
|
2677
2704
|
}
|
|
2678
2705
|
this._preLoc0.copy(__loc0);
|
|
@@ -2680,46 +2707,44 @@ class FreelookVirtualCamera extends VirtualCamera {
|
|
|
2680
2707
|
_onMouseWheel(e) {
|
|
2681
2708
|
if (this.lookAt) {
|
|
2682
2709
|
if (e.deltaY > 0) {
|
|
2683
|
-
this.
|
|
2710
|
+
this._targetSpringLength *= this._calculateDistanceScale(1 / 0.85);
|
|
2684
2711
|
} else if (e.deltaY < 0) {
|
|
2685
|
-
this.
|
|
2712
|
+
this._targetSpringLength *= this._calculateDistanceScale(0.85);
|
|
2686
2713
|
}
|
|
2687
2714
|
}
|
|
2688
2715
|
}
|
|
2689
2716
|
_onTouchStart(e) {
|
|
2690
2717
|
if (!SystemInfo.isMobile) return;
|
|
2691
2718
|
let touches = e.touches;
|
|
2692
|
-
|
|
2693
|
-
|
|
2694
|
-
this.
|
|
2695
|
-
|
|
2696
|
-
|
|
2697
|
-
this.
|
|
2698
|
-
this._preLoc0.set(touches[rotateTouchID].pageX, touches[rotateTouchID].pageY);
|
|
2719
|
+
if (touches.length > 1) {
|
|
2720
|
+
this._preLoc0.set(touches[0].pageX, touches[0].pageY);
|
|
2721
|
+
this._preLoc1.set(touches[1].pageX, touches[1].pageY);
|
|
2722
|
+
} else if (touches.length > 0) {
|
|
2723
|
+
this._touchID = touches[0].identifier;
|
|
2724
|
+
this._preLoc0.set(touches[0].pageX, touches[0].pageY);
|
|
2699
2725
|
}
|
|
2700
2726
|
}
|
|
2701
2727
|
_onTouchMove(e) {
|
|
2702
2728
|
if (!SystemInfo.isMobile) return;
|
|
2703
2729
|
const { __loc0, __loc1, __panDelta, __rotateDelta, __preCenter, __center } = FreelookVirtualCamera;
|
|
2704
2730
|
let touches = e.touches;
|
|
2705
|
-
|
|
2706
|
-
|
|
2707
|
-
|
|
2708
|
-
__loc1.set(touches[rotateTouchID + 1].pageX, touches[rotateTouchID + 1].pageY);
|
|
2731
|
+
if (touches.length > 1) {
|
|
2732
|
+
__loc0.set(touches[0].pageX, touches[0].pageY);
|
|
2733
|
+
__loc1.set(touches[1].pageX, touches[1].pageY);
|
|
2709
2734
|
if (this.lookAt) {
|
|
2710
|
-
this.
|
|
2735
|
+
this._targetSpringLength *= this._calculateDistanceScale(this._preLoc0.distanceTo(this._preLoc1) / __loc0.distanceTo(__loc1));
|
|
2711
2736
|
}
|
|
2712
2737
|
__preCenter.copy(this._preLoc0).add(this._preLoc1).multiplyScalar(0.5);
|
|
2713
2738
|
__center.copy(__loc0).add(__loc1).multiplyScalar(0.5);
|
|
2714
2739
|
this._calculatePanDelta(__panDelta, __preCenter, __center);
|
|
2715
|
-
this.
|
|
2740
|
+
this._calculateTargetLookAt(__panDelta);
|
|
2716
2741
|
this._preLoc0.copy(__loc0);
|
|
2717
2742
|
this._preLoc1.copy(__loc1);
|
|
2718
|
-
} else if (touches.length >
|
|
2719
|
-
if (this._touchID === touches[
|
|
2720
|
-
__loc0.set(touches[
|
|
2743
|
+
} else if (touches.length > 0) {
|
|
2744
|
+
if (this._touchID === touches[0].identifier) {
|
|
2745
|
+
__loc0.set(touches[0].pageX, touches[0].pageY);
|
|
2721
2746
|
this._calculateRotatelDelta(__rotateDelta, this._preLoc0, __loc0);
|
|
2722
|
-
this.
|
|
2747
|
+
this._calculateTargetSpringArm(__rotateDelta);
|
|
2723
2748
|
this._preLoc0.copy(__loc0);
|
|
2724
2749
|
}
|
|
2725
2750
|
}
|
|
@@ -2756,7 +2781,7 @@ class FreelookVirtualCamera extends VirtualCamera {
|
|
|
2756
2781
|
}
|
|
2757
2782
|
return out;
|
|
2758
2783
|
}
|
|
2759
|
-
|
|
2784
|
+
_calculateTargetLookAt(panDelta) {
|
|
2760
2785
|
const { __xAxis, __yAxis, __posDelta } = FreelookVirtualCamera;
|
|
2761
2786
|
__xAxis.setFromMatrixColumn(this.node.matrix, 0);
|
|
2762
2787
|
__yAxis.setFromMatrixColumn(this.node.matrix, 1);
|
|
@@ -2764,46 +2789,43 @@ class FreelookVirtualCamera extends VirtualCamera {
|
|
|
2764
2789
|
__yAxis.y = 0;
|
|
2765
2790
|
__yAxis.normalize();
|
|
2766
2791
|
}
|
|
2767
|
-
__posDelta.copy(this.node.position).sub(this.
|
|
2792
|
+
__posDelta.copy(this.node.position).sub(this.lookAt);
|
|
2768
2793
|
const length = __posDelta.length() * 2 * tan(degToRad(this.fov * 0.5));
|
|
2769
|
-
|
|
2794
|
+
this._targetLookAt.sub(__xAxis.multiplyScalar(panDelta.x * length)).add(__yAxis.multiplyScalar(panDelta.y * length));
|
|
2770
2795
|
}
|
|
2771
|
-
|
|
2772
|
-
const spherical = this._targetSpherical;
|
|
2796
|
+
_calculateTargetSpringArm(rotateDelta, radius) {
|
|
2773
2797
|
if (rotateDelta) {
|
|
2774
|
-
|
|
2775
|
-
|
|
2798
|
+
this._targetTheta -= rotateDelta.x;
|
|
2799
|
+
this._targetPhi += rotateDelta.y;
|
|
2776
2800
|
}
|
|
2777
2801
|
if (radius) {
|
|
2778
|
-
|
|
2802
|
+
this._targetSpringLength = radius;
|
|
2779
2803
|
}
|
|
2780
|
-
|
|
2781
|
-
|
|
2782
|
-
|
|
2783
|
-
return spherical;
|
|
2804
|
+
this._targetTheta = clamp(this._targetTheta, this.thetaMin, this.thetaMax);
|
|
2805
|
+
this._targetPhi = clamp(this._targetPhi, this.phiMin, this.phiMax);
|
|
2806
|
+
this._targetSpringLength = clamp(this._targetSpringLength, this.distanceMin, this.distanceMax);
|
|
2784
2807
|
}
|
|
2785
|
-
gotoPOI(springLength,
|
|
2808
|
+
gotoPOI({ springLength = this._targetSpringLength, theta = this._targetTheta, phi = this._targetPhi, lookAt = this.lookAt, fov = this.lens.fov, smoothing = this.smoothing }) {
|
|
2786
2809
|
this._targetFov = fov;
|
|
2787
2810
|
this._tempSmoothing = smoothing;
|
|
2788
|
-
this.
|
|
2789
|
-
|
|
2790
|
-
|
|
2791
|
-
|
|
2792
|
-
|
|
2793
|
-
|
|
2794
|
-
|
|
2795
|
-
|
|
2796
|
-
}
|
|
2811
|
+
this._targetSpringLength = springLength;
|
|
2812
|
+
this._targetPhi = phi;
|
|
2813
|
+
this._targetTheta = theta;
|
|
2814
|
+
this._calculateTargetSpringArm();
|
|
2815
|
+
const theta0 = MathUtils.euclideanModulo(this._spherical.theta, PI2);
|
|
2816
|
+
const theta1 = theta0 - PI2;
|
|
2817
|
+
this._spherical.theta = abs(theta0 - this._targetTheta) < abs(theta1 - this._targetTheta) ? theta0 : theta1;
|
|
2818
|
+
this._targetLookAt.copy(lookAt);
|
|
2797
2819
|
}
|
|
2798
2820
|
update(dt) {
|
|
2799
2821
|
const smoothing = this._tempSmoothing;
|
|
2800
|
-
this._spherical.theta = FInterpTo(this._spherical.theta, this.
|
|
2801
|
-
this._spherical.phi = FInterpTo(this._spherical.phi, this.
|
|
2802
|
-
this._spherical.radius = FInterpTo(this._spherical.radius, this.
|
|
2803
|
-
this.
|
|
2804
|
-
|
|
2805
|
-
|
|
2806
|
-
this.node.lookAt(this.
|
|
2822
|
+
this._spherical.theta = FInterpTo(this._spherical.theta, this._targetTheta, dt, smoothing);
|
|
2823
|
+
this._spherical.phi = FInterpTo(this._spherical.phi, this._targetPhi, dt, smoothing);
|
|
2824
|
+
this._spherical.radius = FInterpTo(this._spherical.radius, this._targetSpringLength, dt, smoothing);
|
|
2825
|
+
this.lens.fov = FInterpTo(this.lens.fov, this._targetFov, dt, smoothing);
|
|
2826
|
+
VInterpTo(this._lookAt, this._targetLookAt, dt, smoothing);
|
|
2827
|
+
this.node.position.setFromSpherical(this._spherical).add(this.lookAt);
|
|
2828
|
+
this.node.lookAt(this._lookAt);
|
|
2807
2829
|
}
|
|
2808
2830
|
constructor(...args){
|
|
2809
2831
|
super(...args);
|
|
@@ -2812,11 +2834,13 @@ class FreelookVirtualCamera extends VirtualCamera {
|
|
|
2812
2834
|
this._preLoc0 = new Vector2();
|
|
2813
2835
|
this._preLoc1 = new Vector2();
|
|
2814
2836
|
this._spherical = new Spherical();
|
|
2815
|
-
this.
|
|
2816
|
-
this._lookAtOffset = new Vector3();
|
|
2837
|
+
this._lookAt = new Vector3();
|
|
2817
2838
|
this._tempSmoothing = 0;
|
|
2839
|
+
this._targetTheta = 0;
|
|
2840
|
+
this._targetPhi = 0;
|
|
2841
|
+
this._targetSpringLength = 1;
|
|
2818
2842
|
this._targetFov = this.fov;
|
|
2819
|
-
this.
|
|
2843
|
+
this._targetLookAt = new Vector3();
|
|
2820
2844
|
this._targetSpherical = new Spherical();
|
|
2821
2845
|
this.forbidX = false;
|
|
2822
2846
|
this.forbidY = false;
|
|
@@ -2824,18 +2848,15 @@ class FreelookVirtualCamera extends VirtualCamera {
|
|
|
2824
2848
|
this.forbidPanX = false;
|
|
2825
2849
|
this.forbidPanY = false;
|
|
2826
2850
|
this.forbitPanOffsetY = false;
|
|
2851
|
+
this.panSpeed = 1;
|
|
2852
|
+
this.rotateSpeed = 1;
|
|
2827
2853
|
this.smoothing = 5;
|
|
2828
|
-
this.
|
|
2829
|
-
this.
|
|
2830
|
-
this.panScale = new Vector3(1, 1, 1);
|
|
2831
|
-
this.phiMin = 0.001;
|
|
2832
|
-
this.phiMax = Math.PI - 0.001;
|
|
2854
|
+
this.phiMin = ESP;
|
|
2855
|
+
this.phiMax = Math.PI - ESP;
|
|
2833
2856
|
this.thetaMin = -Infinity;
|
|
2834
2857
|
this.thetaMax = Infinity;
|
|
2835
|
-
this.distanceMin =
|
|
2858
|
+
this.distanceMin = ESP;
|
|
2836
2859
|
this.distanceMax = Infinity;
|
|
2837
|
-
this.rotateTouchID = 0;
|
|
2838
|
-
this.lookAt = new Object3D();
|
|
2839
2860
|
}
|
|
2840
2861
|
}
|
|
2841
2862
|
FreelookVirtualCamera.__loc0 = new Vector2();
|
|
@@ -2879,9 +2900,83 @@ __decorate([
|
|
|
2879
2900
|
dir: "set"
|
|
2880
2901
|
})
|
|
2881
2902
|
], FreelookVirtualCamera.prototype, "forbitPanOffsetY", void 0);
|
|
2903
|
+
__decorate([
|
|
2904
|
+
property({
|
|
2905
|
+
dir: "set",
|
|
2906
|
+
step: 0.01
|
|
2907
|
+
})
|
|
2908
|
+
], FreelookVirtualCamera.prototype, "panSpeed", void 0);
|
|
2909
|
+
__decorate([
|
|
2910
|
+
property({
|
|
2911
|
+
dir: "set",
|
|
2912
|
+
step: 0.01
|
|
2913
|
+
})
|
|
2914
|
+
], FreelookVirtualCamera.prototype, "rotateSpeed", void 0);
|
|
2915
|
+
__decorate([
|
|
2916
|
+
property({
|
|
2917
|
+
dir: "set",
|
|
2918
|
+
step: 0.01
|
|
2919
|
+
})
|
|
2920
|
+
], FreelookVirtualCamera.prototype, "smoothing", void 0);
|
|
2921
|
+
__decorate([
|
|
2922
|
+
property({
|
|
2923
|
+
dir: "set",
|
|
2924
|
+
step: 0.01
|
|
2925
|
+
})
|
|
2926
|
+
], FreelookVirtualCamera.prototype, "phiMin", void 0);
|
|
2927
|
+
__decorate([
|
|
2928
|
+
property({
|
|
2929
|
+
dir: "set",
|
|
2930
|
+
step: 0.01
|
|
2931
|
+
})
|
|
2932
|
+
], FreelookVirtualCamera.prototype, "phiMax", void 0);
|
|
2933
|
+
__decorate([
|
|
2934
|
+
property({
|
|
2935
|
+
dir: "set",
|
|
2936
|
+
step: 0.01
|
|
2937
|
+
})
|
|
2938
|
+
], FreelookVirtualCamera.prototype, "thetaMin", void 0);
|
|
2939
|
+
__decorate([
|
|
2940
|
+
property({
|
|
2941
|
+
dir: "set",
|
|
2942
|
+
step: 0.01
|
|
2943
|
+
})
|
|
2944
|
+
], FreelookVirtualCamera.prototype, "thetaMax", void 0);
|
|
2945
|
+
__decorate([
|
|
2946
|
+
property({
|
|
2947
|
+
dir: "set",
|
|
2948
|
+
step: 0.01
|
|
2949
|
+
})
|
|
2950
|
+
], FreelookVirtualCamera.prototype, "distanceMin", void 0);
|
|
2951
|
+
__decorate([
|
|
2952
|
+
property({
|
|
2953
|
+
dir: "set",
|
|
2954
|
+
step: 0.01
|
|
2955
|
+
})
|
|
2956
|
+
], FreelookVirtualCamera.prototype, "distanceMax", void 0);
|
|
2957
|
+
__decorate([
|
|
2958
|
+
property({
|
|
2959
|
+
step: 0.01
|
|
2960
|
+
})
|
|
2961
|
+
], FreelookVirtualCamera.prototype, "lookAt", null);
|
|
2962
|
+
__decorate([
|
|
2963
|
+
property({
|
|
2964
|
+
step: 0.01
|
|
2965
|
+
})
|
|
2966
|
+
], FreelookVirtualCamera.prototype, "springLength", null);
|
|
2967
|
+
__decorate([
|
|
2968
|
+
property({
|
|
2969
|
+
step: 0.01
|
|
2970
|
+
})
|
|
2971
|
+
], FreelookVirtualCamera.prototype, "theta", null);
|
|
2972
|
+
__decorate([
|
|
2973
|
+
property({
|
|
2974
|
+
step: 0.01
|
|
2975
|
+
})
|
|
2976
|
+
], FreelookVirtualCamera.prototype, "phi", null);
|
|
2882
2977
|
__decorate([
|
|
2883
2978
|
property
|
|
2884
|
-
], FreelookVirtualCamera.prototype, "
|
|
2979
|
+
], FreelookVirtualCamera.prototype, "fov", null);
|
|
2885
2980
|
|
|
2886
2981
|
class Box extends Mesh {
|
|
2887
2982
|
constructor(...args){
|