본문 바로가기

반응형

전체

(121)
유니티 구글플레이 로그인 연동 우선 당연한 말이겠지만 유니티와 구글플레이를 연동하려면 따로 설정을 해주어야 한다. 본인의 유니티버전을 고려해서 구글링해서 잘 찾아보자.필자는 유니티 버전이 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)//인터넷 연결이 안되어있다면 { } } 구글링 하니 위에 처럼 하면 네트워크를 체크 할 수 있다고 했다. 하지만 좀 더 알아보니 저 방식..
유니티 2D 로딩씬 제작 시작하기에 앞서서 https://wergia.tistory.com/194 [Unity3D] Programming - 로딩 씬(Loading Scene) 구현하기(커튼 방식) Programming - 로딩 씬(Loading Scene) 구현하기(커튼 방식) 작성 기준 버전 :: 2019.1.4f1 [이 포스트의 내용을 유튜브 영상으로도 시청하실 수 있습니다] 게임의 장르와 배경들의 종류는 많고도 많지만 그 wergia.tistory.com 이 블로그를 참고해서 글을 작성한다 가장핵심이 되는 코드는 아래와 같다 private IEnumerator Load(string sceneName) { AsyncOperation op=SceneManager.LoadSceneAsync(sceneName); //비동기 방식..
유니티 2D싱글톤 패턴 원래는 개발일지를 매일매일 써서 만들어지는 과정을 상세하게 보여주고 싶었는데 귀찮아서 그러진 못했다. 어쨋든 최근에 배운 싱글톤 패턴에 대해 작성해보겠다. 계속해서 개발을 하다보니 public 변수로 선언해서 inspector창에서 드래그앤 드랍으로 계속 참조해줘야되기도 귀찮고 이 오브젝트는 계속해서 참조할거 같은데 어떻게 하면 효율적으로 전역변수처럼 쓸수 있을까?? 하고 고민하다가 찾아낸게 싱글톤 패턴이다. 우선 씬의 GameManager라는 오브젝트와 스크립트를 만든다 그리고 그 GameManager라는 스크립트에 자주 참조되는 오브젝트들을 선언한다 그러면 어느 스크립트에서든 GameManager를 통해서 오브젝트들을 참조할 수 있다. 게임의 시작화면이다. 플레이어도 바뀌고 배경도 바뀌고 많이 바뀌었..

반응형