분류 전체보기
-
언리얼...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);
-
[Unreal 5/C++] 애니메이션 스테이트 노티파이 사용 방법게임 엔진/Unreal 2022. 9. 24. 18:04
애니메이션 스테이트 노티 파이 사용 방법 애니메이션 스테이트 노티파이 애니메이션 그래프에서 스테이트를 클릭해 디테일 창을 확인하면 노티 파이를 확인할 수 있다. 이 노티 파이는 스테이트에 들어오는 순간, 스테이트에서 나가는 순간, 애니메이션 블랜딩 완료 시에 적용된 노티파이를 호출하게 된다. 노티파이 이벤트 사용 방법 스테이트 이름을 "Noti"라고 한다면 다음과 같은 노티파이 이벤트를 생성해야 한다. 즉, "AnimNotify_"가 설정한 이름 앞에 붙어야 한다. 만약 설정한 스테이트 노티파이 이름이"AnimNotify_Noti"라면 "AnimNotify_AnimNotify_Noti"라는 이름의 이벤트로 노티가 발생하게 된다. ※ C++ 함수로 이벤트를 만드는 것도 동일하게 설정된 이름 앞에 AnimN..
-
언리얼...10일지 2022. 9. 22. 22:53
언리얼 애니메이션 기본 언리얼의 애니메이션 시스템은 크게 두 가지로 나뉜다. 애님 인스턴스 애님 그래프가 참조할 데이터를 제공한다. C++과 블루 프린터로 제작 가능. 애님 그래프 애니 인스턴스의 값에 따라 변화하는 애니메이션을 설계한다. 블루프린터만 제공됨. C++로 애님 인스턴스를 만들었으면 애님 그래프에 이것을 적용해주는 것은 클래스 세팅에서 부모 클래스를 변경해 주는 것으로 가능하다. C++ 클래스에서 UPROPERTY 변수를 만들면 애님 그래프에서 사용할 수 있는데 상속된 변수는 기본적으로 표시되지 않는다. 이것을 사용하기 위해서는 설정에서 상속된 변수 표시를 체크해줘야 한다. 애니메이션 리타게팅 언리얼 5에서는 리타겟 매니저를 사용하는 게 아니라 그저 필요한 애니메이션에서 우클릭해서 리타게팅이..