서문
인터넷 코딩 강의 사이트 스파르타 코딩클럽의 [왕초보] 유니티로 만드는 게임개발 종합반 9회차의 1주차 강의를 전부 보고 작성한 개발일지입니다.
요약
유니티를 설치하는 것부터 간단한 게임을 만들어보는 것까지 일단 따라해본다. 수업목표는 유니티 다뤄보기, C# 문법 배우기, 유니티 기본 사용법 익히기로 나와있다.
배운 점
내일배움단으로 신청한 강의 중에서 이 강의가 제일 알찼다. 유니티로 한 번 게임을 만들어보려고 했다가 어디서부터 손을 대야할지 모르겠고, C#도 좀 익숙하지 않은 언어라 이걸 어떻게 사용하란건지 몰라 한 발 후퇴했었다. 이 강의를 듣고 나서는 간단한 게임이라면 구현할 수 있을 정도가 되었다.
유니티 레이아웃의 이해
유니티 에디터로 2D 프로젝트를 만들고, 그 프로젝트를 열면 이렇게 보인다. 게임개발에 대한 아무런 지식이 없고, 설명조차 없다면 어떻게 해야할지 모른다. 강의에서 각각의 뷰가 의미하는 것이 무엇인지를 설명해주어 참 좋았다. 각각 무엇을 하는 곳인지를 확실히 하여 혼란이 가시고 나자 게임을 개발하는 능력이 본격적으로 길러졌다.
# 뷰의 기능
1) Scene: 게임 개발을 하는 장소. 게임 상의 오브젝트들을 배치.
2) Game: 만든 게임을 실제로 플레이.
3) Hierachy: 게임을 구성하는 요소를 관리.
4) Project: 게임 개발에 쓰이는 파일(리소스)를 관리.
5) Console: 발생하는 에러나 디버그 로그들을 표시.
6) Inspector: 해당하는 대상이 가진 속성을 표시, 수정.
이렇게 말만 들으면 어떠한 곳인지 잘 모르지만, 영상과 함께 설명을 들으니 이해가 되었다.
각 오브젝트, 리소스는 편하게 Drag & Drop으로 연결
게임개발에 가졌던 선입견이 수많은 오브젝트들을 관리하면서 그것들을 서로 연결해주는 일이 어렵겠다는 거였다. 유니티에서는 수많은 오브젝트들과 리소스를 사용하지만 그것을 서로 연관성을 만들고 연결짓는 행위는 매우 쉽다. 인스펙터의 해당하는 칸에 오브젝트나 파일을 끌어다가 집어넣으면 쉽게 연결이 된다. 만약 칸이 없다면 C# 스크립트를 사용하여 필드를 만들어줘야겠지만, 서로 연결하는 코드를 짤 필요가 없기에 그 효용성이 크다.
중력, 충돌 등 어려운 물리연산은 게임엔진에게 맡김
땅바닥으로 자연스럽게 떨어지게 하는 코드, 충돌했을 때 어떻게 튕겨나갈지를 결정하는 코드. 생각만 해도 수학적인 계산과 물리 지식이 필요하다고 생각될 정도로 어려워보이는 과제다. 다행스럽게도 유니티는 이러한 계산들을 도맡아서 개발자에게는 그저 최저한의 설정만 요구한다. 해당 오브젝트에 물리법칙이 작용하는 속성을 주거나, 충돌 가능한 대상으로 설정하는 등 기본적인 설정만 해주고 나면, 나머지는 유니티가 전부 해결한다. 충돌했을 때에 충돌한 대상의 정보를 받아와 조건 처리하거나 수정할 수도 있다.
다양한 지원 클래스, 메서드
유니티는 여러가지 지원 클래스와 메서드(함수)를 지원하여 개발자를 돕는다. 손쉽게 오브젝트가 생성될 때, 혹은 일정 주기로 업데이트되는 스크립트를 작성할 수 있다. C#에 대해서는 잘 모르고, C#만으로는 간단한 게임 하나 조차도 만들기 힘든 나조차도 유니티의 다양한 클래스와 메서드를 사용하여 게임을 따라 만들 수 있었다. 맨땅에서 만드는 거에 비하면 아주 쉬운 게임 제작을 가능케 했다. 기본적인 것만 잘 알고 있으면 자동완성 기능으로 도움을 받을 수도 있어보여서 더욱 좋았다.
평가 ☆4
수업목표 중 유니티를 처음 보고 쫄아서 어떻게 해야할지 감이 안 잡히는 사람을 대상으로 길잡이 역할을 톡톡히 해주는 강의라고 할 수 있다. 그렇지만 수업 목표에서 C# 문법을 배운다고 하기엔 아무래도 좀 미흡하지 않나 싶었다. C#의 대략적인 프로그래밍 스타일을 알고 있어 잘 따라갈 수 있었지만, 전혀 모르는 사람은 스크립트를 따라하는 것도 벅찼을 거 같다. 만약 이 강의를 듣는다면 C#의 기본적인 문법은 알고 있어야할 듯하다. 다른 수업 목표는 아주 만족스러웠다.
C#을 적당히 알고 유니티에 도전했다가 어디를 클릭해야할지 어떻게 만들어가야할지를 전혀 몰라, 검색조차도 어려운 사람에게 1주차 강의를 보여주면 눈이 확 트일거라 생각한다. 말했다시피 약간의 프로그래밍적 지식은 필요해보인다.
유니티를 공부하기 좋을 정도로 기초지식을 갖춘 사람에게 첫 발로 시작하면 좋을 강의라고 생각한다.
'스파르타 강의 WIL' 카테고리의 다른 글
[스파르타코딩클럽] 웹개발 종합반 - 4주차 WIL (0) | 2022.10.25 |
---|---|
[스파르타코딩클럽] 웹개발 종합반 - 3주차 WIL (0) | 2022.10.21 |
[스파르타코딩클럽] 웹개발 종합반 - 2주차 WIL (0) | 2022.10.19 |
[스파르타코딩클럽] 웹개발 종합반 - 1주차 WIL (0) | 2022.10.19 |
앱개발 종합반 1주차 개발일지 (0) | 2022.10.18 |