Perspective/Interface

Change 3rd person to 1st person

Project Setup


Folder management:
Delete Thirdpersonoverview BP
move Gemoerty folder in Thirdperson BP → Maps, delete empty Gemoetry folder
move Mannequin folder content in ThirdBP, delete empty Mannequin folder
move ThirdPerson Mesh contents in Maps → Geomerty folder, delete ThirdPerson folder
Create new folder in Thirdperson BP folder, name as Meshes; rename Character folder as UE4_character
In Content folder, R click → Fix up Redirections in Folder (do it whenenver move folder and delete old folder)
In Thirdperson BP → Blueprints folder, create Charcater folder, drag ThirdPerson Character inside, rename the character as BP_MasterCharacter
In Thirdperson BP, Animations folder, create 2 new folders name as Character Animation and DefaultUE4 Anims
select (except 1st one, rename it as MasterAnim BP) animations and put in default UE4 anim folder
image.png
In UE4 Charcter Mesh folder, reaname UE4_Mannequin Skeleton as Master Skeleton
Rename Thirdperson Gamemode BP to FPS_GM
Rename ThirdPersonBP folder as TrueFPS

Clean up the scene:


Delete thridperson character in the scene
In World Setting, change gamemode to FPS_GP
Project Setting → Project → Maps & Mode
→ set Editor Starterup Map and Game Default Map as ThirdpersonExample Map (so if open a project again, it won’t be blank)

Set a First person camera on character:


Open TruFPS → Blueprints → Character → BP_Master Character
→ Viewport
In Component → CameraBoom → Details. Target Arm length: 0; also reset its location
In UE4 Charater folder → Mesh → open Master Skeleton
→ Skeleton Tree → choose Head → R click, add Socket, rename the socket as FP_Camera, move it towards the eye surface and level:
image.png
(i.e. to set 1st person camera view on his head)
Back to viewport of Mastercharacter BP → parent CameraBoom under Mesh (charactermesh0)
→ Details of Cameraboom → Parent Socket → search FP_Camera → reset location, roation Z: 90
(rename Cameraboom as FP_SpringArm; Follow Camera as FP_Camera)
Select BP_MasterCharacter (self) in Component → Details → tick Use Contorller Rotation Yaw
Select Character Movement → Details → Character Meovment (rotation setting), change as follow:
image.png

FP/TP Camera Switching:

Open BP_MasterCharacter → Event graph:
delete VR and touch input related nodes (highlight 2 boxes)
image.png
add new comments cover all nodes as Movement input
Create node “keyborad 0” and “Gamepad Right Trigger” ,
also bFirstPerson variable (tick First Person in Default value in Details) ,
and finally SwitchCamera functions
image.png
In Component, duplicate FP_SpringArm and FP_Camera, rename tham as TP instead of FP
→ Detach it from the Mesh (character)
Select TP_camera → Details → Activation → untick Auto Activate
→ Parent Socket: Select SpringEndpoint
Go to viewport, set TP spring arm location as 0,0,65’ Taarget Arm length: 500

In Switch Camera script, drag bFirstperson variable in graph 3 times, and TP/FP Cameras, connect as follow:
image.png
Back to Event graph, create Switch Camera function node, connect as follow:
image.png
Now the switch between 1st and 3rd person perspective is fixed, but character rotates too when the view rotates in 3rd person view. To fix it, back to Switch camera script, add following node connect to enable TP camrea output:
image.png
Drag Chararcter Movement in graph, connect as follow, tick orientate rotation:
image.png
Duplicate the above nodes and change from TP to FP, connect to disable TP camera ouput, and tick 2 of the settings as below:
image.png
(Because suppose character should follow to rotate together in 1st person view, but not on 3rd person view)

Change A Character Mesh:

migrate the charater from other UE project
In TrueFPS → Mesh, create new folder called Skeletal Meshes, move the migration to here
Open migrated skeleton - >
image.png
select Rig: Humanid
Open Master skeleton → select rig: Humanid
TO the migrated character folder, select the Skeleton Mesh
image.png
, R click → Skeleton → Assign Skeleton
image.png
Select MasterSkeleton, accept
Go to BP Master character, event graph → select Mesh (character) in component
→ change the skeletal mesh

Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.