전체 글 48

UE4 Widget Animation C++

글을 쓰는 목적 UE4 widget animation 사용을 자주 하지 않아 기억하기 위해 이 글을 쓴다. 작업 환경 UE4 : UE4.26 Widget Animation Widget에 Widget animation 바인딩 Widget Animationㅇ르 C++ 코드와 UserWidget 바인딩을 하기 위해서는 UUserWidget class를 상속받는 클래스에 UPROEPRTY 선언시 meta=(BindWidgetAnim), Transient와 같이 UWidgetAnimation 선언 UCLASS() class UTestWidget : public UUserWidget { GENERATE_BODY() public: UPROPERTY(BlueprintReadOnly, Transient, Category..

UE4 2022.02.23

[UE4][BUG] Android에서 시작 맵이 변경되지 않는 현상

글을 쓰는 목적 게임의 시작 맵을 변경했는데 안드로이드 폰에서 변경된 새로운 맵이 로드가 안되는 현상 있었다. 해결 방법을 기억하기 위해 적는다. 작업 환경 UE4 : UE4.26 Device : S20 plus Android version : Android11 원인 언리얼 엔진에서 핸드폰에 바로 런칭을 하면 에디터에 열린 맵을 핸드폰에서 바로 테스트할 수 있는데, 에디터에서 바로 게임을 설치해서 에디터에서 테스맵을 열도록 하는 UE4CommandLine.txt이 설치 됐고, 설치된 UE4CommandLine.txt 가 APK로 설치한 게임의 시작맵을 여는 것과 충돌이 일어난게 아닌가 의심된다. [GameActivity] Using APK commandline [GameActivity] Parsing c..

UE4 2021.12.21

UE4 Matrix Transformation C++

글을 쓰는 목적 회전된 DecalActor를 스폰하는 경우가 생겨서 Matrix 연산을 통해 스폰된 액터의 Transform을 구했는데 구현하는데 조금 막히는 곳이 있어 글을 씀 작업 환경 UE4.26 Matrix 연산을 통해 Transform 구하기 행렬 좌표 계산은 3D 수학을 공부해 본 사람이라면 아시다 싶이 Scale Matrix * Rotation Matrix * Translation Matrix * Orbit Matrix* Parents Matrix를 곱해서 Transform을 알 수 있다. FVector scale; FRotator rotation; FVector location; float Degree; FVector parentsLocation; FMatrix scaleMat = FSca..

UE4 2021.12.03

UE4 ParticleSystemComponent Trails C++

글을 쓰는 목적 ParticleSystemCompnent Trail 기능을 사용하다가 헤맸던 구간이 있어서 기록하기 위해 글을 적는다. 작업 환경 UE4.26 ParticleSystemComponent Trails 적용하기 ParticleSystemComponent의 Trails 이펙트를 사용법 ParticleSystemComponent를 MeshComponent에 하위에 Attach ParitcleSystemComponent의 Template 를 설정 BeginTrails로 Trails 이펙트 시작(BeginTrails에 소켓 이름, 소켓 이름, 이펙트 스폰 위치 Enum, 넓이를 설정한다.) EndTrails로 Trails 이펙트 종료 UCLASS() class ATestParticleSystemCo..

UE4 2021.12.02

UE4 Change Overall Scalability C++

글을 쓰는 목적 Scalability 적용한 경험이 적어 기억하기 위해 기록을 남긴다. 작업 환경 UE4.26 적용 방법 Overall Scalabiltity 변경 방법 GameUserSetting 얻어오기 Overall Scalability 변경 Scalability 적용 //Scalability는 0 ~ 3 int32 scalabilityLevel = 0 //get game user setting UGameUserSettings* setting = GEngine->GetGameUserSettings(); if(setting) { setting->SetOverallScalabilityLevel(scalabilityLevel); setting->ApplySettings(true); } Hardware 벤..

UE4 2021.10.27

UE4 Android, iOS Battery, Wifi 정보 가져오기

글을 쓰는 목적 안드로이드 폰과 iPhone의 정보 Battery와 Wifi 정보를 얻어오는 것이 필요하여 적용 방법을 기록한다. 작업 환경 UE4 : UE4.26 Android : Android11 IOS : IOS14.6 배터리 용량 UOptionalMobileFeaturesBPLibrary::GetBatteryLevel(); 배터리 상태 충전 상태를 알 수 있다. Android FAndroidMisc::EBatteryState batteryState = FAndroidMisc::GetBatteryState().State; IOS FIOSDeviceMisc::IsRunningOnBattery(); 배터리 온도 UOptionalMobileFeaturesBPLibrary::GetBatteryTempera..

UE4 2021.10.27

UE4 Localization

목적 Localization을 적용한 경험이 없고, Localization 문서 참조와 블로그를 참조하였으나 Localization 적용하는데 헷갈려서 적용하는 방법을 기록한다. Localization 적용 방법 1. String table 참조 콘텐츠 브라우저에서 String 테이블 생성(String table은 대소문자를 구분하니 주의해서 참조해야한다.) 코드에서 FText의 Find에 StringTable의 NameSpace와 Key를 통해 Text를 찾아 참조해준다 UCLASS() class TESTPROJECT_API UTestWindow : public UUserWidget { GENERATED_BODY() public: UPROPERTY(EditDefaultsOnly, meta = (Bind..

UE4 2021.10.13

UE4 Sound Volume Setting C++

글을 쓰는 목적 UE4에서 사운드 시스템을 구현하려고 하는데 사운드를 작업한 적이 별로 없고, C++로된 참고 자료가 별로 많지 않아서 이렇게 기록을 남깁니다. 작업 환경 UE4.26 UE4 사운드 구조 크게 Sound Class, Sound Mix, Sound Cue 로 구성 되는데 Sound Class는 사운드 카테고리, Sound Mix는 Sound Class를 관리하는 녀석으로 Pitch(재생 속도), Volume(소리 크기)를 관리한다. Sound Cue는 최종적으로 사운드를 내는데 사용하며 Sound Cue에 Sound Class를 설정하여 각각 조절 할 수 있다. 예를 들어 마스터 클래스 밑에 배경 음악 클래스와 이펙트 클래스가 있다고 하자, 플레이하고자 하는 사운드 2개가 있는데 하나는 배..

UE4 2021.10.07

UE4에서 에셋을 이동시 Freezing 이 나거나 깨지는 현상 해결 방법

목적 UE4에서 마켓에서 산 에셋이 증가하면서 어느 순간부터 에셋이 이동을 하면 Freezing되거나 깨지는 현상이 발생했다. 그래서 다음에도 에셋 추가시 에셋을 정상적으로 추가하는 방법을 기억하기 위해 이 글을 쓴다. 환경 UE4.26.2 해결 방법 에셋을 추가할 프로젝트에 바로 에셋을 추가하지 말고 빈프로젝트를 만든 뒤 Epic Game Laucher 라이브러리에서 에셋을 새로 만든 빈 프로젝트에 추가하고 새로만든 프로젝트에서 원래 추가하려던 프로젝트 폴더 구조로 에셋을 이동한 뒤 이주하기를 통해 에셋을 이동해주면 원하는 폴더 구조로 옮길 수 있다. 이주하기를 눌렀을 때 원래 추가하려던 프로젝트의 Contents폴더를 지정해주면 정상적으로 이주된다.

UE4 2021.09.23