본문 바로가기
728x90

[Unreal4]29

[언리얼4] 모듈 추가 하기 언리얼4는 엔진을 구성하는 모듈들의 집합으로 구성되어 있다. 기본적으로 Core, CoreUObject, Engine, InputCore 만 엔진에 추가되어 있기 때문에 이외의 기능을 사용하기 위해서는 모듈을 추가해야 한다. 언리얼에서 제공하는 유저 인터페이스 기능인 UMG를 사용하기 위해서는 UMG 모듈을 추가해야한다. 먼저 언리얼 프로젝트에서 비쥬얼 스튜디오를 연다. 그런 다음 솔루션 탐색기에서 프로젝트의 소스 코드가 있는 곳까지 내려가면 프로젝트 이름.build.cs 가 있다. 이 파일을 열면 모듈을 추가할 수 있는 부분이 있는데 여기에 UMG 모듈을 추가한다. 이 Build.cs 파일은 프로젝트 경로를 직접 찾아가도 확인할 수 있다. 메모장으로도 열 수 있다. [Unreal4]/기능 2022. 5. 25.
[언리얼4] 오브젝트 초기화 시점과 프로퍼티 수정 시 호출되는 함수 virtual void PostInitProperties() override; 오브젝트가 초기화 될 때 호출되는 함수 상속받아 사용 시 Super::PostInitProperties(); 를 호출해주어야 부모 클래스 함수가 실행된다. virtual void PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent) override; 프로퍼티가 수정될 때 호출되는 함수 상속받아 사용 시 Super::PostEditChangeProperty(PropertyChangedEvent); 를 호출해주어야 부모 클래스 함수가 실행된다. [Unreal4]/기능 2022. 5. 25.
[Unreal4] 언리얼C++ 구조체 사용하기 언리얼에서 구조체를 만드는 방법은 여러가지가 존재한다. 가장 기본적으로 C++ 에서 구조체를 만드는 방식과 동일하게 만들 수 있는데 이 구조체는 C++ 코드에서만 사용이 가능하며 언리얼 에디터나 블루프린트에서는 사용할 수 없다. struct MyStruct { int nAge; int nNumber; string strName; }; 두번째 방법으로는 블루프린트 구조체를 만드는 방법이다. 이 구조체는 블루프린트에서만 사용이 가능하며 C++ 코드에서는 사용할 수 없다. 컨텐츠 브라우저에서 우클릭 - 블루프린트 - 구조체를 클릭하면 블루프린트 전용 구조체가 생성되며 만들어진 구조체를 더블클릭해 구조체 편집기에서 구조체를 구성할 수 있다. 세번째 방법은 언리얼 C++ 의 매크로를 이용해 생성하는 방법이다. 이.. [Unreal4]/기능 2022. 5. 19.
[Unreal4] ERROR: Could not find NetFxSDK install dir; this will prevent SwarmInterface from installing. Install a version of .NET Framework SDK at 4.6.0 or higher 수정 언리얼 4.27 버전으로 프로젝트를 생성하려고 하니 ERROR: Could not find NetFxSDK install dir; this will prevent SwarmInterface from installing. Install a version of .NET Framework SDK at 4.6.0 or higher. 에러가 발생했다. 대충 닷넷 프레임워크 버전이 낮아서 그런 것 같으니 닷넷 프레임워크 SDK 를 최신 버전으로 설치해보자. https://dotnet.microsoft.com/en-us/download/visual-studio-sdks .NET SDKs downloads for Visual Studio Download .NET SDKs for Visual Studio. Visit o.. [Unreal4]/오류 수정 2022. 5. 19.
[Unreal] ConstructorHelpers::FClassFinder, FObjectFinder 차이 // 생성자에서만 로딩 FClassFinder FObjectFinder UObject의 생성자 함수에서만 사용이 가능하다, 생성자 함수가 아니라면 언리얼 엔진이 뻗는 경우가 다반사 리소스는 여러 언리얼 오브젝트의 인스턴스들이 공유해서 사용하는 자원이므로, 인스턴스마다 불필요하게 애셋을 로드할 필요가 없기 때문이다 (여러 인스턴스가 같은 리소스를 계속 재할당 요청하는 것을 방지) 일반적으로 위에 적은 이유들로 static 키워드를 붙이는 것이 관행이라 할 수 있다. // 리얼타임(다이나믹) 로딩 StaticLoadClass StaticLoadObject 모든 위치에서 사용이 가능 // 동작은 같으나 사용 위치가 다름 FClassFinder == StaticLoadClass FObjectFinder == S.. [Unreal4]/기능 2022. 2. 5.
[Unreal] unreal 스트링 처리 Unreal 내에는 FName, FText, FString 3개의 스트링 자료형이 존재한다. 서로 간의 암묵적 형변환이 존재하지 않아 명시적으로 변환 함수를 사용해서 변환해야 한다. 아래는 언리얼 공식 도큐먼트에서 정의한 내용들이다. FName 에서 FString TestHUDString = TestHUDName.ToString(); FName 에서 FText TestHUDText = FText::FromName(TestHUDName); FName -> FText 는 가능한 경우도 있지만, FName 의 내용이 FText 의 "자동 현지화" 혜택을 받지 못할 수 있음에 유념해 주시기 바랍니다. FString 에서 FName TestHUDName = FName(*TestHUDString); FString .. [Unreal4]/기능 2022. 1. 22.
[Unreal] cheat manager 사용하여 디버그에 도움 주기 치트 매니저는 하나의 블루프린트 클래스로 디버깅이나 특정 상황을 테스트할 때 사용할 수 있다. 기본적으로 프로젝트가 디버깅이 가능할 때만 사용이되며 Shipping 모드로 패키징하면 해당 기능은 패키징에서 제외된다. 즉, 치트 매니저는 Shipping으로 패키징 된 실행파일에서는 사용할 수 없는 기능이 된다. 일반적인 블루프린트를 만들듯이 만들 수 있다. 해당 치트매니저는 컨트롤러에서 사용이 가능하다. 컨트롤러 블루프린트 - 디테일 - Cheat Manager 를 가면 설정할 수 있다. 치트매니저에는 사용 가능한 다양한 함수들이 있다. 치트 함수들 Change Size F의 값으로 크기를 변경시킨다. Damage Target 바라보고 있는 객체에게 데미지를 가한다 해당 객체에 데미지를 입는 함수가 있을 .. [Unreal4]/기능 2022. 1. 22.
[Unreal] Auto Reimport 기능을 통해 프로젝트 경로의 폴더 모니터링 하기 파일 임포트 경로 설정 및 폴더 모니터링 자신의 프로젝트 폴더에 새로운 파일이 생겼을 때 프로젝트에 임포트를 할 것인지 물어보는 기능을 의미한다. 편집 - 에디터 개인 설정 - 로드&저장 부분이 있다. Monitor content Directories를 체크를 하지 않으면 파일을 폴더에 넣어도 임포트 하지 않는다. Directories to Monitor는 모니터링할 경로를 의미한다 0번은 기본 생성으로 /Game/ 경로를 모니터링 하고 있는데 이는 해당 폴더의 기본 위치로 Content 랑 동일하다. 즉, 해당 폴더에 파일을 추가하면 언리얼이 자동으로 모니터링하여 임포트 할 것인지를 물어보는 것이다. Include/Exclude wildcards 는 특정 파일이나 확장명을 제외하거나 특정 파일 형식에서.. [Unreal4]/기능 2022. 1. 22.
728x90