dh_0e

[Server] 강의 내용 정리 (2) (Unity, Unity UGUI) 본문

내일배움캠프/Server

[Server] 강의 내용 정리 (2) (Unity, Unity UGUI)

dh_0e 2024. 6. 28. 20:36

Unity

  • 게임을 디자인, 개발, 배포하기 위한 강력한 도구와 기능을 제공하는 통합 개발 환경(IDE)
  • 언리얼과 함께 게임 개발 엔진 투탑을 이루고 있음
  • 2D 및 3D 게임 개발을 지원 (주로 2D 게임을 만듬)
  • 다양한 플랫폼(안드로이드, IOS, window 등)에서 실행 가능한 게임 개발 가능
  • 크로스 플랫폼 개발, 실시간 미리보기, 2D/3D 그래픽 지원, 물리 시뮬레이션, 스크립팅 언어, 에셋 스토어, 커뮤니티 및 문서화 등의 기능을 제공
  • 게임 개발 뿐만이 아니라 다양한 산업에 사용되고 있음

 

비주얼 스튜디오 (VS)

  • 마이크로소프트에서 개발한 통합 개발 환경(IDE)
  • 코드 편집기와 디버깅 도구, 빌드 시스템 등을 포함하여 다양한 기능 제공
  • 강력한 IntelliSense 기능으로 코드 작성시 자동 완성, syntex 하이라이팅, 오류 체크 등을 제공
  • 통합된 디버깅 환경으로 코드 실행 중에 문제를 분석하고 수정할 수 있음

 

Unity Hub

Unity 엔진 개발자를 위한 프로젝트 관리 및 엔진 설치, 에디터 설정, 학습 자료 제공 등을 통합한 플랫폼

 

 

유니티 주요 사용 단어

에셋(Asset)

  • 게임에 필요한 모든 리소스(이미지, 사운드, 모델, 코드 등)를 의미
  • 프로젝트의 에셋 폴더에 저장되며, 유니티에서 사용 가능한 형식으로 가져와서 게임에 활용
  • 일반적으로 파일이라 부르는 것들을 에셋이라 칭함

씬(Scene)

  • 게임의 각 장면 또는 화면을 의미
  • 유니티에서 게임은 하나 이상의 씬으로 구성되며, 각 씬은 게임의 특정 부분을 담당
  • ex) 메뉴 씬, 엔딩 씬, 플레이 씬 등

게임 오브젝트(Game Object)

  • 씬에 배치되는 모든 요소를 의미
  • 에셋을 이용하여 씬에 생성되며, 게임의 동작과 상호작용을 담당
  • 계층 구조로 구성되어 부모-자식 관계를 가지며, 이를 통해 그룹화하고 조작
  • ex) 캐릭터, NPC 아이템, 장애물

 

유니티 인터페이스

  • (D) Scene 뷰: 씬의 3D 또는 2D 뷰로 씬 구성 요소 편집
  • (C) Game 뷰: 게임이 실제로 실행되는 뷰로, 플레이어가 게임을 플레이하는 화면을 실시간으로 확인
  • (B) Hierarchy 뷰: 현재 씬의 게임 오브젝트 계층 구조 표시 및 편집
  • (F) Inspector 뷰: 선택된 게임 오브젝트의 속성 및 구성 요소 편집
  • (G) Project 뷰: 프로젝트의 에셋 표시 및 관리
  • (H) Console 뷰: 게임 실행 중의 로그 및 메시지 표시

 


 

Unity UGUI

  • Unity의 GUI 시스템을 의미하며 GUI는 Graphical User Interface의 약자로, 그래픽으로 화면에 구현된 유저 인터페이스를 뜻함
  • Unity UI는 게임 및 애플리케이션용 사용자 인터페이스를 개발하기 위한 UI 툴킷으로 컴포넌트와 게임 뷰를 사용하여 사용자 인터페이스를 정렬, 위치 지정 및 스타일 지정하는 GameObject 기반 UI 시스템
  • Unity UI는 Unity 에디터의 사용자 인터페이스를 만들거나 변경할 수는 없으며, 오로지 게임상의 시스템에서 활용 가능함

 

UGUI 레퍼런스

  • Canvas
    • Render Mode
      • Screen Space - Overlay: 게임 화면 가장 앞에 배치되는 UI
      • Screen Space - Camera: 화면에 그려지는 순서를 배치
      • World Space - Hp바, 캐릭터명 등 개별 개체로 작동하는 UI
  • Visual Components
    • text - 글자가 들어가는 영역
    • Image - 사진이 들어가는 영역
  • Interaction Components
    • Button
    • Toggle
    • Slider
    • InputField
  • Auto Layout
    • Horizontal LayoutGroup - 수평 정렬
    • Vertical LayoutGroup - 수직 정렬
    • Grid LayoutGroup - 격자 무늬 정렬
    • Content Size Fitter - 레이아웃의 크기를 정해줌 (보통 text와 함께 사용)