unity & qcar 을 이용한 융 건릉 안내시스템 구현

55
Unity & QCAR 을 을을을 을을을 을을을을을 을을 을 : 을을을을 을을을 : 2013.07.05 을을을 : 07` 을을을

Upload: carter

Post on 22-Feb-2016

247 views

Category:

Documents


1 download

DESCRIPTION

Unity & QCAR 을 이용한 융 건릉 안내시스템 구현 . 팀 : 증강현실 발표일 : 2013.07.05 발표자 : 07` 김동광. 대목차. Unity & QCAR 소개 p.3~12 Unity 사용방법 p.13~19 설치 및 연동 p.20~2 7 차례상 구현 및 연동 p.28~32 QCAR 설치 및 연동 p.33~55. 소목차. Unity3D Unity 소개 (1/4 ) Unity 소개 (2/4) - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Unity & QCAR 을 이용한    융 건릉 안내시스템 구현

Unity & QCAR 을 이용한 융건릉 안내시스템 구현

팀 : 증강현실발표일 : 2013.07.05발표자 : 07` 김동광

Page 2: Unity & QCAR 을 이용한    융 건릉 안내시스템 구현

Unity & QCAR 소개 p.3~12 Unity 사용방법 p.13~19 설치 및 연동p.20~27 차례상 구현 및 연동p.28~32 QCAR 설치 및 연동p.33~55

대목차

Page 3: Unity & QCAR 을 이용한    융 건릉 안내시스템 구현

Unity3D Unity 소개 (1/4) Unity 소개 (2/4) Unity 소개 (3/4) Unity 소개 (4/4) QCAR(1/2) QCAR(2/2) 앞으로의 계획 참고문헌

소목차

Page 4: Unity & QCAR 을 이용한    융 건릉 안내시스템 구현

‘Unity3D’ 는 게임 개발 분야를 위해서 만들어졌지만 , 게임 이외의 다양한 소프트웨어 개발 도구로 사용

열린 개발 환경으로 인해 , 새로운 기술의 변화를 따라가며 , 동시에 손쉬운 접근을 통한 , 빠른 교육 및 보급이 가능한 장점을 가짐

Unity3D

Page 5: Unity & QCAR 을 이용한    융 건릉 안내시스템 구현

객체지향설계에 충실한 3D 소프트웨어 개발 엔진

->‘Unity3D’ 는 가벼운 소프트웨어의 3D 활용 뿐만 아니라 , 인테리어 , AR, 가상 현실 등의 다양한 3D 기술에 활용되어지며 , 소프트웨어 개발 기술의 발전 방향인‘객체지향설계’를 기본적으로 탑재

Unity 소개 (1/4)

Page 6: Unity & QCAR 을 이용한    융 건릉 안내시스템 구현

한 번의 클릭으로 플랫폼 변화

->‘Unity3D’ 로 개발된 소프트웨어는 , 단 한번의 Platform Build 를 통해서 , Web 기반 , PC 기반 , MAC 기반 , iOS 기반 , Android 기반의 소프트웨어로 변환 가능

Unity 소개 (2/4)

Page 7: Unity & QCAR 을 이용한    융 건릉 안내시스템 구현

모든 어플리케이션 개발이 가능

->PC 및 MAC 기반에서 Unity3D 무료 버전으로 모든 어플리케이션을 개발 가능

Unity 소개 (3/4)

Page 8: Unity & QCAR 을 이용한    융 건릉 안내시스템 구현

그 이외의 기본적으로 탑재한 강력한 기능들

->3D 렌더링 관련 고급 기술 및 플러그인 ->3D 공간에 대한 데이터 최적화를 위한 컬링 기술( Umbra Software )-> 라이트 맵핑 소프트웨어인 Beast 엔진 탑재

Unity 소개 (4/4)

Page 9: Unity & QCAR 을 이용한    융 건릉 안내시스템 구현

Qualcomm 에서 배포하는 증강현실 SDK

QCAR 의 장점은 강력한 Modeling Software 인 Unity 를 사용할 수 있다는 점과 , 자연 이미지를 쉽게 마커로 사용 할 수 있다는 점

QCAR(1/2)

QCAR 로 개발된 앱들

Page 10: Unity & QCAR 을 이용한    융 건릉 안내시스템 구현

QCAR 은 Android 와 IOS 모두를 지원 함 또한 완벽한 SDK 형태이기 때문에 쉽고 빠르게 AR 앱을 개발할 수 있음

QCAR(2/2)

Page 11: Unity & QCAR 을 이용한    융 건릉 안내시스템 구현

Unity & QCAR 설치 및 연동

Unity & QCAR 을 이용하여 윤건릉 안내시스템 구현

앞으로의 계획

Page 12: Unity & QCAR 을 이용한    융 건릉 안내시스템 구현

먼저 Unity3D 를 실행하고 File –> New Project 를 클릭하여 프로젝트를 만듬

Unity 사용방법

Page 13: Unity & QCAR 을 이용한    융 건릉 안내시스템 구현

Assets –> Import Package –> Custom Package 를 클릭하고 vuforia-unity-an-droid-ios-2-0-30 파일을 Import 함

Unity 사용방법

Import 클릭

Page 14: Unity & QCAR 을 이용한    융 건릉 안내시스템 구현

하단의 Favorites 에서 All Prefabs 를 클릭하면 Vuforia2.0 에서 제공하는 Object들이 보임

가장 기본적인 AR Application 을 만들기 위해서는 흰색 동그라미로 표시한 “ AR Camera” 와 “ Image Target” 이 필요함

Unity 사용방법

Page 15: Unity & QCAR 을 이용한    융 건릉 안내시스템 구현

드래그 앤 드롭으로 Hierarchy 에 AR Camera와 Image Target 을 추가

Unity 사용방법

Page 16: Unity & QCAR 을 이용한    융 건릉 안내시스템 구현

image 데이터파일을 불러와서 import 하는 방법

Unity 사용방법

Page 17: Unity & QCAR 을 이용한    융 건릉 안내시스템 구현

image database 를 설정하면 Image Target 객체에 인식할 Image 가 Texturing 되서 보여짐

Unity 사용방법

Page 18: Unity & QCAR 을 이용한    융 건릉 안내시스템 구현

두번째로 될 부분은 Hierarchy 창에서 AR-Camera 를 선택후 ARCamera 의 Inspector 창에서 Data Set Load Behaviour (Script) 부분을 설정

Unity 사용방법

Page 19: Unity & QCAR 을 이용한    융 건릉 안내시스템 구현

Assets –> Import New Asset.. 을 클릭해서 준비과정에서 다운로드 했던 3D 모델파일을 불러옴

Unity 사용방법

Page 20: Unity & QCAR 을 이용한    융 건릉 안내시스템 구현

이규홍 학우 ppt 를 참고하여 설치 및 연동

Unity & QCAR 설치 및 연동

Page 21: Unity & QCAR 을 이용한    융 건릉 안내시스템 구현

Assets –> Import Package –> Custom Package 를 클릭하고 vuforia-unity-an-droid-ios-2-0-30 파일을 Import 함

Unity 사용방법

Import 클릭

Page 22: Unity & QCAR 을 이용한    융 건릉 안내시스템 구현

하단의 Favorites 에서 All Prefabs 를 클릭하면 Vuforia2.0 에서 제공하는 Object들이 보임

AR Application 을 만들기 위해서는“ AR Cam-era” 와“ Image Target” 이 필요함

Unity 사용방법

Page 23: Unity & QCAR 을 이용한    융 건릉 안내시스템 구현

드래그 앤 드롭으로 Hierarchy 에 AR Camera와 Image Target 을 추가

Unity 사용방법

Page 24: Unity & QCAR 을 이용한    융 건릉 안내시스템 구현

차례상 Max 데이터 파일을 FBX 파일로 export하여 Unity 에 Import 함

Unity 사용방법

Page 25: Unity & QCAR 을 이용한    융 건릉 안내시스템 구현

차례상을 오브젝트를 샘플마커 위에 띄움

구현화면

Page 26: Unity & QCAR 을 이용한    융 건릉 안내시스템 구현

상을 없애고 차례음식과 그릇 오브젝트에 맵핑

구현화면

Page 27: Unity & QCAR 을 이용한    융 건릉 안내시스템 구현

마커지정 , 마커와 물체 연동 부분 에러

문제점

Page 28: Unity & QCAR 을 이용한    융 건릉 안내시스템 구현

차례상 데이터 교체 마커 등록 구현화면 참고문헌

소목차

Page 29: Unity & QCAR 을 이용한    융 건릉 안내시스템 구현

차례상 데이터를 교체 함

차례상 데이터 교체

Page 30: Unity & QCAR 을 이용한    융 건릉 안내시스템 구현

홈페이지에서 등록한 마커의 Database 를 다운로드 후 import 하여 DataSet 설정

마커 등록

Page 31: Unity & QCAR 을 이용한    융 건릉 안내시스템 구현

구현화면

Page 32: Unity & QCAR 을 이용한    융 건릉 안내시스템 구현

• 소목차 QCAR 설치 p.33 Cygwin Terminal & 설치 p.34~37 Android NDK & 설치 p.38~41 Cygwin 환경설정 p.42~44 Cygwin - NDK Buildp.45~46

Android - QCAR Import p.47~53 구현화면 p.54 참고문헌 p.55

Page 33: Unity & QCAR 을 이용한    융 건릉 안내시스템 구현

https://developer.vuforia.com/resources/sdk/android?d=windows

• QCAR 설치

• 이규홍학우의 PPT 를 참고하여 설치

Page 34: Unity & QCAR 을 이용한    융 건릉 안내시스템 구현

• Cygwin Terminal- 유닉스 ( 리눅스 ) 에서 사용되는 셀 (Shell) 이나 명령어를 윈도우에서 소스코드로부터 컴파일 할 수 있도록 한 것 임

- 윈도우 환경에서도 리눅스 환경을 제공받을 수 있음

Page 35: Unity & QCAR 을 이용한    융 건릉 안내시스템 구현

• Cygwin Terminal 설치 (1/3)-> http://www.cygwin.com/ 접속함

Page 36: Unity & QCAR 을 이용한    융 건릉 안내시스템 구현

• Cygwin Terminal 설치 (2/3)-> Setup.exe 를 클릭 하면 설치하는 창이 나옴 Next 누르다가 경로 지정하는 창에서 C:\cygwin 으로 지정하여 설치함

Page 37: Unity & QCAR 을 이용한    융 건릉 안내시스템 구현

• Cygwin Terminal 설치 (3/3)-> 패키지 선택 창에서 모두 설치하면 엄청 오랜시간이 걸림

* 선택하여 설치 Devel 하위 : - gcc-core, gcc-g++ make,swig Editors 하위 : - vim

Page 38: Unity & QCAR 을 이용한    융 건릉 안내시스템 구현

• Android NDK- Android NDK(Native Development Kit) 의 약자

- 안드로이드에서 C/C++ 같은 네이티브 코드를 빌드해서 라이브러리를 만든 후 이를 안드로이드 애플리케이션 패키지에 삽입해주는 도구임

* JNI (Java Native Interface)

- 자바 클래스에서 C언어로 작성된 라이브러리에 포함된 특정함수를 사용하거나 반대로 C 프로그램 에서 자바 클래스 라이브러리를 사용할때 사용함

Page 39: Unity & QCAR 을 이용한    융 건릉 안내시스템 구현

• Android NDK 설치 (1/3)

-> http://developer.android.com/sdk/ndk/index.html 접속함 Windows 운영체제를 확인하여 다운로드 다운로드경로 : C:\ cygwin \ home \ 계정명 \ 에 저장함

Page 40: Unity & QCAR 을 이용한    융 건릉 안내시스템 구현

• Android NDK 설치 (2/3)-> 아래의 경로와 같이 압축을 풀어놓음

Page 41: Unity & QCAR 을 이용한    융 건릉 안내시스템 구현

• Android NDK 설치 (3/3)-> Eclipse 실행 후 Help – Install New SoftwareAdd – Name : NDK Location : https://dl-ssl.google.com/android/eclipse/

* NDK Plugin 설치

Page 42: Unity & QCAR 을 이용한    융 건릉 안내시스템 구현

• Cygwin 환경설정 (1/3)-> C:\ cygwin \ home \ 계정 \ 에 있는 bachrc 파일을 EditPlus 를 이용하여 열고 아래와 같이 입력후 저장함

- export PATH=$PATH:/home/ 계정명 /android-ndk-r8 - export ANDROID_NDK_ROOT=/home/ 계정명 /an-droid-ndk-r8

Page 43: Unity & QCAR 을 이용한    융 건릉 안내시스템 구현

• Cygwin 환경설정 (2/3)

Page 44: Unity & QCAR 을 이용한    융 건릉 안내시스템 구현

• Cygwin 환경설정 (3/3)-> 컴퓨터 오른쪽버튼 클릭 - 속성 - 고급시스템설정 -환경변수 시스템 변수 – 편집 에서 변수 값에 아래와 같이 추가함

- C:\cygwin\bin; C:\cygwin\home\ 계정명 \an-droid-ndk-r8

Page 45: Unity & QCAR 을 이용한    융 건릉 안내시스템 구현

• Cygwin - NDK Build(1/2)-> Cygwin Terminal 실행 후 아래의 경로까지 이동하여 NDK-Build 를 실행함

Page 46: Unity & QCAR 을 이용한    융 건릉 안내시스템 구현

• Cygwin - NDK Build(2/2)-> 다음과 같이 libs 파일이 생성됨

Page 47: Unity & QCAR 을 이용한    융 건릉 안내시스템 구현

• Android - QCAR Import(1/7)

Page 48: Unity & QCAR 을 이용한    융 건릉 안내시스템 구현

• Android - QCAR Import(2/7)-> 원하는 QCAR 프로그램을 Import 시켜줌 처음에는 에러가남

Page 49: Unity & QCAR 을 이용한    융 건릉 안내시스템 구현

• Android - QCAR Import(3/7)

- 이부분을 클릭하여 QCAR.-jar 파일을 추가해줌

Page 50: Unity & QCAR 을 이용한    융 건릉 안내시스템 구현

• Android - QCAR Import(4/7)-> Order and Export Part 에서 반드시 클릭해줘야 함

Page 51: Unity & QCAR 을 이용한    융 건릉 안내시스템 구현

• Android - QCAR Import(5/7)-> Window – Preferences – Java – Build Path (빌드 경로 )

Page 52: Unity & QCAR 을 이용한    융 건릉 안내시스템 구현

• Android - QCAR Import(6/7)-> Name : QCAR_SDK_ROOT Path : C:/Development/Android/vuforia-sdk-an-droid-1-5-9

Page 53: Unity & QCAR 을 이용한    융 건릉 안내시스템 구현

• Android - QCAR Import(7/7)-> 에러가 사라짐

Page 54: Unity & QCAR 을 이용한    융 건릉 안내시스템 구현

• 구현화면