전체 글

[Unreal]#7_Spawn Gun Actor in Runtime Unreal 개발 중 "Gun Actor"에 대해 알아보겠습니다. "Simple Shooter Game"의 Character Class 개발 과정 중 일부입니다. SpawnActor() 1. Character 클래스 내부에 "Gun" Actor를 멤버로 선언 // character.h 파일 내부 private: // 1. 실제 World에 Render할 Gun 객체는 원본 클래스가 아니라, 파생 클래스들입니다. // eg) Gun Class 의 파생 클래스 : Rifle, Sniper, Launcher...etc UPROPERTY(EditDefaultsOnly) TSubclassOf GunClass; UPROPERTY() AGun* Gu..
[Unreal]#6_Gun Actor Setting Unreal 개발 중 "Gun Actor"에 대해 알아보겠습니다. "Simple Shooter Game"의 Character Class 개발 과정 중 일부입니다. Gun Actor * 상속 구조 1. Capsule Component : Collision 2. Mesh Component : Skeleton Mesh + Animation 3. Mesh Component : Gun Actor 4. Particle System : Particle Effect of Gun 우리가 앞으로 구현할 "Actor", 총은 "Character"의 Mesh Component의 하위 Component가 됩니다. 1. C++ Actor Class 생성 1. 새로운 C++ "A..
[Basic C++] #55-7_템플릿 변수 C++의 템플릿 중 "템플릿 변수"에 대해 알아보겠습니다. "전문가를 위한 C"의 11 항목, "템플릿을 이용한 제네릭 코드 작성"에 해당하는 내용입니다. 템플릿 변수 // 템플릿 변수 선언 template constexpr T pi = T(3.14................); // 정의 방법 int main() { float piToInt = pi; // pi 를 int 타입으로 초기화 double piToDouble = pi; // pi 를 double 타입으로 초기화 }
[Unreal]#5_Character의 이동 속도와 각도 구하기, Animation Blueprint Unreal 개발 중 "Animation"에 대해 알아보겠습니다. "Simple Shooter Game"의 Character Class 개발 과정 중 일부입니다. Animation Blueprint "Animation Blueprint" 에디터의 "Anim Graph" 내부에 생성한 이동 관련 "Animation Blend Space"는 두 개의 기준 값을 필요로 하죠! X축의 "Angle" 그리고 Y축의 "Speed"! 실제 게임 플레이 과정에서 Character의 이동과 함께 실시간으로 바뀌는 "Angle" 값 그리고 "Speed" 값을 "Animation Blueprint"로 가져와서 활용하는 방법..
[Unreal]#4_Animation Blueprint, Gameplay와 Animation 연결하기 Unreal 개발 중 "Animation"에 대해 알아보겠습니다. "Simple Shooter Game"의 Character Class 개발 과정 중 일부입니다. Animation Blueprint의 Owner Pawn 1. Animation Blueprint와 Character Blueprint 연결 1. Animation을 적용할 Character의 Blueprint 선택 2. "Animation" 항목에서 "Animation Mode"를 "Use Animation Blueprint" 선택 3. "Anim Class"를 우리가 미리 생성해둔 "Animation Bluerpint"를 선택합니다. Ani..
[Unreal]#3_Character Animation, Animation Blend Space Unreal 개발 중 "Animation"에 대해 알아보겠습니다. "Simple Shooter Game"의 Character Class 개발 과정 중 일부입니다. Skeleton Skeleton = Animation + Meshes "Skeleton" 은 "Mesh"와 여러 가지 "Animation"으로 이루어져 있습니다 이때, "Mesh"는 "Skeleton"을 이루는 요소들이며, "Animation"은 해당 "Mesh"들로 구현하는 모션들입니다. 1. Mesh 설정 1. Component 목록 중 "Mesh Component" 선택 2. 오른쪽 Details 목록 중 "Mesh" 항목에서 "Skeletal..
[Unreal]#2_Camera Setting, 3인칭 카메라 세팅 Unreal 개발 중 "Camera Setting"에 대해 알아보겠습니다. "Simple Shooter Game"의 Character Class 개발 과정 중 일부입니다. 3인칭 카메라 세팅 Player Controller가 소유할 Pawn의 3인칭 카메라 세팅에 대해 알아보겠습니다. 이번 항목에선 C++ 코드 작성이 아니라 "Character"의 Blueprint를 통해 카메라 세팅을 해보겠습니다. 1. SpringArm Component + Camera Component 추가 1. Capsule Component를 상속하는 "SpringArm Component" 추가 2. SpringArm Component를 상속하는 "Camera ..
[Basic C++] #55-6_함수 템플릿 C++의 템플릿 중 "함수 템플릿"에 대해 알아보겠습니다. "전문가를 위한 C"의 11 항목, "템플릿을 이용한 제네릭 코드 작성"에 해당하는 내용입니다. 함수 템플릿 일반 함수를 템플릿 화하는 방법을 알아보겠습니다! 1. 템플릿 함수 예제 static const size_t NOT_FOUND = (size_t)(-1); template size_t Find(T& val, T* arr, size_t size) { for (size_t i = 0; i < size; i++) { if (arr[i] == val) return i; } return NOT_FOUND; } 위 "Find()" 함수는 특정 값, 배열, 그리고 배열의 크기를 인자로 받아 특정 값과 일치하..
[Basic C++] #55-5_템플릿 클래스의 파생 클래스, 템플릿 클래스 상속 C++의 템플릿 중 "템플릿 클래스 상속"에 대해 알아보겠습니다. "전문가를 위한 C"의 11 항목, "템플릿을 이용한 제네릭 코드 작성"에 해당하는 내용입니다. 템플릿 클래스 상속 1. 인스턴스화 되지 않은 템플릿 원본 상속 ---> 템플릿 O 2. 인스턴스 상속 ---> 템플릿 X 인스턴스화되지 않은, 즉 원본 템플릿 클래스를 상속하는 하위 클래스는 항상 템플릿으로 작성해야 합니다. 반면에, 템플릿 클래스의 인스턴스를 상속하는 경우 하위 클래스는 템플릿일 필요가 없습니다. // 템플릿 클래스(SuperClass)의 파생 클래스(SubClass) 정의 template class SubClass : public SuperC..
[디자인 패턴] #5_싱글턴 패턴, Singleton Pattern 게임 디자인 패턴 중 "싱글턴 패턴(Singleton Pattern)"에 대해 알아보겠습니다. "게임 프로그래밍 패턴"의 6 항목, "싱글턴"에 해당하는 내용입니다. 싱글턴 패턴 오직 한 개의 클래스 인스턴스만을 갖도록 보장하고, 이에 대한 전역적인 접근점을 제공한다. - GoF의 디자인 패턴 81pg "싱글턴 패턴"은 오직 한 개의 클래스 인스턴스만이 존재하도록 보장하고, 이에 대한 전역적인 접근을 허용하는 디자인 패턴입니다. 자세한 내용을 살펴보도록 합시다! 1. 오직 한 개의 인스턴스만 갖도록 보장 먼저, "싱글톤 패턴"의 두 가지 특징 중 첫 번째 특징을 살펴보겠습니다. "오직 한 개의 클래스 인스턴스만을 보장" 하는 "싱글턴 패..
Hardii2
개발 블로그