전체 글 48

[FTP]LFTP 사용법

글을 쓰는 목적 패치 파일을 올리고 싶었다. 무료 FTP를 찾던 도중 NcFTP, LFTP를 찾았는데, LFTP가 FTP 서버내의 폴더 및 파일을 삭제하기 편했다. 그 사용 방법을 적기 위해 글을 쓴다. 작업 환경 UE4.26 LFTP 장단점 장점 인터넷에 무료 FTP를 검색해 보니 FTP, NcFTP, WinFTP, LFTP 가 있었는데 그 중 자동화 가능하고 폴더 및 파일을 삭제하기 편한 FTP는 LFTP가 제일 쉬웠다.(다른건 내가 제대로 사용 못한 걸 수도 있으니 참고) 단점 LFTP 접속후 CLI가 나오고 명령어를 쓰면 글자가 깨지는 현상이 있었다. 사용 방법 설치 PowerShell에서 Cocho down 후 [System.Net.ServicePointManager]::SecurityProto..

개발 2022.06.14

[UML] Plant UML

글을 쓰는 목적 무료 UML 툴인 StartUML을 자주 사용했는데 몇가지 불편한 점이 있었다. 1. 새로 문서 만들기시 이전 문서가 열리는 버그가 있었어서 매번 열때마다 프로젝트 열기가 불편했다. 2. UML 작성 후 UML 구조를 고치려고 하면 그림을 그려서 움직이는 것이라 유지보수가 잘 안되는 문제가 있었다. 그래서 대체할 UML 툴을 찾던 도중 텍스트 편집기를 지원하는 PlantUML과 UMLet 을 찾았는데 그중에 UMLet 은 Visual stuido code를 통해 사용할 수 있기 때문에 제외했고 PlantUML은 웹 서버에서 테스트 할 수 있어서 Plant UML을 사용해 보기로 하였다. 작업 환경 Visual code Plant UML extension https://marketplace..

개발 2022.05.23

[UE4][BUG] 액터를 스폰하자 마자 삭제되는 현상

글을 쓰는 목적 액터를 스폰하였는데 삭제되는 경우가 있었다. 특이한 상황이라 기억하기 위해 기록을 남긴다. 작업 환경 UE4.26 원인 액터를 스폰했는데 캐릭터를 스폰하지 못하는 현상이 있었다. 콜스택을 확인해 보니 Actor를 스폰시에는 PostActorConstruction을 호출해주는데 PostActorContrustion에서 스폰 가능한 위치 여부를 확인하여 액터를 스폰한다. 만약 스폰 불가능한 위치로 액터를 스폰을 한다면 곧바로 Destory를 호출하여 액터를 파괴한다. Cast(GWorld()->SpawnActor(ATestCharacter::StaticClass())); void AActor::PostActorConstruction() case ESpawnActorCollisionHandli..

버그 2022.05.16

UE4 코드에서 DataTable 사용

글을 적는 이유 툴 작업을 하다보니 DataTable 편집 작업해야하는 일이 있었다. DataTable을 수정, 저장, CSV로 Export하는 방법을 기억하기 위해 적는다. 작업 환경 UE4.26 UDataTable 활용법 비우기 UDataTable* dataTable; dataTable->EmptyTable(); 저장 AssetEditorToolKit.cpp FAssetEditorToolkit::SaveAsset_Execute() 추가 UDataTable* dataTable; FName rowName; FTableRowBase tableRow; dataTable->AddRow(rowName, tableRow); 삭제 UDataTable* dataTable; FName rowName; dataTable..

UE4 2022.04.18

UE4 코드에서 MessageDialog 사용

글을 쓰는 목적 툴 개발 작업을 하면 MessageDialog 자주 쓰는데 자주 쓰기에 기억하기 위해 적는다. 작업 환경 UE4.26 MessageDialog 사용 방법 MessageDialog uint32 Result = FMessageDialog::Open( EAppMsgType::YesNoCancel, FText::FromString( Error ) ); #endif//PLATFORM_REQUIRES_FILESERVER if (Result == EAppReturnType::No) { break; } else if (Result == EAppReturnType::Cancel) { // Cancel - return a failure, and quit return false; } 참고 https://do..

UE4 2022.04.18

UE4 아웃 라이너에서 Actor 선택하기 C++

글을 쓰는 목적 아웃 라이너에서 액터를 선택하는 방법을 기억하기 위해 글을 쓴다. 작업 환경 UE4.26 코드에서 아웃라이너 선택하기 에디터를 활용하다 보니 아웃라이너 선택 기능이 필요했다. 위젯 리플렉터로 아웃라이너 코드를 살피다보면 SSceneOutiner 코드에서 아웃라이너의 기능을 처리 함을 알 수 있다. 아래 코드 처럼 아웃라이너에서 액터를 선택하는 코드가 나와있다. if ( bChanged ) { const FScopedTransaction Transaction( NSLOCTEXT("UnrealEd", "ClickingOnActors", "Clicking on Actors"), !bAnyInPIE ); GEditor->GetSelectedActors()->Modify(); // Clear th..

UE4 2022.04.12

UE4 Customized Property Layout 갱신

글을 쓰는 목적 UDataTable 저장 후 Property Layout 갱신이 필요한 상황인데 저장 이벤트를 기억하기 위해 글을 씀 작업 환경 UE4.26 Customized Property Layout 갱신 방법 UDataTable을 저장하면 최종 OnObjectSaved 이벤트를 호출한다. FCoreUObjectDelegates::OnObjectSaved.Broadcast(this); OnObjectSaved 호출을 받아 갱신하면 되는데 여기서 중요한 것은 Custom Property Layout을 만들 때 CustomizeChildren을 호출 받을 때 PropertyUtilities 포인터를 저장한다. 그리고 OnObjectSaved가 호출될때 PropertyUtiltites의 ForeceRef..

UE4 2022.04.08

UE4 Packaged Window Debug

글을 쓰는 목적 패키징된 윈도우 로그 위치와 디버깅 하는 방법을 기억하기 위해 글을 쓴다. 작업 환경 UE4.26 로그 위치 Development 에서 로그 위치 GameFolder\ProjectName\Saved\Logs Shipping C:\Users\UserName\AppData\Local\ProjectName\Saved\Logs Window Debug 언리얼에서 빌드한 게임이 Development나 Debug인 경우 Visual studio에서 디버그 - 프로세스테 연결 - 프로젝트 이름

카테고리 없음 2022.04.05

Android KeyStore 정보 확인

글을 쓰는 목적 KeyStore 비밀 번호 생성시 비밀번호가 보이지 않아 제대로 비밀번호를 입력했는지 의문이 들 때가 있다. 비밀번호를 정상적으로 입력했는지 확인하기 위해 글을 찾던 중 생각보다 정리되어있는 글이 별로 없어 기록을 남긴다. 작업 환경 OpenSSL : openssl-0.9.8k_X64 JAVA : jre1.8.0_311 KeyStore 정보 확인 KeyStore 생성 방법 https://thekingofviral.com/how-to-generate-google-play-app-signing-key-hash-2021/ How To Generate Google play app signing key hash 2021 - The King Of Viral How To Generate Google ..

개발 2022.03.18