반응형

Devs/Unreal Engine 6

UFUNCTION 매크로, RPC (Remote Procedure Call) 시스템

위 스크린샷처럼 OnHit 함수 위에 UFUNCTION 매크로를 배치한 함수 선언이 있다. 클래스 C++ 함수가 언리얼 엔지의 리플렉션 시스템으로 인식될 수 있게 하는 것이라고 한다. gpt로 다시 한 번 설명을 부탁해본 결과. 블루프린트, 네트워크, GC 등의 처리에서 다룰 수 있게 메타데이터를 추가라고 이해하면 될 듯 하다추가로 UCLASS와 다른 매크로들처럼 지정자를 지정하여 설정할 수 있다 간단히 블루프린트용 지정자, 네트워크 관련 지정자, 기타 몇가지 지정자들을 gpt에서 보고 메모용으로 기록해둔 것  - 네트워크 관련 지정자 (RPC)에 대해서 공부를 한 적이 없어서 이 부분에 대해서도 gpt에게 물어보고 정리 중대강의 개념을 이해하면 멀티플레이 게임에서 클라와 서버가 한쪽에서 실행한 기능을 ..

Devs/Unreal Engine 2025.03.20

CreateDefaultSubobject 함수, FName, FString, TEXT 매크로, TCHAR

CreateDefaultSubobject함수는 Object.h에 정의되어 있는 template 함수로 특정 타입의 인스턴스를 만들고 해당 포인터를 반환하는 함수로 보인다슈팅 게임 캐릭터의 예제에서는 UCameraComponent와 USkeletonMeshComponent의 인스턴스를 만드는 것으로 보인다.추가로 인자로 보내는 TEXT 매크로로 FName을 지정해서 해당 인스턴스의 이름을 지정하는 것으로 보인다  - FName위 CreateDefaultSubobject함수의 인자로 넘겨주는 타입이 자세히 보니 그냥 스트링이 아닌 FName으로 되어 있어서 좀 더 살펴보자. 주석을 보면 아래와 같이 써져 있다./** * Public name, available to the world. Names are s..

Devs/Unreal Engine 2025.03.18

ACharacter 상속 / GENERATED_BODY 매크로

- 위와 같이 AActor를 상속 받는 류의 클래스 이름은 접두어로 A를 붙이는 것이 엔진 코딩 표준이라고 한다(AActor -> APawn -> ACharacter) - GENERATED_BODY 매크로의 경우 클래스 정의시 항상 처음 사용되는 것인데 정의하는 곳을 보면 대강 저런 식으로 현재 FILE_ID와 코드 실행 LINE과 GENERTED_BODY?가 합쳐지는 것으로 보임-> 요 부분도 GPT를 이용하여 설명을 들어보자결론적으로는 요 매크로를 사용하게 되면 UHT가 자동 생성한 코드가 포함되는 고유한 결합체?라는 느낌으로 보인다. 추가로 언리얼 엔진의 Reflection 시스템과 UObject 시스템을 위한 코드 생성에 사용된다고 한다. 이 부분에 대해서는 다른 포스트에서 좀 더 자세히 다뤄보기..

Devs/Unreal Engine 2025.03.14

DELEGATE 매크로, UCLASS, UPROPERTY

UE5.0 기반으로 공부를 진행하면서 1인칭 슈팅 샘플 게임을 통해 공부 - 책으로 처음 언리얼 엔진을 다루고 있긴 한데 기존에 학부에서 배웠던 C++만으로는 헷갈리는 부분들이 꽤 있어서 언리얼 C++관련 으로 정리 중 - 기본적으로 언리얼 클래스인 것을 표시하기 위해 클래스명 이름 앞에 U를 붙이는 것을 기조로 하는 것으로 보임 캐릭터 헤더 코드를 일단 분석 - #include와는 별개로 class UInputComponent;와 같이 사용되는 언리얼 클래스를 선언 (외부의 클래스) (책에 따르면 어딘가 다른 곳에서 구현될 가능성이 있다는 것을 의미라고 함) - DECLARE_DYNAMIC_MULTICAST_DELEGATE 매크로언리얼이 제공하는 C++ 매크로로 인자로 준 델리게이트 함수 유형을 선언하..

Devs/Unreal Engine 2025.03.13

Detected compiler newer than Visual Studio 2022, please update min version checking in WindowsPlatformCompilerSetup.h

공부하던 책에서 언리얼 엔진 샘플 일인칭 슈터 프로젝트를 만들어서 코드를 봤을 때 현재의 가장 최신 버젼 (5.5버젼)과 형태가 달라져 있는 것을 확인하고 버젼을 책에 나와 있던 5.0.3으로 낮추려는 시도를 함 그러나.. 이번엔 VisualStudio2022와 버젼이 맞지를 않는 것인지 또 다른 에러에 도착.. 그래서 이번에도 구글링을 해서 결과를 찾아보았다. https://forums.unrealengine.com/t/packaging-error-detected-compiler-newer-than-visual-studio-2022-beginner/2174644 https://developercommunity.visualstudio.com/t/1710-not-supporting-the-UE5/10668..

Devs/Unreal Engine 2025.03.11

[UE5.5] Could not be compiled. Try rebuilding from source manually.

언리얼 엔진은 처음으로 공부하면서 맞닥뜨린 오류로 프로젝트를 열면 새롭게 추가한 C++클래스가 말썽을 일으키고 있었다. 필자는 처음 공부를 하는 것이어서 C++ 스크립트를 활요한 언리얼 엔진 5 게임 개발 이라는 책을 따라서 공부를 하고 있는 중에 맞닥뜨린 문제상황. 일단 문제의 원인을 찾기 위해 급하게 구글링을 해서 몇 가지 방법을 시도해봤으나, 한 번도 다뤄보지 못한 엔진이라 그런지 당연히 해결이 안되었다. 그래서 컴퓨터는 모르면 껐다 키라고 했었지.. 아예 책대로 다시 처음부터 시도 필자의 개발환경- VS2022 커뮤니티 버젼- 언리얼 엔진의 가장 최신 버젼 (5.5.3)- 일인칭 모드 테스트 프로젝트 - 문제가 생겼을 때와 다르게 한 부분1. 언리얼 엔진을 처음 설치 후 프로젝트를 생성시 경로를 ..

Devs/Unreal Engine 2025.03.10
반응형