본문 바로가기

Unity47

[Unity] Installer 버전 생성하기, Inno Setup 사용, folder 오류 해결 일반인이 Unity build 파일을 설치하게 하고 싶어 알아보다 Inno Setup을 사용하는 방법을 사용하게 되었다.  !주의할 점!output folder directory는 어느 pc에나 있는 directory로 지정하거나 해당 directory를 생성해주어야 함. 포스팅 글들 무작정 따라 하지 않고(저처럼) 자신의 에디터 버전과 상황에 맞게 생성해 주기! 그냥 동적 생성 데이터(실행 후 생성되는) 제외하고 모두 추가하면 됩니다.  폴더 추가 시 다운받을 때 폴더를 zip파일 분해처럼 원래 폴더의 내부 데이터만 꺼내기 때문에 추가할 폴더는 같은 이름으로 dummy folder 만들어주기!    번외)여기서 하나 궁금해져서.. 설치 성공한 빌드파일 기반으로 위처럼 같은 이름의 각각의 폴더 말고임의로.. 2024. 9. 12.
[Unity/.Net/문제해결] Socket 통신 Netonsoft Json Array Parsing 프로젝트를 진행하며 서버 DB 데이터 구조에 큰 변동이 있어 Json 데이터를 새롭게 받아오게 되었다.  이전의 데이터는 List 형태로 들어오는 일반적인 단순한 구조의 Json의 형태였다. 그래서 단순하게 JsonConvert.DeserializeObject(download.text);의 형태로 바로 받아볼 수 있었다.  하지만, 이번에 들어오는 데이터를 확인해보니, 처음 보는 형태라 당황스러웠다. 어쨌든 해결해야 하니, 에러를 기반으로 구글링 한 결과, Json의 구조에 대하여 자세히 공부하게 되었다.  받은 데이터는 {"result":1, "data":[{\"idx\":1, ....\"data\"[{\\\"name\\\":\\\"str\\\"...}]"} 이런 형태로 출력되었다.   구글링한 결과,.. 2024. 9. 3.
[Unity/문제해결] Web File size Byte 변환하기 서버에서 올린 영상에 자동으로 측정되는 파일 크기가 json 형식으로 들어오는데, 설정해둔 UI가 뭔가 이상해서 보니 1.0000000E7 이런 형태로 들어오고 있었다. 처음에는 E7?E8이게 무슨 단위인지 몰라서 구글링해봤지만, 원하는 정보가 없었다.  마침 백엔드 수석님이 지나가셔서 질문했더니, E = 10 의 7승 이라고 말해주셨다!!!!!듣고 보니 모두 파악이 되었다.  이를 활용하여 원하던 progress에 활용할 Byte 단위로 변환하였다. 이 방법이 효율적인 방법인지는 모르겠다. 백준 물골드의 알고리즘 실력이다. string size = 1.0000000E7; //예시private void AddSize(Info info){ if(size==null)return; string[] size_s.. 2024. 9. 2.
[ Unity .Net Web Socket/문제 해결 ] 네트워크 데이터 연결 null 값 처리하기 서버의 DB가 아직 안정화되지 않은 상태에서 Unity Client는 계속 test data로 진행을 해야 하는 상황이었다. 어떤 값은 null로 들어와 진행을 할 수 없었는데, 어떻게든 진행하기 위하여 임시로 처리하는 과정을 시도하였다.  지난번 포스팅한 ??연산자를 이용하였다. 2024.08.23 - [Unity/공부] - [Unity] ?. 연산자와 ?? 연산자 [Unity] ?. 연산자와 ?? 연산자인턴으로 맡게 된 기존 VR 프로젝트 오류 수정과 리팩토링을 진행하며 ?.연산자를 정말 많이 보았다. 그러던 중 전의 게시물의 == 연산자와 어떻게 다른 역할을 하는지 같이 공부하게 되었다.  ?narmhye.tistory.com int a 가 null인 경우, 처음에 단순하게 int b = a??1;.. 2024. 9. 2.
[Unity NetCode/ 문제 해결 완료] Build 실행 파일의 StartClient error 문제 상황 :  Unity Editor에서 Play 정상 작동, Build Play Client 접속 문제 Host의 Address를 찾고 connect한 이후  IsListening이 true로 남아있는 경우가 있어 StartClient 실패 1. 연결되지 않은 Client 종료를 하지 않는 경우 발생.  2. NetworkManager의 ShutdownInternal()을 실행하지 않음.  3. IsListening이 true로 다음 IP로 넘어가 StartClient 실행 4. 실제 Host IP에 접근하면 Client의 Instance가 이미 존재하여 StartClient 실패 문제 상황 분석 :  Login의 FindHost()의 반복문은 프레임 차이의 속도를 제어하는 Time.deltaTime.. 2024. 8. 30.
[Unity NetCode/문제 해결 완료] 멀티플레이 Client 연결 Error Unity NetCode 1.0.0(pre 9) 버전에서 발생한 문제이다.  문제 상황:Host가 접속하여 Server가 존재하는 상황이지만,Client의 입장에서 NetworkTransport.ConnectionData.Address에 정확하게 접근하여도 접속을 실패하는 문제이다.    정말 초기 버전의 NetCode 1.0.0의 document가 손상된 부분이 많아 정말 꾸역꾸역 이해해 가며원인이 무엇일까 생각해보았다.  하지만 원본 프로젝트는 실제로 플레이에 문제가 없다고 Client 측에서 전달받았다.  해결 방법 : 결국 해결하게 된 방법은 ...ㅎㅎHost의 방화벽을 모두 해제하는 것이 방법으로 바로 Client의 Server 연결이 성공하였다. 덕분에 NetCode 공부는 많이 했다고 생각한.. 2024. 8. 30.