[Unity] 기본용어, 게임 오브젝트

Southbig·2023년 3월 6일
0

기본용어

project

  • 하나의 게임, 콘텐츠, 어플리케이션을 뜻한다

Scene

  • 게임의 장면이나 상태를 저장하는 단위
  • 하나의 거대한 게임을 씬 단위로 관리하며, 코드를 이용해 씬 이동이 가능하다

게임 오브젝트

  • 씬에 배치되는 하나의 객체를 지칭하는 단위
    • 게임 오브젝트는 컴포넌트를 묶어서 관리하고, 관리하는 컴포넌트에 접근할 수 있는 수단
    • 모든 게임 오프젝트는 위치/회전/크기를 제어하는 "Transform" 컴포넌트를 가지고 있다
  • 게임 오브젝트에 원하는 컴포넌트를 추가하여 다양한 오프젝트 제작 가능

컴포넌트 (C# Script)

  • 게임 오브젝트에 부착할 수 있는 C# 스크립트 파일을 지칭하는 단위
  • 게임 오브젝트에 컴포넌트를 부착하여 게임 오브젝트에 여러 기능을 부여

에셋

  • 프로젝트 내부에서 사용하는 모든 리소스를 지정하는 단위
    (Audio, 3D Model, Animation, Texture, Script, Prefab)

프리팹

  • Hierarchy View에 있는 게임 오브젝트를 파일 형태로 저장하는 단위
  • 주로 게임 중간에 생성되는 게임 오브젝트를 프리팹으로 저장해두고 사용
  • 프리팹 장점
    • 동일한 게임 오브젝트를 여러 씬이나 게임 월드 특정 장소에 배치할 때 project view에 저장되어 있는 프리팹을 drag&drop하여 배치할 수 있다
    • 기획상의 변경이 있을 때 프리팹 원본을 갱신하게 되면 모든 씬에 배치되어 있는 게임 오브젝트들도 원본과 동일하게 업데이트 된다

게임 오브젝트

Create Empty

  • 빈 오브젝트
    • Transform 컴포넌트만 가지고 있는 빈 게임 오브젝트 생성

게임에 보이지 않지만 게임의 여러 요소를 처리하는 오브젝트를 만들 때 빈 오브젝트를 생성하고, 게임의 여러 요소를 처리하는 컴포너너트를 추가해서 사용한다
(적을 주기적으로 생성하는 EnermySpawner, 스테이지 성공/실패 조건을 관리하는 StageController)

여러 오브젝트를 한 그룹으로 묶을 때 빈 오브젝트를 생성하고, 빈 오브젝트의 자식에 그룹으로 묶이는 오브젝트들을 등록해서 사용

3D Object

  • 게임 화면에 배치할 수 있는 3D 오브젝트

3D 게임을 제작할 때 필요한 실제 사람이나 다양한 형태의 모델은 외부 프로그램에서 제작하여 가져온다 (Unity는 기본적인 도형 오브젝트만 제공한다)

2D Object

  • Sprite Shape (맵 제작에 사용)
  • Effect
    • 게임에 보여지는 여러 효과, 무기의 잔상, 선 그리기와 같은 오브젝트 들
  • Particle System
    • 게임에 보여지는 다양한 효과를 제작하는 게임 오브젝트
  • Trail
    • 무기를 휘두르거나 객체가 이동할 때 잔상 효과를 그려주는 게임 오브젝트

Camera

  • 눈역할 담당

  • Clear Flags

    • 오브젝트가 존재하지 않는 빈 배경을 어떻게 채울지 결정하는 요소
    • 주로 2D rpdladms Solid Color 3D 게임은 Skybox를 사용
    • 카메라를 동시에 여러 대 사용할 때 Depth only, Don't Clear 옵션도 사용
  • Background

    • Clear Flags가 "Solid Color"일 때 배경화면의 색상을 나타내는 변수
  • Clipping Planes

    • 카메라가 오브젝트를 볼 수 있는 시야 거리
    • Near는 시작 지점(default 0.3), Far는 끝 지점 (default 1000)
    • Far 거리를 늘리면 카메라가 볼 수 있는 시야 거리가 늘어난다
      • 단, 시야가 늘어나는 만큼 그리는 오브젝트 수가 많아져 성능에 영향을 미칠 수 있다
  • Viewport Rect

    • 카메라가 본 것을 화면에 출력하는 영역 설정
  • Camera Component

    • Culling Mask
      • 해당 카메라에 보이거나 보이지 않게 할 레이어 설정
      • 선택 해제된 레이어는 해당 카메라에 비춰지지 않는다
    • Depth
      • 카메라가 본 장면을 모니터에 그리는 순서 (카메라가 여러 대 일 때 사용)
    • Rendering Path
      • 카메라에 의해 그려지는 방법
    • Target Texture
      • 카메라가 본 장면을 모니터에 그리지 않고, Render Texture 파일에 저장
    • Occlusion Culling
      • 오브젝트 뒤에 오브젝트가 배치되어 카메라의 시전에 보이지 않을 경우 해당 오프젝트를 그리지 않도록 해 게임의 처리 속도를 높여주는 기능
    • HDR
      • 눈부심이나 글로우 같은 조명 효과를 낸다
    • MSAA
      • Anti-Aliasing 사용, 높은 해상도의 그림을 낮은 해상도에서 나타낼 때 계단현상이 생기는 것
    • Allow Dynamic Resolution
      • 동적 해상도 지원 여부
    • Target Display
      • 카메라가 보는 화면을 출력할 모니터 설정 (최대 8개)
    • Target Eye
      • VR을 사용할 때 카메라가 본 화면을 출력할 눈 설정

    Light

  • 현실세계의 빛 역할을 담당

    • 빛을 이용해 모델의 재질이나 색상을 다양한 형태로 보여주는데 사용
  • Light Component

    • Type (빛의 종류)

      • Directional
        오브젝트의 위치, 크기가 중요하지 않고, 방향이 중요한 빛으로 게임 월드에 존재하는 모든 오브젝트에게 동일한 방향으로 빛을 제공
      • Point
        Range 변수에 설정된 값 만큼 구 형태로 방사되는 빛
        주변을 밝게 만드는 전구, 모닥불과 같은 곳에 사용한다
      • Spot
        Range, Spot, Angle 변수에 설정된 값 만큼 원뿔 형태로 뻗어나가는 빛
        오브젝트를 강조해서 비출 때나 가로등과 같은 곳에서 사용
      • Area (baked only)
        오브젝트의 위치를 기준으로 전방 방향으로만 방출되는 빛
        Area Light는 Baked 모드에서만 사용 가능
    • Mode (빛의 연산 처리)

      • 빛의 연산을 실시간으로 할지 미리 계산해두고 사용할 지 결정하는 옵션
    • Intensity (빛의 강도)

      • 빛의 세기를 나타내는 수치로 높을 수록 빛의 세기가 세진다
    • Shadow Type (빛에 의해 발생되는 그림자)

      • 빛을 받은 오브젝트의 그림자 설정
    • Cookie / Cookie Size (Cookie에 등록된 Texture 모양의 빛 생성)

profile
즐겁게 살자

0개의 댓글