[Unity] 동적 다운로드한 이미지 에셋 수동으로 메모리에서 내리기
Unity/Tips 2024. 3. 20. 11:41[Unity] 동적 다운로드한 이미지 에셋 수동으로 메모리에서 내리기

✌️개요 서버에서 받은 이미지 리소스를 사용하는 경우 자주 사용하는 이미지라면 계속 메모리에 있어도 되겠지만 갈 수도있고 안갈 수도있는 메뉴에서 사용하는 이미지라면 사용 후에 메모리에서 내려가게 해주는게 아무래도 좋음 메모리에서 내리기위해 시도하다가 알아낸 방법을 기록 🔥본문 코드로 해야할 일 우선 결론적으로 이것저것 시도해보니 Destroy(Texture에셋)으로 메모리에서 내려가게 만드는게 가능 Resources.UnloadUnusedAssets도 검색하면 가장 많이나오긴했는데, 또 포럼답변으로는 Destroy()함수로 하라는 말이 있어서 나는 Destroy()로 함 서버에서 Texture를 받는경우 UnityWebRequestTexture.GetTexture(URL)로 받을것이고 Texture2D타..

[Unity] HDR옵션을 켜면 RenderTexture의 배경이 보이는 문제
Unity/TroubleShooting 2024. 1. 9. 15:36[Unity] HDR옵션을 켜면 RenderTexture의 배경이 보이는 문제

✌️ 짧은 팁Unity에서 포스트 프로세싱의 Bloom효과를 제대로 쓸려면 [프로젝트 세팅 - 그래픽]에서 Use HDR 옵션을 활성화 시켜줘야한다.하지만 HDR옵션을 활성화 하고 나서 RenderTexture를 사용해보면 아래 그림과 같이 카메라 화면의 배경이 투명처리되지 않는다.  해결하는 방법은 위에서 활성화한 Use HDR 옵션 밑에있는 HDR Mode를 R11G11B10에서 FP16으로 바꿔주는것그러면 이렇게 깔끔하게 배경이 사라지고 Bloom도 여전히 제대로 적용된다.  다만 유니티가 안드로이드 플랫폼에서 HDR옵션 기본 비활성화에 포맷도 R11G11B10 기본값으로 둔 이유가 있지 않겠는가!HDR옵션을 쓰면 안그래도 무거워지는데 포맷을 FP16으로 쓰면 더더욱 무거워진다.꼭 필요하다면 성능 ..

[Unity] 모바일에서 Input.GetMouseButton이 안먹힌다면...
Unity/TroubleShooting 2023. 11. 13. 22:54[Unity] 모바일에서 Input.GetMouseButton이 안먹힌다면...

🚩개요 회사 프로젝트에서 특정 씬을 갔다오면 Input.GetMouseButtonDown() Input.GetMouseButton() Input.GetMouseButtonUp() 3총사가 안먹혔다. 찾고보니 골때리는 해결법이라서 기록해둔다. 🔥본문 결론부터 말하자면 원인은 LeanTouch라는 에셋이었다. 이 에셋의 LeanTouch 컴포넌트를 보면 Disable Mouse Emulation 이라는 bool 변수가 있다. 이 변수가 어떤짓을 해버리냐면... 바로 Input.simulateMouseWithTouches 를 false로 만들어버린다...!! 저게 false가 돼버리면 터치 입력을 마우스 입력으로 받아들이질 않는다. (기본값은 당연히 true) 심지어 LeanTouch는 기본값으로 Input...

[Unity 2D] Scrolling Backgorund
Unity/2D 2023. 8. 10. 15:55[Unity 2D] Scrolling Backgorund

✌️개요 런게임의 무한으로 흘러가는 배경으로 사용하는 그것 트랜스폼으로 움직이고 이어붙이면 FPS가 떨어지면 아래 스샷처럼 틈이 발생하게 된다. 위의 문제를 차단하기위한 방법은 Material의 texture offset을 활용하는 방법 🔥본문 1. 텍스쳐 세팅에서 Wrap Mode를 Repeat으로 변경 2. SpriteRenderer 배경을 3D Object - Quad로 변경 3d Quad를 쓰는 이유는 Spritre Renderer에서 텍스쳐 offset을 사용하면 이미지가 이상하게 잘려보인다. 3. 다음 코드 사용 public class OffsetScrolling : MonoBehaviour { public float scrollSpeed; private Renderer renderer; pr..

[Unity 최적화] Dynamic Resolution을 적용해보자!
Unity/Tips 2023. 8. 2. 19:52[Unity 최적화] Dynamic Resolution을 적용해보자!

✌️개요 2024 .04 수정 Unity의 Dynamic Resolution이란 원하는 Camera를 정해서 런타임 시 현재 퍼포먼스에 맞춰서 그 Camera의 해상도가 동적으로 조정되게 하는 기능이다. 비슷한 작업으로는 Upscale Sampling이있다. Upscale Sampling은 Camera가 렌더텍스쳐에 렌더링하게 설정해두고 렌더텍스쳐의 해상도를 조절하는 방식이다. 둘다 결과적으로 하는일은 비슷하다. 중요한건 UI의 해상도는 그대로 두고 인게임 렌더링의 해상도만 열화를 시켜야 티가 덜나게된다. 📌이 글은 Unity 2020 3.35버전, 안드로이드 플랫폼, Built-in 파이프라인을 기준으로 설명합니다. 🔥본문 먼저 사전준비를 해보자 1. Player세팅에서 Frame Timing Stat..

[Unity] 유니티 에디터 OpenGL/Vulkan 그래픽스API로 열기
Unity/Tips 2023. 8. 2. 18:49[Unity] 유니티 에디터 OpenGL/Vulkan 그래픽스API로 열기

빌드의 그래픽 API를 변경하는건 쉽지만 유니티 에디터는 윈도우 기준으로 다이렉트X11으로 실행된다. 이러면 간혹 모바일로 빌드했을 때 모바일에서만 이상하게 보이는 쉐이더들이 포착되기도 하는데, 빌드에서만 관찰할 수 있다는건 정말 골치가 아프다. 빌드와 에디터에서 똑같은 그래픽을 보기위해 에디터의 그래픽스 API를 바꿀려면 다음과 같다. 📌허브에서 "커맨드 라인 인자 추가" 허브에서 프로젝트 옆에 점3개를 누르면 "커맨드 라인 인자 추가"가 있다. [Vulkan] -force-vulkan [OpenGL] -force-glcore [OpenGL ES] -force-gles 위 인자를 추가해주면 해당하는 그래픽스 API로 열린다. 확인하는 방법은 유니티 창을 봤을 때 이렇게 끝에 처럼 적용된 그래픽스API가..

image