[Unity 마스터 클래스] GameObject, Camera, Light

시에나 Sienna·2024년 5월 8일
0

1. GameObject, Component

1) GameObject

  • Scene에 배치되는 하나의 객체를 지칭하는 단위
  • Component를 묶어서 관리하고, 관리하는 Component에 접근할 수 있는 수단
  • 모든 GameObject는 위치/회전/크기를 제어하는 ‘Transform’ Component를 가지고 있음
  • 원하는 Component를 추가하여 다양한 Object제작 가능
    • 플레이어, 적, 모닷불, 치료 아이템 등

2) Component

  • GameObject에 부탁할 수 있는 C# 스크립트 파일을 지칭하는 단위
  • GameObject에 Component를 부착하여 GameObject 자체에 여러 기능을 부여함
  • AudioSource Component : GameObject에서 소리 재생
  • Movement Component : 방향키로 움직임 가능

3) 종류

(1) Empty object

  • GameObject 메뉴 > create Empty/Empty Child/Empty Paarent 선택
  • 게임 화면에 보이지 않는 시스템적인 요소를 모아둘 때 사용
  • Transform Component만 가지고 있는 빈 게임 오브젝트 생성
  • 종류
    • EnemySpawner : 적을 주기적으로 생성
    • StageContreller : 스테이지 관리

(2) 2D Object

  • Game 화면에 2D 이미지를 출력하거나 출력 효과를 제어하는 2D Object
  • Sprites : Game 화면에 2D 이미지를 출력하는 Object
  • Physics : Sprites로 생성한 Object에 Rigidbody2D와 Colloder2D Component가 포함됨 Object
  • Tilemap : 타일 형태의 2차원 맵을 제작할 때 사용하는 Object
  • Sprite Shape
    • 플랫폼 Game의 맵을 제작할 때 주로 사용하는 Object
    • 굴곡이나 다각형 등 자유로운 모양의 Object 제작 가능
  • Pixel Perfect Camera : 다양한 해상도에서 픽셀 아트를 선명하고 또렷하게 유지하고 안정적인 모션을 구현하도록 해주는 카메라 Object
  • Sprite Mask : Sprite Object의 특정 부분을 보이거나 보이지 않게 할 때 사용
  • SpritePenderer Component : Sprite 변수에 적용된 Asset(이미지)을 색상(Color), 반전(Flip) 등의 옵션으로 화면에 출력
  • Mask Interaction
    • None : Mask 하지 않음
    • Visible Inside Mask : SpriteMask Object와 겹치는 부분만 출력
    • Visivle Outside Mask : SpriteMask Object와 겹치지 않는 부분만 출력
  • SpriteShapeRenderer Component
    • SpriteShape의 색상과 Mask 옵션, 내부와 외부에 사용되는 Material 설정
    • SpriteShape를 화면에 그려주는 역할
  • SpriteShapeContreller Component
    • Profile 변수에 등록되는 Profil Asset
    • SpriteShape에 보여지는 이미지 설정
    • Scene View에서 Object의 모양 수정
  • Sprite Shape Profile Asset
    • Fill-Texture : Close Shape를 사용할 때 내부에 채워지는 이미지 Asset등록
    • Angle Range(360) : 각도에 따른 다른 이미지를 설정하는 것도 가능
    • Sprites : Open Shape를 사용할 때 설정 가능한 이미지 Asset등록

(3) 3D Object

  • MeshFilter Component : Mesh 변수에 등록되는 mash data에 따라 3차원 Object의 외형 설정

  • MeshPRenderer Component : Material과 Light 정보를 바탕으로 표면의 질감(색상) 설정

  • Collider Component

    • 00Collider와 같이 충돌 박스의 외형에 따라 앞에 붙는 이름이 다름(BoxCollider : 육면체 모양)
    • GameObject의 충돌 외형/범위를 설정
  • Cube : 3D Object의 Material에 등록하는 이미지 Asset 설정

    1. Texture Type : Default
    2. Texture Shape : 2D
  • Sphere : 직격 1의 둥근 형태의 구체

  • Capsule

  • Cylinder

  • Plane

