본문 바로가기
반응형

Unreal/Manual132

Unreal Editor Module 만들기 [Unreal/C++] Editor Module 만들기 에디터 모듈(Editor modules) 은 에디터 빌드에 대해서만 코드가 컴파일되는 언리얼 엔진 (UE) C++ 모듈입니다. 이를 통해 런타임(출시) 빌드 크기를 늘리지 않고 커스텀 에디터 기능을 지원하는 클래스를 쉽게 생성할 수 있습니다. 에디터 모듈이란 무엇인가요? 편집기 모듈을 사용하면 사용자 정의 C++ 액터, 구성 요소 및 기타 클래스에 대한 편집기 기능을 확장할 수 있습니다. 등 다양한 일을 할 수 있습니다. 편집기 모듈을 사용하면 사용자 정의 C++ 액터, 구성 요소 및 기타 클래스에 대한 편집기 기능을 확장할 수 있습니다.UPROPERTY에 대한 세부 정보 패널 사용자 정의, 새 편집기 모드 추가, 구성 요소 시각화 도우미 사용 및 .. 2024. 3. 10.
Unreal 향상된 입력 InputMappingContext 사용하기 [Unreal] 향상된 입력 InputMappingContext 사용하기 언리얼 엔진의 버전이 4 -> 5로 업그레이드 됨에 따라 향상된 입력이 추가되었습니다.5.0 버전에서는 이전 입력 시스템을 그대로 사용할 수 있었지만, 5.3버전을 사용하려고 보니 기존 입력 시스템에서 권장하지 않는 모습을 보였습니다.   이 글에서는 향상된 입력을 사용해서 캐릭터를 앞뒤좌우로 이동하는 방법을 소개합니다. 먼저 입력 맵핑 컨텍스트와 입력 액션 두가지를 만들어줍니다. 입력 맵핑 컨텍스트는 입력 액션을 참고하여 세부사항을 설정하고 키를 맵핑할 수 있도록 도와줍니다.  이름은 자유롭게 설정하고 먼저 생성한 InputAction을 수정합니다. 값 타입을 Axis2D (Vector2D)로 설정합니다.WASD와 같은 입력을 사.. 2024. 2. 23.
Unreal BehaviorTree에서 Random Selector Composite 만들기 [Unreal/C++] BehaviorTree에서 Random Selector Composite 만들기 언리얼 엔진 비헤비어트리를 사용하다보면 데코레이터를 하나하나 추가해서 failed를 만드는 것 보다무작위로 하위 노드가 선택되어 실행되는 것이 필요할 때가 있습니다. 필요한 경우 BTCompositeNode를 상속받아 Composite를 만들면 되는데 생각보다 어렵지 않습니다. 먼저 기본 Composite 인 Selector를 살펴보겠습니다. BTComposite_Selector 클래스는 생각보다 단순한 함수로 구현되어 있습니다.기본 생성자에서 NodeName을 설정하고 GetNextChildHandler 함수에서 다음 실행할 노드를 설정해 줍니다. 코드에서 보이는 것 처럼 첫 실행에서는 첫 번째 실행.. 2024. 2. 14.
Unreal Animation Instance, 캐릭터의 속도와 방향 구하기 [Unreal/C++] Animation Instance, 캐릭터의 속도와 방향 구하기 Unreal Engine5.0 (UE5)이상 버전에서는 CalculateDirection 함수의 기능이 바뀝니다.현재 바뀐 것은 아니지만 바뀌고 있다는 것을 언리얼 엔진에서 알려주고 있습니다. Unreal Engine 5.0 부터는 더이상 사용하지 않습니다.AnimInstance에 있는 CalcalateDirection 함수 대신 UKismetAnimationLibrary에 있는 CalculateDirection을 사용하라고 친절하게 알려주고 있습니다. 그래서 어찌저찌 KismetAnimationLibrary를 추가하고 사용하려하면 컴파일이 안됩니다.이는 모듈의 추가를 함으로 해결할 수 있습니다. #include "K.. 2024. 2. 8.
Unreal 인공지능 AIController 구성하기 [Unreal/C++] 인공지능 AIController 구성하기 언리얼 엔진에서 AIController를 구성하는 방법을 소개합니다. Unreal 엔진 공식 문서에서는 AIController를 다음과 같이 소개합니다.PlayerController 가 사람 플레이어의 의사 결정을 통해 할 일을 결정하는 반면, AIController 는 환경과 게임 월드에서의 입력에 반응하는 데 초점을 맞추고 있습니다. AIController 의 임무는 사람 플레이어의 명시적인 입력 없이 주변 월드를 관찰하고 의사를 결정한 뒤 알맞게 반응하는 것입니다. 언리얼 엔진에서 소개된 것처럼 플레이어의 명시적인 입력 없이 주변 월드를 관찰하고 의사를 결정한 뒤 반응하게 만들 수 있습니다. 하지만 구체적이지 않고 추상적인 설명은 직접.. 2024. 2. 7.
Unreal 아군, 적군, 중립 구별 TeamID 설정하기 [Unreal/C++] 아군, 적군, 중립 구별 TeamID 설정하기  이전 글에서는 uint8로 Team ID를 설정했다.하지만 Interface와 별개로 uint8을 정의해서 만든 것이라 추후 문제가 발생할 가능성이 있다.이번에는 인터페이스를 오버라이드 하여 제대로 사용한다. Unreal에서 AI를 구현하거나 아군, 적군, 중립을 설정하기 위해 TeamID라는 것이 필요하다.AIController를 상속받는 클래스라면 크게 신경쓰지 않아도 되지만 상속받지 않는 클래스는 인터페이스를 상속받고 구현해야한다.    #include "GenericTeamAgentInterface.h" 헤더를 추가하고IGenericTeamAgentInterface 인터페이스를 상속받는다.일반 클래스는 다중 상속이 불가능하지만.. 2024. 2. 6.
Unreal EQS(Environment Query System) 사용하기 [Unreal] EQS(Environment Query System) Circle 사용하기 언리얼 엔진에서 EQ(Environment Query)를 사용하는 방법을 소개합니다.먼저 필요한 것은 다음과 같다.1. 내비 메시 바운드 볼륨 : (Nav Mesh Bounds Volume)2. EQS 테스팅 폰 : EQS(Environment Query System)TestingPawn3. 인바이런먼트 쿼리 EQ(Environment Query) 내비 메시 바운드 볼륨 : (Nav Mesh Bounds Volume) 을 월드에 배치하고 AI가 활동할 영역 크기만큼 스케일을 지정해줍니다. 현재 바닥과 내비 메시 볼륨 스케일은 (10, 10, 1) 입니다. 내비메시바운드볼륨 영역을 표시하려면 키보드의 'P'키를 눌러.. 2024. 2. 6.
Unreal meta = (AllowPrivateAccess = "true") 의미 [Unreal/C++] meta = (AllowPrivateAccess = "true") 의미 언리얼 엔진에서 작업을 하다보면 다음과 같은 AllowPrivateAccess 값을 많이 볼 수 있습니다. 결론 부터 얘기하자면 이 키워드는 private 변수도 블루프린트 스크립트에서 활용이 가능하도록 만들어줍니다. 블루프린트는 대부분 C++ 클래스를 상속받아 사용하게되는데 기본적으로 public 이나 protected 변수들만 스크립트에 적용이 가능합니다. 하지만 C++ 클래스 안에서 변수를 private로 사용하면서 블루 프린트에서 사용하고 싶을 경우 이 키워드를 적용해주면 사용할 수 있습니다.  OOP설계시 멤버 변수에 직접 접근하는 디자인보다 액세서(Accessor)라 불리는 함수를 통해 접근하는 디자.. 2024. 2. 5.
Unreal 멀티 플레이어 네트워크 정리 (링크) [Unreal] 멀티 플레이어 네트워크 정리 (링크) 좋은 정보 알려주신 분들께 감사드립니다.   언리얼 네트워크 정리Network Conpendium의 요약정리 자료를 참고하여 정리하는 과정에서 작성자의 오해나 이해가 부족한 점이 있을 수 있음을 알려드립니다 Network Multiplayers 게임관련 주요 클래스 GameInstanceGameModeGameStatePaunrealengine.tistory.com Welcome | An Unreal Engine Blog by Cedric NeukirchenHere you can find all available tutorials in one place!cedric-neukirchen.net 2024. 1. 29.
Unreal 엔진의 프레임 워크 정리 (링크) [Unreal/C++] 엔진의 프레임 워크 정리 (링크) 언리얼 엔진의 동작 구조를 잘 정리해놓은 글이 있어서 필요할 때 다시 보기 위해 링크를 걸어놓습니다.   Unreal Engine Game Framework : main 함수부터 BeginPlay까지UnrealEngine의 초보자들이 GameFramework(GameMode, GameState, PlayerController, Pawn, PlayerState와 같은 클래스)를 제대로 이해하고 다루고 싶어 할 것이다. 익숙해지기 가장 좋은 방법 중 하나는 언리얼 엔진의 소openmynotepad.tistory.com 2024. 1. 29.
Unreal 언리얼 엔진 멀티플레이어 꿀팁과 요령 [Unreal] 언리얼 엔진 멀티플레이어 꿀팁과 요령 언리얼 엔진에서 멀티 플레이어 게임을 개발하려고 준비중에 있습니다.여러 정보를 찾던 중 도움이 되는 게시글을 찾았습니다.게시글 링크 공유합니다.  Unreal Engine Multiplayer Tips and TricksGood practices to adopt, and bad habits to avoid when doing online multiplayer in Unreal Enginewizardcell.com 2024. 1. 27.
Unreal IK릭과 IK리타기터를 이용한 애니메이션 리타겟팅 [Unreal] IK릭과 IK리타기터를 이용한 애니메이션 리타겟팅 언리얼 엔진 5.0 환경에서 IK 릭과 IK 리타기터를 이용해 애니메이션을 리타겟팅 하는 방법을 소개합니다. Unreal엔진에서 제공하는 Mannequins 에셋 Manny와 Paragon 에셋의 Greystone 스켈레톤, 메쉬를 사용합니다. 언리얼 엔진에서 리타겟팅 하는 방법은 여러가지가 있습니다. 1. 스켈레톤에서 애니메이션 리타깃을 설정하는 방법2. 애니메이션 클립을 우클릭 한 후 자동 리타깃 하는 방법3. 스켈레톤의 IK릭을 생성하여 리타깃 대상 본들을 설정하는 방법 등등 방법은 다양하지만 하나만 제대로 알아둬도 충분히 사용할 수 있습니다. 이 글에서 진행하는 것은 다음과 같습니다.1. GreyStone의 IK 릭 생성 (리타깃 .. 2024. 1. 27.
반응형