⚙️ 엔진

프로그램이 실행시간에 자기 자신을 조사하는 기능, 언리얼 테크놀로지의 기본 리플렉션을 가질 수 있는 오브젝트는 열거형 UENUM(), 클래스 UCLASS(), 구조체 USTRUCT(), 함수 UFUNCTION(), 멤버 변수 UPROPERTY() 오브젝트가 리플렉션을 가지면 디테일 패널, 직렬화, 가비지 콜렉션, 네트워크 리플리케이션, 블루프린트 등 언리얼 엔진의 유용한 시스템에서 사용 가능하다. 리플렉션을 가지게 하려면 오브젝트가 포함된 C++ 클래스 헤더 파일에 "모듈명".generated.h 헤더를 포함해야 한다. 해당 헤더를 가져야 리플렉션이 있는 시스템에서 해당 클래스를 고려해야 하고 시스템 구현이 필요함을 언리얼 헤더 툴 UHT에 알린다. 모든 언리얼 오브젝트는 클래스 정보와 함께한다. 클래스..
게임 프로그래밍의 특수성 - 사용자 : 쾌적한 경험을 위해 단일 컴퓨터에서 최대 성능을 뽑아내야 한다 - 개발자 : 게임의 규모가 커질수록 방대하고 복잡한 기능을 안정적으로 관리해야 한다 C++ : 안정성 < 성능 / 메모리 직접 제어 / 캐시 활용 극대화 / 저수준 API의 직접 호출 / 복사 작업 최소화 객체 지향 설계 원칙(SOLID) - 유지보수와 유연함, 확장성 향상을 위한 객체지향 프로그래밍 - 하나의 클래스는 하나의 책임만 가져야 한다 - 클래스 설계는 변경하지 않고 동작을 확장할 수 있어야 한다 - 자식 클래스는 부모 클래스를 대체 사용할 수 있어야 한다 - 작고 명확한 인터페이스들로 분리해 관리해야 한다 - 구현을 배제시킨 상위 정책을 바라보며 설계해야 한다 👉 게임 규모가 대형화되면서 ..
게임 제작의 특성 데이터의 정보가 명확해야 함 단일 컴퓨터에서 최대 퍼포먼스를 뽑아내야 함 네트워크 상에서 데이터 통신이 효율적이고 안정적이어야 함 C++에서 int는 최소 32비트를 보장하도록 규약되어 있음 특정 플랫폼에서는 64비트로 해석될 수 있음 따라서 데이터를 저장할 때 int 타입의 크기 확신 불가 👉 데이터 타입의 애매모호함은 게임 개발시 문제 발생 가능 후발언어 C#의 경우, int 타입이 있지만, 4바이트인 int32로 명확히 정의되어 있음 언리얼은 int를 사용하지 않고 int32 사용 언리얼 엔진의 타입과 크기 bool 타입 - 크기가 명확하지 않음 - bit filed 오퍼레이터를 사용하여 데이터 크기를 제한시킬 수 있다. - bool 타입을 저장할 때, 바이트 타입인 unit8로 ..
이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해 강의 정리 1. GameInstance 상속받기 2. 에디터 설정 변경 헤더 파일 UCLASS() class HELLOUNREAL_API UMyGameInstance : public UGameInstance { GENERATED_BODY() public: virtual void Init() override; // 선언 후 alt + enter를 하여, 정의를 자동으로 삽입해준다 }; 소스 파일 void UMyGameInstance::Init() { Super::Init(); UE_LOG(LogTemp, Log, TEXT("%s"), TEXT("Hello Unreal")); } • Super::Init() 부모 클래스에 있는 Init() 함수 ..
에디터 활성화 상태에서 빌드시 발생 메세지 헤더 파일에 변경 발생시 👉 에디터 종료 후 vs에서 컴파일소스 파일에서만 변경 발생시 👉 라이브 코딩으로 컴파일 (ctrl + alt + F11) VS에서 수동으로 클래스 추가 금지 빌드를 눌러서 성공 여부 확인vs 수정이 완료된 뒤, ctrl + f5(디버깅하지 않고 실행)를 하면 닫혀있던 에디터(언리얼) 실행 가능
\t%2d\t : 탭을 나타낸다. 탭으로 구분하여 정렬하는 것
https://blog.naver.com/PostView.naver?blogId=yj35__&logNo=223070766371 Visual Studio 2022 GitHub 업로드프로젝트 practice로 생성하고 (hello world 국룰) cpp코드로 작성해주었다. Git 리포지토리 만들기 클릭...blog.naver.com   1. 코드 입력2. 상단 메뉴 'git' - 'git 리포지토리 만들기' 클릭 - 연동
peewoong
'⚙️ 엔진' 카테고리의 글 목록 (3 Page)