
우타미 드디어 팀플 시작했습니다. 학원시작한지 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일에 한 번씩 모여서 설명한다는데 실홥니까?
후..... 오늘 춘식이랑 저녁 먹으러 가니깐 내가 참는다.
'Unreal' 카테고리의 다른 글
[언리얼 5] esc를 누르면 게임 종료 물어보는 창&&게임 일시정지 기능 구현/ Tab키누르는 동안 창 띄우기 (0) | 2025.04.02 |
---|---|
[언리얼 5] 시뮬레이션 esc 버튼 종료 안되게 하는법 / 게임 메인 메뉴 만들기 / 눈속임용 게임 로딩창 만들기 (1) | 2025.04.01 |
2D 퀵드로우 게임 제작 필수기능 정리 1 (1) | 2025.02.20 |
『인생 언리얼 5 프로젝트 교과서』복습 이동방향 추첨 / 충돌처리 /파티클 생성 (0) | 2025.02.18 |
『인생 언리얼 5 프로젝트 교과서』복습 총알 생성 / 적 제작하기 (2) | 2025.02.14 |