diff --git a/src/viewport-three/viewport-focus.ts b/src/viewport-three/viewport-focus.ts index 8303535b..4a2d267f 100644 --- a/src/viewport-three/viewport-focus.ts +++ b/src/viewport-three/viewport-focus.ts @@ -308,6 +308,7 @@ function includeEntity(bounds: FocusBoundsAccumulator, entity: EntityInstance) { includeSphereEntity(bounds, entity.position, Math.max(0.75, entity.distance)); break; case "playerStart": + case "sceneEntry": includePlayerStart(bounds, entity.position); break; case "soundEmitter": @@ -320,6 +321,7 @@ function includeEntity(bounds: FocusBoundsAccumulator, entity: EntityInstance) { includeTeleportTarget(bounds, entity.position); break; case "interactable": + case "sceneExit": includeSphereEntity(bounds, entity.position, Math.max(0.4, entity.radius)); break; } @@ -332,6 +334,7 @@ function createEntityFocusTarget(entity: EntityInstance): ViewportFocusTarget { case "spotLight": return createSphereEntityFocusTarget(entity.position, Math.max(0.8, entity.distance), 0.9); case "playerStart": + case "sceneEntry": return createPlayerStartFocusTarget(entity.position); case "soundEmitter": return createSphereEntityFocusTarget(entity.position, entity.maxDistance, 0.75); @@ -340,6 +343,7 @@ function createEntityFocusTarget(entity: EntityInstance): ViewportFocusTarget { case "teleportTarget": return createTeleportTargetFocusTarget(entity.position); case "interactable": + case "sceneExit": return createSphereEntityFocusTarget(entity.position, entity.radius, 0.65); } }