본문 바로가기
Unreal

팀 프로젝트1. 강의 듣고 요약하기 (1~5강)

by 우타미 2025. 3. 7.
728x90

 

우타미 드디어 팀플 시작했습니다. 학원시작한지 3달 만에 말을 틀 수 있었다고 함
그전까진 항상 춘식이가 놀아줬는데 이젠 반에서도 이야기할 사람이 생겨서 좋다고 생각합니다.

우리 팀원은 찐코딩짱, 코딩짱(뉴비입니다), 기획짱, 코딩무말랭이(나)인데 일단 유튭 강의  듣고 한 강의씩 서로 설명해 주기로 했단 말임 그래서 요약해 봄 강의는 이분 강의 참고해서 팀플 프리프로덕션 진행 중입니다.

https://youtu.be/-znZZzxh7j8?feature=shared

 


1강 Unreal c++ 프로젝트 생성

c++ 프로젝트를 생성할 거라서 c++선택 후 크리에이트

config 파일 언리얼 기본세팅이라 지우면 안 됨

contents 에셋들 들어있어 지우면 안 됨

source c++파일 이기 때문에 지우면 안 됨

project 지우면 안 됨

그래서 이 4개 선택영역 반전해서 지우면 된다는 소리 

프로젝트 파일 우클릭 [Generate Visual Studio fole] 누르면 위의 파일들이 다시 재생성됨

비주얼스튜디오 솔루션파일을 열어보면 통합구성이 말하는 대로 맞춰주면 된다고 함

UE5 엔진은 건들지 말고 프로젝트만 빌드, 빌드 안되면 엔진문제일 가능성이 큼으로 에픽게임즈 런처 가서 엔진버전 검증하고 오기

c++ 파일 잘 생겼는지 확인하기

언리얼은 모듈과 모듈의 집합이다라는 명언을 들었다.
모듈만 조지면 된다는 소리잖슴? 


2강 Unreal c++ 클래스 생성

2강이다. 

[Tools] -> [New C++ Class...]  부모클래스 선택 후 

public 또는 private 또는 선택 안 하고 생성 

#include "CoreMinimal.h" 최소한의 기능 제공

#include "GameFramework/Actor.h" 엑터 클래스 상속받아서 만들기 때문에 인클루드 해줌
#include "MoveLeftRight.generated.h" 가장 아래쪽에 있어야함 추가적으로 인클루드 하려면 위에다가 올려주세요

UCLASS()  언리얼용 클래스니깐 외우삼 
class HELLOUNREALCODE_API AMoveLeftRight : public AActor

HELLOYNREALCODE라는 모듈에 포함시키고 싶다.

HELLOUNREALCODE_API  

 

GENERATED_BODY()

언리얼 클래스를 만들 때 넣어줘야 하는 것

 

BeginPlay() 시작할 때 이벤트

Tick(float DeltaTime) 매 프레임 이벤트


3강 Unreal C++ UPROPERTY

ㅈ됐다 2강부터 어렵다. 3강 가능하냐 맥북은 xcode인지 뭐신지로 열어야 하는데 안 열림 큰일났넴..;;
언리얼용 변수를 만든다고 함

public:

UPROPERTY() <- 안 하면 가비지컬렉터 보호를 받지 못한다고

int A;
UPROPERTY(EditAnywhere)   어디서든 블루프린트 수정가능

UPROPERTY(BruprintReadWrite) 블루프린트상에서 변수를 읽거나 쓸 수 있다.

USceneComponent* Scene; 클래스이기 때문에 포인터로 만든다고 함

UStaticMeshComponent* StaticMesh; 

 

헤더파일 

C++

헤더파일에서 껍데기(변수)를 만들고 c++에서 만들어줌

한 줄 작업하고 빌드하고 한 줄 작업하고 빌드하는 습관을 초반에 길러라고 하심

블루프린트 상속받아 만들어 보기 블루프린트에 컴포넌트 설정이 잘 되어있는 걸 알 수 있음


4강 Unreal c++  Event

좌 우로 움직이는 고깔을 생성하는 법
이벤트를 통해 구현해 보자

씬 컴포넌트 스태틱매시 컴포넌트까지 구성되어 있다면 

헤더파일에서 변수 두 개 선언해 주기 

C++

선언한 애들 값 넣어주기 

계속 이동하는 고깔이니 매프레임마다 호출되는 함수 Tick에서 만들어준다

x축만 이동하니 FVector(Location, 0, 0)으로 입력

블루프린트에서 시뮬레이션 돌려보면 잘 작동되는 것을 확인할 수 있음

 


5강 Unreal c++  UENUM

enum에 대한 정의는 이전 c++코드 공부하며 쓴 글이 있으니 확인 부탁

2025.01.10 - [Unreal/C++] - [C++ 01.10]계좌 개설 클래스로 알아보는 enum 열거형, switch ~ case 문, while문

 

[C++ 01.10]계좌 개설 클래스로 알아보는 enum 열거형, switch ~ case 문, while문

미리 못 박아두지만이 글은 switch ~ case문, while문, enum을 알아보기 위한 글이다.(클래스는 거들뿐)클래스를 알고 싶다면 뒤로 가기를 누르고 다른 블로그를 참고하시라   1. switch ~ case문여러 개

tami-u.tistory.com

 

헤더파일 상단에 선언해 준다.

UENUM(BlueprintType)은 필수

enum class 이름 : 타입지정 

클래스로 사용하는 이유는 우리 팀 짭코딩짱이 알려줌

타입안정성을 높이고 이름충돌을 막을 수 있어서? 라지만 100 퍼 이해하진 못했음

{

매개타입을 설정해 준다 이런 식으로

이름 UMETA(DisplayName = "블루프린트에서 보여질 이름"

이름 UMETA(DisplayName = "블루프린트에서 보여질 이름"

이름 UMETA(DisplayName = "블루프린트에서 보여질 이름"

}

c++에서 사용하는 것과 동일하다.

 

기본값 세팅해 주고

상하좌우 이동을 위해 Tick 이벤트에서 switch케이스 돌리기

완성된 결과물


사담

진도가 겁나 빠르군 ^^ 2일에 한 번씩 모여서 설명한다는데 실홥니까?
후..... 오늘 춘식이랑 저녁 먹으러 가니깐 내가 참는다. 

728x90