오늘 해볼것은 언리얼에서 C++클래스의 액터를 생성하고 랜덤으로 이동을 10번하는 것 입니다.
상단의 메뉴바에서 툴을 누르고 새로운 C++클래스를 눌러줍니다.
그 후 액터의 클래스로 생성. 이름은 MyActor로 하겠습니다.
그러면 소스 안에 내 프로젝트명이 있고 그 안에 cpp파일과 헤더파일이 있는것을 보실 수 있을겁니다.
cpp파일에서 MyActor.h라는 헤더파일을 들고 와주겠습니다.
그리고 Kismet//KismetMathLibrary.h라는 언리얼의 수학관련된 함수를 제공하는 Vector같은 친구를 가져와 쓰겠습니다.
MyActor 클래스를 생성해주고 위치를 초기화시켜준다.
PrimaryActorTick.bCanEverTick = true;는 매 프레임 Tick함수 호출(Tick은 나중에 특정 속도로 가거나 할 때 사람마다 다른 프레임을 해결하기 위해 사용가능)
게임 시작 시 호출할 함수다
Begin Play()라는 이름을 사용하면 Unreal에서는 게임 시작 시 작동하기로 약속함
Super::BeginPlay();는 부모 클래스의 BeginPlay가 먼저 실행됨(헤더파일에 있는 BeginPlay말이다)
게임이 시작되면 Move();함수 호출하라는 함수
위에서 실행한 틱 정의 클래스
랜덤으로 숫자를 뽑는 역할의 메서드이다.
FMath::RandRange(0, 1); = 0 또는 1을 랜덤으로 반환 (FMath는 두 수 사이의 수를 랜덤으로 반환한다 or이 아님)
총 이동거리를 구하는 함수다(정확하게는 시작지점과 마지막 도착지점의 거리)
FMath::Sqrt(FMath::Pow(CurrentLocation.X, 2) + FMath::Pow(CurrentLocation.Y, 2)); 이건 피타고라스의 정의
실행할 Move함수다.
UE_LOG = 저번에 배운 Cout같은 친구 언리얼판
(로그 카고리, 로그 출력, 내용)이 들어간다
for문으로 10번 실행
'언리얼 공부' 카테고리의 다른 글
2주간 WIL 정리 (0) | 2025.02.03 |
---|---|
C++언리얼 하는방법(안돼서 헤맸음) (0) | 2025.01.20 |
2024.12.22[액터 좌우 반복이동, 트램펄린(캐릭터 상태변경, 캐릭터 팅겨나가기)] (1) | 2024.12.22 |
2024.12.20[캐릭터 애니메이션, 액터 회전] (0) | 2024.12.20 |
2024.12.19[블루프린트와 입력액션으로 플레이어 캐릭터 조작하기] (1) | 2024.12.19 |