Unity/최적화 맨텀 2020. 7. 31. 14:51
같은 캔버스에서 UI Overlay 오브젝트를 사용하더라도 Z 값이 다른경우 배칭이 되지 않습니다. WorldToScreenPose 등을 쓸때 Z값이 같이 들어오는 경우가 있어서, 위치값에서 Z를 0f 로 만든다음에 적용하니 정상 적용됨.
Unity/최적화 맨텀 2020. 3. 16. 17:10
유니티 문서 https://docs.unity3d.com/kr/530/ScriptReference/MaterialPropertyBlock.html 캐릭터 피격시 matcap을 교체하여 피격을 표현해주고 있다. sharedMaterial을 변경하면 공유된 모든 material이 변경되니, material을 직접 레퍼런스를 잡아서 변경해주고있다. IEnumerator ActiveMatcapCoroutine() { material.SetTexture("_MatCap", hurtMatcap); yield return new WaitForSeconds(0.6f); material.SetTexture("_MatCap", normalMatcap); } 하지만 이렇게 하면 material의 레퍼런스를 변경한 순간 별도..
Unity/최적화 맨텀 2019. 8. 11. 13:47
#. OverDraw? 2D 혹은 UI에서 가장 고심해서 최적화해야하는 것은 OverDraw이다. 예를들어 위의 이미지는 아웃라인을 그리는 고리 형태의 스프라이트 인데, 고리 안쪽과 고리 바깥쪽은 투명 텍스쳐라서 실제로는 아무것도 그리지 않지만 사각형을 차지한다. 이 스프라이트를 그리기 위해서 유니티가 이미지파일 전체의 사각형 박스만큼 화면에 그리게(Draw) 되는데, 이런 스프라이트가 여러개 있으면 화면 한 픽셀에 '여러번' 그리게 된다. 이를 'OverDraw'라고 부른다. 투명한 스프라이트가 중첩되면 중첩될수록 OverDraw가 더욱 겹쳐지기 때문에 화면은 디바이스 해상도지만 유니티가 한 화면을 그릴때마다 OverDraw를 해서 디바이스 해상도의 몇배가 되는 픽셀 수를 그려야하는 것이다. (파티클이..
Unity/최적화 맨텀 2019. 1. 1. 18:28
에디터 상에서는 소리가 잘 나왔는데, 막상 모바일로 빌드해보면 소리가 약간 늦게 나온다거나 하는 현상이 있다. 기본 설정에서는 빌드할 때는 오디오 파일을 압축해서 재생할때 플레이 하게 되는데 이 때 걸리는 시간이 오디오 딜레이 현상의 원인. 또한 프로젝트쪽에서 오디오 버퍼를 설정하는 것으로도 개선의 여지가 있다고 함. 1. 프로젝트 세팅에서 오디오 버퍼 세팅 조정 Edit - ProjectSettings - Audio 에서 DSP Buffer Size를 Best Performance -> Best latency로 설정 2. 개별적인 오디오마다 임포트 세팅 설정 1) Force To Mono(모노 강제조정) : 채널을 하나만 사용한다. 최적화를 중시한다면 체크 / 사운드의 퀄리티를 원한다면 언체크 2) L..
Unity/최적화 맨텀 2018. 12. 29. 22:18
현재 유니티에서 카메라 이펙트를 줄 수 있는방법은 현재 총 4가지가 있다. 1. 기존 5.6까지 사용되던 Legacy Image Effect2. 유니티 2017부터 추가된 Post Processing stack3. 깃 허브에 올라와있는 공식 Post Processing stack v24. 기타 에셋 스토어의 에셋 새로운 것이니 써볼까하고 Post Processing Stack을 적용시켜서 사용해봤지만,확실히 사용하기는 조금 편해진 정도.최적화 면에서는 아직 테스트 해보지않아 잘 모르겠다. Post Processing stack의 v1과 v2는 큰 차이가 없는듯하다. 하지만 페이탈 에러가 있는데,Post Processing stack을 사용하면 파티클 MultiplyShader가 제대로 표시되지않는 문제가..
Unity/최적화 맨텀 2017. 10. 3. 13:43
- 2017부터 스프라이트 아틀라스 에셋이 추가되었지만, 아직 런타임제어기능은 쓸일은 따로 없어서 기존의 레거시를 사용하고 있습니다. - UI 최적화를 하다보면, Sprite Packing Tag를 전부 똑같이 달았는데도, 페이지가 여러개로 나뉘면서 드로우콜이 낭비되는 경험이 가끔있다. - 각 스프라이트의 세부설정값 (Filter Mode 나 Mipmap, 포멧 등까지 전부 똑같아야 스프라이트가 하나의 페이지로 생성됩니다. 주의할 것.