bp-player(Character) 생성 -> Mesh :QUINN 설정 -> 애니메이션 ABP_QUINN_C 설정 -> 위치, 회전 값 설정 ( 파란색 화살표가 정면 )
PlayerController 생성 -> 함수에서 possess (빙의)->데이터가 들어오는 기준은 플레이어 까지이므로 다운캐스팅을 시켜 bp-Player(Pawn)을 백업입력 관련, camera 시점 설정Movement Input = 상/하/ 좌/우를 계산하여 Add Movements Input에 사용 / 점프시 Jump, 점프 끝날 시 Stop Jumping게임 모드 베이스를 하나 생성 -> player, PlayerController를 아까 만든 bp-player, bp-playerController로 설정월드 엑터 -> Game Mode -> 게임 모드 오버라이드를 bp-GameMode로 설정실행
카메라
spring Arm 추가 -> spring Arm 산하에 Camera 추가 위 아래는 움직이지 않고 좌우만 움직임Use Controller Rotation Yaw OFF (Charactor): 좌우 움직임 기능 OFFUse Pawn Control Rotation (spring Arm) : Spring Arm이 보는 시점으로 화면 이동, 즉 마우스가 보는 방향대로 시점 변경Orient Rotation to Movement (Charcter Movements) : 가속도에 따라 방향 전환Target Arm Length (Spring Arm) : 카메라 거리 / Socket Offset : 시점 전환 Target Offset은 잘 사용 안함 ( 시점이 좀 맞추기 힘듬 )실행 ( 0.0, 50.0, 100.0 기준 시점 )
카메라는 기본적으로 캐릭터의 가운대에 있게 되면 시점이 이상하기에 캐릭터가 살짝 아래에 있어야 시야를 방해하지 않는다.
Enable Camera Log (카메라 지연) : 카메라가 따라오는 속도를 지연시킴 Camera Lag Speed : 따라오는 속도 조절 Camera Lag Max Distance : 카메라 지연 최대 거리
카메라 시점 변경
기본적으로 카메라는 총 3개 정도는 만들어야한다 ( 모험모드, 활 쏠때, 완전 FPS )
엑터 생성 -> Sphere 추가 -> spring Arm, 산하에 Camera추가 -> 각도 거리 등등 알아서 설정하고 do Collision Test를 OFFsphere에 begin, end overlap에 bp-player를 다운 캐스팅 -> get Player Controller -> Set View Target with Blend 추가 ( 카메라 전환 기능, 주의 : 카메라 컴포넌트로 연결하는 것이 아닌 엑터로 호출해야한다. )실행
Enum을 이용한 카메라 시점 변경
bp-camera라는 엑터 생성 -> 컴포넌트에 Camera추가bp-player -> capsule의 산하에 spring Arm, child Actor 추가 -> child Actor의 class를 bp-Camera로 설정Enum (열거형) 생성 -> 이너머레이터 추가를 눌러 default, TPS 추가
Begin Play에 child Actor의 child Actor class를 호출 후 변수 승격, m-Camera Tps로 이름 정정
custom Event를 만들어 e-type의 switch 호출
set view Target with Blend로 1번일시 시점은 self, use Controller Desired Rotation OFF, Orient Rotation to Movement ON
set view Target with Blend로 2번일시 시점은 m-Camera Tps, use Controller Desired Rotation ON, Orient Rotation to Movement OFF