This commit is contained in:
2026-03-15 15:55:15 +02:00
parent 95c878e979
commit 7e7de616f8
10 changed files with 300 additions and 183 deletions
@@ -45,8 +45,8 @@ export default{
}
},
beforeUnmount() {
gameEngine?.stop();
gameEngine?.destroy();
gameEngine?.dispose();
gameEngine = null;
},
watch:{
object(n){
@@ -72,7 +72,7 @@ export default{
methods:{
async loadAsset() {
if (this.forRendering) {
gameEngine.activeObjects.clear();
gameEngine.resetScene();
if (this.obj.type == 'panorama2d') {
await gameEngine.loadPanorama(this.obj.asset.name);
// let t = await gameEngine.loadTexture(`/asset/default/${this.obj.asset.name}`);
@@ -89,9 +89,6 @@ export default{
}));
autoScale(gltf.scene);
let bb = new gameEngine.$.Box3().setFromObject(gltf.scene);
gltf.scene.traverse(function (o) {
o.frustumCulled = false;
});
//console.log(bb)
gameEngine.camera.position.set(bb.max.x, bb.max.y, bb.max.z);
gameEngine.orbitControls.target.set((bb.max.x + bb.min.x) / 2, (bb.max.y + bb.min.y) / 2, (bb.max.z + bb.min.z) / 2)
@@ -1,4 +1,4 @@
import { TextureLoader, MeshStandardMaterial, MeshBasicMaterial, PlaneGeometry, Mesh, DoubleSide, Vector3 } from "three";
import { MeshStandardMaterial, MeshBasicMaterial, PlaneGeometry, Mesh, DoubleSide, Vector3 } from "three";
class ImageObject {
constructor(engine, obj) {
@@ -10,13 +10,13 @@ class ImageObject {
side: DoubleSide
};
if (obj.nm) {
mp.normalMap = new TextureLoader().setPath(obj.path).load(obj.nm);
mp.normalMap = engine.loadTexture(obj.nm, obj.path);
}
if (obj.em) {
mp.emissiveMap = new TextureLoader().setPath(obj.path).load(obj.em);
mp.emissiveMap = engine.loadTexture(obj.em, obj.path);
}
if (obj.am) {
mp.alphaMap = new TextureLoader().setPath(obj.path).load(obj.am);
mp.alphaMap = engine.loadTexture(obj.am, obj.path);
}
obj.material && Object.assign(mp, obj.material);
let geo = new PlaneGeometry(obj.width || 1, obj.height || 1);
@@ -1,4 +1,4 @@
import { MeshBasicMaterial, Color, Vector3, DoubleSide } from "three";
import { MeshBasicMaterial, Color, DoubleSide } from "three";
import { Text } from "troika-three-text";
import { assignParams } from "@/lib/MeshUtils";