본문 바로가기

Unreal 게임 개발/Unreal C++ 공부7

Unreal StaticClass() StaticClass()이 함수는 클래스의 UClass 객체를 반환하는 정적 메서드로 주어진 클래스에 대한 정보를 저장한다.특정 클래스의 인스턴스를 생성할 때 또는 해당 클래스와 관련된 작업을 수행할 때 유용하게 사용된다.더보기정적 메서드: 객체 인스턴스와 관련 없이 클래스 자체에 속하는 메서드이다.객체를 생성하지 않고 호출이 가능하며 보통 클래스의 공통 기능이나 유틸리티 기능을 제공하는데 사용된다.더보기UclassUClass는 UE에서 클래스를 정의하고 관리하는 시스템.모든 UObject 파생 클래스(Actor, Component)는 UClass를 통해 인스턴스를 생성하고 조작이 가능하다. 또한 클래스의 구조, 속성, 메서드, 가상 함수, 에디터 노출 등 다양한 메타 정보를 저장한다. StaticCla.. 2024. 10. 3.
C++ 람다 표현식 (Lambda expression) auto basicLambda = [] (int i) {cout C++ 코드를 보니 람다 표현식이 많이 나오는데 정확하게 무엇인지 몰라서 공부하게 되었다. 람다 표현식함수나 객체를 별도로 정의하지 않고 필요한 시점에서 바로 함수를 만들어 쓸 수 있는 일종의 익명함수이다.잘 사용하면 코드를 깔끔하게 만들 수 있다. 문법기본적인 문법auto basicLambda = [] {cout 람다 표현식은 람다 선언자(람다 소개자)라는 []로 시작하고 람다 표현식의 본문을 담는 {}가 나온다.람다 표현식은 auto 타입 변수인 basicLambda에 대입된다. auto basicLambda = [] (int i) {cout 람다 표현식도 일반 함수와 마찬가지로 ()안에 매개변수를 넣을 수 있다.람다 표현식에서 매개변수.. 2024. 9. 5.
Unreal Module 추가 방법 이번에 Enhanced Input System을 공부하면서 C++에서 #include "EnhancedInputSubsystems.h" 라는 헤더 파일을 추가하는 일이 생겼다. 이때 이 헤더파일을 추가하니까 에러가 생겼고 그 이유는 Module을 추가해주지 않았기 때문이었다. 이렇게 References에 Module이 있는데 우리가 프로젝트에 추가를 해줘야한다. Default로는 이렇게 되어 있고 Core, CoreUObject 등 String 값이 들어가 있는 곳에 다음과 같이 EnhancedInput이라는 Module을 추가해준다. 이래도 에러가 사라지지 않는다. 그 이유는 우리가 컴파일 할 때 자동적으로 일시적인 파일을 만들기 때문이다. 이 파일을 우리가 지우고 새로 만들어야한다. 해당 프로젝트가 .. 2023. 1. 26.
Unreal Axis Mapping (Unreal 움직임 만들기) Unreal에서 Brid라는 이름으로 Pawn을 부모로하는 C++을 만들면 Actor로 만들었을 때 보이지 않는 함수가 생기게 된다. Pawn과 Actor의 가장 큰 차이점은 Player의 Input을 받을 수 있다는 점이다. 이 과정을 순차적으로 알아보면 Edit -> Project Settings에 들어가서 Axis Mapping에서 +를 눌러준 후 추가를 해주고 추가된 칸 (MoveForward_Brid)의 +를 눌러주면 아래처럼 생기게 된다. 어떤 키로 설정할지는 좌측에 있는 키보드를 눌러 직접 키를 눌러주거나 Dropdown에서 찾아서 선택하면 된다. Scale은 해당 키를 눌렀을 때 넘어가는 값이다. 이제 이렇게 설정을 한 뒤 C++로 들어가서 header file에 MoveForward라는 .. 2023. 1. 22.