기초적인 기능

devKyoun·2024년 3월 9일
1

Unity

목록 보기
3/27
post-thumbnail

💡목표

유니티 화면에 존재하는 여러 창들이 어떤 것들인지 보고, 그 각 창들에 어떠한 기능들이 있는지 본다. 굉장히 기초적인 파트


유니티는 하나의 게임월드를 Scene 이라는 단위로 관리를 한다. 여기서, 보이는 Scene은 SampleScene이다.

Scene ❔
Scene창은 현재의 활성화된 (SampleScene) Scene을 시각적으로 편집하는 창이다.
이 창에서 해당 Scene에 존재하는 게임 오브젝트를 눈으로 확인 할 수 있고 편집 할 수 있다.

Hierarchy(계층) ❔
Scene 창 우측에 SampleScene, Main Camera 등이 보이는 창은 Hierarchy 창이며, 계층이라고 불린다.
보이는 것과 같이 현재 Scene에 존재하는 모든 오브젝트를 리스트로 표현한다.
계층에 리스트로 존재하는 오브젝트들을 한번 간단히 훑어보자.

  • Main Camera : 플레이어가 보게 될 화면을 표시한다.
  • Directional Light : Scene에 빛을 만들어 준다.
  • Cube : 유니티에서 자체적으로 제공하는 3D 게임 오브젝트이며 현재 임의로 내가 추가했다.

Game Object ❔
게임월드에 존재하는 물건이나 사물 ( Ex. Cube )
한번 큐브를 클릭 해보자.

현재 Inspector 창에 여러가지 정보가 나타나있는 것을 확인 할 수 있다.

Inspector ❔
선택한 게임 오브젝트의 정보를 표시한다.
해당 정보들은 Component 라고 하는데, 해당 게임 오브젝트에게 실제로 동작 할 수 있는 기능을 부여하는 부품이라고 생각하면 된다.
현재로는 3D 게임 오브젝트를 큐브로 표현하기 위해 여러 부품들이 기본적으로 장착 돼 있는 거라고 보면 될 듯.


이제 유니티 하단 부분에 위치해있는 창들을 한번 살펴보자.

Game ❔
플레이어가 보게 될 Preview를 표시 한다.
Free Aspect 를 클릭해서 나오는 여러 해상도들로 게임 창의 해상도 조절이 가능하다.
내가 임의로 해상도를 만들어 설정 할 수 있다.

Project ❔
유니티에서 존재하는 모든 파일들을 표시한다.
여기서 Assets, Packages 폴더가 있는 것을 볼 수 있는데 우리는 Assets에 주목 할 필요가 있다.

Assets 폴더는 우리가 프로젝트에서 사용하는 모든 형태의 파일을 담는다.
현재 화면에 나와 있는 SampleScene(이 외 유니티 모든 Scene)은 에셋 파일로써 저장 되는 것.
현재 Hierarchy에 있는 SampleScene은 Project 창에 있는 SampleScene을 Load 한 것

Assets가 그냥 기본 경로 혹 루트 폴더라고 생각하면 된다.

Packages 폴더는 Package Manage에 의해 추가 된 폴더를 관리하는데, 차 후에 자세하게 알게 될 테니 이 정도만 알고있으면 된다.

Console ❔
Project 창 옆에 붙어 있는 Console 창이 보일 것이다.
Console 창은 유니티 에디터가 개발자들에게 유용한 정보를 Text로 표시한다.
( 일반적인 기록 로그, 경고나 권고사항, 에러를 Text 메시지로 표시 )


자 이제 플레이, 일시정지, 스텝 버튼을 살펴보자.
이 세개의 버튼은 유니티 상단에 위치 해 있다.

우선, 플레이 버튼을 눌렀을때 실행 되는지 안되는지 알려면 현재 상태로는 알기 좀 애매하다.
왜냐면 큐브가 아무런 행동도 하지 않기 때문이다. ( 그냥 물체 떡 하니 놔뒀는데 저절로 움직이면 이상하지 않은가? )

유니티는 개발자가 추가하는 게임 오브젝트에 자동으로 물리 기능을 추가 해주지 않는다.

그래서, 이러한 큐브를 움직이게하려면 어떻게 해야 할까?
W,A,S,D를 통해 움직이게 하는건 갑자기 너무 진도가 나가게 된다.

그냥 단순하게 이 큐브에게 물리 기능을 추가해서 중력의 영향을 받게 해 아래로 떨어지게 만들 것이다.


Add Component에서 Rigitbody를 추가해주자.
Rigidbody는 장착 된 오브젝트에게 현실세계의 물리 기능을 부여하는 부품이다.

