scene introduction

This commit is contained in:
2025-11-08 11:51:15 +02:00
parent 49dc4e9f7c
commit 168fb5b770
9 changed files with 46 additions and 30 deletions
+11 -4
View File
@@ -1,4 +1,5 @@
import { InteractiveObject } from '@/components/InteractiveObjects/InteractiveObject';
import { VideoPlayer } from '@/components/InteractiveObjects/VideoPlayer';
import { GameEngine } from '@/lib/GameEngine';
import { Hero } from '@/lib/Hero';
import { autoScale } from '@/lib/MeshUtils';
@@ -98,7 +99,7 @@ export default {
async expandScenarioData(scene){
const promises = [];
['environment', 'scene'].filter(e=>scene.data[e]).forEach(e=>{
['environment', 'scene', 'intro'].filter(e=>scene.data[e]).forEach(e=>{
promises.push(this.$api.gameObject.load(scene.data[e]).then(r=>scene.data['$'+e] = r.data))
})
@@ -124,13 +125,19 @@ export default {
}
if (this.scene.data.$scene){
let env = await gameEngine.load(this.scene.data.$scene.asset.name);
//console.log('ENV', env)
this.setObjectAttributes(l, this.scene.data, env.scene, env, 100);
gameEngine.activeObjects.add(env.scene);
}
if (this.scene.data.$intro && this.env == 'GamePlaying'){
let intro = await new VideoPlayer(gameEngine, this.scene.data.$intro.asset.name, gameEngine.assetPath);
gameEngine.activeObjects.add(intro.object);
intro.video.addEventListener('pause',()=>{
intro.object.removeFromParent();
});
intro.video.play();
}
for (let i of this.scene.data.items || []) {
let io = new InteractiveObject(gameEngine, i.data)
await io.ready;
let io = await new InteractiveObject(gameEngine, i.data)
//let gltf = await gameEngine.load(`/asset/default/${i.data.$go.asset.name}`);
//console.log(i.data, io.object)