게임 개발/Unreal C++

[Unreal]#13_State Machine, 상태 기계 Unreal 개발 중 "Chracter Animation"에 대해 알아보겠습니다. "Simple Shooter Game"의 Character Class 개발 과정 중 일부입니다. State Machine 1. 상태 기계 생성 1. Animation Blueprint 에디터 창에서 Anim Graph 위에 새로운 State Machine을 생성합니다. 2. Alive or Dead? 1. 새로 추가한 State Machine을 "Death"로 명명합니다. 2. "Death" 상태 기계 내부에 "Alive"와 "Dead" 상태를 각각 추가해줍니다. 3. "Alive" 상태와 "Dead" 상태를 서로 연결합니다. * 화살표는 "전이"를 의미하며, 각 ..
[Unreal]#12_Aim Offset(Pitch 값 설정), Delta Rotator 활용 Unreal 개발 중 "Chracter Animation"에 대해 알아보겠습니다. "Simple Shooter Game"의 Character Class 개발 과정 중 일부입니다. Additive Settings 1. Additive Settings? * Additive Animation? : 주어진 Animation위에 추가적으로 설정하는 Animation! 2. Additive Animation 연결 방법 1. Additive Aniamtion을 추가할 Base Pose ( 원본이 되는 Animation )을 연결합니다. 2. Base Animation이 연결되었던 Blend Pose By Boolean 노드..
[Unreal]#11_Blend Pose By Boolean Unreal 개발 중 "Chracter Animation"에 대해 알아보겠습니다. "Simple Shooter Game"의 Character Class 개발 과정 중 일부입니다. Blend Pose By Boolean 1. 개념 * Blend Pose By Boolean? : 이 노드는 사실상 "분기문"으로 입력받은 Boolean 값에 따라서, 두 개의 입력 포즈 중 하나를 선택합니다. 2. 사용 방법 1. Animation Blueprint 에디터 창 열기 2. Anim Graph에서 "bool로 포즈 블렌딩" 열기 1. 두 개의 입력 포즈를 각각 "True" 혹은 "False"로 설정 2. 해당 Blend Pose By Boolean 노드를..
[Unreal]#10_Damage + Health 구현 Unreal 개발 중 "Gun Actor"에 대해 알아보겠습니다. "Simple Shooter Game"의 Character Class 개발 과정 중 일부입니다. Health 1. AShooterCharacter.h // Character.h 내부... class Character : public ACharacter { //... public: virtual float TakeDamage(float DamageAmount, FDamageEvent const& DamageEvent, AController* EventInstigator, AActor* DamageCauser) override; // BlueprintPure와 const는 같이 갑니다. ..
[Unreal]#9-2_Shooting 설계 및 구현 Unreal 개발 중 "Gun Actor"에 대해 알아보겠습니다. "Simple Shooter Game"의 Character Class 개발 과정 중 일부입니다. Impact Effect 1. UParticleSystem* 타입의 변수를 데이터 멤버로 선언합니다. class AGun : public AActor { //... private: UPROPERTY(EditAnywhere) UParticleSystem* ImpactEffect; }; 1. Hit 위치에 Impact 이펙트를 재생합니다. if(bSuccess == true) { FVector ShotDirection = -Rotation.Vector(); UGameplayStatics::Spa..
[Unreal]#9-1_Shooting 설계 및 구현 Unreal 개발 중 "Gun Actor"에 대해 알아보겠습니다. "Simple Shooter Game"의 Character Class 개발 과정 중 일부입니다. Shoot 액션의 Input Binding 구현 1. Gun 클래스의 PullTrigger() 메서드 선언 // Gun.h 내부 class AGun : public AActor { //... public: void PullTrigger(); }; // Gun.cpp 내부 void AGun::PullTrigger() { // PullTrigger() 메서드가 호출되면 "Shoot!"을 출력합니다. UE_LOG(LogTemp, Warning, TEXT("Shoot!")); } 2. Charact..
[Unreal]#8_Attach Gun Actor to Shooter Character Unreal 개발 중 "Gun Actor"에 대해 알아보겠습니다. "Simple Shooter Game"의 Character Class 개발 과정 중 일부입니다. Attach Gun Actor to Shooter Character via Socket 개별적으로 생성한 Gun Actor를 "Socket"을통해 Character에 Attach 하는 방법에 대해 알아보겠습니다. 1. Mesh -> Skeleton Tree에서 Gun Actor가 들어갈 위치 확인 1. Character의 Animation Bluprint의 에디터 창을 엽니다. 2. 오른쪽 상단, "Mesh" 정보를 엽니다. 3. Gun에 해당하는 Skele..
[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..
[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"로 가져와서 활용하는 방법..
Hardii2
'게임 개발/Unreal C++' 카테고리의 글 목록 (3 Page)