2019년 7월 20일 토요일

가상현실 2세대 기술 - 오큘러스 퀘스트 설치, 사용 및 개발

드디어 오큘러스 퀘스트가 2019년 5월 국내 출시되었다. 그 동안 불편했던 VR 장비에 비해 얼마나 개선되었는 지, 실제 응용에 사용할 만 한지 확인해 보기 위해 테스트를 해 보았다. 이 글은 오큘러스 퀘스트 설치, 사용 및 가상현실 앱 개발에 관한 내용을 간략히 요약한다.

오큘러스 퀘스트, 더이상 필요없는 전선들(How many VR rooms can you save in Oculus Quest)

장비 특징
오큘러스 퀘스트는 2세대 VR기기로 다음과 같은 제약조건을 없애버려 VR 편의성을 높였다.
  • 무선 VR 데이터 스트리밍 지원. 컴퓨터와 HDMI, USB 로 연결된 매우 번거로운 선들이 없음. 
  • 추적 센서 설치 필요 없음. HMD에 내장된 자이로 센서와 카메라로 주변 공간을 인식.
  • 스마트폰 앱을 통한 VR 설정과 설치. 불편하게 컴퓨터에서 VR 룸 등을 설정할 필요 없음.
  • HMD에 앱이 설치됨. 앱이 설치된 컴퓨터를 들고 다닐 필요가 없음. 
  • VR 방 크기(룸스케일. room scale) 설정이 편하고 제약이 많이 사라짐.
  • 어지러움이 기존 VR 장치에 비해 덜함.
  • HMD가 가벼워 머리를 크게 압막하지 않음.
  • HMD 장비 충전 방식임
  • 스마트폰 앱과 페어링해 화면 미러링을 지원함. HMD가 보는 화면을 앱을 통해 같이 볼 수 있음.
  • HTC VIVE와 같은 고가 VR장비에 비해 가격이 저렴함.
HTC VIVE가 1세대 VR 장치로 훌륭한 개념을 보여줬기 때문에, 많은 사람들이 대안 없이 사용하였으나, 이 장비를 사용해 보면 VIVE가 구식으로 느껴질 만큼 설정이 크게 편해 졌다. 몇년만에 크게 발전했다. 참고로, 다음 링크는 VIVE를 건축이나 BIM에 활용하고자 테스트해 보았던 결과이다.
이외에 다양한 장점이 있다. 현재 출시된 앱이 얼마 되지 않지만, 이 부분은 곧 좋아지리라 생각한다.
소개 영상
장비 구성
장비는 HMD 본체, 두개의 컨트럴 및 아답터로 단순하게 구성되어 있다. 

HMD는 전면 4개 카메라에서 얻은 이미지를 비전기술을 통해 주변 공간을 인식한다. 아울러, HMD 장착 후 룸 스케일 설정 시 카메라 센서를 이용해 증강현실로 주변 상황을 보여준다. 
룸스케일 설정 시 증강현실 기능 

장비 설정 방법
설정은 스마트폰와 자체 HMD에서 진행된다. 스마트폰 앱에서 Oculus를 검색해 설치한 후, 계정을 만들고, 지시대로 따라하면 된다.
설정 방법 영상
설정 순서는 크게 다음과 같다.
  1. 스마트폰에 Oculus 앱 다운로드 설치
  2. Oculus 로그인 및 계정 설정(신용카드 등)
  3. HMD 전원 연결 및 켜기
  4. 스마트폰 앱과 페어링
  5. HMD 업데이트
  6. HMD 룸스케일 설정

룸스케일(방크기 및 경계) 설정 후 보이는 그리드

설정 후 장비 튜토리얼 앱이 실행되며, 자체 앱 스토어를 통해 손쉽게 다양한 앱을 다운로드 받아 실행할 수 있다. 컨트롤러나 HMD 반응 속도는 훌륭하며, 멈춤이나 끊어짐이 전혀 없다. 앱 다운로드 시간은 좀 오래걸리나 다운로드 예약되기 때문에 크게 불편하지는 않다.
실행된 앱

기술적 특징
오큘러스 퀘스트는 주변과 HMD의 위치, 방향을 계산하기 위해 비전 기술을 적극적으로 활용했다. 이런 이유로 VR 장비 중 사용 시 자유도와 룸스케일을 극대화했다. 설정된 룸은 저장되어 공간이 바뀌면 다시 로딩할 수 있다. 이런 기술은 기존 장비에서 할 수 없었던 응용을 가능하게 해준다. 
예를 들어, 어떤 사람은 지하주차장의 넓은 공간을 VR 룸스케일로 사용한 사례를 공개했다. 
지하 주차장 룸스케일
룸스케일 최대 크기 테스트 영상

물론 무선으로 앱을 HMD에 설치하여 장비에서 자체적으로 실행되기 때문에, 선도 필요없어, 유저가 점프를 하거나 뛰어 다닐 수 있다. 

