three-base 2.0.43 → 2.0.45
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/InstancedMeshBase.js +1 -1
- package/InstancedMeshBase.ts +1 -2
- package/MeshBase.js +1 -4
- package/MeshBase.ts +2 -6
- package/README.md +0 -2
- package/ThreeBase.d.ts +1 -1
- package/ThreeBase.js +2 -3
- package/ThreeBase.ts +3 -4
- package/package.json +1 -1
package/InstancedMeshBase.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @Author: xiaosihan
|
|
3
3
|
* @Date: 2024-02-05 09:31:57
|
|
4
4
|
* @Last Modified by: xiaosihan
|
|
5
|
-
* @Last Modified time: 2024-
|
|
5
|
+
* @Last Modified time: 2024-06-07 22:14:53
|
|
6
6
|
*/
|
|
7
7
|
import { throttle } from "lodash";
|
|
8
8
|
import { InstancedBufferAttribute, InstancedMesh, Matrix4, Object3D, Vector3 } from "three";
|
package/InstancedMeshBase.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @Author: xiaosihan
|
|
3
3
|
* @Date: 2024-02-05 09:31:57
|
|
4
4
|
* @Last Modified by: xiaosihan
|
|
5
|
-
* @Last Modified time: 2024-
|
|
5
|
+
* @Last Modified time: 2024-06-07 22:14:53
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
import { throttle } from "lodash";
|
|
@@ -169,7 +169,6 @@ export default class InstancedMeshBase extends MeshBase {
|
|
|
169
169
|
//初始实例矩阵的数量
|
|
170
170
|
setCount(count: number = 0) {
|
|
171
171
|
|
|
172
|
-
|
|
173
172
|
const instanceMatrix = new InstancedBufferAttribute(new Float32Array(count * 16), 16);
|
|
174
173
|
const instanceColor = new InstancedBufferAttribute(new Float32Array(count * 3).fill(1), 3);
|
|
175
174
|
|
package/MeshBase.js
CHANGED
|
@@ -48,9 +48,6 @@ export default class MeshBase extends Group {
|
|
|
48
48
|
else {
|
|
49
49
|
console.error(`${url},不支持的格式`);
|
|
50
50
|
}
|
|
51
|
-
threeUtils.center(modal);
|
|
52
|
-
threeUtils.alignBottom(modal);
|
|
53
|
-
modal.updateMatrixWorld(true);
|
|
54
51
|
MeshBase.models.set(url, modal);
|
|
55
52
|
MeshBase.loadModeling.set(url, false);
|
|
56
53
|
}
|
|
@@ -79,9 +76,9 @@ export default class MeshBase extends Group {
|
|
|
79
76
|
}
|
|
80
77
|
}
|
|
81
78
|
await new Promise(resolve => requestAnimationFrame(resolve));
|
|
79
|
+
this.loaded = true;
|
|
82
80
|
// 加载完成事件
|
|
83
81
|
this.dispatchEvent({ type: "loaded" });
|
|
84
|
-
this.loaded = true;
|
|
85
82
|
}
|
|
86
83
|
// 超出绘制区域时不绘制
|
|
87
84
|
frustumCulled = false;
|
package/MeshBase.ts
CHANGED
|
@@ -60,10 +60,6 @@ export default class MeshBase extends Group {
|
|
|
60
60
|
console.error(`${url},不支持的格式`);
|
|
61
61
|
}
|
|
62
62
|
|
|
63
|
-
threeUtils.center(modal);
|
|
64
|
-
threeUtils.alignBottom(modal);
|
|
65
|
-
modal.updateMatrixWorld(true);
|
|
66
|
-
|
|
67
63
|
MeshBase.models.set(url, modal);
|
|
68
64
|
MeshBase.loadModeling.set(url, false);
|
|
69
65
|
}
|
|
@@ -100,10 +96,10 @@ export default class MeshBase extends Group {
|
|
|
100
96
|
|
|
101
97
|
await new Promise(resolve => requestAnimationFrame(resolve));
|
|
102
98
|
|
|
99
|
+
this.loaded = true;
|
|
100
|
+
|
|
103
101
|
// 加载完成事件
|
|
104
102
|
this.dispatchEvent({ type: "loaded" } as never);
|
|
105
|
-
|
|
106
|
-
this.loaded = true;
|
|
107
103
|
}
|
|
108
104
|
|
|
109
105
|
// 超出绘制区域时不绘制
|
package/README.md
CHANGED
|
@@ -4,8 +4,6 @@ import { AmbientLight, BoxGeometry, Mesh, MeshLambertMaterial, PointLight } from
|
|
|
4
4
|
import ThreeBase from "three-base";
|
|
5
5
|
import Transition from "three-base/Transition";
|
|
6
6
|
|
|
7
|
-
// 仅支持vite编译的项目安装
|
|
8
|
-
// 做项目找我 qq:389652405
|
|
9
7
|
class HomeRender extends ThreeBase {
|
|
10
8
|
|
|
11
9
|
constructor() {
|
package/ThreeBase.d.ts
CHANGED
|
@@ -52,7 +52,7 @@ export default class ThreeBase extends EventDispatcher {
|
|
|
52
52
|
needRender: boolean;
|
|
53
53
|
stopRender(): void;
|
|
54
54
|
hasStrokeOrPass(): boolean;
|
|
55
|
-
render():
|
|
55
|
+
render(): void;
|
|
56
56
|
private renderBindThis;
|
|
57
57
|
download(fileName?: string): void;
|
|
58
58
|
private _preMesh;
|
package/ThreeBase.js
CHANGED
|
@@ -355,7 +355,7 @@ export default class ThreeBase extends EventDispatcher {
|
|
|
355
355
|
// canvas 没有在页面上面的话 就停止渲染
|
|
356
356
|
if (!threeUtils.inDocument(this.renderer.domElement)) {
|
|
357
357
|
this.stopRender();
|
|
358
|
-
return
|
|
358
|
+
return;
|
|
359
359
|
}
|
|
360
360
|
//透视相机和正交相机参数的时时转换
|
|
361
361
|
if (this.cameraType === "perspectiveCamera") {
|
|
@@ -384,7 +384,7 @@ export default class ThreeBase extends EventDispatcher {
|
|
|
384
384
|
this.threeMouse.dispatchEvent();
|
|
385
385
|
// 在不自动渲染时, needRender=false 就跳过渲染
|
|
386
386
|
if (!this.autoRender && !this.needRender) {
|
|
387
|
-
return
|
|
387
|
+
return; // 标识未渲染
|
|
388
388
|
}
|
|
389
389
|
this.needRender = false;
|
|
390
390
|
if (this.controls.enabled) {
|
|
@@ -411,7 +411,6 @@ export default class ThreeBase extends EventDispatcher {
|
|
|
411
411
|
});
|
|
412
412
|
}
|
|
413
413
|
this.dispatchEvent({ type: "afterRender" });
|
|
414
|
-
return true; // 标识已渲染
|
|
415
414
|
}
|
|
416
415
|
renderBindThis = this.render.bind(this);
|
|
417
416
|
// 下载渲染图
|
package/ThreeBase.ts
CHANGED
|
@@ -424,11 +424,11 @@ export default class ThreeBase extends EventDispatcher {
|
|
|
424
424
|
}
|
|
425
425
|
|
|
426
426
|
// 渲染场景
|
|
427
|
-
render()
|
|
427
|
+
render() {
|
|
428
428
|
// canvas 没有在页面上面的话 就停止渲染
|
|
429
429
|
if (!threeUtils.inDocument(this.renderer.domElement)) {
|
|
430
430
|
this.stopRender();
|
|
431
|
-
return
|
|
431
|
+
return;
|
|
432
432
|
}
|
|
433
433
|
|
|
434
434
|
//透视相机和正交相机参数的时时转换
|
|
@@ -461,7 +461,7 @@ export default class ThreeBase extends EventDispatcher {
|
|
|
461
461
|
|
|
462
462
|
// 在不自动渲染时, needRender=false 就跳过渲染
|
|
463
463
|
if (!this.autoRender && !this.needRender) {
|
|
464
|
-
return
|
|
464
|
+
return; // 标识未渲染
|
|
465
465
|
}
|
|
466
466
|
this.needRender = false;
|
|
467
467
|
|
|
@@ -495,7 +495,6 @@ export default class ThreeBase extends EventDispatcher {
|
|
|
495
495
|
}
|
|
496
496
|
|
|
497
497
|
this.dispatchEvent({ type: "afterRender" } as never);
|
|
498
|
-
return true; // 标识已渲染
|
|
499
498
|
}
|
|
500
499
|
|
|
501
500
|
private renderBindThis = this.render.bind(this);
|