전체 글 298

[UE5] Game Ability System 관련 링크

GAS 도큐먼트 https://docs.unrealengine.com/5.0/ko/gameplay-ability-system-for-unreal-engine/ 게임플레이 어빌리티 시스템 게임플레이 어빌리티 시스템 개요 docs.unrealengine.com https://github.com/tranek/GASDocumentation#concepts-as GitHub - tranek/GASDocumentation: My understanding of Unreal Engine 4's GameplayAbilitySystem plugin with a simple multiplayer s My understanding of Unreal Engine 4's GameplayAbilitySystem plugin wit..

[UE4] Assertion Macros - check, verify, ensure

참고 : https://docs.unrealengine.com/4.27/ko/ProgrammingAndScripting/ProgrammingWithCPP/Assertions/ 어서트 docs.unrealengine.com Assert, 어서트란 주어진 코드 조각이 가정하는 상황을 검증하는 도구입니다. 포인터의 NULL 여부를 검증하는 간단한 것에서부터, 특정 함수에 재진입했는지와 같은 복잡한 검증도 가능합니다. UE4 에는 이러한 유형의 검증을 하기 위한 매크로 시리즈가 제공됩니다. 특정 빌드 환경설정 하에서는 컴파일시 제외시킬 수 있도록 매크로로 되어 있는데, 퍼포먼스 상의 이유거나 최종 빌드에서는 필요치 않기 때문이거나 입니다. 매크로를 직접 확인하려면, 이곳에서 찾을 수 있습니다: /UE4/Engi..

[UE4] WITH_EDITOR, WITH_EDITORONLY_DATA, GIsEditor

WITH_EDITOR /** * Whether we are compiling with the editor;must be defined by UBT */ Editor가 컴파일될때 WITH_EDITOR의 코드가 컴파일된다는 것을 의미합니다. GIsEditor /** *True if we are in the editor. *Note that this is still true when using Play In Editor. You may want to use GWorld->HasBegunPlay in that case. */ Editor에서 실행하는 코드의 경우 사용합니다. 유의점은 PIE(Play In Editor)에서도 여전히 Editor이므로 이런 경우에는 GWorld->HasBegunPlay()를 사용합..

[git] rebase vs merge

Main의 새 커밋이 작업 중인 기능과 관련이 있습니다. 새 커밋을 Feature 브랜치에 통합하기 위해서는 merge와 rebase 두 가지 방법이 있습니다. Merge 가장 쉬운 방법은 다음과 같이 main 브랜치를 feature 브랜치에 병합하는 방법입니다. git checkout feature git merge main 또는 git merge feature main 이렇게 하면 Feature 브랜치에 두 브랜치의 기록을 연결하는 새로운 "병합 커밋"이 만들어져 다음과 같은 브랜치 구조가 됩니다. Rebase Merge하는 대신 다음 명령을 사용하여 Feature 브랜치를 main브랜치로 rebase할 수 있습니다. git checkout feature git rebase main 이것은 main ..

각종 팁/git 2022.06.13

[UE4] 커스텀 구조체 TArray Contains 동작을 위한 oprator== 구현

커스텀 구조체를 정의하고 TArray로 사용할 경우가 있습니다. 다음과 같이요. TArray MyDataArray; MyDataArray에 아래와 같이 특정 데이터를 가지고 있는지 검사하고자 합니다. FMyData Data; ... MyDataArray.Contains(Data); Contains가 정상 동작하려면 아래와 같이 oprator==를 구현해 주어야 합니다. 그렇지 않으면 컴파일 오류가 발생합니다. USTRUCT() struct FMyData { GENERATED_BODY() AActor MyActor; float Prob; friend bool operator==(const FMyData& Lhs, const FMyData& Rhs) { return Lhs.MyActor == Rhs.MyAc..

[tortoise git] origin, master, HEAD 의미

GIT은 "원격 저장소", "로컬 저장소", "작업 폴더" 이렇게 세 가지 장소가 있습니다. SVN과 가장 큰 차이로 "로컬 저장소"가 있다는 것입니다. origin 원격 저장소를 의미 합니다. master 브랜치 중에 가장 중되는 기본적인 브랜치입니다. HEAD 현재 어떤 작업 공간에 있는지 나타냅니다. 리비전 그래프와 show log를 했을때 그 의미를 알아야 겠습니다. origin/master : 원격 저장소의 master 브랜치의 작업 위치입니다. origin/HEAD : 원격 저장소의 현재 작업 위치입니다. master (붉은색) : 로컬 저장소의 HEAD, master의 작업 위치입니다. 로컬 저장소의 HEAD -> master 상태로 attach된 상태입니다. master (초록색) : 로컬..

각종 팁/git 2022.06.11

[UE4] AActor 에디터에서 선택 Event 구현

에디터에 액터를 배치하고 난이후 액터를 선택 했을때 어떠한 구현을 하거나 선택 해제가 되었을때 어떠한 구현을 해야할 경우 이러한 이벤트를 통보 받을 수 있어야 겠습니다. 다음 페이지를 참고하였으며 구현 코드는 아래에 있습니다. UrealEd가 포함된 에디터 모듈에서 구현 해야합니다. https://docs.unrealengine.com/4.27/en-US/API/Runtime/Engine/Engine/USelection/ USelection Manages selections of objects. docs.unrealengine.com header 파일 구현 입니다. #pragma once #include "CoreMinimal.h" #include "Plus/SpawnSystem/PlusSpawnWave..