분류 전체보기 115

[졸작] 기능구현리포트_5회차

1. 대화시스템 구현 - 대화 컴포넌트를 제작하여 이 컴포넌트를 부착한 액터에게 플레이어가 접근하면 대화가 출력되도록 구현. - 각 액터 별 대화 정보는 CSV파일로 관리하고 "Branch"로 대화를 구분하여 원하는 대화를 출력할 수 있도록 구현. - 플레이어 상태를 판단하여 상황에 맞는 대화Branch를 출력하도록 구현할 예정. 2. 락온 시스템 구현 - 락온 컴포넌트를 제작하여 이 컴포넌트를 부착한 액터에게 플레이어가 접근해 특정 키를 누르면 플레이어 시점이 고정되도록 구현. 3. 게이트 클래스 구현 특정 조건을 만족했는지 검사하여 만족하지 못하였으면 UI출력하고 지나갈 수 없도록 설정. 4. 포탈 클래스 구현 콜리전에 오버랩되면 미리 설정한 맵 이름을 찾아 맵을 로드하도록 설정. 5. 보스 시네마틱..

[UE4] 언리얼 UMG 한글 폰트 적용하는 법

개요 졸업 작품을 엘든링 모작 느낌으로 가다 보니 언리얼에서 기본으로 제공해주는 고딕고딕한 폰트보다 명조느낌의 폰트를 사용하고 싶어졌다. 예쁜 폰트들을 무료로 제공해주는 '눈누'라는 사이트에서 최대한 엘든링 느낌을 내는 명조폰트를 다운로드 받고 구글링을 시작했다. 그런데 역시 언리얼이라 그런가 정보가 많이 없었다. 구글에 나오는 정보들은 텍스트 렌더러 라는 맵에 텍스트를 배치하는 형식이 대부분이었고, 난 UMG에서 사용할 폰트가 필요했다. 처음엔 둘이 뭐가 다르겠어 생각했지만.. 결론부터 말하자면 텍스트 렌더러에서 사용하는 건 텍스트 머터리얼이고 UMG에서 폰트를 사용하려면 'Runtime'방식으로 폰트롤 로드해야 한다. 폰트의 구분 먼저 에디터에서 UI->폰트 로 폰트를 생성하면 디테일 창에서 Font..

UE4 2023.05.06
Internal Compiler Error : Tried to create a property, but another object already exists there. 오류 해결법

C++ 코드로 TEXT를 바인딩 해서 사용하려던 중에 저 오류가 발생했다. 분명 저번이랑 똑같이 한 것 같은데 구현이 안되길래 껏다키기도 해보고 저번 코드를 복붙도 해봤는데 안되길래 구글링을 해보았다. https://forums.unrealengine.com/t/internal-compiler-error/442610 Internal Compiler Error I just updated my project from 4.19 to 4.21.2, I copied the whole project, when I opened it I got two internal compiler errors: Internal Compiler Error: Tried to create a property CategoryName in ..

UE4 2023.05.01
ActivationFuction, Learninglate, LossFunction 별 그래프 출력

Activation function 종류별 성능 1. Adam 2. Adamax 3. ASGD 4. Rprop Learning Rate별 성능 MESLoss, Adam Activation Function으로 진행. loss가 1보다 작아질 때까지 돌림. 1. lr = 0.0001 2. lr = 0.00001 3. lr = 0.00005 4. lr = 0.000005 5. lr = 0.000001 Loss Function 별 성능 lr = 0.00001, optimizer = Adam 1. MSELoss() 2. SmoothL1Loss() 3. L1Loss() 베이스코드 #Pretrained NN이 항상 1이 나오도록 학습시킨다. #Gound Truth를 1로 넣어주고 학습 시킨 후 모델 저장, 이후 te..

수업내용 정리 2023.04.28
[UE4] BehaviorTree - 서비스 노드(Service Node)의 종류

1. Default Focus Default Focus는 AI 컴트롤러의 포커스를 설정하여 블루프린트 및 코드에서 액터에 엑세스하는 바로 가기를 만든다. AI 컨트롤러의 포커스를 액터로 설정하면 해당 액터의 블랙보드 키에 엑세스하는 대신 AI 컨트롤러에서 직접 액터에 엑세스할 수 있다. 2. Run EQS 이 노드를 사용하여 지정된 간격으로 EQS(환경 쿼리 시스템) 템플릿을 정기적으로 실행하고 지정된 블랙보드 키를 업데이트할 수 있다. 3. Custom Services 나만의 커스텀 서비스를 생성할 수 있다. 블루프린트는 C++보다 성능이 떨어지므로 만약 최적화를 고려하고 있다면 기본 서비스를 사용하는 것이 좋다.

