공부/Unity 49

[Unity] WebGL을 위한 Textures 최적화, 빌드 파일 용량 / 텍스쳐 용량 줄이기

유니티 빌드 후 Build Report를 살펴볼 수 있다 C:\Users\이름\AppData\Local\Unity\Editor\Editor.log (Editor 폴더 안보이면 Unity 폴더에서 검색하자 Editor에 들어가서 Build Report를 검색하면 빌드 파일에 관련된 정보가 뜬다 기존에 Textures가 1.1gb를 차지하고 있던 걸 479mb로 줄였다 텍스쳐 줄이기 노력 1. 해당 씬만 export해서 다시 받기 (별로 도움 안 됨) 2. URP 사용 버리기 (상관없는듯 다시 URP사용으로 돌렸음) 3. Sprite Atlas 사용해서 Batch 줄이기 (UI Batch 수를 줄이는 효과) 4. Crunch Compress 사용하기 (효과 엄청 좋다. 대충 Textures들은 다 이거 해주..

공부/Unity 2023.11.10

[Unity] png 투명 부분 클릭 안되게 하기 (버튼, 이미지 etc)

UI에 버튼, 이미지를 넣었는데 아무리 잘라줘도 이를 포함한 네모 전체를 클릭 이미지로 인식했다. 이를 해결하는 방법 1. 이미지가 들어간 오브젝트에 아래 식을 넣은 script를 넣어준다. 2. 이미지의 인스펙터창에 들어가서 설정을 바꾼다. (Mesh Type > Full Rect로 실험해보니 따로 설정 안 해도 작동된다) Advanced > Read/Write > True (체크로 설정) + Crunch Compression과 같이 사용할 수 없다 ++ Sprite Atlas와 같이 사용할 수 없다 2번 설정을 안해주면 InvalidOperationException 에러가 뜨니 유의하기 using UnityEngine.UI; //맨 윗부분에 넣어두기 float alphaThreshold = 0.1f;..

공부/Unity 2023.10.30

[Unity] 코루틴, Lerp로 부드럽게 이동, 회전, 확대 및 축소하기

IEnumerator UsingLerp(Transform obj, Vector3 destPos, Vector3 destRot, Vector3 destScale) { WaitForSeconds wtf = new WaitForSeconds(Time.deltaTime / 2); float pastTime = 0f, destTime = 1f; Vector3 originPos = obj.localPosition; Vector3 originRot = obj.localEulerAngles; Vector3 originScale = obj.localScale; while (pastTime < destTime) { obj.localPosition = Vector3.Lerp(originPos, destPos, pastTim..

공부/Unity 2023.09.22

[Unity] GluelT 스프라이트 시트 만드는 프로그램

Gluelt 모델러 분이 3D 모델링 해서 리깅하고 애니메이션을 잡으셨는데, 이걸 2D로 내보내서 애니메이션을 재생하려고 했다. png로 각 프레임 하나하나 하니 이 친구의 경우 용량이 너무 커져서 sprite sheet으로 만들고자 하였고, 프로그램을 찾아주셨다. 프레임별로 사이즈는 같아야 하고 직사각형, 정사각형 모두 작동 잘된다. Step 1의 Add 눌러서 가져올 이미지 전부 선택, 가로에 이미지 몇장씩 넣을 건지 쓰고 GlueLT 누르고 Save하면 된다. Delay Millisec은 Preview의 한 프레임을 보여주는 시간이라 상관없다. 나온 이미지를 유니티 sprite editor에서 가로 세로 개수 정해서 자르면 끝!

공부/Unity 2023.09.20

[Unity] could not create asset from file could not be read / unity rendertexture.create failed requested size is too large sprite renderer 오류

1) could not create asset from file could not be read png 하나의 용량이 10MB를 넘으면 오류가 난다 크기를 줄이거나 하자 (파일 형식의 문제가 아님) 2) rendertexture.create failed requested size is too large 스프라이트 시트의 가로나 세로가 8192px 이상이면 자동으로 자를 수 없다 스프라이트 시트가 가로로만 길게 있지 않는 이유이다. 8192px 이하로 되게 나누자,, 내가 받은 파일은 20000px이 넘어서 자동으로 자르지 못했다.

공부/Unity 2023.09.19
728x90