Update star rendering with rotation axis and reduce max active target distance

This commit is contained in:
2026-04-25 15:42:29 +02:00
parent ef1262f893
commit 8fb4b3932e
2 changed files with 12 additions and 7 deletions

View File

@@ -884,6 +884,9 @@ function createShaderSkyMaterial() {
uStarHorizonFadeOffset: {
value: 0
},
uStarRotationAxis: {
value: new Vector3(0, 1, 0)
},
uStarRotationRadians: {
value: 0
},
@@ -962,6 +965,8 @@ function applyShaderSkyStateToMaterial(
material.uniforms.uHorizonHeight.value = 0;
material.uniforms.uStarVisibility.value = 0;
material.uniforms.uStarHorizonFadeOffset.value = 0;
material.uniforms.uStarRotationAxis.value.set(0, 1, 0);
material.uniforms.uStarRotationRadians.value = 0;
material.uniforms.uSunVisible.value = 0;
material.uniforms.uMoonVisible.value = 0;
material.uniforms.uAuroraVisibility.value = 0;
@@ -998,6 +1003,11 @@ function applyShaderSkyStateToMaterial(
material.uniforms.uStarVisibility.value = state.stars.visibility;
material.uniforms.uStarHorizonFadeOffset.value =
state.stars.horizonFadeOffset;
material.uniforms.uStarRotationAxis.value.set(
state.stars.rotationAxis.x,
state.stars.rotationAxis.y,
state.stars.rotationAxis.z
);
material.uniforms.uStarRotationRadians.value = state.stars.rotationRadians;
material.uniforms.uCloudCoverage.value = state.clouds.coverage;
material.uniforms.uCloudDensity.value = state.clouds.density;

View File

@@ -331,7 +331,7 @@ const TARGETING_LUX_BOB_RATE = 4.2;
const TARGETING_LUX_PULSE_RATE = 6.5;
const TARGETING_SIDE_SWITCH_YAW_THRESHOLD_RADIANS = (12 * Math.PI) / 180;
const TARGETING_CANCEL_YAW_THRESHOLD_RADIANS = (60 * Math.PI) / 180;
const TARGETING_MAX_ACTIVE_TARGET_DISTANCE = 35;
const TARGETING_MAX_ACTIVE_TARGET_DISTANCE = 15;
// Proposed-target camera nudging is intentionally disabled for now. Lux alone
// should communicate proposal without moving the gameplay camera.
// const PROPOSED_TARGET_CAMERA_ASSIST_STRENGTH = 0.28;
@@ -657,7 +657,6 @@ export class RuntimeHost {
private runtimeTargetCandidates: RuntimeTargetCandidate[] = [];
private proposedRuntimeTarget: RuntimeTargetCandidate | null = null;
private activeRuntimeTargetReference: RuntimeTargetReference | null = null;
private runtimeTargetLookYawDeltaRadians = 0;
private previousTargetCycleInputActive = false;
private activeCameraRigOverrideEntityId: string | null = null;
private activeCameraSourceKey: RuntimeCameraSourceKey | null = null;
@@ -808,9 +807,6 @@ export class RuntimeHost {
) ?? { ...desiredCameraPosition },
resolveThirdPersonTargetAssist: () =>
this.resolveThirdPersonTargetAssist(),
reportThirdPersonCameraLookIntent: (yawDeltaRadians) => {
this.reportThirdPersonCameraLookIntent(yawDeltaRadians);
},
isCameraDrivenExternally: () =>
this.resolveActiveRuntimeCameraRig() !== null ||
this.resolveDialogueAttentionNpc() !== null,
@@ -5432,7 +5428,6 @@ export class RuntimeHost {
this.runtimeTargetCandidates = [];
this.proposedRuntimeTarget = null;
this.activeRuntimeTargetReference = null;
this.runtimeTargetLookYawDeltaRadians = 0;
this.previousTargetCycleInputActive = false;
this.targetingLuxInitialized = false;
this.targetingVisualTime = 0;
@@ -5461,7 +5456,7 @@ export class RuntimeHost {
this.activeRuntimeTargetReference = reference;
if (previousEntityId !== nextEntityId) {
this.runtimeTargetLookYawDeltaRadians = 0;
return;
}
}