공부 및 정리/Unreal Engine
[메모] UE - TSubClassOf를 가진 자식 Object 생성하기
UObject는 NewObject를 통해 생성해야 하지만, 어떤 SubClass의 Object를 생성해야 할 때는 다음과 같이 작성합니다. 예를 들어, Magic이란 부모 클래스가 있고 자식 클래스로 다양한 마법 클래스가 있으며 NewObject를 통해 적절한 자식클래스로 마법을 생성해야 할경우 다음과 같이 작성해야 오버라이딩 된 자식 생성자와 함수를 이용합니다. struct MagicData { UPROPERTY(EditAnyWhere) TSubClassOf MagicClass; UPROPERTY(EditAnyWhere) int ID; }; . . . . //마법 종류에 따라 다른 자식 클래스로 생성 for(MagicData magic : Magics) { Magic* newMagic = NewObje..
[메모] UE - TMap에 FStruct 자료형 키 사용하기
TMap에 커스텀 자료형을 키로 사용하려 하면, GetTypeHash에러가 나게 되는데, 이는 GetTypeHash 함수가 해당 자료형으로 해싱이 불가능하다고 말해주는 것입니다. 해시가 가능하도록 GetTypeHash 함수와 자료형::operator== 함수를 오버로딩 해주면 됩니다. 위는 커스텀 구조체의 오버로딩 샘플 코드입니다. CRC는 순환 패리티 검사방식을 이용한 해싱을 의미합니다. 참고 링크 : Using Custom C++ Structs as TMap Keys in Unreal Engine | by biq | The Startup | Medium Using Custom C++ Structs as TMap Keys in Unreal Engine Let’s take a look at how to ..
UE4 - 메모1
1. Directional Light와 Atmosphric Fog 등은 위치가 영향을 주지 않는 개체입니다. 2. 내비 메시 바운드 볼륨으로 플레이 영역을 감싸주어야, 맵 내부의 움직임을 계산해줍니다. 설정 후 P키를 누르면 내비게이션을 볼 수 있습니다. 3. 엔진 콘텐츠를 표시하려면 뷰 옵션에서 설정하면 됩니다. 4. Sky Sphere의 경우, Directional Light를 설정해 줄 수 있습니다. 5. 요소가 겹쳐있으면 Z 충돌 (Z-index 충돌)이 일어납니다. Scale등을 조정하여 충돌이 없도록 합니다. * 블루프린트 시스템 - 왜 생겼는가? -> 엔지니어들은 기술적으로 게임을 가장 잘 구현해낼 수 있는 사람들입니다. -> 하지만 게임을 이루는 것은 기술 뿐이 아니라서, 디자이너의 손길도..
UE4 실습 중..
레벨 디자이너 퀵스타트 가이드 | 언리얼 엔진 문서 (unrealengine.com) 레벨 디자이너 퀵스타트 가이드 언리얼 에디터의 기본적인 준비를 돕는 문서입니다. docs.unrealengine.com 책에서 나온거 보다 공식 홈페이지 보고 따라하는게 제 수준에 더 맞는것 같아요. 차근차근 따라가다보면 언젠가 만들고 싶은 게임을 편하게 만들수 있을것 같아요
언리얼 엔진 4와 게임 개발 관련 공부 - 2
* 블루프린트 : 언리얼 엔진의 비주얼 스크립팅 시스템 * 비주얼 스크립팅 시스템 : 정해진 문법에 따라 제작자가 설정한 규칙을 엔진이 이해할 수 있도록 한 것 단순히 블루 프린트만 사용하더라도 프로그래밍 언어 없이 게임을 만들 수 있습니다. * Construction Script : 게임을 플레이 할 때 최초로 실행되는 블루 프린트, 게임 초기화 등에 사용됩니다. * 노드끼리의 상호 작용 : 이벤트의 우측 화살표를 다른/ 새 노드에 연결하여 상호작용이 가능합니다. 예시를 통해 BeginPlay가 실행되면, print String이라는 함수를 실행하는데, 이는 2+3의 덧셈 결과를 String으로 변환하여 출력시킬 수 있습니다. 이제, 플레이 해보면 위와 같이 5가 출력되는 것을 알 수 있습니다. * 변..
언리얼 엔진 4와 게임 개발 관련 공부 - 1
- 강의가 아닌, 개인 독학용으로 남긴 글입니다 - * 게임 엔진 - 게임을 쉽게 만들 수 있게 만들어 주는 도구로, 대표적으로 Unity 및 언리얼 엔진이 있습니다. 게임에서 사용되는 수학, 물리학은 중요합니다. 그 중에서도 강체 시뮬레이션에 대해서는 더 말할 필요가 없습니다. * 강체 시뮬레이션 - 실생활에서 흔히 접하는 물리적 현상의 시뮬레이션으로, 물체의 충돌 및 회전, 중력으로 인한 운동 등으로 아주 복잡할 수 있습니다. * 언리얼 엔진으로 게임 제작 - 우선 게임 프로젝트를 구성합니다. 게임 프로젝트는 여러 레벨 및 컴포넌트 등으로 이루어져 있습니다. * 게임 프로젝트 : 게임에 관련된 데이터들 * 레벨(맵) : 프로젝트를 여러 덩어리로 나눈 것 * 액터 : 여러 오브젝트 * 컴포넌트 : 액터..