본문 바로가기
Unreal C++/C++ - History

07 C++ 기초 개념 및 기능 제작(1) / Obstacle Assault

by pp336 2024. 9. 21.

 

개발 목표

 - 장애물 경주용 기능 제작 스크립트

 - C++ 기초 개념을 조합하여 캐릭터 위치에 오브젝트를 스폰

 

 

 

 

 

적용한 개념

 - UPROPERTY // C++에서 제작된 변수 값을 언리얼 내부에서 편집 가능하도록 설정

 - int32, float, bool // 정수와 소수 참 거짓을 알려주는 연산자

 

int32에 MyInt라는 변수명을 지어주고 초기 값을 100으로 설정(값은 정수)

 

 

 

My Int의 초기 값이 100의 정수를 가지며 UPROPERTY로 인해 에디터 편집이 가능해짐을 확인

 

 

 

 

 구조체 사용

  - 함수 앞에 F(Framework)를 붙히는 것으로 구조체를 만들어 사용

    / 언리얼의 명명규칙

  - C++ 에서 일반적으로 정수나 플로트를 다룰시 1이나 True와 같은 값을 사용하지만

    구조체와 같은 보다 정교한 타입에는 클래스 값을 만들면 생성자가 필요하며

    데이터 타입과 이름이 같음

 

x, y, z를 3개 축을 사용하는 Vector값을 받아오기 위해 구조체를 사용

 

 

 

 - 연산자  / 역할을 수행하는 C++ 기호( +, -, =, *, /)

 - 점 연산자 / 구조체나 클래스에서 작성한 내용을 가져올 수 있는 연산자(.)

MyX라는 새로운 변수를 선언하고 이를 cpp에서 구조체로 작성한 FVector의 X값에 할당

 

 

플레이시 Vector의 x값이 My X에 적용되는 것을 확인

 

 

 

 

 Function 호출

 - SetActorLocation / 해당 액터를 지정된 위치로 호출 

 - Actor는 컴포넌트를 지니고 있어야 위치 지정 가능

SetActorLocation(MyVector) = SetActorLocation(FVector(1,2,3)) / 이전 작업에서 MyVector는 FVector(1,2,3)과 같다고 설정된 상태

 

 

월드에 빈 액터를 놓으면 아무런 위치 정보가 뜨지 않는다.

 

 

Cube 컴포넌트와 같이 놓으면 MyVector = FVector(1,2,3) 으로 설정된 값으로 액터가 스폰됨을 확인

 

 

캐릭터 위치 값을 복사하여 My Vector 값에 지정하면 해당 좌표에 스폰됨을 확인할 수 있다.