Modifying the Lyra camera to make a Top Down game in UE5

I’m trying to setup a Battlerite like game. Lyra comes with CM_ArenaFramingCamera which produces a fixed camera that doesn’t track the player. I don’t really understand how this is achieved, and I’m not sure how I could modify it to follow the player. Where would something like that happen and how would it play into the Ability system?

I’ve also tried looking at the CM_ThirdPerson camera to modify it to function as a top down camera. I understand how to change the curves to position the camera, but there’s a lot of weird behavior associated with this and I’m unclear of how to fix the rotation.

I’d appreciate anybody that has a deep dive on using the Lyra system to modify and create custom cameras!

Realistically you have a step curve ahead. Lyra project is using a lot of new UE5 systems that you need to understand first before trying to adapt it to your needs. They have this new plugin workflow and stuff which I’m trying to figure out at the moment.

specifically to your question the CM_ThirdPerson is extending custom C++ classes. The logic is inside the LyraCameraMode_ThirdPerson which extends LyraCameraMode

You need to generate a visual studio project for the project to see these classes. once you have everything set correctly you can try to modify them to make them as you need

Thanks for the reply. I am already kind of familiar with the whole GAS plugin system, as I made a prototype with it.

My only issue is I really have no idea where to start with editing the camera curves, there’s almost nothing directed towards it, and I can’t really find what I need to help me progress.

LYRA using V8 Supercam Hyper-Cinematic Camera Subsystem supporting Player Controlled on-demand Interpolation True First Person, Second Person, Third Person, Side View, Top-Down, Others.

For those interested in modding LYRA Camera System for a custom camera system. Theres a C++ class you inherit from. I’m using it to integrate V8Supercam and its the fastest way I’ve been able to add ‘True First Person’ with Third Person Manny/Quinn Characters.

  1. I created a CustomPlayerController inherited from ‘LyraPlayerController’ BP.
  2. In the CustomPlayerController disable the PlayerCameraManagerClass (Set to None).
  3. In the GameMode use the CustomPlayerController for player controller class.
  4. Afterwards, I simply added my Springarms & Cameras to the main skeletal mesh component ‘SKM_Manny_Invis’ mesh in the ‘B_Hero_ShooterMannequin’ BP Class.
1 Like

Hmm, I just tried this but can’t seem to get it to work. Did you miss a step by chance; perhaps you can make a video if not.

Perhaps, you can show your Blueprints and Camera Setup. The steps above is all there is to it:



Aside from the V8camera manager my settings are the same. Is yours working without that plugin or is the plugin required for this method?

V8 Supercam is a Blueprints Subsystem we developed. That leads me to suspect you have issues with your Camera setup. Please provide screenshots or video of your camera setup and how its working so far.



Looks Good. So what is happening? No change in camera control? Did you set the custom camera to be active?

It still uses the lyra camera system. Not sure of what you mean did I set the camera to be active.

I’m not using the LyraCameraSystem. Im using the V8 SuperCam Camera System. I set the active camera (Viewtarget) in V8SuperCam with “Set View Target with Blend BP” Node. This node only works on Actors. Thus, I spawn Camera Actors and attached to the Springarm Endpoints.

To change camera components try the SetActive BP Node.

Hi there. Following Up. Any Progress?

No, unfortunately not. I instead just went without the Lyra Character and added a new regular Character blueprint. It works with the lyra controller still, but takes away many of the new features.

I’m sorry to hear that. I did not try using camera component method with LyraCharacter as V8 Supercam uses Viewtarget Actors thus, I’m not certain it works with Camera Components.

Perhaps you can use Viewtarget Actor instead? It only requires a few more steps to setup and in my opinion, it offers more flexibility anyhow.

To use a Viewtarget Actor you simply spawn a Camera Actor and attach to Springarm component on possession. You can get ‘Prototype’ Blueprints here to speed up the setup.

EZ TOP DOWN CAM for LYRA using a Camera Actor. Its not perfect, but a good start. Some tuning is required to adjust aiming.

OR

https://cdn.discordapp.com/attachments/297037374498668545/1019568198842069012/EZTOPDOWNCAM_bp.txt

3 Likes

Great work in progress. Have you figured out how to modify the targeting code?

Not Yet. Its further on the To-Do-List and the implementation is game dependent. I don’t see it as True Targeting, only Aiming, and the behavior appears to be strictly based on Camera’s Center Line-of-Sight.

What is True Targeting?

My version of True Targeting is the selection of one or more Target’s to effect, whether aimed at or not.

I would anticipate the first step to modifying “target code” will be to disable LYRA’s default. The goal would be to decouple projectile spawning from the Camera’s Center Line-of-Sight. You can always recalculate it for Aim Down Sight.

For my own purpose, I’m implementing ‘Aiming’ in the Weapon ‘Muzzle’ as the Camera System is Multi-perspective and the Player Location is independent of the Camera. This would be my recommendation for universal aiming suitable for any perspective.

The Video below demonstrates the Weapon Aim concept

2 Likes

Lyra is overcomplicated a bit, you can change everything here but it need great Lyra knowledge and c++. I use simpler solution, just removing Lyra and creating my cameras. Here fps exaple, can be used in any different view just with your own, simple standard camera solution. Here sample, I have not recorded with weapon and ADS, but I think fps view is correct - just I had to disable head (owner not see) and now I have show hidden shadow for head - on video you can see no head shadow Human character #1 - YouTube

1 Like

Hello, maybe this tutorial will help you a little bit: https://youtu.be/Vb-4-fFDs94?si=Ei5AaEyYviBV7d__