SomeDay1332
'언젠가' 시니어 개발자
SomeDay1332
전체 방문자
19,568
오늘
18
어제
68
  • 분류 전체보기
    • 언젠가 유니티(Unity) 개발
      • 유니티 튜토리얼
      • 볼트 (= Bolt)
      • 포스트프로세싱 (= Post Proc..
      • 시네머신 (= CineMachine)
    • 언젠가 증강현실(AR) 개발
      • AR 파운데이션 (AR Foundation)
      • 뷰포리아 (Vuforia)
      • 컴퓨터 비전 (Open CV)
      • 인공지능 딥러닝 (AI Deep Le..
      • 스파크 AR (Spark AR)
    • 언젠가 서버 개발
      • 윤성우의 TCP_IP 소켓 프로..
    • 언젠가 메타버스 개발
      • 로블록스 (Roblox)
      • 제페토 (Zepeto)
    • 언젠가 플러터(Flutter) 개발
    • 언젠가 언리얼(Unreal) 개발
    • Anything
      • 우아한 테크톡 리뷰

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

  • [유니티_뷰포리아(Vuforia)] 코⋯
    2020.02.29
    [유니티_뷰포리아(Vuforia)] 코⋯
  • [유니티_AR파운데이션(AR Found⋯
    2020.07.23
    [유니티_AR파운데이션(AR Found⋯
  • [유니티_AR파운데이션(AR Found⋯
    2020.07.23
    [유니티_AR파운데이션(AR Found⋯
  • [유니티(Unity)] Time.time과 T⋯
    2020.07.23
    [유니티(Unity)] Time.time과 T⋯
  • [유니티_AR파운데이션(AR Found⋯
    2020.07.23
    [유니티_AR파운데이션(AR Found⋯

태그

  • 유니티 허브
  • 뷰포리아
  • 유니티
  • PlaneDetection
  • TCP/IP 통신
  • Unity
  • Vuforia
  • AR
  • 유니티 설치
  • 증강현실
  • 유니티 프로젝트 생성
  • Unity Tutorial
  • ARFoundation
  • game engine
  • Unity New Project
  • 윤성우의 열혈 TCP/IP 소켓 프로그래밍
  • Unity Hub
  • 유니티 튜토리얼

최근 댓글

  • 깃에 코어 샘플 프로젝트가 있⋯
    SomeDay1332
  • https://developers.google.com⋯
    SomeDay1332
  • 기능을 말씀하시는거죠? 코어⋯
    SomeDay1332
  • https://assetstore.unity.com/⋯
    SomeDay1332
  • 아!! 이건 AR Foundation Remot⋯
    SomeDay1332

최근 글

  • C# 유니티 프로그래밍 간략한⋯
    2022.05.01
  • #3 유니티 에디터 조작과 설명
    2022.04.19
    #3 유니티 에디터 조작과 설명
  • #1 네트워크 프로그래밍과 소켓⋯
    2022.04.19
    #1 네트워크 프로그래밍과 소켓⋯
  • #2 유니티 프로그램 설치
    2022.04.19
    #2 유니티 프로그램 설치
  • #1 유니티 엔진이란?
    2022.04.18
    #1 유니티 엔진이란?

티스토리

hELLO · Designed By 정상우.
SomeDay1332

'언젠가' 시니어 개발자

[유니티_뷰포리아(Vuforia)] 코드 없이 AR 구현하기!
언젠가 증강현실(AR) 개발/뷰포리아 (Vuforia)

[유니티_뷰포리아(Vuforia)] 코드 없이 AR 구현하기!

2020. 2. 29. 17:25

최근 아래의 내용을 유튜브 영상으로 올렸습니다. 영상이 편하신 분들은 아래의 링크를 활용해주세요!
https://youtu.be/eqZrR88r43M


https://youtu.be/LHIpOIaWdhk


안녕하세요.
이번 포스팅에서는 '뷰포리아'라는 AR(증강현실) SDK를 사용하여 AR을 구현해볼텐데요.
단순한 구현은 코드 없이도 가능 합니다!!

뷰포리아는 PTC라는 소프트웨어 회사에서 만든 SDK인데
'이미지 인식'에서는 매우 좋은 SDK라고 생각합니다.

사용하는 에디터는 유니티(Unity)를 사용할 예정입니다.

ㅁ 먼저 유니티를 설치해주셔야 합니다. -> 구글에서 '유니티 허브 다운로드'를 검색하신 후 다운로드 및 프로그램 실행을 해주세요!

그러면 이런 작은 창이 생성되는데 이 창의 우측 상단에 있는 '추가'버튼을 눌러주세요.
최신 출시 버전(정식 릴리스) 중에서 아무거나 받아주세요~


ㅁ Unity 에디터 폴더의 경로에 한글이 들어가면 안됩니다!! 한글 경로가 있으면 경로를 변경하시거나 폴더의 이름을 변경해주세요.

유니티 버전을 설치하신 이후에 우측 상단에 위치한 톱니 바퀴를 누르시고 에디터 폴더를 설정해주세요.
이제 유니티에서 프로젝트를 생성해봅시다!
생성된 기본 프로젝트에요~ 제가 이것 저것 다운 받아놓아서 하단에 있는 폴더들이 조금 많이 있네요!(저처럼 폴더가 많지 않다고 문제 있는 건 아닙니당~)
우측 하단에 원래는 'Download'인데 저는 이미 다운로드를 했기 때문에 'Import'로 되어있네요~ / 'Download'를 클릭 -> 'Import' 클릭!

임포트까지 진행하시면 프로젝트에 임포트하라는 작은 팝업창이 뜨는데 임포트 하시면 되구요~
또, 업데이트 하라는 팝업창도 뜨는데 이것도 업데이트 하시면 됩니다!

이제 구현을 진행하는데 먼저 'Hierarchy'창에 있는 'Main Camera'를 지워줍니다. : 우리는 AR 카메라를 사용할 예정이에요~
삭제 후 '+' 버튼을 눌러 AR Camera를 추가하세요~
또, Image도 추가해주세요!
추가한 Image Target을 보시면 'Image Target Behaviour에 Type이 있습니다.

ㅁ Image Target Behaviour의 Type - Form Database로 변경을 해주시면 '--- EMPTY---'로 나와있어요.
왜냐하면 아직 데이터 베이스를 넣지 않았기 때문입니다.

이제 데이터 베이스를 추가할 건데 데이터 베이스를 추가하기 전에 먼저 '키' 값을 가져오겠습니다.
'키' 값은 데이터 베이스라는 집으로 들어가기 위한 열쇠에요! -> 'AR Camera'를 누르시면 'Vuforia Behaviour'가 있는데 'Open Vuforia Engine configuration'을 눌러요!
이렇게 창이 변경되는데 'Add License'가 비어있죠? 라이센스 키가 비어있으니 가지러 갑시다~ -> 'Add License' 버튼을 누릅니다.

ㅁ 뷰포리아 사이트로 이동하면 우측 상단에 있는 Log In을 누르신 후 계정을 만드셔야 사용 가능합니다.
일단 가입했다는 가정하에 진행하겠습니다~(네이버나 구글 여러 이메일로 가입하시고 가입하신 이메일에 전송된 이메일 인증을 확인하셔야 사용가능합니다.)

외부 인터넷 창으로 이동하는데, 저는 사용 중이기 때문에 여러 키가 보이네요. 'Get Development Key' 버튼을 누릅니다.

 

저는 Vuforia Test 라는 이름의 라이센스 키를 생성하겠습니다. 'Confirm'을 눌러주세요.
생성한 라이센스를 들어갑니다.
생성된 라이센스를 들어가신 후에 생성된 키 값을 복사합니다. (클릭하면 복사돼요~)
복사한 키 값은 저기에 추가하세요!


ㅁ 이제 키를 만들었으니 데이터 베이스를 만들텐데요. 좌측 상단에 위치한 'Target Manager' 탭을 들어갑니다.

오른쪽에 있는 Add Database를 눌러주세요.
저는 Vuforia_Database라는 이름으로 만들게요.(띄어쓰기가 들어가면 안되는 듯 하여 _(언더바)를 추가하였습니다._편하신대로 적으시면 돼요. 하하하)
생성된 이름을 클릭하여 들어갑시다~ 
들어가면 상태에서 좌측에 있는 Add Target을 누릅니다.
이미지로 테스트할 예정이기 때문에 Single Image - Browser를 클릭하여 가져올 이미지를 선택합니다

파일을 넣으실 때 뭐라구 빨간 글씨가 뜨면 대부분 파일 형식이나 파일이 너무 고퀄리티라서 그런거니 그런 경우 '그림판'을 키신 후 해당 이미지를 열고, '다른 이름으로 저장' - 저장하실 파일 이름 아래에 파일 형식을 'jpeg'로 설정하세요. 그러면 파일의 퀄리티를 떨어뜨릴 수 있습니다.

Width는 1로 설정! : 디테일을 따지자면 가져온 해상도를 계상해서 넣는게 더 좋겠죠~ 근데 1 넣어도 잘 돌아가요~
이미지가 추가 됐습니다. 먼저 추가된 이미지의 체크박스를 체크한 후, 우측에 Download Database를 클릭해서 다운로드를 진행합니다.
우리는 유니티에서 사용할 예정이니 유니티 - Download를 눌러줍니당
좌측 하단에 유니티에서 사용할 수 있는 Unitypackage형식으로 파일이 받아졌죠! 이를 클릭하면 현재 열려있는 유니티 창으로 임포트 하기위해 이동해요~
임포트 임포트~!!

 

임포트중
이제 데이터 베이스가 Empty가 아닌 제가 설정한 데이터 베이스 이름인 Vuforia_Database가 생성됐습니다.('Test01'은 제가 테스트 할 때 추가한 것이랍니다~)

이제 키 값과 데이터 베이스도 갖고 왔으니 이제 구현하고 싶은 오브젝트를 고릅니다!

이미지 타겟을 누르신 후 마우스 오른쪽 - 3D Object - Cube를 선택해서 큐브를 생성해봅니다,
이미지 타겟의 Default Trackable Event Handler에서 On Target Found()의 '+'를 눌러서 저렇게 빈칸을 만들어요~
저 빈칸에 아까 만들었던 큐브의 이름을 잡아 끌고와서 넣습니다! (드래그~)
No Function을 눌러서 GameObject - SetActive를 클릭한 후 체크 박스를 누릅니다.

실제로는 코드인데 저렇게 설정하면 코드의 기능을 사용할 수 있어요~
원래는 Cube.SetActive(true); 라는 뜻이고 이미지 마커를 발견했을 때 큐브를 On 상태로 바꾸겠다는 겁니다.

이제 휴대폰 빌드를 해야하기 때문에 유니티 에디터 좌측 상단의 Build Settings를 눌러서 빌드 창을 킵니다.
먼저 Scenes In Build에 여러 Scene이 있을텐데 그건 모두 삭제해주시고요~(delete 키 누르시면 돼요~)                  그리고 우리는 안드로이드로 빌드할 예정이기 때문에 Android를 누르신 후 우측 하단의 Switch Platform을 누릅니다.
이제 아까까지 작업했던 Scene을 올리기 위해 Add Open Scenes를 누릅니다.
휴대폰을 연결하셨으면 이와 같이 뜨는데 우측 하단의 Build And Run을 눌러서 빌드를 진행합니다~
빌드 중이에요~
마커로 사용한 이미지입니다. 프린트를 안해와서 모니터에 켜두었어요~
이미지 인식을 한 후 생성된 큐브!

ㅁ 이렇게 이미지를 인식한 후 원하는 오브젝트를 생성시킬 수 있답니다.
마커는 경계선이 명확한 사진이 좋으며 빛이 반사되는 재질은 이미지 인식이 어려워요~ 흑백이 명확하고 엣지 있는 사진이 잘 된답니다~

추가적으로 생성시킨 책 모델입니다!

ㅁ 아직 일반인들에게 친숙하지 않은 경향이 있지만 AR은 참 재미있는 분야에요~
현실에 대한 기술의 혼합이랄까!
국내외 대기업과 우리나라의 통신사, 관련 기술을 사용하는 여러 중소기업이 존재하고 있어서 점점 더 발전할 것이라 생각합니다~
현재도 여러 SDK가 존재하고 많은 기능이 개발 및 진행되고 있답니다.
이 글을 보신 분들도 자신이 상상하는 여러 콘텐츠를 마음껏 구현해보셨으면 좋겠습니다.

추가적으로 궁금하신 사항이 있으시면 댓글을 남겨주세요~ 평일은 어렵지만 주말에는 확인해서 답글을 달겠습니다 ㅎㅎㅎㅎㅎㅎㅎ
다음 포스팅은 구현한 오브젝트에 간단한 애니메이션을 사용해서 움직이도록 할게요! (현재 사내 프로젝트가 조금.. 쪼오금 많이 바빠서 다음 내용은 3월 초나 3월 중순에 올리도록 하겠습니다!)
오늘 카페 노래가 참 좋네요 ㅋㅋㅋ 모두들 코로나 조심하시고 건강하세요!



ㅁ 빌드시 SDK, JDK, NDK 등의 오류가 나시는 분은 아래의 방법을 사용해주세요.

사용하시는 버전의 점,점,점을 누릅니다. 그리고 '모듈 추가'를 눌러주세요.
안드로이드 빌드 서포트의 하위 모듈을 체크하셔야 SDk, NDK, JDK 설치가 완료됩니다.
API 에러가 뜨시면 여기의 최소 API 레벨을 맞춰주세요.

728x90

'언젠가 증강현실(AR) 개발 > 뷰포리아 (Vuforia)' 카테고리의 다른 글

[유니티_뷰포리아(Vuforia)] 뷰포리아 설정 및 셋팅_2021 업데이트  (0) 2021.08.15
[유니티_뷰포리아(Vuforia)] 코드 없이 AR 구현하기!  (13) 2020.02.29
    '언젠가 증강현실(AR) 개발/뷰포리아 (Vuforia)' 카테고리의 다른 글
    • [유니티_뷰포리아(Vuforia)] 뷰포리아 설정 및 셋팅_2021 업데이트
    AR, Vuforia, 뷰포리아, 유니티, 증강현실
    SomeDay1332
    SomeDay1332
    (❁´◡`❁)
    댓글쓰기
    1. 레드라이프
      2020.03.11 17:06
      열심히 따라해봤는데... jdk 설치 안해서 한 번 실패... 다시 jdk 설치했는데 핸폰 연동이 안되더라구요. 그래서 apk로 빌드 한 다음에 폰으로 옮겨서 깔고 실행했더니 저 scene에 나온 화면만 나오고 카메라로 연동이 안되는데... 이유가 뭘까요. 제가 빼먹은 게 있나 두번 세번 살펴봤는데 위에 나온 내용 중에서는 빼먹은 게 없어요...
      수정/삭제댓글쓰기댓글보기
      1. SomeDay1332
        2020.03.14 19:00 신고
        일단 jdk 설치는 유니티 에디터에서 모듈추가로 설치하실 수 있구요.
        휴대폰에 빌드하셨는데 실제 카메라로 연동이 안된다면
        'Hierarchy' 창에 AR Camera가 있는지 확인해주세요.
        혹시나 Main Camera가 있다면 그런 현상이 일어납니다.
        수정/삭제
      2. SomeDay1332
        2020.03.14 19:05 신고
        글 제일 아래 쪽에 JDK 설치하는 방법을 추가하였습니다.
        수정/삭제
    2. 폴리
      2020.07.16 14:57
      안녕하세요 뷰포리아 사용해서 개발하려고 하는데 가격 정책이 변해서 비영리단체나 학생들에게 제공되는 무료 라이센스가 없다고 들어 무조건 비용을 지불해야 한다고 알고있는데 혹시 무료로 이용할 수 있는 방법이 있나요?
      수정/삭제댓글쓰기댓글보기
      1. SomeDay1332
        2020.07.18 11:18 신고
        개인적으로 사용하고 비영리 목적으로 개발하는 것은 괜찮다고 들었지만, 불특정 다수에게 배포하는 경우는 라이센스를 알아보셔야 할 것 같습니다.
        수정/삭제
    3. 와퍼
      2020.07.20 10:19
      오랫만에 뷰포리아 다루는데 많은 참고가 되었습니다.
      놓칠만한 부분도 잘 설명해주셔서 어려움 없이 따라했네요 ㅎㅎ
      정말 감사드립니다.

      좋은 하루 되세요~
      수정/삭제댓글쓰기댓글보기
      1. SomeDay1332
        2020.07.23 13:48 신고
        봐주셔서 감사합니다 ㅎㅎ
        수정/삭제
    4. 궁금해
      2020.08.20 21:04
      ImageTarget의 Default Trackable Image Handler안에 OnTargetFound같은 칸이 없는데 어떻게하나요ㅠㅠ
      수정/삭제댓글쓰기댓글보기
      1. SomeDay1332
        2020.09.09 13:41 신고
        '+'를 눌러서 칸을 만드시면 됩니다!
        수정/삭제
    5. 조범석
      2020.10.14 22:07
      보고 따라하고 있는 학생입니다 빌드중에 required API LEVEL 26 이라는 오류메세지가 뜨는데 해결방법을 알수 있을까요?
      수정/삭제댓글쓰기댓글보기
      1. SomeDay1332
        2020.11.06 18:02 신고
        답변이 늦어서 죄송합니다.
        유니티 프로젝트에서 PlayerSetting에 들어가신 후에 Player - Other Settings - Minimum API Level 을 26 이상으로 수정하시면 됩니다.

        해당 이슈 이미지 글 제일 아래에 추가하겠습니다.
        수정/삭제
    6. 안고구마
      2020.10.22 23:06
      안녕하세요! 덕분에 처음으로 빌드에 성공했어요 ㅠㅠ 감사합니다. 근데 혹시 안드로이드 폰으로 구동했을 때 폰에서 보는 화질이 급격히 안좋아지는데 ㅠㅠ 그래서 이미지타겟 인식을 못하는 것 같아요. 이 문제 어떻게 해결할 수 있을까요..??ㅠ
      수정/삭제댓글쓰기댓글보기
      1. SomeDay1332
        2020.11.06 18:05 신고
        답변이 늦어서 죄송합니다.

        혹시 뷰포리아 홈페이지에서 마커를 등록하셨을 때 마커로 사용한 이미지의 Rating의 별이 몇개뜨셨나요?

        마커에 빛이 비치거나 그러면 빛 반사 떄문에 인식이 안 되는 경우도 있지만
        마커 자체가 인식률이 낮은 경우도 있답니다!! 한번 확인해주시고 답글 달아주세요~
        수정/삭제
    다음 글
    google search console
    • 이전
    • 1
    • ···
    • 34
    • 35
    • 36
    • 37
    • 38
    • 다음