게임 화면에 들어가는 큰 NPC 이미지의 경우 굳이 스프라이트로 처리할 필요가 없어서 기본 Plane (Mesh Filter) 위에 이미지를 Resources.Load하여 mainTexture를 바꾸는 방법으로 구현했습니다.
newImage = Resources.Load("Image/NPC/Portrait/npc_stage1") as Texture;
spriteCol.npcPortrait.renderer.material.mainTexture = null;
spriteCol.npcPortrait.renderer.material.mainTexture = newImage;
spriteCol.npcPortrait.SetActive(true);
투명값이 적용된 png의 경우, 게임에 올리면 투명값이 적용 안되는 경우가 있었는데요.
이 경우는 구글 검색을 통해 shader를 바꿔서 해결했습니다.
그런데 이미지가 원본 png와는 달리 뭉개져 보이는 현상도 발생하네요.
shader때문인가 하고 이쪽으로 검색해봤는데 답을 못찾았습니다.
최종적으로는 "unity 원본 png" 로 검색을 통해 texture type으로 해결할 수 있는 방법을 찾았습니다.
1. 유니티에 등록한 이미지를 클릭해서 이미지의 Inspector를 실행한다.
2. Texture Type을 Texture → GUI로 변경한다.
3. [Default] 탭의 Format을 Compressed → Truecolor로 변경한다.
이 해결법은 GUI쪽에서 더 많이 얘기되고 있었던 것이었습니다.
(GUI는 아무래도 도트에 민감할테니까요)
알고나면 별 거 아닌 문제였는데, 역시 헤딩하는 동안은 시야가 한정된다는 사실을 재확인했네요.
문돌이 :네?
개발자 : 아니 그니까 이걸 이렇게해서...
문돌이 : ...네?
개발자 : ?????????????
문돌이 : ?????????????