fix snow demo to fit new file perspective

This commit is contained in:
alex-mcneilly
2025-05-28 13:56:38 -07:00
committed by Diego Marcos
parent 2cfcaf3da4
commit 8d5e8da33d
+9 -7
View File
@@ -27,6 +27,7 @@
import { import {
ForgeRenderer, ForgeRenderer,
PointerControls, PointerControls,
FpsMovement,
SplatMesh, SplatMesh,
VRButton, VRButton,
generators, generators,
@@ -49,8 +50,8 @@
0.1, 0.1,
1000 1000
); );
camera.position.set(-6, 12, 100); camera.position.set(6, 12, 105.5);
camera.rotateY((3 * Math.PI) / 2); // camera.rotateY((Math.PI));
const renderer = new THREE.WebGLRenderer(); const renderer = new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth, window.innerHeight); renderer.setSize(window.innerWidth, window.innerHeight);
@@ -72,13 +73,14 @@
// const backgroundURL = await getAssetFileURL("snow-street.spz"); // const backgroundURL = await getAssetFileURL("snow-street.spz");
const backgroundURL = const backgroundURL =
"./snow_street_crop37.spz"; "./snow-street.spz";
const background = new SplatMesh({ url: backgroundURL }); const background = new SplatMesh({ url: backgroundURL });
background.quaternion.set(1, 0, 0, 0); background.quaternion.set(1, 0, 0, 0);
scene.add(background); scene.add(background);
await background.initialized; await background.initialized;
const controls = new PointerControls({ canvas: renderer.domElement }); //const controls = new PointerControls({ canvas: renderer.domElement });
const controls = new FpsMovement({ moveSpeed: 8.0 });
const cam = camera.position; const cam = camera.position;
const snowVolumeBox = new THREE.Box3( const snowVolumeBox = new THREE.Box3(
@@ -222,12 +224,12 @@
controls.update(dt, camera); controls.update(dt, camera);
// camera movement // camera movement
const targetX = 0.5; const targetZ = 99;
const startX = -6; const startZ = 105.5;
const duration = 90; const duration = 90;
const progress = Math.min(1, t / duration); const progress = Math.min(1, t / duration);
const smoothProgress = Math.sin(progress * Math.PI * 0.5); const smoothProgress = Math.sin(progress * Math.PI * 0.5);
camera.position.x = startX + (targetX - startX) * smoothProgress; camera.position.z = startZ + (targetZ - startZ) * smoothProgress;
if (!params.isPaused) { if (!params.isPaused) {
snow.fallVelocity.value = params.fallVelocity; snow.fallVelocity.value = params.fallVelocity;