Unreal 상하체 분리 애니메이션 적용하기
·
Unreal Project/Khazan 모작 프로젝트
카잔 게임을 모작하는 과정에서, 공격 이후 다시 로코모션 상태로 전환될 때 창을 정비하며 방향을 틀고 걷는 애니메이션이 필요했다. 하지만 해당 동작에 사용된 애니메이션들은 모두 전신 애니메이션이였기 때문에, 원하는 표현을 위해서는 상체와 하체의 동작을 분리해서 적용해야 했다. 이에 따라 하체는 이동과 회전에 맞는 Run 모션을 유지하고, 상체는 창을 정비하는 동작을 재생하도록 구성하여 두 동작이 자연스럽게 동시에 보이도록 구현했다. 해당 두 개의 모션을 섞은 결과 Layer Blend Per Bone 노드를 활용하여 상체와 하체 애니메이션을 분리하여 재생하였다. Base Pose 에는 기본적으로 전체 움직임을 담당하는 원래 애니메이션을 연결하고, Blend Pose 0 에는 상체에만 적용할 애..
Blueprint 공부 일기 7 (Camera Shake, State Alias(점프), UI 이벤트)
·
Unreal Project/Blueprint
Camera Shake게임을 만들다 보면 캐릭터가 공격을 맞거나, 패링에 성공하거나, 강한 타격을 가했을 때 화면에 순간적인 흔들림 연출이 필요할 때가 있습니다. 이런 연출은 타격감과 액션의 몰입감을 높여주는 중요한 요소이며, 언리얼 엔진에서는 이를 Camera Shake 기능으로 비교적 쉽게 구현할 수 있습니다. 이번에는 언리얼 Blueprint에서 Camera Shaking을 적용하는 기본 방법에 대해 정리해 보겠습니다. 1. Character에 Camera Shake Source 컴포넌트 추가하기 먼저 카메라 흔들림의 기준이 될 수 있도록 캐릭터 블루프린트에 Camera Shake Source 컴포넌트를 추가합니다.이 컴포넌트는 특정 위치를 기준으로 카메라 쉐이크 효과를 발생시키는 역할을 하며,..
Blueprint 공부 일기 6 (AI Perception, UI , Billboard , Data Table)
·
Unreal Project/Blueprint
AI PerceptionAI Perception은 AI가 주변 환경을 감지하고 상황을 인식하는 시스템이다.플레이어처럼 입력을 받는 것이 아니라, 시야,소리,피해 등의 정보를 기반으로 행동을 결정하기 위한 감각 시스템 역할을 한다. AI Perception Component를 추가하는 방법은 일반 Component 추가하는 방법과 같다. 대신 AI Percption이 인식하는 물체들은 AI Perception StimuliSource를 통해 감지될 속성을 고를 수 있다. 물론 없어도 감지된다. 그리고 Sight(시야)에 의해 체크 받도록 다음과 같이 설정해준다. 그리고 BP_Bear에서는 Detection by Affiliation에서 Neutrals로 설정해준다. 왜냐하면 Blueprint에서..
Blueprint 공부 일기 5 ( Pawn Sensing 기반 몬스터 탐지 Behavior Tree, Debug 명령어)
·
Unreal Project/Blueprint
오늘은 언리얼 엔진에서 몬스터가 플레이어를 탐지하고 공격하도록 만드는 기능을 구현해보겠습니다. 다음의 빨간색 박스는 Pawn Sensing의 옵션 값을 의미하며, 각 값을 조정함으로써 AI가 플레이어를 인식하는 범위(시야,청각)등을 상황에 맞게 설정할 수 있습니다.Pawn Sensing이란? Pawn Sensing은 Unreal Engine에서 AI가 주변의 플레이어(Pawn)을 감지할 수 있도록 해주는 컴포넌트이다.Pawn Sensing Component는 두 가지 감지 기능을 제공한다.Sight ( 시야 감지 ) 일정 거리 안에 있는 Pawn을 감지시야각(Fov)안에 들어와야 감지됨벽 등에 가려지면 감지 불가 Hearing ( 소리 감지 )Pawn이 발생시킨 Noise 감지거리 기반으로 감지 여부 결..
Blueprint 공부 일기 4 ( 충돌 Channel 및 이펙트, 피격효과, Behavior Tree )
·
카테고리 없음
Object Channel 생성 및 Collider 상호작용오늘은 콜리전 채널 추가 및 충돌 처리에 대해 다뤄보고 아이템 박스와 Player Weapon의 충돌을 시켜보겠습니다. Object Channel : "충돌 대상의 타입"Trace Channel : "Ray Cast시 사용할 필터 기준 " 이제 아이템 박스를 만들어보자 위에서는 PlayerWeapon 과 Item 채널을 추가해주었다. 다음과 같이 세부 설정을 한다 Object Type은 Item이고 Player Weapon만 충돌 처리를 할 수 있도록 설정하고 Event Graph에서는 원래 해당 Actor가 무엇인지 체크해야하지만 현재는 Player Weapon 하나만 검사하므로 그냥 Get Actor를 통해 받아온다 ( 원래 이러면 안됨!)..
Blueprint 공부 일기 3 ( Player Camera Manager, Animation Montage)
·
카테고리 없음
언리얼에서 Player 카메라의 회전 범위를 조절하기 위해서는 Player Camera Blueprint로 범위를 제한할 수 있다. 현재는 위 아래 회전각도인 Pitch값의 범위를 -45도에서 45도 사이로 제한 해 둔 것을 볼 수있다. 이제 해당 Player Camera Manager는 Controller에 적용시키면 게임에 적용된다. 다시 BP_Controller로 돌아가서 설정을 한다. 공격 애니메이션 넣어보기(갑작스런 Tmi, AnimInstance에서 Event Graph가 AnimGraph보다 먼저 실행된다.)공격 애니메이션을 넣기 전에 일단 고민해봐야 할 것들이 있다. 상태를 어디에 넣어줄 지 즉, 캐릭터의 상태를 어느 객체가 관리할 지를 결정해야 한다.일반적으로는 로직을 담당하는..
Blueprint 공부 일기 2 (플레이어 움직임 및 애니메이션, Level Streaming)
·
Unreal Project/Blueprint
오늘은 플레이어의 움직임을 블루프린트로 구현해보겠습니다. 플레이어 생성 및 입력 처리플레이어가 움직이기 위해서는 단순히 위치를 이동시키는 것뿐만 아니라,컨트롤러(Controller), 입력 처리(Input), 그리고 Movement Component와 같은 요소들이 함께 필요합니다. 먼저 기본적인 구조를 이해하기 위해 Pawn을 생성하여 간단한 이동을 구현해보고, 이후 보다 확장된 기능을 제공하는 Character 클래스를 활용하여 움직임을 제어해보겠습니다. 우선 플레이어의 움직임을 구현하기 위해서는 입력 처리 과정이 필요합니다.이를 위해 먼저 Input Action과 Input Mapping Context를 생성해보겠습니다. 위에서 생성한 Input Action은 어떤 입력 값을 받아올지 정의하는 D..
Blueprint 공부 일기 1 ( 오브젝트 생성 및 충돌 상호작용 )
·
Unreal Project/Blueprint
Level에 Object를 생성 및 Blueprint란? Blueprint란? - 언리얼 엔진에서 제공하는 비주얼 스크립팅 시스템으로, 노드를 연결해 로직을 구현하는 클래스 기반 시스템이다. C++ 코드를 작성하지 않고도 게임 로직, 이벤트, 동작 등을 구현할 수 있다. Object를 Level에 생성하는 방법 - 이번 과정에서는 블루프린트만 이용해서 오브젝트를 레벨에 배치 해보겠습니다. Actor로 지정한 이유는 움직이지 않을 고정 객체이며 controller를 이용하지 않을 객체이기 때문입니다. 생성하고 클릭하여 blueprint editor 창을 활성화 시킵니다. 왼쪽 Component 부분부터 살펴보겠습니다.DefaultSceneRoot : 최상위 노드인 루트 노드로 빈 루트 컴포턴트..
Data_Asset 및 Quater View, Shoulder View 구현
·
Unreal Project/Unreal Study
Data Asset이란? Data Asset은 게임 로직과 데이터를 분리하기 위해 사용하는 데이터 전용 객체입니다. Data Asset 생성 방법 다음과 같이 Data Asset을 생성할 수 있습니다. Data Asset이 필요한 이유 Character BluePrint의 오른쪽 Details 패널에서는 다양한 속성 값을 직접 설정할 수 있습니다.하지만 모든 값을 블루프린트에 의존하기보다는, C++ 기반 Data Asset을 통해 필요한 데이터만 분리하여 관리할 수 있습니다.이를 통해 데이터와 로직을 분리하고 보다 구조적으로 속성 값을 관리할 수 있습니다. - Use Controller Rotation Yaw : 카메라의 좌우 방향에 맞춰 캐릭터도 함께 회전할 지를 결정- Orient Rotati..
A-star 알고리즘 구현 및 적용
·
Algorithm/A-star
A-Star 알고리즘이란?A*는 시작점에서 목표까지의 최단 경로를 찾기 위해 현재까지의 비용(g(n)) + 목표까지의 예상 비용(h(n)) 를기준으로 탐색하는 알고리즘 입니다. g(n) : 시작점에서 현재 노드까지 가는데 드는 비용 h(n) : 현재 노드에서 목표 노드까지 가는데 드는 비용 f(n) : 총 예상 비용 ( g(n) + f(n) ) A-Star 알고리즘 동작 과정 1. 해당 노드 주변의 열린 노드의 g(n), h(n), f(n) 비용 구하기 - 열린노드(Open Node)는 현재 위치 노드에 인접한 노드들을 의미합니다. - g(n)의 비용을 구하는 방식은 바로 유클리디안 거리(점과 점사이의 거리)을 사용하여 나타낸다.- h(n)의 비용을 구하는 방식은 휴리스틱 거리 측정값을 통해 이동..