5.5 First Person Rendering FOV with CameraManager (LYRA or GASP)

TLDR: How do I change the setting of the hidden camera being used by the camera Managers (GASP GameplayCamera or LyraCameraManager)

5.5 release the first person rendering which works great!

This works for any standard camera.

BUT with LYRA (LyraCameraManager) and GASP’s (GameplayCamera) I cannot get this to work.

If I change the character’s blueprint camera to enable First Person FOV it has no effect. I can only guess that these systems ignore the camera and create a new one on spawn… or somehow the Managers are overriding this setting. This is extra weird with lyra since it has a LyraCameraComponent which I guess sends the view info to some other camera.

With LYRA even if I Enable FirstPersonFieldOfView in the LyraCameraComponent construction script, it has no effect.

With GASP, i can tell the PlayerController to AutoManagherActiveCameraTarget (which goes and uses the camera on the CharacterBP)… but ultimately this bypassing the GameplayCamera.

I’ve tried finding all CameraComponents to then set the First Person Rendering FOV but I can’t find whatever camera these managers are secretly using.

I have the same issue. Any tips would be welcome.

hi @DoctorBrowne
@luan_hide did u find the solution? I have the same problem

Same problem here. Can’t figure out any solution to make this feature work with LYRA.

Sorry, guys no solution yet.

It appears the lyra camera component ignores these settings, as they must be overridden somewhere. I just can’t find out where this is.

You can of course add a standard camera component, active it, and then deactivate the LyraCamera or other CameraManagers being used… but this removed the ability to activate different cameras with GAS abilities.

What i did was edit the gameplaycamera file, i edited one of the camera states with the ranges i wanted. I’m not at my computer right now, but if you need any more instructions, let me know and i’ll return with some screen shots.

ANSWER FOUND:

In the LyraCameraComponent::GetCameraView

the view is populated with DesiredView

Update this to use first person parameters

// Example of enabling and setting FirstPersonFOV to 30
DesiredView.FirstPersonFOV = 30.f;
DesiredView.bUseFirstPersonParameters = true;

Probably best to add variables to the FLyraCameraModeView so this values can be swapped with the camera mode.

1 Like

@DoctorBrowne Did you figure out a way to implement this in the Gameplay Cameras plugin without having to modify the plugin itself?

There is a #Todo in the following function so I assume it’s planned to be added along with the ortho camera?

void FCameraSystemEvaluator::GetEvaluatedCameraView(FMinimalViewInfo& DesiredView)
{
	const FCameraPose& CameraPose = RootNodeResult.CameraPose;
	DesiredView.Location = CameraPose.GetLocation();
	DesiredView.Rotation = CameraPose.GetRotation();
	DesiredView.FOV = CameraPose.GetEffectiveFieldOfView();

	DesiredView.AspectRatio = CameraPose.GetSensorAspectRatio();
	DesiredView.bConstrainAspectRatio = CameraPose.GetConstrainAspectRatio();
	DesiredView.AspectRatioAxisConstraint = CameraPose.GetOverrideAspectRatioAxisConstraint() ?
		CameraPose.GetAspectRatioAxisConstraint() : TOptional<EAspectRatioAxisConstraint>();

	// TODO: add support for ortho cameras.
	DesiredView.PerspectiveNearClipPlane = CameraPose.GetNearClippingPlane();

	const FPostProcessSettingsCollection& PostProcessSettings = RootNodeResult.PostProcessSettings;
	DesiredView.PostProcessSettings = PostProcessSettings.Get();
	DesiredView.PostProcessBlendWeight = 1.f;
	// Create the physical camera settings if needed. Don't overwrite settings that were set by hand.
	CameraPose.ApplyPhysicalCameraSettings(DesiredView.PostProcessSettings, false);
}

Ya; you’d have to modify the plugin so it copies over the first person values.

1 Like

@DoctorBrowne I think I found a non-destructive way to do this. I didn’t test it personally though. See my last 2 messages in this forum post

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.