[UE4] 블루프린트 클래스 활용

혀니앤·2022년 4월 2일
0

UnrealEngine

목록 보기
5/12

블루프린트 클래스 만들기

우클릭을 누르면 블루프린트 클래스가 나온다

다양한 부모 클래스가 있고 가장 기본이 되는 액터로 만들어보자

월드 블루프린트로 만들었을 때와는 달리, 뷰포트와 함수 스크립트가 있고, 이전에썼던 이벤트그래프도 있었다.

여러 컴포넌트들을 추가할 수 있다. 반드시 단 하나의 컴포넌트는 가지고 있어야함

큐브로 한번 생성해보자

하나의큐브를 갖는 블루프린트가 되었다

포지션을 (0,0,0)으로 잡으면 바닥면보다 바닥에 놓아져있는 것을 알 수 있다
이렇게두면 실제 레벨에서 바닥을 뚷고있기때문에 바닥면에 맞추어 놓아주자

Z를 50으로 설정하면 씬에서 END키를 누르면 바닥면에 딱 닿게 놓아진다.

블루프린트로 액터의 위치값 바꾸기

setActorLocation 함수를 통해 큐브의 위치를 바꿀수있다

구조체 핀 분할을 이용해 직접 x,y,z값을 설정해줄 수 있다.

비효율) Tick 이벤트의 Timedelta를 사용하여 이동해주기

가장 무식하고 단순하게 매 프레임마다 움직이게 할 수 있다.

AddActorLocalOffset 사용하기

Tick마다 내가 원하는만큼 움직이는 것을 볼 수 있다.

Sequence

350과 -350을 오가는 큐브를 만들고 싶었는데, 이런 경우
움직이는케이스는 모두 실행하지만 두 가지의 if문이 true인지를 판단해서 값을 변경해주어야 한다.
그러나 기존의 branch문은 true와 false의 케이스 중 하나만 실행하는 것을 권장하기때문에, 지금처럼 결국 두가지 테스트를 모두 해야하는 경우엔 선이 더러워진다. (else가 없어서발생하는 문제인듯)

이렇게 두번째 브랜치에서 두개의 선을 받는것을 볼 수 있다.

시퀀스를 사용하면 무조건 두가지 테스크를 순서대로 실행하게 된다.
노드가 훨씬 깔끔해짐

함수

자주 사용하거나 지저분한 코드는 함수로 정리하는게 좋다

함수로 접기 기능을 이용해서 이미 만든 노드들을 함수로 만들 수 있다

앞서 더러웠던 코드들이 함수들로 인해 굉장히 깔끔해졌다!

profile
일단 시작하기

0개의 댓글