Unity -1. 준비하기 및 기본원리

CHO WanGi·2024년 3월 25일

Unity

목록 보기
1/13

Unity 엔진이란?

2D,3D 그래픽을 지원하는 다목적 게임엔진, 멀티플랫폼 지원

Unity Hub 설치

https://unity.com/kr/download

유니티 허브를 통해 유니티를 설치하는 방식으로 이루어짐

Unity Hub

  • 유니티 vs 유니티 에디터
    게임 옵젝, 에셋 편집창 등 여러 개발 도구를 제공하는 유니티 프로그램을 정확히 유니티 에디터라고 지칭.

Unity Editor

기존의 프로젝트를 불러올때 버전 차이로 경고메시지가 뜨는 경우엔 Confirm, Continue를 누르고 진행해도 무방한 것이, 유니티 엔진이 버전차이를 알아서 해결해주기 때문.

    • 하나의 게임 월드, 시각적으로 편집 가능
  • 게임
    • 플레이어가 실제로 볼 화면
  • 하이어라키
    • 현재 씬에 존재하는 모든 게임 옵젝을 나열
  • 인스펙터
    • 현재 선택한 게임 오브젝트의 정보를 표시
  • 프로젝트
    • 프로젝트에서 사용할 모든 에셋
  • 콘솔
    • 유니티의 기록
    • 일반, 경고, 에러 로그 3가지 종류 존재

Unity Engine 동작원리

상속

상속을 통해 이미 만들어진 클래스에 새로운 코드 및 기능을 덧붙여 새로운 클래스를 만들어 내는 것

  • 단점
  1. 부모 클래스의 기능이 추후 구현한 자식 클래스와 충돌 가능
    예를들어 Human Class에 물리 기능을 담아놓고, NPC class 에서 이를 상속하여 사용할 경우, 움직임이 필요 없음에도 물리 기능으로 인해 이동 가능

  2. 새로운 오브젝트 생성의 곤란함
    부모 클래스의 기능들을 면밀히 따져봐야 하기 때문에 새로운 오브젝트 생성시 생산성이 떨어질 수 있음

컴포넌트 패턴

미리 만들어진 부품(컴포넌트)를 조립하여 완성된 오브젝트를 만드는 방식
부품마다 대표 기능을 하나씩 몰아넣고 이를 조립하는 방식

  • ex
    컴포넌트 주머니에 폐,다리,아가미,지느러미 가 있을 경우
    사람은 폐,다리 컴포넌트를, 물고기는 아가미, 지느러미 컴포넌트를 조립하여 구성하는 것.

따라서 게임 오브젝트는 빈 껍데기이고, 이를 필요한 컴포넌트로 채우며 완성시키는 것이 Unity의 방식

브로드 캐스팅

컴포넌트 구조에선 메시지와 브로드 캐스팅 방식을 활용하여 컴포넌트의 특정 기능을 실행

MonoBehavior

유니티의 모든 컴포넌트는 MonoBehavior 클래스를 상속.
이 클래스를 상속하기 때문에 유니티의 제어를 받아 기본 기능을 제공

메시지 기반 방식

  1. 유니티, 발동시키고 싶은 기능을 이름을 담은 메시지 발송
    2-1. 오브젝트, 그 기능을 갖고 있다면 실행
    2-2. 기능을 갖고 있지 않다면 무시

메시지 방식은 누가 메시지를 보냈는지, 받는지 신경쓰지 않기 때문에
독립성 유지 가능

브로드캐스팅

메시지와 같은 이름을 가진 메서드가 있다면 이를 실행

유니티 이벤트 메서드

유니티에서는 이름 철자만 똑같이 구현해놓으면 메시지에 의해 자동으로 실행

profile
제 Velog에 오신 모든 분들이 작더라도 인사이트를 얻어가셨으면 좋겠습니다 :)

0개의 댓글