분류 전체보기 294

[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..

[UE5] Lyra 분석 - AnimBP Tour

ABP_Mannequin_Base 이 AnimBP의 Event Graph에 어떠한 로직도 없습니다. 로직은 게임 쓰레드에서 프로세싱 됩니다. 매틱마다, 각각의 AnimBP를 위한 Event Graph는 순차적으로 하나씩 실행되어져야 합니다. 이러한 것은 퍼포먼스 병목이 될 수 있습니다. 이 프로젝트를 위해서, 우리는 새로운 BlueprintThreadsafeUpdateAnimation 함수를 대신에 사용했습니다. BlueprintThreadsafeUpdateAnimation에서 로직은 여러 AnimBP를 동시에, Game Thread의 오버헤드 없이 병렬로 실행 할 수 있습니다. ABP_Mannequin_Base::BlueprintThreadSafeUpdateAnimation 이 함수는 게임 데이터를 모..

[UE5] TObjectPtr<T> 소개

UE5에서는 의무가 아닌 선택사항으로 Raw 포인터 대신에 TObjectPtr를 사용하는 것을 권장하고 있습니다. 예를 들어 USceneComponent* 는 TObjectPtr로 선언하여 사용합니다. 에디터 빌드에 다이내믹 해상도와 액세스 트래킹을 추가하면서 생겨났다. 함수의 파라미터나 로컬 변수로 사용시 Raw 포인터로 자동 변환 됩니다. 제품의 동작 또는 성능에는 영향을 미치지 않지만, 더 나은 에디터 빌드에서의 개발 경험을 할 수 있습니다. https://docs.unrealengine.com/5.0/ko/unreal-engine-5-migration-guide/ C++ 오브젝트 포인터 프로퍼티 다음 섹션은 C++ 코드를 사용하는 프로젝트에만 적용되나, C++ 프로젝트 대부분은 수정할 필요 없이 ..

[UE5] Quixel Bridge가 보이지 않는 현상 수정

참고: https://forums.unrealengine.com/t/missing-quixel-bridge-add-on-in-new-ue5/513622/37 Quixel Bridge가 보이지 않는 현상 수정 1. Epic Games Launcher 실행 2. Library로 이동 3. 보관함으로 스크롤 다운 4. “Bridge” 검색하여 설치 5. 에디터에 정상적으로 설치 되었고 사용으로 체크 된 것 확인합니다. 6. 정상적으로 Quixel이 추가 된 것을 볼 수 있습니다.