🔊 MeshCollider 란
1. 그래픽 디자이너가 드려준 Mesh 모양과 동일한 충돌 박스를 생성하여 정교한 충돌이 가능
2. Object의 외형이 정교하게 표현될수록 연산 속도가 느림

  • Quad : 2개의 삼격형으로 이루어져 2D 이미지 표시나 동영상 재생에 사용
    • 2D Object가 없을 경우 Quad를 이용해 2D Game을 제작함
    • Cube의 z 축을 납작하게 만들어서 사용

(4) Effect

  • Game에 출력하는 효과, 무기의 잔상, 선을 표현하는 Object
  • Particle System : 다양하게 제작 가능하다는 장점有
  • Trail
  • Line : 선의 굵기(Width), 색상(Color) 등을 설정

(5) Audio/Video

  1. Audio : Game 내에서 재생되는 사운드와 관련된 Object
    • AudioSource Component : AudioClip 변수에 적용된 Asset(사운드, mp3)을 재생
    • Tip) Audio Listener Component는 소리를 듣는 Component로 Camera Object에 부착되어 있음
  2. Video : 동영상을 재생하는 Object
    • VideoPlayer Component : VideoClip or URL 변수에 적용된 Asset(동영상)을 재생

(6) UI/UI Toolkit

  • 사용자가 게임과 상호작용할 수 있도록 제공하는 게임오브젝트
  • UI : Game에 필요한 정보를 출력하거나 사용자가 Game과 상호작용할 수 있는 UGUI Object
  • UI Toolkit : 사용자 인터페이스와 에디터 확장 프로그램을 개발하는데 필요한 기능, Resource, Tool로 구성(UI Builder, UI Debugger 등)

    💡 UGUI 대신 UI Toolkit을 사용하는 경우

    1. 상당한 양의 사용자 인터페이스를 사용하여 작업을 수행하는 경우
    2. 아티스트와 디자이너에게 친숙한 저작 워크플로가 필요한 경우
    3. 텍스처리스 UI 렌더링 기능이 필요한 경우

2. Camera, Light

1) Camera Object

고박사의 유니티 노트 참고

  • Camera ← inspecter view에서 확인 할 수 있다.
  • Camera Component : Game World를 보는 눈 역할을 담당
  • Audio Listener Component : Audio Source Component가 내는 소리를 듣는 역할
  • Camera Object는 Scene에 최소 1개 이상 존재한다
  • clear flags 종류
    • skybox : Game World 전체를 둘러싸는 하늘로 화면을 채우는 것(주로 3D게임에 사용)
    • Solid Color : Backgroud 변수에 설정된 색상으로 화면을 채우는 것(주로 2D게임에 사용)
    • Depth Only, Don’t Clear : Camera를 동시에 여러대 사용할 때 특정 색상이나 그림으로 Clear하지 않는 것
         
  • projection
    • size : Camera 시야 범위
    • FOX Axis : 시야 범위를 넓히는 방향(Vertical, Horizontal)
    • Field of View : Camera 시야 범위
    • Physical Camera : Physical Camera 변수 활성화
    • clipping planes

2) Light Object

  1. Light Object(빛 오브젝트) : 현실 세계의 빛 역할을 담당
    1. 종류(Type) : Directional, Point, Spot, Area
      1. Directional : 모든 Object에게 동일한 방향의 빛 제공(Object 방향이 중요)
      2. Point : Range 변수 설정 값만큼 구 형태로 방사되는 빛(ex. 모닥불 등)
      3. Spot : Range, Spot Angle 변수 설정 값 만큼 원뿔 형태로 뻗어 나가는 빛(ex. 가로등 등)
      4. Area : 방과 같은 형태에 사용하는 빛(전방 방향으로 빛츨 방출)
        1. baked mode 에서만 사용가능, game view 화면에서 적용되지 않음
    2. mode의 종류
      1. Realtime : 빛의 밝기, 그림자 등의 연산을 실시간으로 함
        1. 장점 : Game 실행 중 빛의 이동/회전 반영된
        2. 단점 : 연산량이 많아 Game 최적화에 영향
      2. Mixed : Realtime + Baked 섞어서 사용
      3. Baked : Game 시작 전 현재 설정된 빛 데이터를 연산 및 저장하여 활용(Realtime 장단점과 반대)
        1. 사용시 추가적인 설정이 필요

0개의 댓글