본문 바로가기

Unreal/작업방식

언리얼: C++ 클래스 추가시 자동 컴파일 해제 언리얼 엔진 에디터에서 C++ 클래스를 추가하면 자동으로 컴파일을 시도합니다. 여러 클래스를 추가하려는 경우 빌드에서 소모되는 CPU 자원과 인터벌에 불만이 생길 때가 생깁니다. 상단 메뉴의 편집 - 에디터 개인설정 - 기타 메뉴에서 C++ 자동 컴파일 옵션을 끌 수 있습니다. 더보기
언리얼: Build.cs에서 디렉터리 존재유무 확인하기 언리얼 엔진 플러그인 개발시 다른 플러그인에 종속성을 갖는 것은 자주 생기는 일입니다. 모듈의 Build.cs에서 다른 모듈을 디펜던시에 추가함으로써 라이브러리를 가져다 사용할 수 있게 되는데요, 만약 종속성이 생겨야 하는 모듈이 존재하지 않을 수도 있다면 어떻게 처리해야할까요? 엔진 단에서 직접적인 기능을 제공하지는 않지만, 간접적으로나마 몇 가지 사항을 체크하여 동적으로 종속성의 판단을 수행할 수 있습니다. 다만 동적이라고 표현되었지만 빌드 스크립트에서 지정해 컴파일 타임에 진행된다는 점을 유의해야 합니다. 플러그인이 설치되었는지 몇 가지 단서가 존재할 수 있는데요. 1. 설치된 엔진에 플러그인이 존재하는지 or 프로젝트에 플러그인이 존재하는지 2. 현재 프로젝트에 플러그인이 활성화 되었는지 3. 적.. 더보기
언리얼: 모듈 추가해서 코드 분리 작성하기 참고링크 : https://docs.unrealengine.com/4.27/en-US/ProgrammingAndScripting/GameplayArchitecture/Gameplay/ Gameplay Modules Collections of gameplay classes belonging to a game project compiled into DLLs. docs.unrealengine.com 생성해야 하는 파일 모듈폴더/모듈이름.Build.cs 모듈폴더/모듈이름.h 모듈폴더/모듈이름.cpp 수정해야 하는 파일 Source/메인모듈.Target.cs Source/메인모듈Editor.Target.cs 새로 생성한 모듈 이름을 ExtraModule을 추가해준다. 프로젝트.uproject uproject에 모.. 더보기
언리얼: Delegates 블루프린트에서 할당, 바인딩, 호출 가능하게 하기 DECLARE_DYNAMIC_MULTICAST_DELEGATE(F...); 매크로로 델리게이트를 정의하고, 클래스 내에서 UPROPERTY를 붙여 델리게이트를 선언해줍니다. UCLASS 매크로에서 Blueprintable, BlueprintType을 지정해주어야합니다. BlueprintAssignable을 프로퍼티에 추가해주면 BP에서 이벤트 바인딩 및 언바인딩을 할 수 있습니다. BlueprintCallable을 프로퍼티에 추가해주면 BP에서 이벤트 호출을 할 수 있습니다. 더보기