본문 바로가기
728x90

[Unreal4]/기능14

[언리얼4] 블루프린트 텍스트 결합 언리얼에는 문자열 관련하여 자주 사용하는 변수가 2가지 있다. Text와 String인데 이 차이는 Text가 지역 현지화를 위한 것이라는 점이 있다. FName도 있지만 추후 FName, FText, FString 정리로 대체하겠다. 블루프린트 내에서 텍스트를 결합하는 방법은 아래와 같다. String : Append 함수를 사용 핀 추가를 사용하여 많은 String을 연결할 수 있으며 리터럴 문자열도 추가할 수 있다. Text : Format Text 함수를 사용하여 추가함. 중괄호({})를 통해 특정 위치에 매개변수 형태로 값을 지정할 수 있다. (%d, %s, 하듯) [Unreal4]/기능 2022. 12. 16.
[언리얼4] 블루프린트 위젯 생성 시 생성 파라미터 추가하기 기본적으로 Create Widget 함수를 블루프린트에서 추가하면 아무런 매개변수를 받을 수 없는 상태로 나타난다. 그렇지만 위젯을 생성하다보면 매개변수를 넘겨서 데이터를 바로 보내야하는 경우가 발생한다. 이 때는 해당 블루프린트 위젯으로 가서 생성 시 이니셜라이즈 할 변수를 찾아간다. 해당 변수의 디테일 창을 찾아보면 스폰 시 노출, 인스턴스 편집 가능 이라는 체크박스가 존재한다. 이 값을 체크하고 컴파일한다. 컴파일하더라도 Create Widget이 실시간으로 변경되지는 않는다. 따라서 CreateWidget을 새로 추가하면 아래 사진처럼 매개변수가 추가된다. 만약 많은 곳에서 사용하고 있다가 매개변수를 받도록 변경하면 일일히 찾아서 수정해야하므로 처음부터 설계를 잘 해야할 것 같다. [Unreal4]/기능 2022. 12. 16.
[Unreal4] 언리얼 C++ 클래스 제거, 필요 없는 Cpp, h 파일 제거하기 안녕하세요 Kwonriver입니다. 프로젝트를 만들다 보면 필요 없어진 파일이나 오타로 인해 다시 만드는 경우에 기존 파일을 제거할 일이 생깁니다. 블루프린트라면 단순히 오른쪽 클릭, 삭제 버튼을 누르면 삭제할 수 있습니다. 그런데 C++ 클래스는 삭제 버튼이 딤드되어 있어 선택할 수 없습니다. 콘텐츠 브라우저에서는 C++ 파일을 삭제할 수 없는데요. 이를 삭제하기 위해서는 아래 방법을 따릅니다. 1. 우선 해당 탐색기에서 표시를 눌러 해당 파일의 위치로 갑니다. 2. 삭제하고자 하는 Cpp, h 파일을 삭제합니다. 3. 프로젝트 폴더로 이동합니다. 4. Binaries, Intermediate, Saved 폴더와 .sln 프로젝트 파일을 삭제합니다. 이때 언리얼 프로젝트와 비주얼 스튜디오는 모두 종료되.. [Unreal4]/기능 2022. 10. 14.
[Unreal4] 언리얼 엔진 4에 연결된 비주얼 스튜디오 버전 변경하기 안녕하세요 Kwonriver입니다. 언리얼 엔진이 변경되면서 최소 비주얼 스튜디오 버전도 점차 상향되고 있습니다. 따라서 여러 버전의 비주얼 스튜디오를 설치한 상태로 언리얼 엔진을 사용할 경우가 발생할 수 있는데요. 이 때 비주얼 스튜디오의 버전을 변경하는 방법을 알아보겠습니다. 비주얼 스튜디오의 버전은 프로젝트 에디터와 연결되어 있습니다. 따라서 '에디터 개인설정'에서 프로젝트 단위로 변경을 해주어야 합니다. 기본적으로는 Visual Studio 로 세팅되어 있으며 프로젝트 생성 시 PC에 설치된 비주얼 스튜디오를 탐색하여 연결합니다. '편집 - 에디터 개인설정'을 클릭하면 아래와 같은 창이 나타납니다. 기본으로 '외형' 탭이 오픈되지만 비주얼 스튜디오 버전 변경을 위해서는 '소스 코드' 탭을 선택합니.. [Unreal4]/기능 2022. 8. 13.
[언리얼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.
[Unreal] ConstructorHelpers::FClassFinder, FObjectFinder 차이 // 생성자에서만 로딩 FClassFinder FObjectFinder UObject의 생성자 함수에서만 사용이 가능하다, 생성자 함수가 아니라면 언리얼 엔진이 뻗는 경우가 다반사 리소스는 여러 언리얼 오브젝트의 인스턴스들이 공유해서 사용하는 자원이므로, 인스턴스마다 불필요하게 애셋을 로드할 필요가 없기 때문이다 (여러 인스턴스가 같은 리소스를 계속 재할당 요청하는 것을 방지) 일반적으로 위에 적은 이유들로 static 키워드를 붙이는 것이 관행이라 할 수 있다. // 리얼타임(다이나믹) 로딩 StaticLoadClass StaticLoadObject 모든 위치에서 사용이 가능 // 동작은 같으나 사용 위치가 다름 FClassFinder == StaticLoadClass FObjectFinder == S.. [Unreal4]/기능 2022. 2. 5.
728x90