Download

Having trouble with aiming down sights (FPS)

So I am trying to create an ADS (Aim down sights) system for an FPS game but I am having a bit of trouble. A common method for making an ADS system (at least from what I have heard) is to create a second camera that you attach to your gun and align with it’s iron sight and then whenever you aim down your sights you lerp your main character camera to the ADS camera.

An easy way to do this, I thought, was to use the SetViewTargetWithBlend node to blend between the two cameras but a problem I noticed is that the “New View Target” can only be an actor and not a component and thus I have run into this issue (demonstrated with pictures):

As you can see I can’t connect the ADS camera as my “New View Target” since it’s an actor component. How do I solve this? Am I even doing this the right way? Is there a better way to make an ADS system?

Any help is appreciated. Thanks!

@Schytheron

There’s lots of ADS threads around you can search on for complete BP… But try Camera FOV first to see if it does what you want. As you hinted, you can also interp move the camera itself (you don’t need to switch as long as the cam doesn’t clip the player mesh etc). Timelines are popular to drive the interp as well.

BTW: SetViewTargetWithBlend works best when blending between different actors in a cinematic scene. For example, alternating between 2 different actors talking, or one actor on the ground firing at another in the air etc. You can change cameras within the actor by enabling / disabling a particular camera component.

So in other words SetViewTargetWithBlend isn’t suited for this type of task. Gotcha! Using timelines seems like an interesting idea. Thanks!

I have however searched all across the internet (and this forum) for how to do an ADS system and while I have found a few hints I have never found a complete blueprint for it. Perhaps I didn’t look hard enough…