poksul_log

[Unity3D] 에디터 사용법과 3D 기초 본문

Game Dev./Unity

[Unity3D] 에디터 사용법과 3D 기초

soyw906 2023. 7. 3. 16:28

지난 몇개월간 학교 공부와 더불어 서버에 대해 공부해보겠다고 이것저것 해보느라 유니티에 소홀해졌다.

그래서 잊어버린 지식들을 채우고, 기초를 더 탄탄히 하고자 unity에 대해 다시 배우고 정리하려고 한다.

기초는 탄탄해서 나쁠 것이 없으니!

 

Unity learn의 Unity Essentials와 Junior Programmer 코스를 참고하였다.

 

Learn game development w/ Unity | Courses & tutorials in game design, VR, AR, & Real-time 3D | Unity Learn

Free tutorials, courses, and guided pathways for mastering real-time 3D development skills to make video games, VR, AR, and more.

learn.unity.com

 


§ Unity Editor 사용법

  • 이동 : Tool 바에서 Hand 툴을 선택 => Scene 뷰에서 클릭 및 드래그하여 뷰 이동 가능. 단축키 Q
  • : Scene 뷰에서 Alt 키를 누른 상태로 우클릭 혹은 드래그를 통해 확대/축소 가능. (macOS의 경우 Option 키)
  • 궤도 회전 : Alt 키를 누른 상태로 좌클릭 혹은 드래그를 통해 현재 pivot의 궤도를 따라 회전 가능. (3D만 가능)
    즉, Alt 키를 누르면 물체에 포커스가 고정된 채로 회전(우클릭)과 축소(좌클릭)가 가능하다.
  • 포커스(프레임 선택) : Game Object가 선택되어 있을 때, Scene 뷰에 커서를 누른 상태로 F를 누를 시 포커스 맞추기 가능.
  • 플라이스루 모드 : 1인칭 FPS 뷰처럼 wasd 키를 통해 좌/우/앞/뒤 로 이동 가능. q, e 키를 이용 시 상/하 이동 가능.
    이 때, 우클릭 상태를 유지하여야 한다. Shift 키를 누르고 있을 시 더 빠르게 이동 가능

§ Unity 3D 기초

Unity는 Y-up 좌표계를 사용하고, X, Z 좌표계는 동서남북 등의 방향을 나타내는 데 사용된다.

 

  • 빈 게임 오브젝트
    • 플레이스 홀더 오브젝트로, 하이어라키에서 Game Object로 생성 가능
    • 씬에서 보이지는 않으나, 다른 Game Object의 Container 역할을 수행할 수 있다.
  • Component
    • Transform : 회전, Scale 조정, 위치 조정 등을 관리
    • Rigidbody : Game Object의 중력 및 다른 Game Object와 상호 작용 가능하도록 물리 프로퍼티 부여
    • Material : 오브젝트 표면의 특징 & 표면이 광원과 상호작용하는 방식을 정의한 컴포넌트
      • Tiling : Material의 scale을 변경하고자 할 때 사용. 숫자가 작을수록 Material이 크게 표시된다
    • Physic Material : Object에 탄력 부여, 마찰 및 항력 property 변경 가능 => Object가 중력의 영향을 받을 때.
      • Bounciness : 물체가 통통 튀는 정도를 나타냄. 숫자가 클수록 더 많이 튄다. 고무공 같은것 구현할 때 적합
  • Camera
    • 절두체 : 씬이 카메라에 보이는 영역을 표시한 피라미드 형태의 외곽선. 절두체 바깥 영역은 카메라에 보이지 않음
    • 카메라 설정 시, 내가 현재 보고 있는 Scene 화면에 맞추려면 Ctrl+Shift+F 를 누르면 됨
    • Projection : Game Scene에서 Object들이 project되는 종류 선택 가능. perspective와 orthographic 2가지가 있다.
     

왼쪽이 perspective, 오른쪽이 orthographic. orthographic이 더 평면적으로 보임을 알 수 있다.

 

  • Directional Light
    • 태양광을 시뮬레이션하기 위한 Object
  • Prefabs
    • 많은 수의 복사본을 관리하는 대신, 프리팹을 사용하면 복제된 Game Object를 체계적으로 관리 가능
      ex) 1인칭 게임에서의 동일한 적 캐릭터 복사본, 동일한 모양의 나무, 무기, 등등
    • Game Object의 템플릿 역할을 하는 에셋
    • instance(여러 복사본) 생성이 가능하고, 하나의 Prefab Asset을 변경 시 전체가 변경됨
    • 만드는 법
      1. Prefab으로 만들고 싶은 Game Object를 생성
      2. Project 탭에서 Prefabs 폴더 생성
      3. 하이어라키 창에 있는 Game Object를 Prefabs 폴더로 드래그
      4. 아이콘이 파란색 육면체로 바뀐 경우 Prefab화 성공Prefab
    • 수정 시,
      • 하이어라키 창에서 수정하고자 하는 프리팹 인스턴스 행의 오른쪽 화살표 클릭
        (이 때, 프리팹을 따로 편집하고 싶다면 Alt 키 이용)
      • 원하는 수정사항으로 변경 후 save

        혹은,
      • 수정하고자 하는 프리팹 선택
      • 인스펙터 창의 Prefab 섹션에 있는 Open 클릭 => 프리팹 모드로 들어가게 됨
      • 이후 편집
    • 오버라이드

Prefab instance 중 하나만 선택하고, 수정 시 우측 inspector 창에 보이는 것과 같이 기본 prefab과 다른 부분은 파란색 선이 나타난다.

 

 

  •  활용
    • enemy 캐릭터의 플레이스홀더인 캡슐 프리미티브 프리팹을 새 모델로 교체하고자 할 때
    • 맵 내에 존재하는 100개가 넘는 표지판의 text를 수정하고자 할 때 등등

 

Prefab화한 Sphere Object들 이용 Physic Material Bounciness

 

'Game Dev. > Unity' 카테고리의 다른 글

[Unity3D] Rigidbody와 Mesh Collider, 그리고 Prefab  (0) 2023.07.05