-
게임개발 숙련주차 팀과제/아이템 미리보기 화면 만들기/스파르타 부트캠프게임 개발기록 2024. 6. 12. 22:29
인벤토리와 아이템을 만들던 중에 다운 받은 에셋들의 icon이 따로 없어서 어떻게 해야 하나 하다가 튜터님이 Render Texture라는 것을 알려주셨다.
Render Texture라는 것은 렌더링결과를 텍스쳐로 저장 한다!라고 하는데 어려운 소리는 집어 치우고 화면을 텍스쳐로 저장한다. 무슨 말이냐 하면 화면에 그려지고 있는 화면을 그러니까 아무튼 텍스쳐로 저장 한다!
그러니까 이것이 왜 사용 되냐면 동영상과 같이 화면에 띄워놓기, 할 때 사용 된다. 음..... 설명하기가 어렵다.
사용 하려면 Render Texture라는 에셋을 추가 하고 카메라와 UI 오브젝트에 이 텍스쳐를 집어 넣어야 한다.
그렇게 하면 이 카메라가 찍고 있는 것을 UI오브젝트가 저장을 하게 된다.
이걸 왜 튜터님이 알려줬냐면 이 카메라가 갖고 있는 것을 저장 할 수 있는 것을 알려주셨다. 그러니까 스크린샷 기능인거다.
함수는 깅장히 어려워서 그냥 스크린샷이 작동 된다. 라고만 알라고 하셨다. 아무튼 그 기능을 받아와서 아이콘 모양을 따왔는데 새로 배운 이것을 활용 하고 싶었다.
바로 떠올린 것이 동영상과 같이 아이템을 클릭 하면 그 아이템의 모습이 크게 보이게 하는 것이었다.
방법은 단순하다. 렌더텍스쳐용 오브젝트와 카메라를 따로 만들고 관리 하면 됐다.
UI 오브젝트를 만들고 거기에 배경 만들고 거기에 자식 오브젝트 만들고 거기에 렌더텍스쳐 넣고 카메라 하나 추가해서 렌더텍스쳐 넣고, 그리고 지금 방식이 인벤토리에서 아이템을 선택 할 경우에 선택 한 아이템의 데이터를 갖고 오게 하는 기능이 있는데 그 데이터를 갖고 왔을 때 맞는 오브젝트가 SetActive가 되게 해서 카메라에 나오게 한거다.
다른 걸 클릭 하거나 인벤토리를 껏을 때 다시 아이템들 오브젝트가 false가 되게 하고, 방법은 쉬웠다.
그런데 이 Render Texture 라는 거 자체가 카메라를 하나 더 만들어야 하는데 이 카메라가 생성 될 수록 성능이 안 좋아지는 것은 있다고 하셨다. 튜터님이, 그래서 웬만하면 사용을 자제 하거나 다른 씬에 두고 사용 하라고 하셨는데, 이것과 같은 기능들은 카메라 한 개 사용 할 가치가 있다고 하셨다.
그리고 발표 때 한 튜터님이 이것을 보고 어떻게 만들었냐고 질문을 하셨는데, 왠지 기분이 좋았다.
'게임 개발기록' 카테고리의 다른 글
스파르타 유니티심화주차 개인과제 (7) 2024.06.18 게임개발 숙련주차 팀과제 / Quaternion을 사용해서 문 열리게 하기 / 스파르타부트캠프 (0) 2024.06.12 스파르타 3D 숙련주차 개인과제 (0) 2024.06.12 스파르타3D서바이벌/아이템장착기능/유니티숙련주차 (0) 2024.06.04 스파르타3D서바이벌/아이템사용기능/유니티숙련주차 (0) 2024.06.04