
바이브 코딩으로 만든 게임입니다.게임하러 가기(클릭) 한 손으로 빠르게 할 수 있는 게임으로 기획하였습니다. 기본 기능 만드는데 7일 정도 걸렸고 피드백 받은 거 적용하는데 7일 정도 추가로 걸렸습니다.자잘한 수정(대부분 이미지와 UI 수정)까지 포함하면 여기까지 만드는데 3주 정도 걸렸습니다. 단지 바이브 코딩 특성상 틈이 많이 남아서 이 프로젝트만 집중해서 작업한 시간은 그렇게 많지 않습니다.프롬프트만 던져놓고 딴 작업 하면서 만들었습니다. 1. 개요 유니티6 + Visual Studio + github copilot으로 만들었습니다. 비주얼 스튜디오(Visual Studio)의 경우 '깃허브 코파일럿(github copilot)'을 설치하면 자동으로 통합되어별도의 설정 없이 바로 사용할 수 있다..
별생각 없이 프리팹(Prefab)에 들어가는 코드에 들어가는 코드에 다음과 같이 개체를 검색했습니다.TextMeshProUGUI ItemText = GameObject.Find("ItemText").GetComponent();ItemText.text = "내용1"; 개체를 3개 생성했는데 첫 번째 개체에만 텍스트가 적용됩니다???? 1. 오류 확인제가 생각했던 개체에 접근되지 않을 때는 인스턴스 ID(Instance ID)를 확인해 봐야 합니다.Debug.Log(string.Format("ItemText : {0}, {1}" , ItemText.gameObject.GetInstanceID() //텍스트 개체 , this.gameObject.GetInstance..
랩 패널(Wrap Panel)은 가로(혹은 세로)로 아이템이 쌓이다가 한 줄이 꽉 차면 다음 줄로 넘어가는 패널을 말합니다. 랩 패널에 스크롤 뷰를 연결하여 아이템이 늘어나면 스크롤도 동작하도록 구현하도록 하겠습니다. 연관글 영역 1. UI에 스크롤 뷰 추가 1) 게임 오브젝트(GameObject) > UI > 스크롤 뷰(Scroll View)를 선택하여 UI 화면에 스크롤 뷰를 추가합니다.추가한 스크롤 뷰의 이름을 'WrapScroll'로 해줍니다. 2) 스크롤 활성/비활성 시키기스크롤 뷰를 추가하면 가로/세로 스크롤이 모두 자동(Auto)으로 되어 있습니다.이 프로젝트에서는 세로 스크롤만 사용하므로 가로는 끄고, 세로는 항상 표시되도록 수정해야 합니다. 'WrapScroll'를 선택합니다.인스팩터에..
프로그램에서 UI 하면 많이 쓰이는 방식 중 하나가 스크롤이 달린 리스트입니다.스크롤 뷰(Scroll View)를 이용하면 간단하게 만들 수 있습니다. 연관글 영역 1. UI에 스크롤 뷰 추가 1) 게임 오브젝트(GameObject) > UI > 스크롤 뷰(Scroll View)를 선택하여 UI 화면에 스크롤 뷰를 추가합니다.추가한 스크롤 뷰의 이름을 'List View'로 해줍니다. 2) 스크롤 활성/비활성 시키기스크롤 뷰를 추가하면 가로/세로 스크롤이 모두 자동(Auto)로 되어 있습니다.이 프로젝트에서는 세로 스크롤만 사용하므로 가로는 끄고, 세로는 항상 표시되도록 수정해야 합니다. 'List View'를 선택합니다.인스팩터에서 'Scroll Rect' 항목을 봅니다.가로(Horizontal)..
스크롤 바(Scroll Bar)를 이용하여 구현한다는 것은 스크롤 뷰를 직접 구현하는 것입니다. 연관글 영역 1. 레이아웃 만들기 스크롤 바가 될 UI를 만들겠습니다. 1) 빈 오브젝트(Create Object)를 생성하고 이름을 'Scroll Bar'로 넣고 크기와 위치를 지정합니다. 2) 빈 오브젝트 안에 UI 패널(GameObject > UI > Panel)을 넣고 이름을 'PanelContent'로 넣습니다. 3) 'PanelContent'의 'Rect Transform'속성에 앵커 프리셋(Anchor Presets)을 선택하여 'middle center'로 선택해 줍니다. 4) 'PanelContent'에 이미지(GameObject > UI > Image)를 넣습니다. 5) 'PanelCont..
유니티(Unity) UI에서 스크롤을 쓰는 방법은 크게 스크롤 뷰(Scroll View)를 쓰는 방법과 패널에 스크롤 바(Scroll bar)를 연결하는 방법이 있습니다.빠르고 편하게 쓸 생각이면 스크롤 뷰를 쓰는 것이 좋고 직접 커스텀하게 만들 생각이면 스크롤 바를 연결하는 것이 좋습니다. 이 포스팅에서는 스크롤 뷰(Scroll View)를 다룹니다. 연관글 영역 1. UI에 추가 게임 오브젝트(GameObject) > UI > 스크롤뷰(Scroll View)를 선택하여 U I화면에 스크롤 뷰를 추가합니다. 스크롤 할 내용은 콘텐츠(Content) 안에 넣어야 합니다. 2. 내용 넣기 스크롤 될 영역의 크기는 '콘텐츠(Content)' 영역의 크기를 따라갑니다.콘텐츠 영역을 적절히 늘려야 스크롤이..
미니맵에 상호작용이 필요하다면 이전에 설명한 두 가지 방식은 사용하기가 매우 까다롭습니다. 미니맵용 카메라도 메인카메라처럼 상호작용이 된다면 따로 추가 작업을 할 필요가 없습니다.이게 가능하려면 화면에 카메라를 2개 표시하면 되겠죠?그게 바로 뷰포트(Viewport)를 이용한 방법입니다. 연관글 영역 1. 카메라 생성미니맵용 카메를 생성해 줍니다.미니맵의 확대 축소와 같은 기능을 넣으려면 '투사(Projection)'를 원근(Perspective)으로 설정해야 합니다. 2. 뷰포트 설정 뷰포트는 카메라를 화면에 표시하는 위치를 지정하는 기능입니다. 이 값은 비율입니다.1=100%입니다. 메인 카메라의 경우 'X:0,Y:0, W:1,H:1'이렇게 되어 있습니다.이렇게 되면 항상 화면크기와 일치하게 됩니..
로 이미지(Raw Image)로 UI에 미니맵을 띄우던 이전 포스팅이랑 거의 동일합니다.단지 3D 오브젝트에 표시한다는 차이가 있을 뿐이죠. 그래서 엄밀하게 말하면 미니맵을 구현한다기보다는 카메라를 3D오브젝트에 표시하는 것입니다. 연관글 영역 1. 텍스처 생성 카메라가 보는 화면을 렌더링할 택스처를 생성해야 합니다.프로젝트 창에서 오른쪽 클릭 > 생성 > 렌더 텍스처 를 선택하여 원하는 이름으로 텍스처를 만듭니다. 2. 카메라 생성 미니맵용 카메라를 생성합니다. 미니맵의 확대 축소와 같은 기능을 넣으려면 '투사(Projection)'를 원근(Perspective)으로 설정해야 합니다.'타겟 텍스처(Target Texture)'를 위에서 생성한 텍스처로 설정해 줍니다. 3. 텍스처를 출력할 오브젝..
미니맵은 보통 UI에 표시하므로 '로 이미지(Raw Image)'를 사용하는 방법을 많이 쓰게 됩니다.단, 이 방법은 미니맵 카메라와는 상호작용을 할 수 없습니다. 연관글 영역 1. 텍스처 생성카메라가 보는 화면을 렌더링할 텍스처를 생성해야 합니다. 프로젝트 창에서오른쪽 클릭 > 생성 > 렌더 텍스처를 선택하여 원하는 이름으로 텍스처를 만듭니다. 여기서는 'RawImageTexture'로 이름을 지었습니다. 2. 카메라 생성 미니맵용 카메라를 생성합니다.미니맵의 확대 축소와 같은 기능을 넣으려면 '투사(Projection)'를 원근(Perspective)으로 설정해야 합니다. '타겟 텍스처(Target Texture)'를 위에서 생성한 텍스처로 설정해 줍니다. 3. UI에 로 이미지(Raw Ima..
유니티에서 미니맵을 구현하는 방법은 크게 3가지로 나눌 수 있습니다.(직접 구현하는 건 제외) 로 이미지(Raw Image) : UI공간에서 사용합니다.렌더러 택스처(Render Texture) : 3D공간에서 사용합니다.카메라의 뷰포트(Viewport) : 화면 영역에서 사용합니다. 이 포스팅은 구현에 필요한 공통 내용을 다룹니다.각각의 구현은 다음 포스팅에서 다룹니다. 연관글 영역 1. 각각의 장단점 여기서는 간단한 설명만 합니다.자세한 설명은 각각을 구현하는 포스팅에서 하도록 하겠습니다. 1-1. 로 이미지(Raw Image)UI에 표시할 때 사용하는 방법입니다.'UI Canvas'에서 동작하므로 다루기가 쉽습니다. 문제는 카메라가 렌더링한 이미지만 표시하는 것이므로 카메라와 상호작용을 할 수 없..