[UE Team Project/T.A.] 5. 콤보 공격
·
프로젝트/TimelessAdventure
개요원래는 모든 구현 과정을 블로그로 정리하려고 했지만, 10.08일 최종 발표이며, 아직 구현하지 못한 기능이 많고 빠르게 기능 구현을 진행하다 보니 이미 정리했던 부분과의 차이가 너무 벌어지게 되었습니다. 그래서 이번 포스팅에서는 콤보 공격의 구현 아이디어와 로직을 중점으로 정리해보도록 하겠습니다. 콤보 공격 구현 아이디어콤보 공격은 AnimMontage를 사용해 구현할 수 있습니다. 우선 여러 ComboAttack 애니메이션을 구한 뒤 하나의 몽타주에서 섹션을 나눠 섹션간의 연결을 끊어주도록 합니다. 위와 같이 구성하게 되면 Combo1의 공격 모션이 종료되면 콤보 공격을 위해 JumpToSection() 함수를 사용해 Combo2로 넘기는 방식으로 콤보를 자연스럽게 이어갈 수 있습니다. 제가 구현..
[UE Team Project/T.A.] 4. 플레이어 달리기 / 구르기 구현
·
프로젝트/TimelessAdventure
개요이번 포스팅에서는 CombatComponent(전투)와 함께 구르기, 달리기 기능을 정리해보도록 하겠습니다. CombatComponent 구조 설명CombatComponent는 전투와 관련된 기능을 모아둔 컴포넌트입니다. 프로젝트 기획상 데쉬와 구르기 동작은 스테미너를 소모하고, 스테미너가 다 떨어졌다면 더이상 수행하지 못하는 동작입니다. 이를 구현하기 위해 스테미너와 관련된 모든 전투 요소들을 CombatComponent에서 구현하게 되었습니다. 전체적인 행동을 FSM 방식으로 관리하기 위해 상태를 구분하기 위한 열거형을 사용했습니다.달리기 기능 구현우선 입력을 받기 위한 IA_Dash와 이에 바인딩될 함수를 InputComponent에서 구현해주도록 합니다. InputComponent.h더보기....
[UE Team Project/T.A.] 3. 플레이어 입력 및 기본 이동 (EnhancedInput)
·
프로젝트/TimelessAdventure
개요이번 포스팅에서는 이동기능을 추가한 플레이어를 제작한 방법에 대해 정리해 보겠습니다. 시작하기 앞서, 서바이벌 개념의 프로젝트이기에 모든 기능들을 전부 컴포넌트 형식으로 제작해보자는 의견이 나왔고, 입력과 기본 이동 등을 컴포넌트로 빼서 구현해본 경험이 없기에 구조가 약간 난잡할 수도 있습니다.플레이어 - 향상된 입력 (EnhancedInput) 기본 설정플레이어 입력 방식은 기존의 입력 방식이 아닌 향상된 입력을 사용하기로 했습니다. 우선 향상된 입력을 사용하기 위해서는 bulid.cs 파일에 "EnhancedInput" 모듈을 추가해줘야 합니다.에디터에서 사용할 InputMappingContext와 InputAction을 제작해주도록 합니다. IA_Move는 기본적으로 WS(전/후), AD(좌/우..
[UE Team Project/T.A.] 2. 레벨 디자인 (Landscape / Paint / Foliage)
·
프로젝트/TimelessAdventure
개요이번 포스팅에서는 랜드스케이프를 활용해 레벨 디자인을 하는 방법에 대해 정리해보려고 합니다. 현재 진행하는 팀 프로젝트의 경우 모든 기능 구현을 팀원이 모두 구현한 뒤 가장 좋은 결과물을 채택하는 서바이벌 개념의 프로젝트지만, 레벨 디자인은 4개로 나눠 각자의 컨셉을 가지고 만든 뒤 모두 사용하기로 하였습니다. 제가 만들 레벨은 게임의 시작지점인 초원 레벨입니다.레벨 생성 및 지형 제작어드벤처 장르의 게임을 만들기 위해 회의한 결과 각각 12600 * 12600의 랜드스케이프 4개을 사용하기로 하였으며, 이를 위해 랜드스케이프를 생성해주었으며, 이후 간단히 랜드스케이프 기능을 통해 지형의 굴곡을 만들어 주었습니다. (추후 디테일이 필요할 경우 챙겨줄 예정)랜드스케이프 페인팅생성한 지형에 알맞은 텍스처..
[UE Team Project/T.A.] 1. 팀 구성 및 프로젝트 초기화
·
프로젝트/TimelessAdventure
개요안녕하세요, 이번 포스팅에서는 청년취업사관학교(SeSAC)에서 수강한 언리얼 엔진 과정 2번째 팀 프로젝트에 대해 이야기해보려 합니다.프로젝트 개요 및 특이점이번 프로젝트는 'TimelessAdventure' 라는 어드벤처 장르의 자작 게임을 만드는 것이 목표로 했습니다. 특이한 점은 4명이서 같이 하는 팀 프로젝트지만 모든 작업을 팀원과 경쟁하는 구도로 구현하며, 잘 된 결과물을 하나 선택하여 합쳐야 하는 서바이벌(?) 프로젝트라는 점입니다. 즉, 누가 잘할지 모르니 모두 타인의 코드와 자신의 코드를 명확하게 해석해야 하며, 최대한 컴포넌트 기반의 기능 구현으로 합치는 과정에서 문제가 생기지 않도록 해야하는 신기한 프로젝트를 진행하게 되었습니다.게임 흐름 차트시간을 중심으로 꿈에서 탈출하기 위한 모..