본문 바로가기


AR E01 - 유니티 AR 무작정 따라하기!

Augmented Reality

 

증강현실(Augmented reality, AR)은 가상현실(VR)의 한 분야로 실제로 존재하는 환경에 가상의 사물이나 정보를 합성하여 마치 원래의 환경에 존재하는 사물처럼 보이도록 하는 컴퓨터 그래픽 기법이다. 

 

 

아래는 가상현실과 증강현실의 차이를 다루는 YTN의 보도자료 영상이다.

 

 

 

AR은 디지털 미디어에서 빈번하게 사용된다.  세계 최초의 AR폰 '팹2 프로'는 구글의 AR 플랫폼이 적용된 스마트폰이다.   [출처:위키백과]

 

도널드 트럼프의 로폴리 3D모델(FBX)파일을 AR로 만든 안드로이드 앱으로 1달러 지폐를 스마트폰의 카메라에 잡히면

트럼프 대통령이 뜨고 일련의 좀비를 막기위한 Greate Wall이 뜨고 게임적인 요소로 스토리가 진행된다.

 

 

https://youtu.be/khavGQ7Dy3c

 

 

 

 

 

 

#00. 응용프로그램 설치

 

 

AR로 앱을 구현하기 위해서는 기본이 되는 Unity와 Android Studio 최신버전이 설치되어 있어야 한다.  1년에도 2개버전이 업데이트 될 정도이며, 업데이트시 UI 및 관련 플러그인들도 업데이트된다. 아래 순서에 맞게 2개의 응용프로그램을 설치해고 따라해 본다.  사전

 

 

증강현실을 위해 설치해야 하는 응용프로그램 2개

 

 

1.유니티 설치

Unity는 3D 및 2D 비디오 게임의 개발 환경을 제공하는 게임 엔진이자, 3D 애니메이션과 건축 시각화, 가상현실(VR) 등 인터랙티브 콘텐츠 제작을 위한 통합 저작 도구이다.   윈도, 맥OS, iOS, 안드로이드, 플레이스테이션, 엑스박스, 닌텐도 스위치, 웹브라우저(WebGL) 등 27개의 플랫폼에서 사용 가능한 콘텐츠를 만들 수 있고, 제작 도구인 유니티 에디터는 윈도와 맥OS를 지원한다.

 

01. 아래 공식사이트에 접속해서 개인 Personal 무료버전의 시작하기를 누르고, Unity Hub를 설치한다.
설치가 완료되고 Unity Hub를 실행한다.

 

 

유니티 공식사이트

https://unity.com/kr

 

유니티 - Unity

Unity is the ultimate game development platform. Use Unity to build high-quality 3D and 2D games, deploy them across mobile, desktop, VR/AR, consoles or the Web, and connect with loyal and enthusiastic players and customers.

unity.com

 

02. Unity Hub를 실행된 상태에서 설치 메뉴의 추가 버튼을 눌러서 정식버전을 설치한다.
설치시 Vuforia의 AR지원되는 버전을 선택해서 설치진행한다.

 


아래 그림과 같이 버전을 선택해서 다음을 누르면, Vuforia AR지원이 보이는 것을 선택해야 한다. Unity 2019.1.14.f1버전을 선택하고 다음을 누르니 Vuforia AR지원이 보여서 아래버전을 선택후 진행한다.

 

 

다음창을 눌렀을때에 지원하는 모듈들이 보여진다.  기본 Visual Studio Community와 Android Build, Vuforia AR 등 필요로하는 모듈 3개를 선택해서 추가하고 '다음' 진행한다.

 

 

 

 

2. Android Studio 설치

유니티의 새로운 프로젝트를 생성합니다.

플랫폼을 Android로 구현할 것입니다.  Unity의 Bulid Setup을 위해 안드로이드 스튜디오 최신버전을 설치해야 합니다.

 

 

안드로이드 스튜디오 공식사이트

https://developer.android.com/studio/?hl=ko

 

 

 

유니티와 안드로이드 스튜디오 설치 완료

 

 

 

#01. 프로젝트 생성

 

 