VIVE의 경우 바닥을 설정할 때도 장비를 내려놓거나 하는 등의 동작이 필요했지만, 오클러스는 비전으로 이런 부분을 모두 해결한다. 장비 앞에 부착된 4개의 카메라 센서로 공간을 인식해 공간 스케일이나 장애물 정보를 얻는다. 
비전을 이용한 주변 공간의 포인트 클라우드 획득(Oculus Quest review, poppr.be, 2019.5)

참고로, 장비는 충전식이며, 충전을 하면 최소 몇 시간은 사용할 수 있다. 

개발 방법
오큘러스 퀘스트는 유니티 등 개발 도구를 이용해 손쉽게 앱을 만들 수 있다. 개발 방식은 기존 VR 앱 개발과 유사하다. 이에 대한 상세한 내용은 다음 링크에 잘 설명되어 있다.
다음은 이와 관련된 튜토리얼이다.
VRTK 빌드 및 셋업

마무리
오큘러스 퀘스트를 테스트해 본 결과 모든 부분이 기존 VIVE를 뛰어넘는 듯 하다. 앱이 부족하나 이 부분은 앞으로 크게 문제되지 않을 듯 하다. 번거로운 데이터, 전원 선들이 없어졌고, 무선 방식 앱 설치 후 충전된 장비를 간편하게 들고 다니며 VR을 사용할 수 있다. 비전 기술을 사용해 어떤 장소에서도 룸 스케일을 사용할 수 있다.

오큘러스가 그동안 뒤져 있던 VIVE보다 뛰어난 기술을 구현하기 위해 많은 노력을 한 것이 보이는 장비였다. 혼합 현실 장비의 대표주자인 마이크로소프트 홀로렌즈도 이렇게 개선되면 유용할 듯 하다.




2019년 7월 14일 일요일

세상을 바꾸는 코딩 책 소개

안녕하세요. 대디 메이커입니다.

이 글은 세상을 바꾸는 코딩(넥서스 출판)이란 책을 소개하고, 어떻게 만들었는 지 공유합니다. 이 책은 코딩을 처음 접하는 사람들을 위해 만든 책이예요. 이 책은 코딩에 대한 개념을 삽화를 통해 쉽게 이야기하고. 사례, 역사 등 배경 토막지식을 챕터별로 공유하고 있어요. 관심만 있으면 비싼 곳에 가지 않아도 코딩을 배우고 사용할 수 있는 무료도구나 방법을 알려줍니다. 아울러, 메이커 활동을 통해 얻은 경험을 가감없이 담았습니다.
세바코 소개 영상^^

이 책은 평소 가족 메이커로써 활동한 경험을 살려 온 가족이 모여 만든 책입니다. 책도 메이커 활동이라 생각해, 책을 만드는 과정을 틈틈히 기록했었어요. 그 과정도 함께 공개합니다.

책의 구성
제목은 출판사에서 결정했어요. 제목 아이디어는 평소 메이커 활동을 통해 사물 인터넷 등 다양한 것을 만들어나가는 모습을 보고 영감을 받은 것 같아요. 사실 우리가 사용하는 많은 사물은 전기로 움직이는 것이 많죠. 이 안에는 코딩된 프로그램이 돌아가고 있거든요. 출판사에 여러개의 제목을 제안했었는 데, 이런 이유로 세바코란 제목이 결정된거예요.

표지가 예쁜 세바코 책

이 책은 지난번 키즈 메이커(전파과학사, 2016) 이후 코딩, 메이커 관련해 두번째 책입니다. 2014년 부터 꾸준히 메이커페어에 참여한 가족들과 함께 경험하고 고민했던 코딩, 무료 코딩 도구와 메이커 교육에 대한 생각을 가감없이 담았습니다.

코딩을 접해 본적이 없는 사람들도 쉽게 읽히고 이해되는 책을 만들기 위해 노력했어요.
책 머리말에는 이 책이 어떻게 나왔는 지 설명하고 있어요

이 책은 경기도 융합과학원 원장님, 과학관 유만선 박사님, 홍영길 서울대 행복연구센터 박사님, 우용만 영재발굴단 피디님이 추천사를 써 주셨어요^^

책 목차는 코딩이 세상을 바꾸는 사례, 컴퓨터적 사고, 알고리즘 등 기본 개념을 설명하고 있고, 실제 프로그램이 어떻게 만들어지는 지 사례가 포함되어 있어요. 아울러, 사물인터넷, 인공지능, 로봇, 블록체인, 가상현실, 스마트시티, 우주 등에 사용되는 코딩 사례를 설명하고 있지요.

책은 가족이 대화식으로 실생활의 문제와 코딩을 주제로 서로 이야기하는 식으로 구성되어 있어요. 이 내용은 실제 작품을 아이들이 만들면서 했던 대화를 담은 것들이 많답니다.

무료로 코딩 공부하는 방법
굳이 학원에 가지 않아도 코딩을 할 수 있도록 무료 코딩 도구를 담았어요. 실제 선우와 연수도 코딩 학원에 가지 않고 필요할 때 유튜브나 구글 찾아보면서 코딩을 하고 작품을 만들었어요. QR코드가 있어 쉽게 스마트폰으로 실행할 수 있습니다. 이렇게 가족이 코딩을 큰 돈 안들이고 할 수 있는 방법을 경험을 바탕으로 제공하고 있답니다. 

