Running in to issues blending between Gameplay Cameras plugin cameras, and regular camera components. Is there a recommended workflow for this?

For context I’m working with the Gameplay Cameras plugin. We have certain moments in our game where we would like to blend to a camera that is animated using sequencer (cinematically framed character abilities). The Gameplay Cameras don’t seem to have the parameters exposed to the sequencer timeline that we need so I’m trying to blend to a camera outside of the Gameplay Cameras ecosystem, just a regular Camera Actor. However whenever we try to trigger these blends, either using the sequencer blending, or manually with a Set View Target With Blend node, we run in to some issues, mainly:

1) I hit an ensure in CameraPose.cpp, “Can’t specify both FocalLength and FieldOfView on a camera pose!” which leads me to believe my setup is not correct.

2) Animating FOV and focal length on the Camera Actor seems not to work, as this is being overridden somewhere else.

It’s also worth mentioning that on the same frame, right before I hit the ensure, I’m seeing a warning in the log:

Camera rig ‘CameraRigAsset_0’ may experience a hitch because its initial result isn’t valid.

I’m wondering if the blend is having trouble because of this.

Any advice you might have on best practice for blending between Gameplay Cameras and regular cameras, or any mistakes I may be making in my setup, would be greatly appreciated.

[Attachment Removed]

Sorry I should also add that I have tried various combinations of camera and node settings to try and ensure that the blends are using the same setting for field of view/focal length, but the issues still occur. For example my camera rig uses the Field of View mode and no lens parameters, and I try to blend to a regular camera actor also setting field of view, but a mismatch is still detected by the ensure.

[Attachment Removed]

I’m not able to upload a .zip for some reason so here’s a gdrive link to a simple test project with a repro:

https://drive.google.com/file/d/1\_wPu8UD2ucDaW9zli8\_Xpy3RODcvmH\-f/view?usp\=sharing

Repro steps:

1) Open the project

2) Ensure you are in Lvl_ThirdPerson.umap

3) Hit Play

4) Wait a few seconds and observe the hitch as we hit the ensure followed by the large error in the log.

5) Observe Field of View is not set to the value specified on the camera actor we blend to.

All the assets I’ve added for this test are in Content/TestBlueprints. I have also edited BP_ThirdPersonPlayerController to use GameplayCamerasPlayerCameraManager as the Player Camera Manager Class.

[Attachment Removed]

Hi again :slight_smile:

So first, if you expose some parameters on a Camera Rig Asset (via the Interface Parameter panel), then you should be able to see and edit those parameters on, say, a GPC component with a reference to that rig. And then if you put that actor in a Sequencer, you should be able to also keyframe those parameters. However, word of caution: this is a part of the GPC code that hasn’t been very well battle tested yet (most of my development partners are still busy with core gameplay, and I will probably only work more on procedural cinematic cameras in a few months at the earliest).

Either way, it’s perfectly fine (and often better and easier) to just use standard Cine Cameras in Sequences.

Are you using the GPC Player Camera Manager? You probably are if you’re getting that FOV/Focal-Length assert… your setup is probably correct, and you’re probably just hitting one of my bugs. Can you check if you have this commit? If you don’t, it’s a one-liner that you can probably easily bring to your codebase. I’m pretty sure that’s it.

About the warning in the log, I’ll have to check but it’s also probably a bug of mine. I’ll look into it and report back, I think it will also be a simple one-liner.

[Attachment Removed]

Thanks! I’ll close this ticket… have fun!

[Attachment Removed]

Hello again! Sorry about the quickfire questions.

I am using the GPC Player Camera Manager, I did not have the commit mentioned, and implementing it has indeed solved my issue. I can now blend between GPC cameras and standard cine cameras without hitting the assert, and the field of view/focal length is applying correctly. I Will be using cine cameras in our sequences going forward.

Thanks for the amazing support :slight_smile:

[Attachment Removed]