(주말 공부)XR플밍 - (16) Unity Tutorial - Essential 편 - 1 (5/11)

이형원·2025년 5월 11일
0

XR플밍

목록 보기
70/215

0.들어가기에 앞서

이번 프로젝트를 진행하면서 느꼈던 것은, 확실히 유니티의 기본기와 기능에 대한 이해가 필요하다는 느낌을 받았다. 특히 UI 쪽 관련 기능을 알아보다, 유니티 튜토리얼에 대한 공부를 해 볼까 하는 고민을 했었다.

유니티는 유니티 공식에서 지원하는 튜토리얼이 무료로 제공되고 있다. 이미 유니티에 대해서 기본기를 배운 상태이지만, 그래도 이전에 배웠던 기능에 대한 리뷰 겸으로 Essential부터 차근차근 공부해보기로 했다.

1. 유니티 튜토리얼에 관하여

유니티 Learn은 유니티에서 제공하는 기능 및 스크립팅, 그 외에도 다양한 학습에 대해 지원해주는 공식 사이트이다. 튜토리얼부터 시작해, 프로젝트 제작 등의 연습을 할 수 있는 점에서 유용한 사이트라고 생각하여 공부를 시작했다.

여기에서 무엇부터 들어야 할까. 사실은 프로젝트 같은 것을 당장 해 보고 싶은 생각도 있었지만, 먼저 어떤 학습 내용이 있는지부터 확인해보고자 학습 길잡이를 확인해 보았다.

가장 기초적인 Essential부터, 주니어, Creative, 심지어 VR, AR도 있었다. XR플밍 과정에서 VR, AR도 조만간 배울 것을 생각하면, 이걸 통해서 예습해보는 느낌도 나쁘지 않을 것 같았다.

솔직히 말하자면 지금 단계에서 Unity Essential보다 그 뒤의 단계부터 시작하고 싶기는 했지만, Unity Essential도 무슨 내용이 있는지 살펴 보고자 먼저 이것부터 시작했다.

2. Unity Essential

유니티 튜토리얼이라고 해 봤자 얼마나 잘 되어 있겠어, 라고 생각했는데 생각보다 튜토리얼이 잘 되어 있었다.

제일 놀랐던 점은, Unity 버전별로 튜토리얼이 각각 제공된다는 점이었다. 그래서 원하는 버전을 선택할 수 있고, 그 버전별로 영상을 다 따로 촬영했기 때문에 정말로 초심자여도 따라가기에 어려움이 없었다. 나는 과정 중에 2022.3 버전을 사용하지만, 어차피 개인 공부를 해 보는 겸 유니티 튜토리얼은 유니티6 버전으로 진행해보기로 했다.

유니티 튜토리얼은 기본적으로 영어로 되어 있다. 하지만 영어를 못한다고 해서 크게 걱정할 필요는 없는 게 그냥 번역기를 돌려도 꽤 번역이 잘 된 상태로 나온다.
(나는 그냥 영어 공부도 같이 한다는 생각으로 그냥 영어로 공부했다)

유니티를 설치하고, 유니티 허브를 설치하는 과정부터 시작하기 때문에 완전 처음 시작하는 사람이라도 잘 따라올 수 있게 설계되어 있었다. (다만 깃 연결 및 깃허브를 통한 관리법과 관련된 내용은 나오지 않는다.)

심지어 에셋도 전부 무료로 제공해주고, 위 사진처럼 ZIP 파일로 제공해준다.

파일도 엄청 깔끔하게 정리되어 있다. 생각 이상으로 튜토리얼 퀄리티가 좋은데? 그래서 Essential부터 시작해보기로 했다.

3. Essential 1 - Editor Essentials

내용은 이미 이때까지 배운 것 위주로 나왔으며, 지금까지 배운 내용을 리뷰하는 느낌으로 간략하게 설명하고자 한다.

1챕터의 내용은 크게 아래와 같은 내용으로 구성되어 있다.

  • 유니티 설치하기 및 프로젝트의 추가, 실행하기
  • 유니티 인터페이스에 대한 설명 (Hierachy, Project, Inspector 창 등)
  • 유니티 내에서 오브젝트 이동 및 씬 창에서의 시점 이동

유니티 설치 및 프로젝트 추가, 실행은 이미 많이 해 봤고 인터페이스도 제법 이해도가 있다고 생각한다.
유니티의 이동 자체도 이미 익숙해진 거였지만, 누군가에게는 조작법이 익숙하지 않을 수도 있을 것이다. 이런 조작법을 연습하는 과제 위주로 내용이 구성되어 있다.
하나씩 따라해보면서 복습하고, 여기서 학원에서는 가르쳐 주지 않은 유용한 단축키가 있어 언급하고 넘어가고자 한다.

3.1 F키

F키는 프레임 키라는 설명이 적혀 있다. 실제로 오브젝트를 설정한 후 F키를 누르면 그 오브젝트를 시야 한 눈에 들어오도록 프레임 안에 넣을 수 있다.

이걸 잘 활용하면 좋겠다고 생각한 게, 다른 오브젝트를 보고 있더라도 특정 오브젝트를 누른 후 F키를 누르면 바로 그 오브젝트로 시점이 옮겨진다.

3.2 Alt키 + 마우스 왼쪽 버튼 드래그

