three-base 2.0.35 → 2.0.37
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/ThreeBase.js +5 -6
- package/ThreeBase.ts +5 -6
- package/package.json +1 -1
package/ThreeBase.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* @Last Modified time: 2024-01-20 05:33:28
|
|
6
6
|
*/
|
|
7
7
|
import { round } from "lodash";
|
|
8
|
-
import { AxesHelper, DepthFormat, DepthTexture, EventDispatcher, GridHelper, LinearFilter,
|
|
8
|
+
import { AxesHelper, DepthFormat, DepthTexture, EventDispatcher, GridHelper, LinearFilter, MOUSE, Mesh, NoBlending, NormalBlending, OrthographicCamera, PerspectiveCamera, RGBAFormat, Scene, TOUCH, UnsignedShortType, Vector2, Vector3, WebGLRenderTarget, WebGLRenderer } from "three";
|
|
9
9
|
import { OrbitControls } from "three/examples/jsm/controls/OrbitControls.js";
|
|
10
10
|
import { degToRad, generateUUID } from "three/src/math/MathUtils";
|
|
11
11
|
import ThreeMouse from "./ThreeMouse";
|
|
@@ -74,7 +74,6 @@ export default class ThreeBase extends EventDispatcher {
|
|
|
74
74
|
this.rendererLost = false;
|
|
75
75
|
}, false);
|
|
76
76
|
renderer.localClippingEnabled = true;
|
|
77
|
-
renderer.outputColorSpace = LinearSRGBColorSpace;
|
|
78
77
|
renderer.setPixelRatio(window.devicePixelRatio);
|
|
79
78
|
renderer.autoClear = false;
|
|
80
79
|
renderer.clear();
|
|
@@ -82,9 +81,9 @@ export default class ThreeBase extends EventDispatcher {
|
|
|
82
81
|
return renderer;
|
|
83
82
|
})();
|
|
84
83
|
//透视相机
|
|
85
|
-
perspectiveCamera = new PerspectiveCamera(45, 1, 0.
|
|
84
|
+
perspectiveCamera = new PerspectiveCamera(45, 1, 0.01, 10000);
|
|
86
85
|
//正交相机
|
|
87
|
-
orthographicCamera = new OrthographicCamera(-1, 1, 1, -1, 0.
|
|
86
|
+
orthographicCamera = new OrthographicCamera(-1, 1, 1, -1, 0.01, 10000);
|
|
88
87
|
//相机的类型
|
|
89
88
|
cameraType = "perspectiveCamera";
|
|
90
89
|
setCameraType(cameraType) {
|
|
@@ -209,7 +208,7 @@ export default class ThreeBase extends EventDispatcher {
|
|
|
209
208
|
this.orthographicCamera.position
|
|
210
209
|
.set(x + 0.01, y, z + 0.01)
|
|
211
210
|
.sub(this.controls.target)
|
|
212
|
-
.setLength(
|
|
211
|
+
.setLength(5000)
|
|
213
212
|
.add(this.controls.target);
|
|
214
213
|
this.orthographicCamera.lookAt(this.controls.target);
|
|
215
214
|
this.needRender = true;
|
|
@@ -365,7 +364,7 @@ export default class ThreeBase extends EventDispatcher {
|
|
|
365
364
|
const distaned = this.perspectiveCamera.position.clone().sub(center).length();
|
|
366
365
|
const zoom = 1 / (Math.tan(degToRad(fov) / 2) * distaned);
|
|
367
366
|
this.orthographicCamera.zoom = zoom;
|
|
368
|
-
this.orthographicCamera.position.copy(this.perspectiveCamera.position.clone().sub(center)).setLength(
|
|
367
|
+
this.orthographicCamera.position.copy(this.perspectiveCamera.position.clone().sub(center)).setLength(5000).add(center);
|
|
369
368
|
}
|
|
370
369
|
else if (this.cameraType === "orthographicCamera") {
|
|
371
370
|
const { center } = this.getLookAt();
|
package/ThreeBase.ts
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
import { add, round } from "lodash";
|
|
9
|
-
import { AxesHelper, BufferGeometry, DepthFormat, DepthTexture, EventDispatcher, GridHelper, LinearFilter, LinearSRGBColorSpace, MOUSE, Mesh, MeshBasicMaterial, NoBlending, NormalBlending, Object3D, OrthographicCamera, PerspectiveCamera, RGBAFormat, Scene, TOUCH, Texture, UnsignedShortType, Vector2, Vector3, WebGLRenderTarget, WebGLRenderer } from "three";
|
|
9
|
+
import { AxesHelper, BufferGeometry, DepthFormat, DepthTexture, EventDispatcher, GridHelper, LinearFilter, LinearSRGBColorSpace, MOUSE, Mesh, MeshBasicMaterial, NoBlending, NormalBlending, Object3D, OrthographicCamera, PerspectiveCamera, RGBAFormat, SRGBColorSpace, Scene, TOUCH, Texture, UnsignedShortType, Vector2, Vector3, WebGLRenderTarget, WebGLRenderer } from "three";
|
|
10
10
|
import { OrbitControls } from "three/examples/jsm/controls/OrbitControls.js";
|
|
11
11
|
import { degToRad, generateUUID } from "three/src/math/MathUtils";
|
|
12
12
|
import ThreeMouse from "./ThreeMouse";
|
|
@@ -87,7 +87,6 @@ export default class ThreeBase extends EventDispatcher {
|
|
|
87
87
|
this.rendererLost = false;
|
|
88
88
|
}, false);
|
|
89
89
|
renderer.localClippingEnabled = true;
|
|
90
|
-
renderer.outputColorSpace = LinearSRGBColorSpace;
|
|
91
90
|
renderer.setPixelRatio(window.devicePixelRatio);
|
|
92
91
|
renderer.autoClear = false;
|
|
93
92
|
renderer.clear();
|
|
@@ -96,9 +95,9 @@ export default class ThreeBase extends EventDispatcher {
|
|
|
96
95
|
})();
|
|
97
96
|
|
|
98
97
|
//透视相机
|
|
99
|
-
perspectiveCamera = new PerspectiveCamera(45, 1, 0.
|
|
98
|
+
perspectiveCamera = new PerspectiveCamera(45, 1, 0.01, 10000);
|
|
100
99
|
//正交相机
|
|
101
|
-
orthographicCamera = new OrthographicCamera(- 1, 1, 1, - 1, 0.
|
|
100
|
+
orthographicCamera = new OrthographicCamera(- 1, 1, 1, - 1, 0.01, 10000);
|
|
102
101
|
|
|
103
102
|
//相机的类型
|
|
104
103
|
cameraType: "perspectiveCamera" | "orthographicCamera" = "perspectiveCamera";
|
|
@@ -247,7 +246,7 @@ export default class ThreeBase extends EventDispatcher {
|
|
|
247
246
|
this.orthographicCamera.position
|
|
248
247
|
.set(x + 0.01, y, z + 0.01)
|
|
249
248
|
.sub(this.controls.target)
|
|
250
|
-
.setLength(
|
|
249
|
+
.setLength(5000)
|
|
251
250
|
.add(this.controls.target)
|
|
252
251
|
this.orthographicCamera.lookAt(this.controls.target);
|
|
253
252
|
|
|
@@ -439,7 +438,7 @@ export default class ThreeBase extends EventDispatcher {
|
|
|
439
438
|
const distaned = this.perspectiveCamera.position.clone().sub(center).length();
|
|
440
439
|
const zoom = 1 / (Math.tan(degToRad(fov) / 2) * distaned);
|
|
441
440
|
this.orthographicCamera.zoom = zoom;
|
|
442
|
-
this.orthographicCamera.position.copy(this.perspectiveCamera.position.clone().sub(center)).setLength(
|
|
441
|
+
this.orthographicCamera.position.copy(this.perspectiveCamera.position.clone().sub(center)).setLength(5000).add(center);
|
|
443
442
|
} else if (this.cameraType === "orthographicCamera") {
|
|
444
443
|
const { center } = this.getLookAt();
|
|
445
444
|
const { fov } = this.perspectiveCamera;
|