본문 바로가기

반응형

유니티

(40)
유니티 GPGS(Google Play Game Service) 11.01 버전 관련... 졸업작품으로 유니티 3D로 템플런 같은 게임을 만들고 있다. 흔히들 많이 본 "구글로 로그인하기", "카카오로 로그인 하기" 이런 소셜플랫폼을 이용한 로그인을 구현하려했다. 처음에는 카카오로 로그인하기를 구현하려했는데, 무언가 계속 에러랑 오류(정말 2주동안 구글링해도 답을 알 수 없는)때문에 포기했다. 여차저차해서 구글플레이 게임즈로 로그인하기를 구현완료했다. 내가 처음에 원했던건 2가지였다. 처음에 로그인화면이 있고 거기서 "구글플레이로 로그인하기"버튼을 클릭하고 뭐 개인정보 수집 동의하고 그런걸 원했다. 로그아웃기능. 분명 다른 개발블로그들을 보면 버튼을 클릭하면 로그인 되고 로그아웃 기능까지 있었다. 그런데 내가 분명 똑같은 코드를 넣었는데 나는 게임을 키자마자 바로 로그인 되었다. 또한 남들은 ..
유니티 il2cpp_cache 삭제해도 되는가?? 최근에 아주 골머리가 썩는 문제가 생겼다. 구글플레이와 유니티를 연동하면서 유니티 설정들을 많이 바꿨는데 그러다 보니 저렇게 118,323KB(약 118MB)하는 파일이 생겼다. 아마 스크립팅을 MONO에서 il2cpp로 바꾸어서 생긴 듯 하다. 어쨋든 저렇게 100MB가 넘는 파일은 github에 그냥은 못올린다. LFS를 통해서 올려야 한다. lfs track 명령어로 해당 파일을 lfs로 추적해서 관리해 주어야한다. 그런데 이렇게 간단한 문제가 아니다. 빌드 한번 해보고 github에 PUSH할 때 마다 100MB넘는 파일이 발견되었으니 LFS로 추적하라고 에러가 뜬다. 처음에는 그냥 뜰 때 마다 계속 LFS로 추적을 해줬다. 나중에 알고보니 다 똑같은 파일이었는데 맨위의 사진에서 linkresul..
유니티 구글플레이 로그인 연동 우선 당연한 말이겠지만 유니티와 구글플레이를 연동하려면 따로 설정을 해주어야 한다. 본인의 유니티버전을 고려해서 구글링해서 잘 찾아보자.필자는 유니티 버전이 2019.4.2 f1 , 구글플레이 엔진은 11.01버전이다. 구글플레이 엔진은 아래 github에서 다운받았다(아마 공식 github repo인거 같다) https://github.com/playgameservices/play-games-plugin-for-unity GitHub - playgameservices/play-games-plugin-for-unity: Google Play Games plugin for Unity Google Play Games plugin for Unity. Contribute to playgameservices/pl..
유니티 모바일 최적화(4) - mesh 최적화 mesh최적화에 대해 포스팅하기전 우선 Draw Call과 Batches에 관해 간단하게 작성하겠다 Draw Call CPU가 GPU에게 어떠한 물체를 그리라고 요청하는 것 모바일의 경우 100개정도가 상한선 일반적으로 오브젝트를 그릴 때, 오브젝트 단위로 한 개씩 증가. 또한 Draw Call이 적을수록 가벼운 게임 이라 할 수 있다. 기기의 성능에 따라 특정 개수를 넘어가면 프레임 저하 나타남 Batches 드로우 콜을 포함하는 상위 개념 Batches = Draw Call + 기타 등등 Batches=메쉬의 개수 + 라이트의 개수 + 재질의 개수 -동적 배칭으로 절약된 개수이다. 내가 최적화를 찾아보게 된 가장 큰 이유가 있다. 모바일에서 내가 만든 게임을 해보려는데 너무 렉이 걸려서 도저히 못 하..
유니티 모바일 최적화(3) - 용량 큰 파일 찾기 모바일 앱스토어에서는 보통 크기 제한을 두기 때문에 빌드된 앱의 파일 크기를 최대한 줄여주는 것이 매우 중요하다. 어떤 게임인지에 따라 어떤 파일이 가장 저장공간을 잡아먹는지는 다 다르다. 그렇기에 방법은 때에 따라 다르지만 빌드된 앱에서 어떤것이 가장 크기를 잡아먹는지 확일할 수 있는법을 포스팅하겠다. 우선은 통상적으로 빌드를 한 번 실행시켜야 한다. 실행시킨 후에는, 콘솔창 맨 오른쪽의 드롭다운을 클릭한 후 Open Editor Log를 클릭한다. 많은 내용의 메모장이 나올텐데 일일이 찾을 필요없이 ctrl + F 해서 Texture를 검색하면 위와 같이 나온다. 어떤 파일이 용량을 많이 잡아먹는지 확인 후 상황에 맞게 조치해 주면 된다!! 출처 : https://docs.unity3d.com/kr/..
유니티 모바일 최적화(2)-그림자 없애기 생각날때마다 하나씩 적는 모바일 최적화를 위한 방법들 그 2번째이다. https://docs.unity3d.com/kr/2021.1/Manual/ShadowPerformance.html 그림자 문제 해결 - Unity 매뉴얼 실시간 그림자는 렌더링 오버헤드가 상당히 높습니다. 그림자를 드리울 수 있는 모든 게임 오브젝트는 먼저 섀도우 맵으로 렌더링됩니다. 그런 다음 해당 맵을 사용하여 그림자를 받을 수 있는 docs.unity3d.com Unity공식 매뉴얼에서도 알 수 있듯이 실시간 그림자는 렌더링 오버헤드가 상당히 크다. 만약 그림자가 중요한 게임이라면 그림자 생성에 어떻게 하면 자원낭비를 줄일 수 있을까 고민해야 한다. 하지만 나는 그림자가 중요한 게임을 만드는게 아니어서 그냥 다 꺼버리겠다. 이렇..
유니티 모바일 최적화(1)-텍스처 압축 유니티로 모바일 게임을 제작할 때 매우 중요한게 있다. 바로 최적화이다. 휴대폰은 PC보다 사양이 낮기에 반드시 최적화를 해주어야 한다. 그렇기에 생각날때마다 하나씩 모바일 최적화를 위한 방법들을 블로그에 적어내려고 한다. 위와 같이 ASTC 압축 포맷을 이용하면 Texture의 용량을 품질에 큰 손실없이 줄일 수 있다. 왼쪽과 오른쪽은 품질에 크게 차이가 보이지 않지만 용량 면에서는 왼쪽이 오른쪽보다 8배 많은 용량을 차지한다. 품질이 중요한 모델에 사용되는 Texture라면 4x4 block을 사용하자.그렇지 않다면 8x8 또는 12x12를 사용하자 글 출처 : https://blog.unity.com/kr/technology/optimize-your-mobile-game-performance-exp..
유니티 모바일에서 네트워크 연결 확인 과정은 많이 생략했지만 이미 생각한 곳까지는 다 구현해서 스토어에도 내놓았다. 처음 작품이니만큼 정말 많이 부족하지만 일단 완성했다는 것에 의미를 둔다. 그런데 출시해놓고 보니깐 wifi,data연결을 체크를 안 했던 것이 생각났다. 로그인도 해야되고 스테이지를 깨거나 죽었을때 계속 DB에 접근해야하는데 네트워크 상태를 확인 안 해주다니 말이안된다. 계속 wifi,data가 연결되어 있는지 확인하게 코드를 짜보겠다. void Update() { if(Application.internetReachability==NetworkReachability.NotReachable)//인터넷 연결이 안되어있다면 { } } 구글링 하니 위에 처럼 하면 네트워크를 체크 할 수 있다고 했다. 하지만 좀 더 알아보니 저 방식..

반응형