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
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:
(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:
FP/TP Camera Switching:
Open BP_MasterCharacter → Event graph:
delete VR and touch input related nodes (highlight 2 boxes)
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
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:
Back to Event graph, create Switch Camera function node, connect as follow:
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:
Drag Chararcter Movement in graph, connect as follow, tick orientate rotation:
Duplicate the above nodes and change from TP to FP, connect to disable TP camera ouput, and tick 2 of the settings as below:
(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 - >
select Rig: Humanid
Open Master skeleton → select rig: Humanid
TO the migrated character folder, select the Skeleton Mesh
, R click → Skeleton → Assign Skeleton
Select MasterSkeleton, accept
Go to BP Master character, event graph → select Mesh (character) in component
→ change the skeletal mesh