자, 이제 플레이 버튼을 눌러서 확인 해보자.

큐브가 낙하 하는 것을 볼 수 있고, 여기서 일시정지를 눌러보자.

멈추는 것을 확인 할 수 있다.
여기서 스탭 버튼을 누른다면 한번에 한 프레임씩 게임 속 시간이 진행된다. 그래서 큐브가 그 한 프레임 만큼만 낙하하고 일시정지 한다.

Tools ❔

Scene창에서 Scene을 돌아다닐수있게 하고, 게임 오브젝트를 편집할때 사용한다.
단축키는 차례대로 ( Q,W,E,R,T,Y ) 이다.

Scene을 돌아 다닌다는 것은, Scene 창을 우리한테 보이게 하는 가상의 Scene 카메라를 움직이는 것이다. ( 그냥 화면 움직이는 것임, 플레이어가 보게 되는 카메라와는 다르다는 것만 인지 )


Focus ❔

계층 창에 임의의 게임 오브젝트( 여기선, 큐브 )를 더블클릭하면 해당 오브젝트가 Scene화면의 중심에 보이도록 Scene 카메라가 이동한다.

View Tool ❔
View Tool은 툴 도구 중 맨 앞에 손바닥 모양을 가진 도구를 말한다.
여기서 부턴, 직접 자주 해보는 것이 우선인것 같다. 카메라를 어떠한 식으로 움직이는지 원리를 집중해 볼게 아니고 얼머나 이 기능을 잘 사용하고 숙달 됐느냐가 중요하다고 생각했다.

  • 마우스 휠을 통해 줌 인, 줌 아웃 가능
  • Hand Tool( Q )는 Scene Camera를 이동 시킬 수 있다.(화면 이동)
    마우스 휠 버튼 누른채로 드래그하는 것으로 사용 가능.
    ( 다른 어떤 툴을 사용하고 있어도 가능함 )
  • 마우스 오른쪽 버튼을 누른채로 있을 시, Fly Through 모드가 활성화 됨.
    이 상태는 W,A,S,D로 앞뒤양옆 자유롭게 움직일 수 있고, Q,E 키로 하강, 상승이 가능함
    그리고 드래그로 회전 가능
    ( 다른 어떤 툴을 사용하고 있어도 가능함 )
  • Alt 키를 누르고 마우스 왼쪽 버튼을 클릭한 채 움직이면, Scene 화면 중심을 기준으로 Scene Camera 가 공전하는 공전모드가 활성화.
    그냥 중심을 기준으로 카메라 회전이 가능하다는 소리.
    오른쪽 키 버튼을 누른채 움직이면 줌 인, 줌 아웃
    이 또한,
    ( 다른 어떤 툴을 사용하고 있어도 가능함 )

Tools( The others ) ❔

  • Move Tool( W )
    선택한 게임 오브젝트를 원하는 방향으로 이동
    아까부터 Scene창에서 선택한 게임 오브젝트(큐브)에서 나타났던 화살표가 Move Tool
    화살표가 아닌, 평면 클릭 후 드래그시 해당 평면에 평행하게 이동
  • Rotate Tool ( E )
    게임 오브젝트에 나타나는 실선을 드래그 하면 해당 축을 기준으로 게임 오브젝트를 회전
    중앙의 불투명한 검은 공을 드래그 하면 축과 상관없이 회전
  • Scale Tool ( R )
    선택해서 나오는 Scale Tool의 큐브를 드래그해서 해당 축 방향으로 게임 오브젝트의 Scale을 키움
    중앙에 흰색 Scale Tool 큐브를 드래그하면 x,y,z 방향 동시에 변경
  • Rect Tool ( T )
    해당 오브젝트를 직사각형으로써 편집
    즉, 가로와 세로 방향으로만 편집
    2D나, UI 게임 오브젝트 편집시 주로 사용
  • Transform Tool ( Y )
    Move Tool, Rotate Tool, Scale Tool 세가지 합친 것

Gizmos ❔

기즈모는 Scene 편집을 쉽게 하기 위해서 Scene 화면에 표시되는 그래픽 도구들을 말한다.
Ex ) 위에 사진 및 영상들을 봤을때, Scene 화면에 보이는 회색 실선의 격자, 큐브 외곽에 나타나는 주황색 선, 큐브에 x,y,z축 화살표들
실제 게임에선 표현되지 않고 오직 개발자의 편의를 위해 Scene 화면에서 보인다.
해당 기즈모 아이콘을 눌러서 표시 변경 가능 ( Ex. Selection outline 해제하면 주황색 선 사라짐 )
그냥 기본값으로 사용하면 된다.

