일지
-
언리얼...17일지 2022. 10. 2. 12:43
언리얼 UI 시스템 언리얼의 UI 시스템은 유니티와 달리 게임 화면에 띄워서 작업하는 게 아닌 새로운 창에서 작업하게 된다. 여기에서 화면 크기를 가정한 사각형에 UI를 띄우고 피벗 등을 조절해 UI를 제작하게 된다. 언리얼 UI 시스템에는 기본적인 버튼, 텍스트, 이미지 같은 구성요소 외에도 각 버튼이나 이미지에 애니메이션을 적용하여 메뉴의 진행을 나타낼 수 있는 기능이 존재한다. ※ 애니메이션을 통해 연결된 클래스의 변수를 세팅할 수도 있으나 순수 블루프린트로 작업하는 게 아니라면 변수는 코드에서 관리하는 게 일관성 유지에 도움이 되고 버그가 발생했을 때 대응하기도 편하다.
-
언리얼...16일지 2022. 10. 1. 15:12
모듈 구성 C++로 프로젝트를 진행하게 되는 경우 필요에 따라 이를 적절하게 묶어 사용할 필요가 있게 된다. 이때, 이를 모듈로 구성하게 되는데 모듈은 언리얼에서 지정한 구성을 따라야 한다. 여기에서 Public 폴더에는 헤더 및 선언이 들어가며 Privtate 폴더에 소스 및 정의가 들어가게 된다. 이후 언리얼 프로젝트 파일을 수정하여 모듈을 프로젝트에 추가하면 에디터에서도 해당 모듈의 폴더를 확인할 수 있게 된다. 언리얼 엔진에서 게임플레이 모듈을 만드는 방법 | 언리얼 엔진 5.0 문서 (unrealengine.com) 게임플레이 모듈 생성 게임의 런타임 모듈을 처음부터 생성하는 방법을 알아봅니다. docs.unrealengine.com
-
언리얼...15일지 2022. 9. 29. 21:15
AIController란? 언리얼에는 액터를 조종하기 위해 Controller라는 계층을 두고 있는데 플레이어의 경우 PlayerController를 통해 입력을 받고 이 입력을 조종하는 캐릭터에 전달해주게 된다. AIController는 AI를 위한 컨트롤러이며 비헤이비어 트리(일명 BT)의 입력을 받아 행동을 하도록 만드는 보조 클래스다. 비헤이비어 트리 기본 BT는 언리얼의 AI 시스템으로 노드를 이용해 AI의 행동 패턴을 구현할 수 있는 비주얼 스크립팅의 일종으로 볼 수 있다. BT의 구성은 AI에 필요한 정보를 공유할 수 있도록 도와주는 블랙보드가 존재하고 이 블랙 보드를 이용해 AI 행동을 결정하는 비헤이비어 트리로 나뉜다. BT의 태스크 실행 시 다음 네 값 중 하나를 반환한다. Aborte..
-
언리얼...13일지 2022. 9. 27. 21:22
소켓 언리얼에도 메쉬나 이펙트 등을 쉽게 적절한 위치에 생성하고 관리하기 위한 소켓이 존재한다. 이것은 스켈레톤 메쉬에서 설정할 수 있으며 프리뷰 에셋을 이용해 자신이 사용하고자 하는 에셋의 위치를 적절하게 설정할 수 있다. 생성자, BeginPlay 기본적으로 생성자에서는 자기 자신의 클래스에 직접 사용할 액터, 컴포넌트를 생성 및 설정한다. BeginPlay에서는 외부의 액터를 생성해 사용할 수 있다. 언리얼 버그 가끔 C++ 클래스를 새로 만들다가 그대로 프로젝트가 병신이 되는 경우가 있는데 이 때는 새로 추가했던 클래스를 삭제한 뒤, 엔진으로 에디터를 켜서 다시 클래스를 만들어 주면 다시 동작하게 된다. 아마도 빌드가 되기 전에 엔진을 종료한 경우 발생하게 되는 것 같다. ※ 빌드 완료되기 전에 ..
-
언리얼...12일지 2022. 9. 26. 22:18
충돌 관련 오브젝트 기본적으로 다음 세 가지 오브젝트를 통해 충돌체를 구현할 수 있다. 스태틱 메시 애셋 primitive 컴포넌트 피직스 애셋 충돌 영역 충돌 시 어떻게 반응할지를 설정하는 영역으로 크게 다음 세 가지 영역을 설정해야 한다 콜리전 채널과 기본 반응 콜리전 채널의 용도 다른 콜리전 채널과의 반응 충돌 반응으로는 무시, 겹침, 블록이 존재한다. 디버그 헬퍼 언리얼에는 디버깅을 편하게 할 수 있도록 도형을 그려주는 함수를 제공한다. "DrawDebugHelpers.h"를 통해 다양한 도형을 그릴 수 있고 적절한 동작인지 확인할 수 있다.
-
언리얼...11일지 2022. 9. 25. 22:15
애니메이션 몽타주 기본적으로 애니메이션 창에서 애셋 생성을 통해 생성이 가능하다. 몽타주가 생성되었을 때 원하는 애니메이션 클립을 이어 붙여 애니메이션 덩어리로 사용할 수 있다. 이때, 각 애니메이션의 길이를 설정해 적절한 애니메이션으로 만들 수 있다. OnMontageEnded 딜리게이트 연결 방식 언리얼 5에서 AddDynamic을 VS에서 찾지 못하는 문제가 있으나 그냥 무시하고 사용하면 된다. ABAnim->OnMontageEnded.AddDynamic(this, &AABCharacter::OnAttackMontageEnded);
-
언리얼...10일지 2022. 9. 22. 22:53
언리얼 애니메이션 기본 언리얼의 애니메이션 시스템은 크게 두 가지로 나뉜다. 애님 인스턴스 애님 그래프가 참조할 데이터를 제공한다. C++과 블루 프린터로 제작 가능. 애님 그래프 애니 인스턴스의 값에 따라 변화하는 애니메이션을 설계한다. 블루프린터만 제공됨. C++로 애님 인스턴스를 만들었으면 애님 그래프에 이것을 적용해주는 것은 클래스 세팅에서 부모 클래스를 변경해 주는 것으로 가능하다. C++ 클래스에서 UPROPERTY 변수를 만들면 애님 그래프에서 사용할 수 있는데 상속된 변수는 기본적으로 표시되지 않는다. 이것을 사용하기 위해서는 설정에서 상속된 변수 표시를 체크해줘야 한다. 애니메이션 리타게팅 언리얼 5에서는 리타겟 매니저를 사용하는 게 아니라 그저 필요한 애니메이션에서 우클릭해서 리타게팅이..