Sure. First a little background on what I have:
I started out with the Third Person Template several months ago. I modified the Character Movement class and enabled “Use Controller Desired Rotation” so that I had a traditional TPP look and feel. I also have tons of animations that I’ve added and modified targeted to the normal Unreal Skeleton. All this time I’ve known that I will eventually add a FPP view, but put it on the back burner because I figured it would be easy (as you know, it’s not) - My first attempt was attaching a new camera to a Head Socket on my player. During play testing I got motion sickness and needed to take a rest. I also had tons of clipping because my animations caused shoulders and arms to clip the near plane of the camera. I started to resign myself to the fact that I would have to go old school and just go with a pair of FPS arms and do the whole hide/show mesh thing. Then I found this thread and Samuel’s post.
- I added a Spring Arm to my character mesh and attached it to a Head Socket
- I added a new camera and attached it to the Spring Arm Socket
- Under camera settings, I enabled: “Use Pawn Control Rotation”, “Inherit Pitch”, “Inherit Yaw” and “Inherit Roll”
- In the Camera Details under Camera Operations, I enabled “Use Pawn Control Rotation”
Once these settings are in, you won’t be able to rotate/move the camera in the view port. All the finesse needs to come from the Spring Arm. I played with the Spring Arm until I was not seeing any clipping and I had the view I wanted. My Spring Arm length is only 5.5f, but it’s arbitrary since you’ll need to find out what works for your character and the view you want to present.
It took me a few hours to come up with the settings that worked, but the result is night and day. I now have a First and Third person camera setup that use the same animations. My FPP view can look down at feet and legs and if just feels real.
Quick note: I noticed some weirdness in the editor when setting this up. Sometimes my camera would show backwards in relation the the player. After I restarted the editor, all was fine again. It didn’t cause any issues, but it did confuse me for a bit.
I hope this helps but let me now if you still have questions.