도서목록

컴퓨터/IT

본문

탱고&ARCore 증강현실 프로그래밍

지은이최준영, 최원우

쪽수660

초판2018년 10월 20일

ISBN979-11-86886-88-5

판형188mm x 257mm (46배판)

기타애프터스킬 시리즈

정가35,000원

  • 책소개
  • 목차
  • 저자 소개
  • 상세이미지

증강현실 구현 플랫폼의 중심은 모바일!

구글 탱고(Tango)ARCore로 익히는 본격 모바일 증강현실 개발 지침서!

 

이 책은 구글(Google)'안드로이드' 기반 증강현실 개발 플랫폼인 '탱고(Tango)'는 물론, 하드웨어적 구축이 필요 없는 증강현실 구현을 목표로 2018년 새롭게 출범한 신규 플랫폼 'ARCore'를 기반으로 게임과 생활 앱 등 실전형 애플리케이션 개발 과정을 따라가면서 한 차원 높은 모바일 프로그래밍의 세계로 인도합니다.

 

단순한 이론 정리식 '독서'가 아닌 실제 개발 과정의 '코딩'을 통하여, 독자 여러분은 실제 '모바일 개발자처럼' 생각하고, 개선해 나아가는 일련의 노하우 역시 함께 습득하게 될 것입니다.

머리말

이 책의 사용법

부록 다운로드

목차

 

Chapter. 1 증강현실

증강현실이란?

용어 정리 : AR, VR, MR

AR 적용 사례 : 포켓몬Go

 

Chapter. 2 탱고(Tango) 환경 설정

2.1 탱고 디바이스란?

2.2 안드로이드 빌드 환경 설정

01 자바 설치하기

02 안드로이드 스튜디오 설치하기

03 프로젝트 생성

04 애플리케이션 실행

2.3 탱고 빌드 환경 설정

01 탱고 라이브러리 다운로드

02 탱고 빌드 환경 설정

2.4 탱고 네이티브 빌드 환경 설정

01 안드로이드 NDK 설치

02 탱고 네이티브 라이브러리 다운로드

03 탱고 네이티브 빌드 환경 설정

04 탱고 예제 애플리케이션 실행

 

Chapter. 3 탱고 : 기본 다루기

3.1 탱고 초기화하기

01 Tango 객체 및 TangoConfig 객체 생성

02 콜백 함수 등록

03 탱고 연결 해제

3.2 카메라 프리뷰

01 카메라 권한 획득

02 TangoCameraPreview를 사용하여 카메라 영상 받아오기

03 GLSurfaceView를 사용하여 카메라 영상 받아오기

3.3 특정 위치의 3차원 좌표 값 구하기

01 탱고 좌표계

02 탱고 애플리케이션 초기화

03 특정 위치의 3차원 좌표 값 구하기

3.4 특정 위치에 물체를 그려서 트래킹하기

01 모션 트래킹이란

02 가상의 물체 그리기

03 가상의 공간에 카메라 속성 적용 적용하기

04 가상의 물체 위치 구하기

05 디바이스 움직임 적용하기

3.5 거리 측정 애플리케이션

01 거리 측정

02 탱고 애플리케이션 초기화

03 카메라 피드

04 뎁스 측정하여 포인트 추가

05 거리 구하기

 

Chapter. 4 탱고 : 평면과 가상 배치

4.1 평면 찾기

01 평면이란?

02 평면 찾기

03 평면 나타내기

4.2 평면에 큐브 올려놓기

01 평면 위에 물체 올려놓기

02 좌표계 그리기

4.3 특정 위치에 큐브 올려놓기

01 correspondence 찾기

02 고정된 위치에 큐브 그리기

03 포인트 측정하기

04 모델 매트릭스 구하기

4.4 충돌 체크

01 공 던지기

02 충돌 체크

4.5 간단한 포켓몬Go

01 탱고 애플리케이션 초기화

02 카메라 피드

03 공 던지기

04 몬스터 출현

05 몬스터 잡기

 

Chapter. 5 탱고 : 특화 기능들

5.1 포인트 클라우드 그리기

01 포인트 클라우드 받아오기

02 포인트 클라우드 정보

5.2 뎁스 이미지

01 뎁스 이미지란?

02 주변 값을 이용하여 뎁스 이미지 생성하기

03 컬러 이미지를 이용하여 뎁스 이미지 생성하기

5.3 마커 인식

01 마커 이미지

02 마커 인식하기