Unity를 설치하고(설치과정은 단 한번이니 다음부터는 프로젝트 생성만 하면됨) 프로젝트 새로생성합니다.

 

 

프로젝트 이름을 AR_01이라 정하고,  저장위치는 D드라이브에 영문이름의 폴더를 지정해주고 생성을 누룹니다.

 

 

 

생성된 AR_01이라 프로젝트 첫 화면입니다.

 

 

 

Build Settings

■ 열어놓은 프로젝트의 빌드셋팅을 먼저 해야 합니다.


1. File-Build Settings(CS+B)
2. 기존 다른 Platform으로 되있는 것을 Android를 선택 후 Switch Platform 버튼을 누릅니다.

 

3. Player Settings... 클릭합니다. (위 그림 좌측하단)  그리면 아래와 같이 프로젝트셋팅창이 뜬다.

 

 

Other Settings 누르고 펼쳐짐.


Company Name (컴패니 네임) : OngolzinTV(동일) 
Identification (팩키지 네임) Com.Company.Project > Com.OngolzinTV.AR_v01

 

만약 따라한다면, 위 컴패니네임은 다른 이름으로 해야합니다.

 

 

 

XR Settings 누르고 펼쳐짐.


  AR Core Supported V(체크) Vuforia AR 클릭하면 새창에서 Accept를 누른다. AR을 지원하는 리소스가 추가된다.

 

 

 

빌드셋팅창을 닫는다. 뭐이리 셋팅하는 것이 많았는지.

프로젝트 패널에 있는 SampleScene 이름을 Home으로 바꿔준다. (Reload해주기) .... 이건 쉽다.

 

 

 

Asset Store 탭에서 

'vuforia'라고 검색을해서 vuforia core sample을 다운받고, Import한다(Update).

 

 

 

Android SDK설치했죠?

Edit-Preferances External ToolsAndroid SDK 확인
// 설치안된 경우는 안드로이드 스튜디오를 설치해야한다.

 

 

 

 

 

 

#02. 설정끝! 개발시작!!

AR카메라와 조명 대체하기

Home 씬에 있는 두개의 카메라,조명을 선택해서 삭제한다.

하단의 Project패널에
Assets > SampleResources >Scenes 3-ImageTargets 더블클릭!! AR Carmera, SceneLight 복사 후...

 

 

Assets > Scenes Main 더블클릭!! 기존의 개체를 지우고, 복사한 AR Carmera, SceneLight를 붙인다.

 

AR카메라 셋팅하기

AR Carmera를 선택하고 우측의 Inspector패널에서 ▼Golbal 아래 Vuforia Version을 확인하고, 아래 App License Key를 받기위해   Add License  버튼을 클릭한다. 뷰포리아 공식사이트로 이동된다. 회원가입 필수!

 

 

뷰포리아

 Vuforia 엔진은 환경에서 특정 이미지 및 개체에 AR 환경을 연결 하는 기능을 제공 하는 중요 한 기능을 제공 합니다. 이 기능을 사용 하 여 산업 기업의 기계에 대 한 단계별 단계별 지침을 오버레이 하거나 실제 제품 또는 게임에 디지털 기능 및 환경을 추가할 수 있습니다.

 

회원가입 및 프로젝트 생성

https://developer.vuforia.com/

 

회원로그인 후, Get Development Key버튼을 누른다.

라이센스 이름을 입력 후 동의를 누른 후 Confirm 클릭하기

 

 

 

 

 

라이센스 이름을 누르면 장문의 Key를 보여준다. 이것을 복사 해놓는다!  휴~

 

 

 

 

복사한 키를 유니티로 돌아와서 해당 항목에 붙인다.

 

 

 

 

Target Manager 탭을 누르고 Add Database를 누르면 뜨는 창에 DB명을 입력하고 Create를 누른다.

 

 

Target Manager에 생성한 DB가 눈에 띈다. DB명을 클릭하면 해당된 DB내용으로 페이지가 바뀐다.

이제 시작이다!!  AddTarget을 누른다.

 

 

 

 

