brunch

You can make anything
by writing

C.S.Lewis

by we ar 위에이알 May 10. 2021

AR/VR 개발자, 어떻게 시작할까?

증강현실, 가상현실 개발을 위한 다양한 서비스

안녕하세요, 인스타그램 AR 필터 스튜디오 위에이알(WE-AR)의 개발자 딘입니다. 


인스타그램 필터 개발글이 아니고 다른 글로 찾아뵙게 된것은 처음이네요 :) 


많은 분들이 저희 위에이알 인스타그램이나 메일로 AR 공부방법에 대한 문의를 주셨습니다.

그래서 오늘은 어떤 걸 활용해 AR/VR 콘텐츠를 개발할 수 있는지, 개발하려면 무엇을 기초로 알고 있어야하는지 알아보겠습니다


AR/VR 시장 확장에 대한 기대감

요즘 Google, Amazon, Facebook 등 유명한 글로벌 기업들이 AR/VR 공격적으로 채용하고 있습니다. Instagram, Snow, Tiktok 등 소셜 플랫폼의 주요 기능에 AR이 카메라 필터로 구현된 것 조차 모르지만, 수많은 대중들이 사용하고 있습니다. Facebook의 Oculus quest 2는 지난해 가격을 확 낮추며, VR 기기의 보급률을 높였습니다. 이로써 AR/VR 시장, 특히 개발자 수요가 더욱 높아질 것이라고 기대됩니다.


AR/VR 개발을 위한 기초 지식

기본적으로 AR/VR 개발자가 되기 위해서는 새로운 UX에 대한 이해와 3D 엔진에 대한 이해 Java, C#, Swift, Javascript 같은 기본적인 언어 중 하나를 깊게 이해하고 상속, 추상화, 캡슐화 등과 같은 OOP 프로그래밍에 대한 숙련도를 필요로 합니다. 또 안 보이는 부분은 그리지 않도록 최적화를 할 수 있어야 합니다. 추가적으로 Shader에 대해서 알고 있으면 시각적으로 훌륭한 효과를 구현하는데 용이합니다.


AR/VR SDK

Spark AR ( 난이도  / 시장 기회  )

인스타그램에서 사용 가능한 AR 콘텐츠를 쉽고, 간단하게 만들 수 있습니다. javascript를 지원하지만 Patch라는 그래프 노드가 있어서 스크립트를 몰라도 개발이 가능합니다. 인스타그램이나, 페이스북 앱에서만 구동된다는 게 장점이자 단점입니다.  그럼에도 대부분의 사용자들이 인스타그램, 페이스북을 설치하기 때문에 웹사이트만큼 쉽게 접근할 수 있습니다. 기능도 매우 다양합니다. FaceTracking, TargetTracking, PlaneTracking, FaceGesture 등 AR로 할 수 있는 대부분의 API를 지원합니다.


ARKit, ARCore ( 난이도  / 시장 기회  )

ARKit은 애플이, ARCore는 구글이 내놓은 AR 개발 API입니다. 기본적으로 AR 엔진을 Native로 구현할 수 있고, 최고의 성능을 낼 수 있습니다. 하지만 각 플랫폼(iOS/Android)마다 언어와 API가 다르기 때문에 따로 만들어줘야 한다는 불편함이 있습니다.


Unity AR Foundation ( 난이도  / 시장 기회  )

ARKit과 ARCore를 하나로 합쳐주는 유니티의 AR Foundation을 사용하면 C#을 사용하여 한번에 각 플랫폼에서 사용 가능한 AR 앱을 개발을 할 수 있습니다. 이렇게 하나의 코드로 Android, iOS용 앱으로 쉽게 빌드할 수 있다는 것이 큰 장점입니다. 참고로 Unity 엔진의 Reference는 매우 많으며 현재 앱시장의 게임 70% 이상이 Unity로 만들어지고 있습니다. 따라서 AR 앱을 개발하기에 적합한 엔진이라고 보여집니다. 다만, ARCore, ARKit의 기능을 100%로 사용할 수 없는 것은 단점입니다.



AR.js ( 난이도  / 시장 기회  )

간단한 타겟트레킹을 제공하고 웹에서 실행가능하니 별도 앱설치 필요없이 바로 사용이 가능하다는 장점이있습니다. 단점은 웹 환경 한계상 성능이 그리 좋지않습니다. 그리고 앞으로 AR.js를 앞서나갈 웹용 SDK가 나올것이 분명하기 때문에 그렇게 추천드리진않습니다.



Steam VR ( 난이도  / 시장 기회  )

Steam에서 사용 가능한 API를 제공하는데 Unity 플러그인으로 추가해서 개발할 수 있습니다. 오직 VR만 개발할 수 있지만 잘 만들어서 스팀에 업로드해볼 수 있습니다.


WebXR  ( 난이도  / 시장 기회  )

아직 개발 단계에 있는 인터페이스입니다. 웹 AR API 서비스를 제공하는 8th wall은 직접 ML을 제작하여 Plane Tracking이나, Face Tracking을 구현하였습니다만, 웹에서 구현되다 보니 성능이 그리 좋지 않습니다. 이러한 웹 AR의 성능을 대폭 개선해주는 것이 바로 WebXR입니다. WebXR을 사용하면 거의 앱 수준과 비슷한 성능을 낼 수 있습니다.


마치며

AR/VR을 개발할 수 있는 개발 환경과 SDK에 대해서 알아보았습니다. 이제 시작하는 단계라 라이브러리, 프레임워크가 미성숙한 부분이 있습니다. 이런 단계에서 개발하면 어려움이 많겠지만, 개발자로서 라이브러리, 프레임워크가 바뀌고 어떤 방식으로 개선되는지 지켜볼 수 있기 때문에, 지금 바로 개발을 시작하는 것을 추천드립니다. 스마트폰 초기 애니팡, 앵그리버드를 많은 사람들이 즐겼듯이, AR/VR 산업도 이제 매우 크게 성장할 시장이니, 많은 관심과 기대 가져주세요!




 

더 많은 AR필터 사례들이 궁금하다면? 위에이알 포트폴리오(클릭)

AR필터 사용법부터 카테고리, 사용 데이터, 광고 세팅 등 모든 것을 알고 싶다면?  AR필터백서(클릭)

텍스트 말고 따스한 휴먼의 목소리로 자세히 설명 듣고 싶다면? 문의하기(클릭)



현재 WE-AR에서 WebAR 개발자 및 전직군 경력자를 모집하고 있습니다.

국내 유일의 비전프로 앱 개발 전문 스튜디오,


위에이알과 새로운 커리어 여정을 시작하세요.

작가의 이전글 인스타그램 필터, 개발자 가이드 #5
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari