본문 바로가기

Programming/Unreal

UI Animation 자동화 1. 목적- UIAnimation을 Unity의 Ngui Tween처럼 From 부터 To 로 값을 설정하고 그래프에 의해 이동되도록 툴을 수정.- 저장 된 애니메이션을 UI 상호작용 발생 시 자동으로 재생 (Content Widget이 만들어지면 부모의 Widget에 애니메이션 내용을 등록하여 인터렉션 발생 시 자동 재생)- 디자이너가 만든 애니메이션 바로 Play하며 확인 가능(특정 하나 혹은 전체 동시 플레이)- 설정이 완벽하게 된 Widget을 Template으로 만들어 여러 방면에서 활용하도록 하는 기능 (Template을 Template으로 재 설정도 가능) 2. UI 자동 인터렉션 3. UI Animation tool 및 Preview tool 4. Ctrl + Drag를 통한 애니메이션 값.. 더보기
언리얼 커스텀 플립북 매터리얼 (unreal custom flipbook material) 언리얼에서 제공하는 기본 플립북 매터리얼을 쓰는 경우 모바일에서 타임이 제대로 들어가지 않아 이미지가 제대로 나오지 않을 수 있다. 그러한 문제점을 발견하고 해결하고자 플립북에서의 타임을 밖에서 얻어오도록 수정하였다. 매터리얼 커스텀 노드 코드123456789float2 Output_UV;float2 TimeVector;float2 Temp;float2 Temp2;TimeVector= float2(frac(TickTime), frac(TickTime));Temp = floor((float2(VCount*UCount, UCount) * TimeVector)) / float2(VCount,UCount);Temp2 = UV / float2(VCount,UCount);Output_UV = float2(Temp... 더보기
블루프린트에서 만든 변수 가져오기 C++ 위주로 만든다 하더라도 블루프린트가 가지고있는 장점이 있기 때문에 들어가야 할 경우가 있다 더군다나 다른 파트사람이 블루프린트 상에서 만든 변수가 있을 경우 C++에서 새로만들거나 블루프린트 코드를 고쳐서 사용해야 하는데( 예. 디자이너가 작업한 UI애니메이션 ) 아래의 코드는 블루프린트에서 만들어진 변수를 C++에서 가져오는 방법 중 하나이다. 12345678910111213141516171819202122232425// 블루프린트 변수 가져오기void GetBluePrintVariable(FString VariableName){ // 변수의 이름으로 검색하여 UProperty 를 가져온다. UProperty* Prop = GetClass()->FindPropertyByName(*Variable.. 더보기
InstancedStaticMeshComponent Atlas Texture 사용하도록 Engine 코드변경하기 언리얼 엔진의 경우 InstacedStaticMeshComponent를 통해 한번에 여러 메시를 그릴 수 있는데 튜토리얼들을 보면 다 같은 텍스쳐를 사용하는 경우만 있다. 마인크래프트 같은 샌드박스 게임을 만들 경우 모래, 흙, 유리, 물, 용암 등의 여러 텍스쳐가 필요한데 이를 Atlas로 묶어서 할 수 있도록 언리얼 엔진을 바꿔보려한다. 우선 엔진 소스코드의 InstancedStaticMeshComponent.h 파일을 열어 코드를 수정해준다. InstancedStaticMeshComponent.h 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616.. 더보기
언리얼 빌드에러 error : One or more of the modules specified using the '-module' argument could not be found error : One or more of the modules specified using the '-module' argument could not be found 엔진 빌드를 하는데 이 에러가 난다면 에디터를 종료하고 빌드하면 해결된다. 에디터에서 "Hot Reload"를 하기 때문에 생기는 빌드에러이다. 더보기
APK빌드는 잘 되었는데 DLC빌드가 안될 경우 Project.Cook: Waiting a few seconds for the server to start... Project.Cook: ********** COOK COMMAND COMPLETED ********** Project.CopyBuildToStagingDirectory: ********** STAGE COMMAND STARTED ********** Program.Main: ERROR: AutomationTool terminated with exception: ERROR: GetBuildPlatform: No BuildPlatform found for Android Program.Main: AutomationTool exiting with ExitCode=1 (Error_Unknown) BUI.. 더보기
언리얼 빌드에러 Unsupported class version number Unsupported class version number [52.0] (maximum 51.0, Java 1.7) 에러가 날 경우 https://sourceforge.net/projects/proguard/files/proguard/ 페이지에서 최신버전의 Proguard를 다운받아 AndroidSDK폴더내에 있는\tools\proguard\에 덮어씌워 업데이트해주면 해결. 더보기
UE4 C++ 에서 BluePrint Class 불러오기 4.16에서 LoadObject를 통해 BluePrint Class를 불러오려면 UBluePrintGeneratedClass* LoadedBP = LoadObject("AssetPath.FileName_C"); 를 사용하도록 한다. 4.14에서는 UBluePrint 로도 로드가 됐지만 4.16에서 UBluePrint 로 로드할 경우 NULL이 떨어진다. 로드한 BluePrint Class를 수정하여 쓰려면 당연히 BluePrint Class는 C++ Class를 상속받은것이어야 한다. MyBluePrint* MyBPClass = Cast(LoadedBP); 같은 방법으로 캐스팅 해서 사용하면 된다. 더보기