본문 바로가기
  • 불확실한 내일을 위해
728x90

유니티 C#/2D 입문공부11

유니티 기초 - UI 버튼(Button) 사용법 시작이나 종료 등 버튼을 위해 UI 를 만들었다면 버튼 기능을 활성화해야 한다.이를 위해서는 버튼의Button 인스펙터를 수정해주면 된다.  Interactable : 사용자와의 상호작용 활성화 여부를 선택한다.Transition : 어떤 형태로 반응할지 선택한다.OnClick() : 버튼 클릭 시 [List is Empty] 이벤트를 호출한다.  예를 들어 플레이버튼을 눌렀을 때 title 제목을 바꾸고 title을 끌어서 None(Object) 부분에 넣고 OnClick() 의 + 버튼을 눌러  No function에서 string text를 선택하여  바꾸고 싶은 말 (시작!)을 적으면 된다.  그런다음 플레이 후 버튼을 눌렀을 때 title 제목이 시작! 으로 바뀐 것을 확인할 수 있다. 2024. 4. 25.
유니티 기초 - Canvas Scaler로 UI 해상도(크기) 조절하기 해상도를 조절하는 작업을 하지 않으면 개발 환경과 실제로 플레이하는 화면의 해상도가 다를 때 UI 오브젝트가 화면 밖으로 나가버리거나 잘리거나 겹치는 상황이 발생할 수 있다. 이를 예방하기 위해서는 UI를 생성할 때 자동으로 생성되는 부모 오브젝트인 Canvas의 인스펙터의 Canvas Scaler를 설정해주어야 한다. UI Scale Mode 에는 3가지 모드가 있는데,- Constant Pixel Size : 화면 크기와 상관없이 동일한 픽셀 크기로 유지한다.- Scale With Screen Size : 화면 크기에 비례하여 크기가 변하는 만큼 UI 크기도 변한다. 즉, 해상도에 따라 화면의 크기를 조절한다. - Constant Physical Size : 화면 크기와 상관없이 동일한.. 2024. 4. 24.
유니티 기초 - 버튼 이미지 변경하기 보통 기본적으로 유니티에서 UI 에서 버튼을 추가했을 땐  이본적으로 이렇게 생긴 버튼이 생성된다.  이 원하는 이미지로 변경하기 위해서는 이미지 오브젝트를 버튼 인스펙터의 Image에  Source Image 에 드래그앤드롭 하면 된다.  그럼 이미지가 버튼 크기 그대로 삽입되는데, 이미지 형태 그대로 사용하려면 Preserve Aspect 에 체크해주면 된다.  참고로 이미지가 sprite 모드가 설정되어 있으면 Source Image 부분에 드롭이 활성화되지 않을 것이다. 그럴때는 이미지의 인스펙터를 수정해주면 된다. (참고 : https://greenchoco.tistory.com/209 ) C# 이미지 적용할 때 필수인 Texture Type 와 Sprite Mode 설정.. 2024. 4. 24.
유니티 기초 - 글꼴(글씨체) 변경하기 유니티 글꼴은 워드나 한글처럼 리스트로 저장되어있는 것이 없다.UI - Text 를 추가한 후 인스펙터에 Text 의 font 옆에 ttf 나 otf 확장자로 되어있는 파일을 끌어다 넣어주면 된다.(상업적으로 이용 가능한지 확인하고 넣는 것이 좋다) 참고로 Fond Size를 늘렸을 때 글씨가 2줄로 표시되면 Horizontal Overflow를 Wrap에서 Overflow 로 변경해주어야 한다.아예 글씨가 보이지 않으면 Vertical Overflow에서 Truncate이라고 설정되있는 것을 Overflow로 변경을 해주면 된다.   참고로 속성은 아래와 같다. Text : 텍스트 내용Font : 글꼴Font Style : 스타일 (굵기, 기울임)Font Size : 크기Lin.. 2024. 4. 24.
C# 이미지 적용할 때 필수인 Texture Type 와 Sprite Mode 설정 유니티에서 이미지를 사용하기 위해서는 UI와 2D 오브젝트로 삽입해야 한다. 하지만 UI와 2D 오브젝트를 이용하기 위해서는 sprite 타입의 이미지 리소스가 필요하다.즉, 이미지를 sprite 타입으로 변경해주면 되는데, 이는 인스펙터창의 Texture Type에서 설정할 수 있다.  Sprite(2D and UI) 를 쓰면 이 스프라이트 타입을 2D와 UI에서 사용할 수 있다는 뜻이다.그리고 Sprite Mode 를 Single로 바꿔준다.  2D나 UI로 사용하기 위해서는 이렇게 Texture Type 을 Sprite(2D and UI)로 선택해주고 Sprite Mode를 Single로 바꾼 위 apply 버튼을 눌러 적용시켜야 오브젝트로서 적용 가능하다.(이 작업을 안하고 이미.. 2024. 4. 24.
유니티 기초 - 물리엔진 physics 이란? 유니티에서 오브젝트에 적용할 수 있는 physics 는 물리엔진을 뜻한다.낙하, 충돌 등 물리 동작을 위해서 구현하는 시뮬레이션용 라이브러리라고 할 수 있다.질량, 마찰, 중력 등을 고려해 움직여서 사실적인 동작을 쉽게 구현할 수 있다.  physics를 적용하면 오브젝트 좌표를 직접 변경하지 않아도 오브젝트데 힘을 가해서 이동시킬 수 있다.(좌표를 직접 변경하면 충돌 판정이 보증되지 않는 경우가.. 2023. 9. 5.
유니티 기초 - 2D 콜라이더(Colider) 유니티에서 보통 rigidbody와 함꼐 사용되는 컴포넌트다.오브젝트끼리 충돌 판정을 나게 하기 위해서는 add component 에서 Colider 2D를 선택하면 된다.2D에서 콜라이더 종류는 아래와 같다. Circle Colider 2D : 원형 콜라이더Box Colider 2D : 사각형 콜라이더Edge Colider 2D : 선형 콜라.. 2023. 9. 5.
유니티 기초 - 2D 중력 적용하기 (Rigidbody) 유니티 2D 에서 중력을 적용하기 위해서는힘 계산 컴포넌드인 rigidbody를 쓰는 것이 일반적이다. 해당 오브젝트를 선택한 후 add component 하여 Rigidbody 2D를 추가해주어야 한다. 따로 수치 설정을 안해도 중력은 적용되지만 상세 설정을 변경할 수 있다.Gravity Scale 에서 중력의 크기를 설정할 수 있다. (점프했을 때 더 무게감을 느껴지게 한다. 기본적으로 Body Type이 Dynamic 으로 되어있.. 2023. 9. 5.
유니티 UI (텍스트)가 안보이는 이유 (Rect Transform, 레이어) 1. 좌표문제(Rect Transform) 유니티에서 게임을 제작할 때 일반 오브젝트는 Transform 좌표를 이용하지만 텍스트 등의 UI는 Rect Tranform을 사용한다. 그래서 게임 제작 화면에서 오브젝트에 맞추어 텍스트를 제작해버리면 플레이 모드에서는 아예 보이지 않게된다. 참고로 Transform은 위치, 회전, 크기를 변경할 수 있고, Ract Transform은 위치, 회전, 크키, 피벗, 앵커를 변경할 수 있다. 피벗은 회전, 확대, 축소 할 때 쓰는 중심 좌표이고, 앵커는 UI 리소스 배치할 때 기준 위치 지정을 말한다. 2. 레이어 2D에서는 게임 오브젝트들에게 레이어 번호를 갖고 있는데, 포토샵처럼 레이어가 뒤에 있으면 보이지 않는다. 레아어 번호가 클수록 앞으로 보이므로, 안보.. 2023. 7. 13.
유니티 기초 - UI 필수의 오브젝트 Canvas와 EventSyetem Canvas와 EventSystem은 UI를 추가했을 때 Hierarchy에 자동으로 같이 생성되는 오브젝트다. Canvas는 UI를 담는 부모오브젝트로 텍스트나 버튼 등의 UI를 자식으로 담는 캔버스같은 오브젝트로, Canvas 오브젝트의 자식으로서 UI가 존재하지 않으면 씬 화면에 그려지지 않는다. EventSystem은 키보드, 마우스, 터치 등 사용자 입력이 UI를 통해 실행되도록 하는 기능으로, EventSystem이 없으면 씬 내에서 버튼을 누르거나 스크로를 내리는 등의 인터페이스와 사용자간 상호작용이 실행되지 않는다.  즉  UI실행 시 둘다 필수인 오브젝트다. 2023. 7. 13.
728x90