우선 이 책의 실습을 제대로 하려면 2가지가 필요합니다.
1. c# 에 대한 기본기
2. VR 장비 ( 오큘러스 , 바이브)
VR기기 없이 실습을 하는 것은 의미가 없으며 책의 코드는 C# 스크립트를 기반으로 작성이 되어있으니 이 두가지 조건에 해당된다면 이 책으로 VR/AR 에 대한 기본을 다질 수 있습니다. 우선 책의 초반에는 오큘러스 설치 후 유디티 설치 와 바이브 소프트웨어 설치 유디티 설치 이런식으로 셋업을 하게 되어있습니다. 그러니, 장비를 먼저 갖추고 VR 컨텐츠나 게임을 어느정도 해보신 분이 하면 좋을 것 같습니다.
당연히 C# 문법에 대한 설명은 없습니다. 저의 경우에는 c# 을 예전에 잠깐 기초를 공부해봤기에 직접 실습을 하기에는 쉽지 않았습니다. C# 으로 개발 일을 하는 지인의 도움으로 어느 정도 따라서 실습을 진행할 수 있었습니다. VR 과 AR 컨텐츠를 직접 코딩하면서 하나하나 메서드를 공부하는 것이기에 C# 에 대한 문법이나 기법을 알려주지 않습니다.
코드 자체는 심하게 길거나 복잡한 편은 아닙니다. 다양한 함수를 구현하면서 다이나믹하게 실습 결과를 볼 수 있기에 생각보다 재밌고 신기했습니다.
물론, 이를 기반으로 진짜 컨텐츠를 만드는 건 상당한 노가다이겠지만 이 책을 통해 공부하는 예제 수준은 적당한 수준이라고 생각합니다. VR에 대한 기본서가 없는 상황에서 이 책은 기본기를 잘 설명해주기에 교과서라는 이름이 알맞는 책이라고 생각합니다.
'메타버스'라고 까지 해서 VR/AR 에 대한 관심이 높아지고 있는 요즘, 이쪽 업계는 이제 걸음마 단계이지만 미래를 내다보고 이쪽 분야에 나가고 싶다면 이 책으로 공부를 시작하라고 권유해주고 싶습니다.
요즘 세계적인 팬데믹 사태로 인해 집콕 생활이 이어지면서 VR/AR 등의 가상 환경에 대한 수요가 늘고 있습니다. 아울러 개발자들 또한 가상 환경 개발에 관심을 가지기 시작했죠.
하지만, 처음 VR/AR 개발을 시작하는 사람이라면 어디서부터 시작해야 할까 고민이 될 겁니다. 게임 제작 플랫폼인 Unity3D는 초급부터 고급까지 XR(eXtended Reality, VR/AR/MR 등을 총칭하는 말) 개발에 쉬우면서도 강력한 도구입니다.
이 책은 유니티로 처음 XR 환경 프로그램을 개발하는데 큰 도움이 될 것으로 보입니다. 제목에서 보듯이 XR 중에서도 VR과 AR 프로그램을 제작하기 위한 내용이 수록되어 있습니다. 그래서, 책의 구성은 크게 VR 콘텐츠 제작과 AR 콘텐츠 제작으로 나뉩니다.
VR 콘텐츠 제작
VR은 VR 헤드셋이 있어야 체험이 가능하기에 접근성에 제한이 있습니다. 물론 실패한 플랫폼인 구글의 카드보드 같이 스마트폰 기반의 저렴한 VR도 있고, 3축 컨트롤러를 사용한 오큘러스 고나 삼성 갤럭시 VR 등의 상대적으로 저렴한 VR 장비도 나왔었습니다. 하지만, 가상 공간에 대한 제어가 너무나 제한적이기에 크게 인기를 끌지 못하고 역사의 뒤안길로 사라지고 있습니다.
반면에 6축 컨트롤러를 사용하고 상대적으로 고화질 콘텐츠를 사용할 수 있었던 PC 기반의 VR 제품들은 가격이 비싸고, PC와의 연결 케이블로 인해 움직임에 제약도 있었습니다. 또한 컨트롤러의 위치를 잡아내기 위한 센서를 별도로 설치해야 해서 여러가지 불편이 있었죠.
그러던 중 독립형이면서 6축 컨트롤러를 가졌음에도 상대적으로 저렴한 오큘러스 퀘스트가 나왔고, 최근에 나온 오큘러스 퀘스트2는 국내에도 정발되면서 VR에 대한 접근성이 많이 좋아졌습니다.
이제 VR 환경은 PC 기반의 VR 장비의 대표격인 HTC 바이브 시리즈와 PC 기반과 독립형 모두를 제공하는 오큘러스 제품 두 가지로 양분되는 것 같습니다. 두 회사의 제품군은 API가 달라서 개발자 입장에서 본다면 두 플랫폼을 모두 지원하기 위해서는 각각 개발을 해야 하는 어려움이 있습니다. 이 책에서는 이러한 어려움을 해결하고자 두 플랫폼 모두 함께 개발할 수 있는 방법으로 강의를 진행하고 있습니다. 이 책이 가지는 아주 큰 장점인 듯 합니다.
이 챕터의 세부 내용은 VR 프로그래밍을 위한 기본 설정법, 간단한 VR 객체 제어 프로그램 작성, 360도 파노라마 영상을 VR에서 재생하기 위한 VR 360 영상 플레이어 제작, VR 타워 디펜서 게임 제작, 마지막으로 네트워킹을 위해 많이 사용하는 포톤(Photon)을 이용한 네트워크 게임 제작까지 VR에서 필요한 기초 과정을 아주 상세하게 적어놨습니다.
AR 콘텐츠 제작
현재 AR은 대부분 스마트폰/태블릿PC를 이용해서 구현되고 있습니다. 그래서, 개발 툴킷도 애플의 ARKit과 구글의 ARCore로 거의 정리된 상황이죠. 물론 그외의 툴킷도 있지만, 이 두 가지가 각각의 기기와 OS에 최적화되어 있어서 대부분 이를 사용합니다. 유니티는 이 각각의 툴킷을 위한 앱을 함께 개발할 수 있도록 ARFoundation이라는 툴킷을 제공합니다. 이 책에서도 ARFoundation을 통해 AR 앱을 개발하는 과정을 설명하네요.
AR의 대표적인 구현 방식인 평면 인식, 얼굴 인식, 마커 인식 방식에 대해 구체적으로 알려줍니다. 그리고, 추가적으로 GPS를 활용하는 방법과 실시간 DB를 이용하는 방법까지 꼭 필요한 내용들이 있습니다.
맺는 말
Unity3D를 활용해서 XR 콘텐츠를 처음 제작하고자 하는 사람에게 아주 유용한 길잡이이자 학습서가 될 수 있는 책인 것 같습니다. 다만 Unity 자체에 대해서는 구체적으로 설명하고 있지 않기에, Unity에 익숙하지 않은 사람은 유니티 기초를 조금은 익히고 보시는 것이 좋을 듯 합니다. 이 책의 전작인 '인생 유니티 교과서'나 다른 서적들이 도움이 될 것 같네요.
※ 이 리뷰는 성안당에서 책을 제공받아 한 것입니다.