Unreal: 스테이트 트리(State Tree, ST)
스테이트 트리(State Tree, ST) 기존 언리얼에서 AI 구성을 위해 사용하던 BT의 개념에 상태 머신(State Machine)형태를 합친 형태의 범용 계층형 상태 머신이다. BT 대신 고도화된 AI 행동 패턴을 구성하는데 사용할 수 있다. 다만 특징에 따라 적합한 경우는 나뉠 수 있다. FSM형태로 표현될 수 있는 형태면 ST를 고려해볼법 ...
스테이트 트리(State Tree, ST) 기존 언리얼에서 AI 구성을 위해 사용하던 BT의 개념에 상태 머신(State Machine)형태를 합친 형태의 범용 계층형 상태 머신이다. BT 대신 고도화된 AI 행동 패턴을 구성하는데 사용할 수 있다. 다만 특징에 따라 적합한 경우는 나뉠 수 있다. FSM형태로 표현될 수 있는 형태면 ST를 고려해볼법 ...
Gameplay Cue 사운드나 이펙트등을 관리하는 표시용 시스템으로, 두가지 종류가 제공된다. GameplayCueNotify_Actor 액터 인스턴스로 생성된다. 액터처럼 스폰되고, 시작, 종료, 수명주기 개념이 있다. 수명주기와 신경써야할 것이 많아 신경쓸 게 더 있고, 오류를 피하기 위해선 더 명확...
밋밋하지 않은 UI만들기 기획서 만들기 AI에 컨셉만 던져주고 구체화/문서화 시켜 달라고 하는 것도 방법. 기획서 토대로 시안 만들어달라고 하기 안좋은 예시! - 뽑아준 시안 이미지 그대로 UMG에 때려넣기 창 사이즈 바뀔때마다 비율/배치 깨짐 ...
투 포인터(Two Pointers) 기법 두개의 포인터를 두고 여러번 순회할 것을 한번의 순회로 처리하는 기법의 통칭 핵심 조건 - 단조성(Monotonicity) 한방향으로만 변하는 성질 ex) 배열 왼쪽이 오른쪽보다 큼, 계속 증가, 계속 감소 대표 문제 - 숫자 합 찾기 ...
Gameplay Ability System (GAS) Gameplay Ability System (GAS)는 언리얼 엔진에서 제공하는 플러그인 기반의 프레임워크로, RPG나 MOBA같은 장르의 복잡한 캐릭터 스탯, 스킬, 아이템, 상호작용등을 데이터 중심으로 손쉽게 정의/관리하기 위해 도입됬다. 가령 여러 속성의 공격 방식을 구현한다고 했을 때, 일반...
오브젝트 풀링을 구현하는 방법 자체는 여러가지가 있을 수 있겠으나, 이번에는 서브시스템에 오브젝트 풀링을 구현해보도록 하자 오브젝트 풀링 컴포넌트 만들기 오브젝트 풀링 서브시스템 만들기
네트워크 게임 만들기 언리얼 엔진에선 미리 만들어진 네트워크 기능들을 제공한다. 이전에 써봤던 게임모드나 게임 스테이트, 컨트롤러, GAS같은 개념들을 왜 굳이 복잡하게 나눠놨을까 싶었다면, 네트워크 게임을 만드는데 있어서 용이한 구조이기 때문에 그렇게 처음부터 구축되었다고 생각하면 편하다. 멀티플레이어/온라인 게임이 싱글플레이어에 기능이 추가로 붙는...
동적 프로그래밍(Dynamic Programming) 이전의 계산 결과를 저장해 이후의 계산결과에서 다시 쓰는 기법 대략 다음과 같은 과정을 통해 최종 결과에 도달한다. 어찌 보면 재귀를 이용하는 브루털 포스와 유사하다고도 볼 수 있지만, 한 번 계산한 적이 있는 값을 다시 계산하는게 아니라 저장해놨다가 다시 사용한다는 점에서 차이가 있다. ...
그리디 알고리즘(Greedy Algorithm) 탐욕적 알고리즘 현재 가장 최선의 선택지만 고르는 알고리즘으로, 이 선택이 전체에서도 좋은 선택지임이 보장되어야 한다. 비교 완전탐색 - 모두 확인 백트래킹 - 막다른길은 건너뜀 그리디 - 순간마다 최선만 ...
비 사실적 렌더링(Non-Photorealistic Rendering, NPR) 비 사실적 렌더링(Non-Photorealistic Rendering, NPR)은 특정한 그래픽 느낌을 내기 위해 게임이나 영화에서 많이 보이는 그래픽 기법의 큰 범주이다. 물리 기반 렌더링(Physical-Based Rendering, PBR), 사실주의 렌더링이 아닌 ...