03 마커 위치에 가상의 물체 그리기

5.4 3d Reconstruction

01 Tango3dReconstruction 설정

02 TangoMesh 그리기

03 버튼 처리

 

Chapter. 6 ARCore 빌드 준비

6.1 ARCore?

6.2 ARCore 환경 설정

01 ARCore 지원 디바이스

02 ARCore 빌드 환경 설정

03 ARCore 예제 애플리케이션 실행

6.3 ARCore 네이티브 빌드 환경 설정

01 예제 프로젝트 생성

02 라이브러리 파일 다운로드

03 빌드 환경 설정

04 예제 애플리케이션 실행

6.4 에뮬레이터 상에서 ARCore 예제 돌려보기

01 가상 디바이스 생성하기

02 예제 애플리케이션 실행

 

Chapter. 7 ARCore : 모션 트래킹

7.1 카메라 프리뷰

01 ARCore 초기화

02 카메라 영상 받아오기

7.2 포인트 클라우드

01 ARCore 상에서의 포인트 클라우드

02 포인트 클라우드 그리기

7.3 모션 트래킹

01 터치한 위치의 3차원 좌표 값 읽어오기

02 트래킹하기

7.4 거리 측정 애플리케이션

01 거리 측정

02 ARCore 애플리케이션 초기화

03 카메라 피드

04 포인트 클라우드 그리기

05 포인트 측정하여 거리 구하기

7.5 낙서하기 애플리케이션

01 낙서하기

02 ARCore 애플리케이션 초기화

03 카메라 피드

04 포인트 클라우드 그리기

05 벽에 낙서하기

06 허공에 낙서하기

 

Chapter. 8 ARCore : 환경 인식

8.1 평면 찾기

01 평면 찾기

02 평면 그리기

8.2 평면 위에 물체 올려놓기

01 평면 위의 점 찾기

02 평면 위에 물체 올려놓기

8.3 Light Estimation

01 조명

02 조명 적용하기

03 Color Correction

8.4 간단한 포켓몬Go

01 ARCore 애플리케이션 초기화

02 카메라 피드

03 포인트 클라우드, 평면 그리기

04 공 던지기

05 몬스터 출현

06 몬스터 잡기

8.5 간단한 홈 디자이너

01 ARCore 애플리케이션 초기화

02 카메라 피드

03 포인트 클라우드, 평면 그리기

04 가구 선택하기

05 가구 원하는 모양으로 변형하기

06 원하는 위치에 가구 배치하기

 

Chapter. 9 유니티(Unity) 연동

9.1 환경 구성하기

01 유니티 설치

02 프로젝트 생성 및 구성

03 프로젝트 빌드 및 실행

9.2 Tango와 유니티 연동하기

01 설정 및 패키지 임포트

02 카메라 피드

03 터치하여 큐브 놓기

9.3 ARCore와 유니티 연동하기

01 설정 및 패키지 임포트

02 카메라 피드

03 포인트 클라우드

04 플레인 렌더링

05 바닥에 큐브 놓기

 

Appendix

안드로이드 스튜디오 구성

안드로이드 스튜디오로 디버깅하기

빌드 클린

도움되는 사이트

지은이 : 최준영

중학교 때 처음 프로그래머가 되기로 결심하고 한양대학교에서 소프트웨어를 전공하였습니다. 티맥스 소프트에 입사하여 한국형 OS 개발을 시작으로 IT 업계에 발을 들여 놓았고, 에스코어에 재직하며 바다폰, 갤럭시S, 갤럭시노트 시리즈 개발에 참여하는 등 플랫폼 개발자로 일하고 있습니다.

2015년부터 중공업/엔지니어링 회사들과 산업 현장에 적용할 수 있는 증강현실 과제를 수행하면서 증강현실(AR) 분야에 뛰어들었고 이후로도 증강현실 개발에 꾸준히 매진하고 있습니다.

 

지은이 : 최원우

대학원에서 암호학 및 무선 네트웍 보안 프로토콜을 전공 후, 한글과 컴퓨터(()소프트 포럼), NC 소프트, 스마일 게이트, 미국 남코반다이 그리고 NHN을 거치면서 플랫폼 및 게임 서버 개발자로 일하고 있습니다.

그동안 한국, 미국, 영국에서 개발자(or 풀스택 엔지니어)로서 도전적인 업무를 수행하며 지속적으로 이론과 실무 능력을 향상시키기 위해 노력하고 있는 개발자입니다.