Gameplay Camera System: Currently, the only parameters that the GameplayCameraComponent(Base) initializes on the CameraPose that CameraRigs modify is the position and rotation of the camera -- everything else (e.g. focal length) has to be initialized in rig graphs. It would be helpful if the settings on the CineCameraComponent for lens, filmback, etc, could be exposed on the gameplay camera components to initialize those additional parameters.
[Attachment Removed]
Steps to Reproduce
Add a GameplayCameraComponent or GameplayCameraRigComponent to the scene. Observe: while you can adjust the location and rotation of the camera that’s fed to the rigs, you cannot adjust other CameraPose parameters, like focal length etc.
(No “repro” provided because it’s not a bug -- should probably have a third “not relevant” option?)
[Attachment Removed]
Hi there,
When testing this in 5.7.3 I was able to view and edit these settings. When adding an actor to the world with either a GameplayCameraComponent or GameplayCameraRigComponent a cine camera actor component is generated as a sub-component. Additionally using a GameplayCameraParameterSetterComponent you can modify blendable parameters on the rig. Was there a different scenario/engine version where you were seeing this issue?
GameplayCameraComponent:
[Image Removed]GameplayCameraRigComponent:
[Image Removed]GameplayCameraParameterSetterComponent:
[Image Removed]- Louis
[Attachment Removed]
The settings on the “output camera component” are not used -- it’s effectively read-only. Just grep the C++ source for “OutputCameraComponent” and observe that it’s only every written-to and never read-from.
[Attachment Removed]
Hi,
Maybe I’m misunderstanding your question, but in UE5.7.2 I found that changing most camera settings on the OutputCameraComponent do work, for example Overscan and Squeeze Factor (others settings like Min/Max Focal Length work only within certain ranges). There is a bit more info on how the OutputCameraComponent works in [this [Content removed]
If you have more questions, please let me know.
Thanks,
Sam
[Attachment Removed]
Are you not actually checking the camera in gameplay? Are you not using the GameplayCamerasPlayerCameraManager? Because, as stated, that whole in-game pipeline of FCameraEvaluationContexts never reads the output camera component -- it just drives the little “picture in picture” in the editor. You can just read the C++ source to confirm.
Also, your link seems to be to a tangential but unrelated topic about post-processing, not about how CameraRig’s get their initial values.
[Attachment Removed]
Hey there -- we actually ended up having an email thread about these issues, so I think we’ll be able to close this ticket once that email thread is resolved! (I’ll also post a summary of the email thread’s conclusion for posterity)
[Attachment Removed]
This issue is emphatically not resolved because it appears ya’ll laid off the dev?
[Attachment Removed]
Hey there, development on Gameplay Cameras has been paused. There are currently no plans for further development.
[Attachment Removed]
Hi again,
Sorry for the miscommunication. I understand what you mean now about the OutputCameraComponent being read only. The recommended way of achieving this according to the developer is to initialize those parameters through the rig graph. By exposing those parameters on a Camera Rig Asset (via the Interface Parameter panel), then you should be able to see and initialize those parameters in the details panel of a game play camera rig component with a reference to that rig. I would recommend creating a Camera Rig Prefab with all these parameters exposed so that you can use it as a base for your other camera rigs. I do understand that this possibly similar to your current setup as it requires using the rig graph for initialization.
This module is still experimental. It should be entering into beta soon but there is likely going to be substantial changes to it in the future. However I’m not sure of the developers intent about a feature like this. I will escalate this case to the epic team as a feature request.
- Louis
[Attachment Removed]
Thanks!
FWIW we would just use CineCameras instead of gameplay cameras, but once you enable the GPC player camera manager it handles them incorrectly across the board, even if you’re using the vanilla SetViewTarget() API. Backwards-compatibility would be valuable to us.
- FOV is ignored because the alternate Focal Length parameter on the CameraPose isn’t reset (this looks fixed in github for future releases already)
- Physical camera parameters that affect focus or framing, like focal distance, sensor offsets, and squeeze are totally ignored.
- The Gameplay Camera Player Camera Manager _doesn’t_ resolve which camera component to call CalcView() on the same way as the default Camera Manager (default just calls AActor::CalcCamera which finds an active camera, gameplay PCM calls GetComponentByClass<UCameraComponent> on the ViewTarget and uses whatever camera comes back first, even if it’s disabled, and ignores the actor entirely even if it overrides CalcCamera ).
[Attachment Removed]