GameStudy489 Ch 05. 언리얼 리플렉션 5.1 언리얼 리플렉션 5.1-1 언리얼 리플렉션의 주요 특징 - 리플렉션은 런타임 중에 자기 자신을 조사하는 기능을 뜻함. 가비지 컬렉션, 리플리케이션, 시리얼라이즈 등의 기능들의 근간을 이룸. - 리플렉션은 언리얼 오브젝트만 가질 수 있음. 일반 C++ 오브젝트는 불가능. - 특정 매크로(UCLASS(), UPROPERTY(), UFUNCTION(), ...)를 프로퍼티나 함수에 작성하면 Unreal Header Tool이 컴파일 타임에 해당 정보를 수집함. - 단, UPROPERTY() 매크로로 지정되지 않은 멤버의 경우에는 언리얼 가비지 컬렉터에 의해 메모리 관리가 되지 않음에 주의. - UHT는 C++ 파서가 아님에 주의. 즉, C++ 소스코드를 읽고 컴파일을 진행하는 프로그램이 아님. 그래서 .. 2023. 5. 10. Ch 04. 언리얼 오브젝트 4.1 언리얼 오브젝트 소개 4.1-1 게임 프로그래밍의 특수성 - 사용자 관점: 단일 컴퓨터에서 최대 성능이 뽑아져야 쾌적한 경험 가능. - 개발자 관점: 게임의 규모가 커질수록 방대하고 복잡한 기능을 안정적으로 관리해야 함. C++ 언어 (안정성보다 성능 중시. 사용자 관점) 타 OOP 언어 (성능보다 안정성중시. 개발자 관점) Cache의 활용 극대화 / 복사 작업의 최소 유지보수성 향상 저수준 API의 직접 호출 크래시로부터 보호 메모리 직접 제어 자동 메모리 관리 고질적 실수 예방 4.1-2 C++ 언어의 단점 - 하드웨어에 직접 접근 가능하기 때문에 잘못 사용하면 프로그램에 큰 영향을 미침. 이때문에 초급자가 학습하기 어려운 내용들이 많음. - C++ 이후에 개발된 Java, C#의 경우에는 .. 2023. 5. 9. Ch 03. 언리얼 C++ 기본 타입과 문자열 3.1 언리얼 C++ 기본 타입 3.1-1 기본 타입 재정의의 필요성 - C++는 C언어를 발전시킨 언어임. C언어는 임베디드 전용 언어로, 극단적인 환경에서도 동작할 수 있게끔 개발됨. 극단적인 환경이라 함은 256MB보다 더 적은 렘에서도 돌아감. 그래서 자료형의 크기가 아주 중요함. C언어는 자료형의 크기를 컴파일러에게 자율로 맡김 그래서 본인이 C 컴파일러를 만든다면, int 자료형의 크기를 200MB로 해도됨. 이는 C++에도 영향을 줌. 최신 C++ 표준에서는 int 자료형의 크기를 "최소" 32bit로 규정. - 게임 개발 후에는 여러 플랫폼(Windows, IOS, Android, Console, ...)에서 동작시켜야함. 게다가 자료형도 여러 개임(bool, int, float, doub.. 2023. 5. 9. Ch 2. 언리얼 C++ 코딩 표준 2.1 언리얼 C++ 코딩 표준 2.1-1 코딩 표준(Coding Standard) - 프로그래밍을 작성하는데 지켜야 하는 프로그래밍 이름 규칙, 작성 방법 등을 지정한 가이드라인. 코딩 스타일(Coding Style), 코딩 컨벤션(Coding Convention)이라고도 함. - 언리얼 엔진은 자체적으로 코딩 표준을 정했기 때문에 기존 C++ 코딩 표준을 버리고 언리얼 엔진 코딩 표준을 따라야 함. 2.1-2 언리얼 명명 규칙 - public 접근 지정자 뒤에 private 접근 지정자로 이어지는 클래스 체계(Organization)를 준수. - 언리얼은 관습적으로 파스칼 케이싱으로 작성. 소문자는 가급적 사용하지 않고, 공백 및 언더바 금지. 파스칼 케이싱: 합성어의 첫 글자를 대문자로 시작해서 명.. 2023. 5. 9. 이전 1 ··· 13 14 15 16 17 18 19 ··· 123 다음