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 설정
- Texture Type : Default
- 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
- Audio : Game 내에서 재생되는 사운드와 관련된 Object
- AudioSource Component : AudioClip 변수에 적용된 Asset(사운드, mp3)을 재생
- Tip) Audio Listener Component는 소리를 듣는 Component로 Camera Object에 부착되어 있음
- Video : 동영상을 재생하는 Object
- VideoPlayer Component : VideoClip or URL 변수에 적용된 Asset(동영상)을 재생
- 사용자가 게임과 상호작용할 수 있도록 제공하는 게임오브젝트
- UI : Game에 필요한 정보를 출력하거나 사용자가 Game과 상호작용할 수 있는 UGUI Object
- UI Toolkit : 사용자 인터페이스와 에디터 확장 프로그램을 개발하는데 필요한 기능, Resource, Tool로 구성(UI Builder, UI Debugger 등)
💡 UGUI 대신 UI Toolkit을 사용하는 경우
- 상당한 양의 사용자 인터페이스를 사용하여 작업을 수행하는 경우
- 아티스트와 디자이너에게 친숙한 저작 워크플로가 필요한 경우
- 텍스처리스 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
- Light Object(빛 오브젝트) : 현실 세계의 빛 역할을 담당
- 종류(Type) : Directional, Point, Spot, Area
- Directional : 모든 Object에게 동일한 방향의 빛 제공(Object 방향이 중요)
- Point : Range 변수 설정 값만큼 구 형태로 방사되는 빛(ex. 모닥불 등)
- Spot : Range, Spot Angle 변수 설정 값 만큼 원뿔 형태로 뻗어 나가는 빛(ex. 가로등 등)
- Area : 방과 같은 형태에 사용하는 빛(전방 방향으로 빛츨 방출)
- baked mode 에서만 사용가능, game view 화면에서 적용되지 않음
- mode의 종류
- Realtime : 빛의 밝기, 그림자 등의 연산을 실시간으로 함
- 장점 : Game 실행 중 빛의 이동/회전 반영된
- 단점 : 연산량이 많아 Game 최적화에 영향
- Mixed : Realtime + Baked 섞어서 사용
- Baked : Game 시작 전 현재 설정된 빛 데이터를 연산 및 저장하여 활용(Realtime 장단점과 반대)
- 사용시 추가적인 설정이 필요