후기) Unity 클라이언트 강좌
학습 진도
유니티 엔진으로 게임을 만들기 위해서 인프런에서 유니티 강의를 수강해서 듣고 있다. 평점이 좋아서 12월 마지막주부터는 Rookiss 강사님의 강의를 part1만 빼고 Unity파트를 전부 구매해서 수강 중이다. 결과는 대만족한다. 그리고 오늘은 part3을 완강했다.
다음 part4는 C# 서버를 다루는 파트이다. 너무너무 기대되서 바로 들으려고 계획했었는데, part3 마무리 강의에서 강사님이 바로 서버 붙이는 강의 듣지 말고 나만의 샘플 게임을 여러개 만들어서 part3에서 만든 매니저 프레임워크를 익숙해지게 연습하라고 하셨다. 왜냐하면, 서버를 붙이게 되면 의사결정의 주도권을 서버가 다 가져가고 클라이언트는 명령을 받아서 화면에 띄우기만 하게 되므로, part3에서 작성한 많은 코드들을 서버로 옮기려고 다시 지우게 된다고 한다.
“part3 유니티 엔진” 후기
이 강의를 들은 소감은, 남에게 굳이 알리고 싶지 않은 강의다. C#, 유니티, 게임을 만드는 사고방식 등을 모두 배울 수 있어서 굉장히 좋았다. 덤으로 재밌다. 나만 잘하고 싶으므로 나만 알고싶은 강의인 것이다.(그래서 이 글의 태그도 뺐다..) 다음 화면은 이 강의에서 몬스터를 Spawn하여 player를 따라가는 Game Scene이다.
다른 3D 물리엔진의 사용경험과 비교해보기
예전에 javascript로 3D CAD를 만들었을 때 three.js의 document와 예제를 보면서 raycasting을 응용해서 3D shape mesh와 부딪히는 위치를 계산하는 코드를 짠 적이 있었다. 또 그렇게 찍은 3D 좌표를 모니터에 보이는 2D좌표 상에 표시하기 위해서 three.js의 viewport에 있는 카메라 스펙을 조정하기도 하면서, 혼자 주먹구구식으로 기능을 하나하나 추가해 나가는게 내심 불안했고, 다음 기능을 또 추가하면 이전 코드들에서 굉장히 많은 에러가 나와서 그걸 관리하기가 굉장히 힘들었었다. 그 경험이 게임을 제작한 경험은 아니었지만 비슷한 경험이었다고 생각한다. 또 그걸 한번 겪고 보니 이렇게 실력있는 강사님이 체계적으로 노하우를 알려주는게 얼마나 귀중한 것인지 정말 잘 안다. 그래서 많은 기능을 체계적으로 구현하기 위해서 많은 Managers 스크립트를 관리하는 것은 이 강의에서 얻은 귀중한 경험이다.
또한 물리적 충돌, 접촉 등의 기능을 가진 물리엔진을 다루어서 연구를 하는 것에 흥미가 많이 있었는데, 이전에는 Mujoco를 다룬 경험이 있다. 무조코는 개인적으로 원하는 환경을 구현하는 것이 많이 어려웠다. 특히 3D 공간 상의 카메라 세팅과 물체 배치를 편집 에디터가 아니라 손수 코딩으로 하다 보니 어려움을 많이 느꼈었다. 그런데 Unity엔진은 연구용이 아니라 컨텐츠 제작용이므로 원하는 것을 구현하기에 굉장히 편리한 기능이 많이 있는 것 같다. 그래서 앞으로도 Unity를 자주 사용하게 될 것 같다.
글을 이만 줄이겠다. Speedy Learning!
