diff --git a/packages/frontend-misskey-world-engine/src/engine.ts b/packages/frontend-misskey-world-engine/src/engine.ts index 4d199b385c..35116a14e6 100644 --- a/packages/frontend-misskey-world-engine/src/engine.ts +++ b/packages/frontend-misskey-world-engine/src/engine.ts @@ -46,6 +46,7 @@ export class WorldEngine extends EngineBase<{ private show2dAvatarOnAvatar: boolean; private envManager: WorldEnvManager | null = null; private inited = false; + private isGodMode = false; constructor(options: { engine: BABYLON.WebGPUEngine; @@ -107,20 +108,24 @@ export class WorldEngine extends EngineBase<{ this.camera.maxZ = cm(1000); this.camera.fov = this.fov; this.camera.ellipsoid = new BABYLON.Vector3(cm(15), cm(65), cm(15)); - this.camera.checkCollisions = true; - this.camera.applyGravity = true; - this.camera.needMoveForGravity = true; + if (!this.isGodMode) { + this.camera.checkCollisions = true; + this.camera.applyGravity = true; + this.camera.needMoveForGravity = true; + } this.camera.inputs.clear(); if (options.useVirtualJoystick) { this.camera.inputs.add(new FreeCameraManualInput(this.scene, { - moveSensitivity: 0.015 * WORLD_SCALE, + moveSensitivity: 0.02 * WORLD_SCALE, rotationSensitivity: 0.0007, + isGodMode: this.isGodMode, })); this.camera.inertia = 0.75; } else { this.camera.inputs.add(new FreeCameraManualInput(this.scene, { - moveSensitivity: 0.002 * WORLD_SCALE, + moveSensitivity: 0.003 * WORLD_SCALE, rotationSensitivity: 0.0003, + isGodMode: this.isGodMode, })); } diff --git a/packages/frontend-misskey-world-engine/src/envs/lobby.ts b/packages/frontend-misskey-world-engine/src/envs/lobby.ts index 4657812974..92f961b618 100644 --- a/packages/frontend-misskey-world-engine/src/envs/lobby.ts +++ b/packages/frontend-misskey-world-engine/src/envs/lobby.ts @@ -333,7 +333,7 @@ export class LobbyEnvManager extends WorldEnvManager { adMesh.parent = adRoot; adMesh.position = new BABYLON.Vector3(cm(0), cm(0), cm(7500)); - const tex = new BABYLON.Texture('/client-assets/world/envs/lobby/dummy-ads/angry_ai.png', this.engine.scene); + const tex = new BABYLON.Texture('http://syu-win.local:3000/files/e67bd2ec-a217-4c17-a222-596dcdbd0e57', this.engine.scene); const adMat = new BABYLON.StandardMaterial(`ad_${j}_${i}_mat`, this.engine.scene); adMat.emissiveTexture = tex; adMat.disableLighting = true; @@ -396,11 +396,11 @@ export class LobbyEnvManager extends WorldEnvManager { const videoEl = document.createElement('video'); videoEl.crossOrigin = 'anonymous'; - videoEl.src = 'http://syu-win.localhost:3000/files/cf5bca47-8b4b-42d2-b782-0d6ca67187cf'; + //videoEl.src = 'http://syu-win.local:3000/files/931c02c3-6238-4c29-9371-06bab78950bb'; - //const hls = new Hls(); - //hls.loadSource('https://tvs.misskey.io/official/hq-beta/ts:abr.m3u8'); - //hls.attachMedia(videoEl); + const hls = new Hls(); + hls.loadSource('https://tvs.misskey.io/official/hq-beta/ts:abr.m3u8'); + hls.attachMedia(videoEl); this.timer.setTimeout(() => { const tex = new BABYLON.VideoTexture('', videoEl, this.engine.scene, true, true); diff --git a/packages/frontend-misskey-world-engine/src/utility.ts b/packages/frontend-misskey-world-engine/src/utility.ts index 198b8fb2dd..3fdfc43073 100644 --- a/packages/frontend-misskey-world-engine/src/utility.ts +++ b/packages/frontend-misskey-world-engine/src/utility.ts @@ -677,14 +677,17 @@ export class FreeCameraManualInput implements BABYLON.ICameraInput this.constructor.name; @@ -712,17 +715,18 @@ export class FreeCameraManualInput implements BABYLON.ICameraInput