이 유용한 기능을 왜 안 알려줬나 싶기도 한데, (아니면 알려줬는데 까먹었을 수도 있긴 하다) Alt를 누른 채로 좌클릭으로 화면을 움직일 수 있다.
이때까지 우클릭으로 화면을 이동하는 방법은 카메라 시점에서 화면을 이동시키는 것이라서 특정 오브젝트를 원으로 돌며 살필 때에는 방향키를 같이 눌러서 해야만 했다. 하지만 특정 오브젝트를 더블클릭해서 초점을 맞춘 후, Alt를 누른 채로 마우스 왼쪽 버튼을 드래그하면 오브젝트를 중심에 두고 살필 수 있다.

단축키와 같은 부분에서는 아무래도 수업 중에 배우는 것만으로는 설명되어 있지 않거나 부족했던 적이 조금 있었어서 이런 기능을 알아두는 건 유용하다고 생각했다.

4. Essential 2 - 3D Essentials

2챕터에서 주로 다루는 내용은 아래와 같았다.

  • Collider와 Rigidbody, Physics 컴포넌트 추가와 세팅
  • Material의 생성과 질감 설정
  • Prefab의 생성과 수정, 관리 방법
  • 카메라 앵글, 빛, Skybox

여기에서는 특별한 내용은 없었기에 과정 중 겪었던 경고 사항 하나만 짚고 넘어가고자 한다.

  • Negative Scale or Size

의도하지 않았던, 내 실수로 벌어진 경고 창인데 해당 문제가 발생한 프리팹을 살펴보았다.

보면 프리팹 자체는 정상적으로 출력되고 있는 것을 확인할 수 있으나, 문제는 인스펙터 창에서 찾아낼 수 있다.

Scale을 보면 Y스케일이 음수로 표기되어 있는 것을 확인할 수 있다. 이건 내가 스케일 툴을 만지면서 실수로 음수방향까지 당겨서 발생한 일인데, 이렇게 해도 박스 자체는 출력이 되긴 한다. 하지만, 나중에 물리 문제를 일으킬 수 있으므로 해당 값을 양수로 수정해 주면 된다.

5. Essential 3 - Audio Essentials

내용 자체는 어렵지 않다. 하지만 사운드와 관련된 부분은 아직 과정 중에 배우기 전 단계이므로 미리 예습하는 느낌으로 배워보기로 했다.

5.1 사운드의 추가


사운드의 추가는 소리를 낼 오브젝트에 Audio Source 컴포넌트를 추가하여 생성한다.

Audio Source를 추가한 뒤로, 가지고 있는 음향 에셋을 확인하여 미리듣기가 가능하다.

위처럼 미리듣기가 안나온다면 접혀있을 수도 있으니 맨 밑에서부터 당겨 보자.
적절한 음원을 찾은 후 Loop가 필요하면 세팅해주고 테스트를 하면 소리가 들린다.

5.2 사운드의 거리감 조절

다만 이 정도로만 세팅을 끝내면 물 끓는 소리가 어디에 있어서든 들리게 된다.
그래서 소리의 진원지부터 멀어질 때 소리가 작아지고, 이윽고 안 들리게 세팅할 수 있다.

해당 기능은 Spatial Blend를 통해서 조절할 수 있으며, 1에 가까워질 수록 소리에 거리감을 줄 수 있다.

5.3 Audio Reverb Zone

해당 기능을 사용해 보는 것 자체는 어렵지 않았으나, 유니티 메뉴얼까지 살펴봐야지 사용법을 제대로 알 것 같았다.
유니티 메뉴얼의 내용을 살펴보자.

소리를 왜곡하는 공간을 설정할 수 있고, 공간과의 거리에 따라서 소리의 왜곡 정도가 달라진다는 것이다.

인스펙터 창 자체에서는 이렇게 뜬다.

또한 사용자가 직접 커스텀하는 것 외에 기본적으로 제공되는 프리셋 자체가 많아 유용할 것으로 보인다.

해당 기능의 프로퍼티에 대한 해석은 다음과 같다.


  • Room: 중간(mid) 주파수에서의 Room Effect 레벨을 설정합니다.

  • Room HF: 고주파수에서의 Room Effect 레벨을 설정합니다.

  • Room LF: 저주파수에서의 Room Effect 레벨을 설정합니다.


  • Decay Time : 중간 주파수에서의 잔향(gradient) 감쇠 시간을 설정합니다.

  • Decay HF Ratio : 고주파수에서 중간 주파수까지의 감쇠 시간 비율을 설정합니다.


  • Reflections : 초기 반사음 레벨을 상대적으로 설정합니다.

  • Reflections Delay : 초기 반사음 지연 시간을 설정합니다.


  • Reverb : 후기 잔향 레벨을 상대적으로 설정합니다.

  • Reverb Delay : 후기 잔향 지연 시간을 설정합니다.


  • HF Reference: 참조 고주파수(Hz)를 설정합니다.

  • LF Reference: 참조 저주파수(Hz)를 설정합니다.


  • Diffusion : 후기 잔향에서의 에코 밀도를 설정합니다.

  • Density : 후기 잔향에서의 모달 밀도를 설정합니다.


실제로 원하는 사운드 효과를 주기 위해서는 생각보다 조작이 어렵기는 했지만, 알아두면 유용한 기능이라고 생각했다.

  • 참고자료

Audio Reverb Zone
https://wlsdn629.tistory.com/entry/%EC%9C%A0%EB%8B%88%ED%8B%B0-%EB%AA%B0%EC%9E%85%EA%B0%90-%EB%84%98%EC%B9%98%EB%8A%94-SoundScape%EB%A5%BC-%EC%A0%9C%EC%9E%91%ED%95%98%EC%9E%90-Audio-Reverb-Zone

profile
게임 만들러 코딩 공부중

0개의 댓글