Include sceneEntry and sceneExit in focus calculations
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user