책 내용 중간에 그림으로 내용을 재미있게 전달하기 위해 삽화를 넣었어요. 이 그림도 선우가 직접 메이크한 거예요.

코딩과 관련된 다양한 사례와 컴퓨터 역사를 토막 지식으로 요약해 담았어요. 그래서, 배경 지식을 알고 싶은 독자는 이 부분을 읽으면 되고, 빨리 읽고 싶은 사람들은 내용만 읽으면 되도록 했어요.

컴퓨터적 사고란
쉽게 컴퓨터적 사고를 배울 수 있는 방법을 경험을 반영해 소개하고 있으며, 코딩을 접할 때 막막한 문제인 '코딩 배울려면 처음에 무엇부터 해야지'란 질문에 대한 손쉽게 접근할 수 있는 웹사이트나 방법을 각 챕터별로 소개하고 있습니다.
컴퓨터적 사고

다양한 역사를 담고 있어

컴퓨터적 사고를 키우기 위한 다양한 방법을 담고 있는 데, 언플러그드 코딩 같은 내용도 소개하고 집에서 쉽게 할 수 있는 방법도 알려주고 있습니다.
아빠 로봇으로 코딩하기

코딩 로봇으로 피자 만들기

실제로 구글과 같은 개발회사에서 개발자가 하는 코딩은 더 명확하게 프로그램 요구사항을 정리하고 사용자 화면을 디자인해요. 이를 경험해 볼 수 있도록 피구 게임 만들기를 통해 게임 요구사항, 시나리오를 조사하고, 화면을 디자인한 후 코딩하는 과정을 담았어요.

코딩이 세상을 바꾸는 사례와 방법
이렇게 코딩의 ABC 기본기를 알려주고, 코딩으로 할 수 있는 예술, 로봇, 스마트시티, 블록체인 등 다양한 사례를 이야기합니다.
코딩으로 하는 미디어아트

사물인터넷과 오픈소스

가상현실과 무료도구

인터넷과 앱 만들기

블록체인

인공지능과 무료 도구

드론, 인간형 로봇, 무인자율차, 3D프린터에도 코딩이 있죠^^

스마트시티 안에도 코딩은 중요한 역할을 차지하고 있어요

우주를 탐구할 때도 코딩은 필수예요. 얼마전 블랙홀 사진을 세계 최초로 찍은 것도 코딩의 힘이 있었어요.

이런 다양한 사례와 더불어 우리 주변에 있는 문제를 발견하고, 해결하는 좋은 방법들을 알려주고 있어요. 메이커 운동, 유엔에서 발표한 SDG(Sustainable Development Goals) 등이 그것입니다.
메이커 운동
유엔 SDG

코딩과 관련된 경험, 사례, 지식, 도구 등 방대한 양을 하나의 책으로 축약해 넣기 위해, 온 가족이 대략 1년 이상 함께 정리했던 것 같습니다. 저희들이 경험한 코딩을 세바코에 그대로 담았어요. 잘 활용하시면 굳이 학원에 가지 않고도 무료로 코딩 교육이 가능하게끔 책을 만들었습니다. 단, 코딩에 대한 열정과 관심이 있어야겠죠.

코딩과 메이커에 관심있는 분들의 많은 사랑 부탁합니다~^^


참고 - 책 만들기 과정
책 만들기 과정은 대략 1년이 걸렸습니다. 책 만들기가 가족 이벤트였고, 추억도 남길겸 그 과정을 기록했지요. 이 책은 선우는 본인이 직접 경험한 사례를 책에 녹여 넣고, 그래픽 디자인 프로그램을 이용해 재미있는 삽화를 그렸고, 연수는 인터넷에서 사례들을 조사해서 정리해 넣는 방식으로 만들어졌어요. 엄마는 책 전체적인 흐름을 이해하기 쉽도록 내용 보완을 하고 꼼꼼히 수정을 했어요. 아빠인 저는 공학적인 지식을 좀 더 쉽게 전달하는 데 노력했습니다. 


선우가 그려넣은 삽화

코딩과 관련해 경험한 메이커 작품도 녹여 넣었어요



코딩을 이해하는 데 도움을 주는 사례는 연수가 조사해 정리한거죠


엄마는 이 많은 원고를 직접 검수하고 잘못된 부분들을 수정했어요.

이렇게 책도 메이크 활동하는 식으로 만들었담니다

책을 만드는 동안은 주말이나 주중에 남는 시간을 각자 최대한 활용했어요. 코딩이 무엇인지 개념부터, 방법, 도구 및 사례까지 방대한 내용을 쉽게 담으려 노력했는 데, 내용을 쉽게 담기 위한 과정이 많은 시간을 차지하더군요.^^  책에 대해서 궁금한 점이 있으면 언제든 출판사(넥서스)나 저자들에게 연락 주시길 바랍니다.