Feature: Implement third-person camera look intent reporting and update target lock state

This commit is contained in:
2026-04-25 15:30:01 +02:00
parent 8956e82002
commit 601a1e8ecd

View File

@@ -798,6 +798,9 @@ export class RuntimeHost {
) ?? { ...desiredCameraPosition }, ) ?? { ...desiredCameraPosition },
resolveThirdPersonTargetAssist: () => resolveThirdPersonTargetAssist: () =>
this.resolveThirdPersonTargetAssist(), this.resolveThirdPersonTargetAssist(),
reportThirdPersonCameraLookIntent: (yawDeltaRadians) => {
this.reportThirdPersonCameraLookIntent(yawDeltaRadians);
},
isCameraDrivenExternally: () => isCameraDrivenExternally: () =>
this.resolveActiveRuntimeCameraRig() !== null || this.resolveActiveRuntimeCameraRig() !== null ||
this.resolveDialogueAttentionNpc() !== null, this.resolveDialogueAttentionNpc() !== null,
@@ -4769,6 +4772,7 @@ export class RuntimeHost {
this.updateRuntimeDialogueParticipants(cameraDt); this.updateRuntimeDialogueParticipants(cameraDt);
this.refreshRuntimeTargetingState(); this.refreshRuntimeTargetingState();
this.activeController?.update(simulationDt); this.activeController?.update(simulationDt);
this.updateActiveRuntimeTargetLockState();
const activeCameraRig = this.applyActiveCameraRig(cameraDt, previousCameraPose); const activeCameraRig = this.applyActiveCameraRig(cameraDt, previousCameraPose);
this.updateRuntimeTargetingVisuals(cameraDt); this.updateRuntimeTargetingVisuals(cameraDt);
@@ -5418,6 +5422,7 @@ export class RuntimeHost {
this.runtimeTargetCandidates = []; this.runtimeTargetCandidates = [];
this.proposedRuntimeTarget = null; this.proposedRuntimeTarget = null;
this.activeRuntimeTargetReference = null; this.activeRuntimeTargetReference = null;
this.runtimeTargetLookYawDeltaRadians = 0;
this.previousTargetCycleInputActive = false; this.previousTargetCycleInputActive = false;
this.targetingLuxInitialized = false; this.targetingLuxInitialized = false;
this.targetingVisualTime = 0; this.targetingVisualTime = 0;