From 9f6570b11dd27a9e3120a58a37cb451ac276c885 Mon Sep 17 00:00:00 2001 From: KNSO Date: Mon, 14 Sep 2026 11:35:17 +0200 Subject: [PATCH] feat(world): Hood Yard im Spiel Co-Authored-By: Claude Haiku 4.5 --- src/main.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/main.js b/src/main.js index 2e73918..dad4b1e 100644 --- a/src/main.js +++ b/src/main.js @@ -8,6 +8,7 @@ import { createMaterials } from "./world/materials.js"; import { createSky } from "./world/sky.js"; import { createSunShadows } from "./world/shadows.js"; import { PropLayer } from "./world/props.js"; +import { PlaceLayer } from "./world/places.js"; import { chunkForWorld, threeToWorld } from "./world/coords.js"; import { createCharacterModule } from "./characters/index.js"; import { activeVehicleOrNull, playerIsGrounded, playerPosition } from "./player.js"; @@ -236,6 +237,9 @@ await props.load(); // endlose Fall-Auffang-Schleife laufen, sobald der Chunk dauerhaft ausbleibt. Nach 15s gibt // es nur noch eine einmalige Warnung, kein Verhaltenswechsel. const streamer = new ChunkStreamer({ scene, player, materials, props, pinned: VEHICLE_PINNED_CHUNKS }); +// Fest platzierte Modelle aus three-d-stage (src/world/places.js). Eigene Radien, damit ein Ort nur in +// der Szene ist, solange die Chunks unter ihm geladen sind. +const places = new PlaceLayer({ scene, player }); player.setSkipCapsuleCollision(true); let settled = false; let warnedSlowSpawn = false; @@ -250,6 +254,7 @@ function tick(delta) { // Sitzplatz-Offset, nicht die Weltposition (Begründung in src/player.js). Ohne diese // Umstellung hört das Streaming beim Fahren auf nachzuladen. streamer.update(playerPosition(player)); + places.update(playerPosition(player)); if (!settled) { // Ein Sprung vor dem ersten Boden — Karte und Panel sind schon vor props.load() bedienbar — // ersetzt den Spawn als Startpunkt, statt beim Einrasten stillschweigend verloren zu gehen.