UE4 2023.04.12
[UE4] BehaviorTree - 데코레이터(Decorator)의 종류

1. Blackboard 블랙보드 노드는 지정된 블랙보드 키에 값이 설정되어 있는지 확인한다. 2. Check Gameplay Tag Condition 이 데코레이터는 게임 플레이 태그를 검사하고 해당 태그가 존재하는지 여부에 따라 실행 여부를 결정한다. 3. Compare BBEntries 두 블랙보드 키의 값을 비교하고 결과가 동일한지 여부에 따라 노드의 실행을 차단하거나 허용한다. 4. Composite 컴포짓 데코레이터 노드를 사용하면 언리얼이 기본으로 제공하는 노드보다 고급 논리를 설정할 수 있지만 전체 블루프린트만큼 복잡하지는 않다. 노드에 컴포짓 데코레이터를 추가하게 되면 컴포짓 데코레이터를 두 번 눌러 컴포짓의 그래프를 가져올 수 있다. 그래프 영역을 마우스 오른쪽 버튼으로 클릭하면 데코레..

UE4 2023.04.12
[UE4] BehaviorTree - 테스크 노드(Task Node)의 종류

1. Finish With Result 트리의 실행을 종료하면서, 노드가 지정한 결과값을 반환하는 노드이다. 이 노드는 주로 Behavior Tree가 끝나는 부분에서 사용되며, 이전 노드들이 실행한 결과값에 따라 Behavior Tree의 실행 결과를 반환하고자 할 때 사용된다. 또한 FinishWithResult 노드는 노드가 실행되기 전에 입력받은 블랙보드 데이터를 검사하여, 이에 따라 실행 결과를 반환할 수도 있다. 2. Make Noise AI 캐릭터가 주변에 노이즈를 발생시키는 역할을 한다. 다른 AI 캐릭터들은 노이즈를 듣고 반응할 수 있다. 노이즈에는 다양한 정보를 설정할 수 있는데 노이즈의 크기, 노이즈를 발생시킨 캐릭터의 정보, 노이즈의 발생 위치 등이 포함된다. 이러한 정보는 다른 A..

카테고리 없음 2023.04.12
[UE4] BehaviorTree - 컴포짓 노드(Composite Node)의 종류

1. Selector 셀렉터 노드는 왼쪽에서 오른쪽방향 순서대로 자식 노드들을 실행시킨다. 자식 노드 중 한명이 성공하면 실행이 중지되며 셀렉터도 성공한 것으로 간주된다. 만약 셀렉터의 모든 자식이 실패하면 셀렉터도 실패한 것으로 간주된다. 좋은 어머니 스타일. 2. Sequence 시퀀스 노드도 마찬가지로 자식 노드를 왼쪽에서 오른쪽방향으로 실행시킨다. 다만 모든 자식이 실패하면 실패인 셀렉터와 달리 한명의 자식만 실패해도 시퀀스는 실패이다. 또한 실행을 멈추게 된다. 만약 모든 시퀀스자식이 성공하면 시퀀스는 성공으로 간주된다. 완벽주의자 어머니 스타일. 3. Simple Parallel Simple Parallel 노드를 사용하면 전체 트리에서 하나의 메인 테스크 노드를 허용한다. 메인 테스크가 완료..

UE4 2023.04.12
[UE4] Behavior Tree

개요 게임을 게임답게 재밌게 만드는 요소 중 하나는 AI라고 생각한다. 이 AI를 만드는 방법에는 여러가지가 있는데 그 중에서도 Behavior Tree는 가장 효과적인 AI 구성 방법으로 알려져 있지만, 배움의 난이도가 조금 높다는 것이 단점이다. 언리얼에는 감사하게도 AI를 편리하게 만들 수 있도록 직관적인 인터페이스와 함께 자체적으로 Behavior Tree를 제공한다. 오늘은 언리얼에서 제공하는 Behavior Tree의 사용법을 알아보고 예제를 하나 만들어보고자 한다. 블랙보드(BlackBoard) 블랙보드는 Behavior Tree(앞으로 줄여서 BT라고 부르겠다)에게 필요한 정보를 저장하고 공유하는 데 사용되는 데이터 저장소이다. 블랙보드는 각각의 게임 AI 객체에 대해 별도로 유지되며 키-..

UE4 2023.04.12