본문 바로가기
728x90
반응형

분류 전체보기118

xml UI 요소 변수에 접근하는 법 - findViewById (X) -> Binding 사용하기 findViewById(R.id.dataInventory) 기존에는 findViewById() 를 사용하여 R.id. 로 접근한 요소를 사용하였지만,이는 검색의 성능을 소모하므로, 더 좋은 방법을 사용하는 것을 공식적으로 추천한다고 한다. Auto Binding 방법인데, xml 에 있는 UI 요소를 자동으로 변수처럼 접근할 수 있게 별도의 스크립트를 작성시켜주는 기능이다.  준비물은 1. xml 코드에서 일부 수정하기2. build.gradles.kts 수정하기 두 가지이다.  xml 은 다음과 같이 수정한다.빈 xml 을 처음 만들면, 아래와 같을텐데 여기서 두 번째 줄을 변경한다.    build.gradles.kts 는 buildfeatures 부분에 buildFeatures { .. 2024. 11. 18.
게임 서버 입문하기 - 2 / Disconnect 에 대하여 TCP 소켓 통신을 공부하다가, 유니티 클라이언트가 먼저 종료될 때, 서버가 먼저 종료될 때, 각각의 케이스에 대해 Noti 를 줄 수 있게 disconnect 에 대한 처리를 하고 싶었다. 서버에서는 클라이언트를 Listener 객체 하나가 반복적으로 감지를 하고 있으므로, Client 쪽에서 socket 이 Close() 되었을 때, ByteTransferred 가 0 일 경우에 Disconnect 로 보고 분기를 처리할 수 있었다. private void ProcessReceive(SocketAsyncEventArgs receiveArgs) { NetLog.Log("Process Receive..."); UserToken token = receiveArgs.UserToken as UserToken;.. 2024. 10. 17.
게임 서버 입문해보기 1 - 유니티 개발자를 위한 C#으로 온라인 게임 서버 만들기 갑자기 서버 역량도 있었으면 좋겠다는 생각이 들었다. 그래서 책을 샀다.  책 홍보는 아니다. 그냥 내가 고른 책이다. https://ebook-product.kyobobook.co.kr/dig/epd/ebook/E000003336670 유니티 개발자를 위한 C#으로 온라인 게임 서버 만들기 | 이석현 | 한빛미디어- 교보ebook유니티 클라이언트 개발자여! 이제 서버까지 개발하고 완전체로 거듭나자! 이 책은 C#으로 온라인 게임 서버를 개발하는 방법을 소개한다. 닷넷 프레임워크에서 TCP 소켓 기능을 활용하는 방법을ebook-product.kyobobook.co.kr 교보문고에서 eBook 으로 샀다.  1. CNetworkService책의 첫 장부터 다짜고짜 이 클래스를 만들기 시작한다..Net 에 .. 2024. 10. 14.
[언리얼5] Data Table 로더 만들기 *4부* / 커스텀 에디터 버튼 생성하고 기능연결 전체 소스 코드는 GitHub 에 있습니다. CSV 로 시작하는 것이 Excel 을 번거롭게 다른이름으로 저장할 필요가 있어서,신버전을 만들었습니다. 1. CSV -> DataTableAsset (구버전)https://github.com/Kympy/Unreal_CSV_To_DataTableAsset GitHub - Kympy/Unreal_CSV_To_DataTableAsset: Python tool for unreal 5 / CSV to DataTable Asset and auto generate C++ StructPython tool for unreal 5 / CSV to DataTable Asset and auto generate C++ Struct - Kympy/Unreal_CSV_To_DataTa.. 2024. 6. 13.
언리얼5 C++ | 서브 레벨 스트리밍, 맵 로드 하기 서브 레벨 스트리밍언리얼에서 Level 은 유니티의 Scene 과 유사한 개념이다. 유니티에서도 Scene 을 Additional 모드로 로드가 가능하듯이언리얼에서도 Level 을 Streaming 상태로 로드가 가능하다. 즉, 아트작업자가 A라는 Level을 만들고, 해당 Level 에서 조명, 맵, 등등을 세팅하고세팅된 A 를 사용하게 될 B 라는 실제 빌드용 Level 에서Streaming Level 로 A를 등록해두면A 가 현재 B Level 에 겹쳐서 로드된다. 아트 작업자는 A 레벨에서 작업을 하고코드 작업자는 B 레벨에서 코드를 작성하면작업 간에 충돌이 없을 뿐 더러, 에디터에서도 상시로 A + B 형태로 존재도 가능하다. 사실 근본적인 기술의 용도는https://docs.unrealengi.. 2024. 2. 16.
언리얼5 C++ | 레벨 열기와 특정 게임모드로 레벨 열기 레벨을 여는 방법은 간단하다. UFUNCTION(BlueprintCallable, meta=(WorldContext="WorldContextObject", AdvancedDisplay = "2", DisplayName = "Open Level (by Name)"), Category="Game") static ENGINE_API void OpenLevel(const UObject* WorldContextObject, FName LevelName, bool bAbsolute = true, FString Options = FString(TEXT(""))); UGameplayStatics 에 정의된 OpenLevel 함수를 사용하면 된다. const UWorld* World = GetWorld(); check(.. 2024. 2. 16.
728x90
반응형