Scene Gizmos ❔
해당 기즈모 아이콘 바로 밑에 여러 원뿔과 그 원뿔과 붙어 있는 직사각형 형태의 모양이 보이는가?
저건 Scene 기즈모 라고 한다. Scene 기즈모는 Scene 카메라의 방향과 시점을 즉시 파악 및 변경하게 해준다.
Scene 카메라를 돌리면 원뿔 모양들이 같이 돌아가는 것을 볼 수 있다.
Scene 기즈모의 원뿔을 클릭하면 해당 방향을 기준으로 바라보도록, 즉시 Scene 카메라를 회전 할 수 있다.
Ex. Y축 원뿔을 누르면 Scene 카메라가 즉시 위에서 아래로 보는 방향으로 전환

이어서, Scene 기즈모 중앙에는 큐브 모양의 Scene 카메라 시점 변경 버튼이 있다.
이 큐브를 클릭함으로써 시점 변환이 가능하다.

원근감 있는 Perspective View ↔️ 원근감이 없는 Isometric View

Isometric View
2D 게임 제작 혹은 각 오브젝트의 크기를 눈대중 혹은 일정한 간격으로 배치 하는 경우 Perspective View 보다 나을 수 있다.

자, 여기서 아니 기즈모가 뭔데 기즈모 기즈모..? 하는 의문점을 가지게 됐다.
근데 생각보다 간단했다. 그냥 기즈모를 장치라고 생각하면 된다.


Pivot/Center & Local/Global ❔

자, 이 부분은 예전부터 헷갈리던 것이다. 이에 대한 개념을 이해하려면 2D 혹은 3D 인간형 캐릭터 모델을 유니티에 넣으면 보다 더 잘 이해 할 수 있다고 느꼈다.

이 Pivot/Center & Local/Global 버튼들은 Transform 기즈모 토글 버튼이다.
그냥 간단히 말하자면 현재 Scene 화면에 오브젝트가 표시되는 방식을 Pivot/Center 혹은 Local/Global 사이에서 전환하게 해주는 버튼이라고 보면 된다.


Pivot실제 오브젝트의 위치를 기준으로 오브젝트 위에 Scene Tools 들을 표시한다.
여기서, Move Tool은 알겠는데 회전툴까지도 그런진 확인 안해봤다. 차후에 확인해 볼 예정
Center는 실제 오브젝트의 위치와 상관 없이 오브젝트 형태의 중앙점을 기준으로 Scene Tools 들을 표시한다.
Local은 선택한 게임 오브젝트의 좌표계를 기준으로 Scene Tools 들을 표시한다.
Global 선택한 게임 오브젝트의 실제 방향은 무시하고 Global좌표계를 기준으로 표시한다.


Pivot/Center ❔

아까, 2D 혹은 3D 인간형 캐릭터 모델을 유니티에 넣어서 해보면 더 잘 이해 될 것이라고 말한 이유가 있다.
기본적으로 유니티에서 큐브와 같은 기본 도형 오브젝트들은 물체의 기준점이 물체의 중앙을 기준으로 만들어져 있어서 Pivot 과 Center의 차이가 없기 때문이며다.

Pivot과 Center의 차이점을 명확하게 알려면 한가지 예시를 둘 수 있다.
게임 작업을 할때이다.
Artist는 3D 캐릭터 모델을 디자인 할때는 아래 위치를 기준점으로 삼는 경우가 많다.
여기서 우리가 게임월드를 Pivot이 아닌 Center 방식으로 표시를 하게 한다면 해당 모델 오브젝트의 실제 위치는 발 위치 근처인데,
우리가 다루게 되는 기준점, 즉 Scene Tools들이 표시되는 지점은 그 오브젝트의 중앙(배 혹은 가슴 쪽 정확하진 않지만 여튼 중앙 부분)이다.

Local/Global ❔
Local 상태는 회전했을때 큐브(게임 오브젝트)의 Move Tool 화살표 들도 같이 회전하게 된다.
그러나, Global 상태는 현재 게임 오브젝트가 어떻게 회전하든 게임 세상을 기준으로 화살표가 표시 된다.
(게임 오브젝트의 Move Tool 화살표가 같이 회전 안함 )

기본 형태는 Pivot/Local 상태다.



부제

유니티에서 필수 폴더는 Assets, Packages, ProjectSetting 폴더이다.
그래서, 다른사람에게 프로젝트를 전달할때, 프로젝트 용량을 줄이기 위해서 이 세개의 폴더를 제외한 나머지 들은 삭제해도 된다.



profile
Game Developer

0개의 댓글