박하의 나날

[03]기본 개념_2(블루프린트)

프로그래밍/Unreal

움직이는 pawn_cow , character 움직임, trigger를 이용한 카메라 변환.

움직이는 pawn_cow

 

Event : When
Action : Do

Begin Play 이벤트 : 액터가 월드에서 처음 동작할때 발생하는 이벤트
기본셋팅 정리할때 사용한다.
Tick: 이미지 그릴때마다 발생하는 이벤트 (Update)

화면에 출력 : Print String
Add ActorLocalRotation : 액터를 현재 위치에서 지정한 각도만큼 추가로 회전시킴.
Tick에 연결 , 추가 회전값 입력.

Reference: 이미 만들어진 물체에 명령을 주기 위한 링크.
로컬좌표계: 물체의 관점에서 좌표계

movement component : 움직임에 대한 로직이 들어있다.
부착한 액터에 명령을 내리면 자동으로 컴포넌트에 만들어놓은 움직임을 부여해준다.
FloatingPawnMovement: 떠서 움직이는 물체의 움직임을 제공한다.
간단한 이동기능만 가지고 있으며 지정된 수치의 가속을 받아 최대치로 설정된 속도까지 이동하는 움직임을 제공한다.

ProjectileMovement : 중력의 영향을 받는 발사체의 움직임을 제공한다.
RotateMovement: 축을 기준으로 회전하는 움직임을 제공한다.

movement component = 엔진
AddMovementInput = 악셀: 컴포넌트에 지정한 수치대로 movement component가 root component를 이끌고

이동한다. 추가로 root 컴포넌트의 충돌도 감지해서 충돌이 일어나면 멈추게 된다.

입력에 따라 엑터의 행동이 결정되기 때문에 입력이벤트가 tick이벤트보다 먼저 발생한다.

World Direction : 월드 좌표계를 기준으로 한 방향 값만 받는다.
Get Actor ForwardVector 로컬x축을 월드 좌표계에서 계산한 결과를 알려준다.

우선 순위가 있는 엑터가 입력 이벤트를 처리하면 하위순위를 가진
엑터에게는 이벤트가 전달되지 않는다.

 

character 움직임

컨트롤러의 회전
플레이어의 의지 중 하나는 폰의 물리적인 위치에 상관없이 플레이어가 보고자하는 방향에 대한 정보이다.

언리얼 엔진은 이를 Cotrol Rotation에 보관했는데,
3인칭 게임의 경우 가상세계의 폰이 바라보는 방향과 플레이어가 바라보고자 하는 방향이 항상 일치할 수는 없다.


캐릭터 모델에서는 우리가 보고자하는 방향과 폰이 보는 방향을 z축 회전인
yaw회전에 한해 일치시키도록 설계해 놨는데 이것이 pawn 섹션의 Use Controller Yaw Rotation.
이 값이 체크되었다는 것은 컨트롤러의 회전 값을 사용해 캐릭터를 회전시키겠다는 것이다.
Character를 부모클래스로 제작했을 경우 폰처럼 이 옵션을 끄거나 ,
회전 명령이 들어오면 컨트롤러를 회전시켜야 한다.


컨트롤러를 회전시켜 회전값을 업데이트 하는 명령어는 AddControllerYawInput.
입력값을 받아서 지정된 속도로 컨트롤러를 회전시키는 명령어.

 

trigger를 이용한 카메라 변환

Get Player Controller : possess의 주체인 현재 플레이어 컨트롤러를 가져오기 위함.
0번은 현재 사용하는 컴퓨터에서 접속한 플레이어다.

Set View Target with Blend Lock Outgoing 옵션은 이동중 다른 이벤트가
발생하더라도 카메라의 움직임을 Blend Time동안 보장해주는 옵션

 

 

dialbo 캐릭터같이 움직이기+카메라

 

 

 

 

GTA 캐릭터처럼 움직이기

(사실 안해봐서 모르겠지만요...)

 

블루프린트 재밌긴한데... 코딩이 하고싶다...ㅜㅜ

 

 


 

 

'프로그래밍 > Unreal' 카테고리의 다른 글

[05]Battery Collector_기초적인 아이템제작  (0) 2017.04.30
[04] BluePrint 집만들기_SlidingDoor, Props, Lighting  (0) 2017.04.23
[02]기본 개념_0  (0) 2017.04.21
[01]에디터 기초  (0) 2017.04.20
0217  (0) 2017.02.17