Add Target버튼을 누르고, 싱글이미지를 선택 후 인식율이 놓은 (1000px정도이내) 이미지를 준비해서 포함시키고, Width값을 입력한다. 너비의 단위는 meter값으로 변환해서 입력해야 실크기와 잘맞아 인식이 더 쉽다.

 

 

px단위를 meters 단위로 바꿔주는 사이트
https://www.unitconverters.net/typography/pixel-x-to-meter.htm

 



이미지의 너비(Width)
558 px 
0.1476375 meter

 

Convert Pixel (X) to Meter

Convert Pixel (X) to Meter Please provide values below to convert pixel (X) to meter [m], or vice versa. Pixel (X) to Meter Conversion Table Pixel (X)Meter [m]0.01 pixel (X)2.6458333333333E-6 m0.1 pixel (X)2.64583E-5 m1 pixel (X)0.0002645833 m2 pixel (X)0.

www.unitconverters.net

 

 

 

 

 

 

Database를 다운받습니다.  Unity Editor를 선택후  Download 버튼누르면 받아지고, 받은 파일을 더블클릭해서 Import를 최종 누르면 현재 프로젝트에 DB가 포함됩니다.

 

Unity에서 바로 Import가 안되는 경우에는  Asset-Import Package-Cumstom Package로 해당 파일을 찾아서 Import버튼을 누르면 된다.

 

 

 

 

 

 

#03. 샘플이미지 등록과 후반작업!!

ImageTarget만들기

Hierarchy패널에서 빈공간으로 가서 빈개체(Create Empty)를 누르면 GameObject가 생성된다.

 

우측의 Inspector패널에서 해당 이름을 ImageTarget을 바꿔주자! (엔터)

 

 

 

 

실제구동을 위한 Component(Script) 추가하기

Inspector패널에서 ImageTarget이 실제 구동할 수 있는 능력을 부여한다.  Transform아래  Add Component버튼을 누르고 아래그림처럼 필요한 3개의 스크립트를 추가한다.

 

+ Default Trackable Event Handler

+ Turn Off Behaviour

+ Image Target Behaviour

 

 

 

 

Image Target에 3D개체 배치하기

Hierarchy패널에서 ImageTarget을 더블클릭하면 Vutoria에 등록한 DB에 포함된 이미지가 뜬다. 카메레 뷰를 적절히 조절해 안정적인 뷰를 맞춘다.

 

 

 

3D Object - Cube를 클릭해서 이미지타겟의 정중앙에 배치를 한다.  Cube를 더블클릭하면 화면맞춤. 상단의  도구를 이용해서 위치를 잡는다.

 

 

 

 

Build Setting 후 Build하기

 File-Build Settings를 눌러서 창을 띄운후,  Scenes  In Build항목의 기본포함된 Scene들을 체크아웃해서 제거해준다.   현재 열린 Scene을 추가하기위해  Add Open Scenes 버튼을 클릭한다. 

 

 

그러면 현재 Scene이 추가된다.  (그림에서는 Scenes/Main )

 

현재 Scene만 아래 그림처럼 선택하고(그림에서는 Scenes/Main ) 하단에 있는 Build 버튼을 클릭하면 최종적인 apk파일(앱팩키지파일)이 생성된다.

 

 

 

 

#04. 배포하기

서버에 APK업로드 및 해당파일 QR 생성

플레이스토어에 등록할 수 없는 테스트의 경우 닷홈(https://www.dothome.co.kr/)에 무료웹호스팅 신청을 하고, 루트 혹은 적절한 디렉토리에 업로드 한후에 QR코드를 생성해서 배포할 수 있다.

 

http://www.makeqr.kr/

 

makeQR

 

www.makeqr.kr

 

 

 

Source Images

 

Target Image

 

 

 

 

 

APK(Application Package) File URL

http://dhgood.dothome.co.kr/apk/AR3_TEST.apk

 

QR코드

 

 

 

'AR_VR' 카테고리의 다른 글

AR E02 - 유니티 3D FBX파일 적용  (0) 2019.11.20