[언리얼엔진5 입문] 28. C++에서 구조체 사용, 함수 호출하기

ASP·2024년 4월 2일
0

언리얼엔진5 입문

목록 보기
28/41

구조체 Vector 타입의 변수를 생성하고 사용할 것임.

언리얼 C++에서 Vector 타입의 변수를 선언할땐 FVector 키워드를 사용.

Vector 앞에 붙는 F는 구조체라는 것을 의미함. 언리얼만의 명명 규칙.

MovingPlatform 클래스 앞에 A를 붙여서 Actor를 나타내는 것과 동일함.

C++에선 새 구조체나 클래스의 값을 만들땐 생성자를 사용해야 함.

FVector 타입의 MyVector 변수에 디폴트값으로 벡터 (1,2,3) 할당

My Vector라는 새로운 변수가 생성된 것을 확인 가능.

그리고 게임 플레이시 벡터 변수의 x값을 새로운 변수에 할당하려고 함.

또한 MyVector.X = MyX; 와 같이 벡터에 새로운 값을 할당할 수도 있음.


블루프린트에서의 함수는 위와 같이 동작함. 이를 C++로 바꿔보면

이와 같이 바꿀 수 있음.

SetActorLocation 함수의 인자로 벡터 변수의 이름을 넣을 수도 있고, 아니면 값을 넣을 수도 있음.

이처럼 인자로 FVector 생성자를 넣어주면 됨.

소스코드에서 위와 같이 수정

그러나 현재 MovingPlatform 액터는 Details 창에서 보면 컴포넌트가 없음.

액터의 위치는 컴포넌트의 위치이므로 컴포넌트가 없으면 위치를 가질 수 없음.

컴포넌트만 위치를 지정할 수 있기 때문.

따라서 액터를 선택하고 Details 창에서 Add > Cube 컴포넌트 생성

게임 시작 후 F8을 누르고 아웃라이너에서 MovingPlatform 더블클릭하면 MovingPlatform의 위치로 이동. 클릭 후 Details 창에서 MovingPlatform 위치가 1,2,3 으로 설정된 것을 확인할 수 있음.

profile
언리얼엔진 개발자의 길

0개의 댓글