KR20200145698A - 증강 현실 기반의 3차원 조립 퍼즐을 제공하는 방법 및 단말 - Google Patents

증강 현실 기반의 3차원 조립 퍼즐을 제공하는 방법 및 단말 Download PDF

Info

Publication number
KR20200145698A
KR20200145698A KR1020200070435A KR20200070435A KR20200145698A KR 20200145698 A KR20200145698 A KR 20200145698A KR 1020200070435 A KR1020200070435 A KR 1020200070435A KR 20200070435 A KR20200070435 A KR 20200070435A KR 20200145698 A KR20200145698 A KR 20200145698A
Authority
KR
South Korea
Prior art keywords
dimensional block
dimensional
touch
block
touch input
Prior art date
Application number
KR1020200070435A
Other languages
English (en)
Other versions
KR102396390B1 (ko
Inventor
희 남
최서아
Original Assignee
주식회사 상헌
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 상헌 filed Critical 주식회사 상헌
Publication of KR20200145698A publication Critical patent/KR20200145698A/ko
Application granted granted Critical
Publication of KR102396390B1 publication Critical patent/KR102396390B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F9/00Games not otherwise provided for
    • A63F9/06Patience; Other games for self-amusement
    • A63F9/0612Electronic puzzles
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63HTOYS, e.g. TOPS, DOLLS, HOOPS OR BUILDING BLOCKS
    • A63H33/00Other toys
    • A63H33/04Building blocks, strips, or similar building parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Architecture (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)

Abstract

증강 현실 기반의 3차원 조립 퍼즐을 제공하는 방법 및 단말이 개시된다. 이때, 적어도 하나의 프로세서에 의해 동작하는 단말이 증강 현실(Augmented Reality, AR) 기반의 3차원 조립 퍼즐을 제공하는 방법으로서, 상기 단말에 설치된 카메라를 통해 획득한 실 영상을 화면에 출력하는 단계, 상기 화면 상에 터치 입력이 발생하면, 기하학적 형태를 가진 복수의 칸이 형성된 그리드 및 상기 복수의 칸에 대응하는 형태를 가진 복수의 입체 블록을 가시화하는 단계, 상기 복수의 입체 블록중 사용자의 터치 입력이 발생한 입체 블록을 상기 터치 입력에 따라 이동시켜 상기 복수의 칸 중 하나의 칸에 배치하는 단계, 배치된 입체 블록의 위치값이 상기 복수의 입체 블록 각각에 대하여 사전에 설정된 최종 목표 위치값을 충족하는 미션의 완료 여부를 판단하는 단계, 그리고 상기 미션의 완료로 판단되면, 상기 입체 블록들이 조립된 완성체에 대응하는 기 정의된 3차원 모형을 가시화하는 단계를 포함하고, 상기 배치하는 단계는, 스냅(snap) 기능을 이용하여 상기 입체 블록을 상기 하나의 칸에 배치할 수 있다.

Description

증강 현실 기반의 3차원 조립 퍼즐을 제공하는 방법 및 단말{METHOD AND TERMINAL UNIT FOR PROVIDING 3D ASSEMBLING PUZZLE BASED ON AUGMENTED REALITY}
본 발명은 증강 현실 기반의 3차원 조립 퍼즐을 제공하는 방법 및 단말에 관한 것이다.
스마트 교육이 시작되고 기술을 활용한 다양한 교육 방법이 진화되면서 수업 방법이 변화될 수밖에 없으며 학생들도 변화된 기술을 활용한 수업에 집중하고 익숙해하고 있다.
유아와 어린이들이 증강현실에서 동화 속 주인공처럼 체험할 수 있는 '체험형 동화 구연 서비스' 및 직접 가볼 수 없는 우주공간에 나가서 우주를 체험 관찰하거나 해외에 나가지 않고도 그 나라의 언어 및 문화를 체험할 수 있는 '체험형 학습 서비스' 등 증강현실 기술을 활용한 교육 사례가 늘고 있는 추세이다.
본 발명이 해결하고자 하는 하나의 과제는 증강 현실(Augmented Reality, AR)을 기반으로 퍼즐 게임 형태의 3차원 조립 퍼즐을 제공하는 방법 및 그 단말을 제공하는 것이다.
본 발명의 하나의 특징에 따르면, 적어도 하나의 프로세서에 의해 동작하는 단말이 증강 현실(Augmented Reality, AR) 기반의 3차원 조립 퍼즐을 제공하는 방법으로서, 상기 단말에 설치된 카메라를 통해 획득한 실 영상을 화면에 출력하는 단계, 상기 화면 상에 터치 입력이 발생하면, 기하학적 형태를 가진 복수의 칸이 형성된 그리드 및 상기 복수의 칸에 대응하는 형태를 가진 복수의 입체 블록을 가시화하는 단계, 상기 복수의 입체 블록중 사용자의 터치 입력이 발생한 입체 블록을 상기 터치 입력에 따라 이동시켜 상기 복수의 칸 중 하나의 칸에 배치하는 단계, 배치된 입체 블록의 위치값이 상기 복수의 입체 블록 각각에 대하여 사전에 설정된 최종 목표 위치값을 충족하는 미션의 완료 여부를 판단하는 단계, 그리고 기 미션의 완료로 판단되면, 상기 입체 블록들이 조립된 완성체에 대응하는 기 정의된 3차원 모형을 가시화하는 단계를 포함하고, 상기 배치하는 단계는, 스냅(snap) 기능을 이용하여 상기 입체 블록을 상기 하나의 칸에 배치한다.
상기 스냅 기능은, 상기 터치 입력의 이동 변위에 따른 상기 입체 블록의 현재 위치값이 상기 복수의 칸 중 어느 하나의 칸에 미치지 못하는 경우, 상기 현재 위치값과 상기 복수의 칸 각각의 위치값을 기초로 상기 입체 블록과 상기 복수의 칸 간의 거리값을 계산하여, 상기 거리값이 가장 최소인 칸으로 상기 입체 블록을 자동 배치하는 기능일 수 있다.
상기 배치하는 단계는, 터치 입력이 발생한 제1 입체 블록에 대하여 상기 터치 입력의 이동 변위에 따른 현재 위치값이 상기 복수의 칸 중에서 이미 제2 입체 블록이 배치된 칸인 경우, 상기 제1 입체 블록을 상기 제2 입체 블록이 배치된 칸에 배치하고 상기 제2 입체 블록을 상기 제1 입체 블록의 이전 위치로 이동시킬 수 있다.
상기 배치하는 단계는, 터치 입력이 발생한 제1 입체 블록을 상기 터치 입력의 이동 변위에 따라 이동시킬때 특정 지점에 이미 배치된 제2 입체 블록과 겹치는 경우, 상기 제1 입체 블록을 상기 제2 입체 블록의 높이만큼 상기 제2 입체 블록의 상부로 띄우면서 이동시키거나 또는 상기 제1 입체 블록과 상기 제2 입체 블록이 겹쳐지는 시점에 상기 제2 입체 블록을 투명하게 만들어 상기 제1 입체 블록이 상기 제2 입체 블록을 통과하는 시각적 효과를 상기 화면 상에 가시화할 수 있다.
상기 터치 입력은, 입체 블록을 터치하는 터치 시작, 입체 블록에서 터치를 떼는 터치 종료, 입체 블록을 터치한 채로 화면 상의 특정 지점까지 움직이는 터치 이동 및 입체 블록에 구비된 버튼을 클릭하여 입체 블록을 정해진 각도만큼 이동하는 터치 회전을 포함하고,
상기 배치하는 단계는, 상기 터치 시작, 상기 터치 종료, 상기 터치 이동 및 상기 터치 회전의 연속된 동작을 통하여 상기 입체 블록을 상기 그리드 상의 특정 칸에 배치하며,
상기 미션의 완료 여부는, 상기 터치 입력이 발생한 입체 블록의 위치값 및 회전값이 사전에 설정된 값을 만족하는지 판단하고,
상기 사전에 설정된 값은, 입체 블록 별로 상기 최종 목표 위치값으로서 각각 대응하는 특정 칸의 위치값 및 상기 특정 칸에서의 입체 블록의 회전값이 설정된 것일 수 있다.
상기 입체 블록은, 이벤트 포인트를 포함하는 3차원 객체가 배치되어 있으며, 상기 기 정의된 3차원 완성체를 가시화하는 단계 이후, 상기 이벤트 포인트를 선택하는 사용자 터치 입력이 발생하면, 상기 이벤트 포인트에 설정된 시각적 효과 또는 청각적 효과를 출력하는 단계를 더 포함할 수 있다.
본 발명의 다른 특징에 따르면, 단말은 카메라, 터치스크린, 서버 장치와 네트워크를 통해 데이터를 송수신하는 통신 장치, 증강 현실(Augmented Reality, AR) 기반의 3차원 조립 퍼즐을 제공하는 프로그램을 로딩하는 메모리, 그리고 상기 프로그램을 실행하는 프로세서를 포함하고, 상기 프로세서는, 상기 카메라를 통해 획득한 실 영상을 상기 터치스크린의 화면 상에 출력하고, 상기 터치스크린으로부터 터치 입력 신호가 전달되면 기하학적 형태를 가진 복수의 칸이 형성된 그리드 및 상기 복수의 칸에 대응하는 형태를 가진 복수의 입체 블록을 상기 터치스크린의 화면 상에 가시화하며, 상기 복수의 입체 블록중 사용자의 터치 입력이 발생한 입체 블록을 상기 터치 입력에 따라 이동시켜 상기 복수의 칸 중 하나의 칸에 배치하되, 상기 터치 입력의 이동 변위에 따른 상기 입체 블록의 현재 위치값이 상기 복수의 칸 중 어느 하나의 칸에 미치지 못하는 경우, 상기 현재 위치값과 상기 복수의 칸 각각의 위치값을 기초로 상기 입체 블록과 상기 복수의 칸 간의 거리값을 계산하여, 상기 거리값이 가장 최소인 칸으로 상기 입체 블록을 자동 배치하고, 배치된 입체 블록의 위치값이 상기 복수의 입체 블록 각각에 대하여 사전에 설정된 최종 목표 위치값을 만족하면, 상기 입체 블록들이 조립된 기 정의된 3차원 완성체를 가시화한다.
상기 단말은 IMU(Inertial Measurement Unit)를 더 포함하고, 상기 프로세서는, 상기 카메라로부터 수신한 실 영상으로부터 추출한 특징점 및 상기 IMU로부터 전달되는 측정 데이터를 기초로 상기 실 영상에서 수평면을 탐색하고, 상기 수평면 상에 터치 입력이 발생하면 상기 그리드 및 상기 복수의 입체 블록을 가시화하고, 상기 입체 블록을 터치하는 터치 시작, 상기 입체 블록에서 터치를 떼는 터치 종료, 상기 입체 블록을 터치한 채로 화면 상의 특정 지점까지 움직이는 터치 이동 및 상기 입체 블록에 구비된 버튼을 클릭하여 상기 입체 블록을 정해진 각도만큼 이동하는 터치 회전의 연속된 동작을 통하여 상기 입체 블록을 상기 그리드 상의 특정 칸에 배치하며, 상기 터치 입력이 발생한 입체 블록의 위치값 및 회전값이 사전에 입체 블록 별로 설정된 특정 칸의 위치값 및 상기 특정 칸에서의 입체 블록의 회전값을 충족하면, 상기 기 정의된 3차원 완성체를 가시화할 수 있다.
본 발명의 실시예에 따르면, 기존의 2차원 멀티미디어 학습 콘텐츠를 벗어나 보다 흥미 있고 몰입할 수 있는 퍼즐 게임 형태의 3차원 조립 퍼즐을 제공함으로써, 시나리오에 따라 결정된 특정 나라의 문화와 예술, 기념 및 상징물, 동식물 환경, 기후 등 다양한 학습 콘텐츠를 제공하는 것으로 단순히 시각적 즐거움 뿐이 아닌 학습 동기 유발과 학습의 성과를 높일 수 있다.
도 1은 본 발명의 실시예에 따른 증강 현실(Augmented Reality, AR) 기반의 3차원 조립 퍼즐을 제공하는 시스템 구성도이다.
도 2는 본 발명의 한 실시예에 따른 증강 현실 기반의 3차원 조립 퍼즐을 제공하는 방법을 나타낸 순서도이다.
도 3은 본 발명의 다른 실시예에 따른 증강 현실 기반의 3차원 조립 퍼즐을 제공하는 방법을 나타낸 순서도이다.
도 4는 본 발명의 한 실시예에 따른 초기 증강 현실 화면의 예시도이다.
도 5는 본 발명의 한 실시예에 따른 입체 블록 및 그리드를 가시화한 화면의 예시도이다.
도 6 및 도 7은 본 발명의 한 실시예에 따른 입체 블록을 배치하는 과정을 설명하는 예시도이다.
도 8은 본 발명의 한 실시예에 따른 입체 블록들의 조립 완성체를 나타낸 예시도이다.
도 9는 본 발명의 한 실시예에 따른 조립 완성체에 대응하는 3차원 모형의 예시도이다.
도 10 및 도 11은 본 발명의 다른 실시예에 따른 입체 블록 및 그리드를 가시화한 화면의 예시도이다.
도 12는 본 발명의 다른 실시예에 따른 입체 블록을 배치하는 과정을 설명하는 예시도이다.
도 13은 본 발명의 또 다른 실시예에 따른 입체 블록들의 예시도이다.
도 14는 도 13의 입체 블록들의 조립이 완성된 3차원 모형의 예시도이다.
도 15는 본 발명의 또 다른 실시예에 따른 입체 블록들의 예시도이다.
도 16은 도 15의 입체 블록들의 조립이 완성된 3차원 모형의 예시도이다.
도 17은 본 발명의 실시예에 따른 단말의 하드웨어 구성을 나타낸 블록도이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함" 한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
또한, 명세서에 기재된 "…부", "…기", "…모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
본 발명에서 설명하는 장치들은 적어도 하나의 프로세서, 메모리 장치, 통신 장치 등을 포함하는 하드웨어로 구성되고, 지정된 장소에 하드웨어와 결합되어 실행되는 프로그램이 저장된다. 하드웨어는 본 발명의 방법을 실행할 수 있는 구성과 성능을 가진다. 프로그램은 도면들을 참고로 설명한 본 발명의 동작 방법을 구현한 명령어(instructions)를 포함하고, 프로세서와 메모리 장치 등의 하드웨어와 결합하여 본 발명을 실행한다.
도 1은 본 발명의 실시예에 따른 증강 현실(Augmented Reality, AR) 기반의 3차원 조립 퍼즐을 제공하는 시스템 구성도이다.
도 1을 참조하면, 단말(100)은 네트워크(200)를 통하여 어플리케이션 서버(300)에 접속한다.
단말(100)은 사용자가 소지하는 모바일 디바이스로서, 사용자의 키 조작 또는 명령에 따라 각종 데이터를 송수신하고 증강 현실 서비스를 제공하는 장치를 일컫는다. 실시예에 따라서, 단말(100)은 태블릿 PC(Tablet PC), 랩톱(Laptop), 개인용 컴퓨터(PC, Personal Computer), 스마트폰(Smart Phone), 개인 정보 단말기(PDA, Personal Digital Assistant), 이동통신 단말기(Mobile Communication Terminal) 및 노트북(NoteBook) 등을 포함할 수 있다.
단말(100)은 카메라(101), IMU(Inertial Measurement Unit)(103), 터치스크린(105) 및 3차원 조립 퍼즐 어플리케이션(107)을 포함한다.
카메라(101)는 3차원 조립 퍼즐 어플리케이션(107)의 실행 시점부터 작동을시작하여 단말(100)의 주변 환경을 촬영하고, 촬영된 주변 환경의 실 영상을 3차원 조립 퍼즐 어플리케이션(107)으로 전달한다. 이때, 전달되는 실 영상은 촬영 속도(예, PPS(Pictures Per Second), FPS(Frame Per Second))에 따라 지정된 단위 시간 동안 전달되는 복수개의 촬영 이미지일 수 있다. 즉, 사진 모드가 아닌 비디오 모드에서의 촬영된 실 영상이 3차원 조립 퍼즐 어플리케이션(107)으로 전달된다.
IMU(103)는 관성 측정기(Inertial measurer)라고도 나타낼 수 있다. IMU(103)는 단말(100)의 자세 변환, 위치 이동에 대한 변화 속도 및 변위량을 측정할 수 있다. IMU(103)는 관성 가속도에 기초하여 단말(100)의 위치 및 배향 변화들을 감지하도록 구성되는 센서들의 조합이 될 수 있다. 예를들어, 센서들의 조합은, 가속도계들 및 자이로스코프들을 포함할 수 있다. IMU(103)의 동작 원리는 공지되어 있으므로, 자세한 설명은 생략한다.
터치스크린(105)은 입력부와 표시부로서의 기능을 한다. 터치스크린(105)은 3차원 조립 퍼즐 어플리케이션(107)이 출력하는 증강 현실 화면을 출력한다. 터치스크린(105)은 증강 현실 화면 상에서 사용자의 터치 입력을 감지하여 이를 3차원 조립 퍼즐 어플리케이션(107)으로 전달한다.
3차원 조립 퍼즐 어플리케이션(107)은 어플리케이션 서버(300)와 연동하여 동작한다. 3차원 조립 퍼즐 어플리케이션(107)은 통상적으로 '앱(App.)'이라고도 하며, 각종 어플리케이션 마켓 등을 통해 유료 또는 무료로 다운로드되어 설치된 후 사용될 수 있다.
한 실시예에 따르면, 3차원 조립 퍼즐 어플리케이션(107)은 사용자의 터치 입력 신호를 어플리케이션 서버(300)로 전달하고, 어플리케이션 서버(300)에서 결정된 제어 신호에 따라 출력을 제어할 수 있다. 즉, 증강 현실 기반의 3차원 조립 퍼즐을 제공하기 위한 제어 주체가 어플리케이션 서버(300)일 수 있다.
다른 실시예에 따르면, 3차원 조립 퍼즐 어플리케이션(107)이 증강 현실 기반의 3차원 조립 퍼즐의 제공 주체이되, 어플리케이션 서버(300)에 접속된 상태에서 동작할 수 있다.
3차원 조립 퍼즐 어플리케이션(107)은 증강 현실을 기반으로 3차원 조립 퍼즐을 제공한다. 3차원 조립 퍼즐 어플리케이션(107)은 카메라(101)가 촬영한 실 영상 화면에서 사용자가 터치한 지점에 3차원 조립 퍼즐을 가시화한 증강 현실 화면을 출력한다.
3차원 조립 퍼즐은 복수의 입체 블록으로 분할되어 있으며, 각 입체 블록이 조립되어 특정 형상을 지닌 3차원 완성체가 된다.
각 입체 블록은 서로 동일한 형상 또는 서로 다른 형상을 가질 수 있다. 각 입체 블록이 조립된 3차원 완성체의 형상은 각 입체 블록의 형상과 다를 수 있다.
각 입체 블록은 3차원 지형, 특정 지역에 관련한 시설물, 움직일 수 있는 다양한 3차원 콘텐츠들 중 하나로 구현될 수 있으나, 이는 예시일 뿐 이에 국한되는 것은 아니다.
3차원 조립 퍼즐 어플리케이션(107)은 3차원 완성체와 함께 3차원 완성체에 매칭되는 주요 도시의 유명한 건축 기념물, 나라별 음식, 자연의 아름다움, 문화와 예술작품들, 기후 변화 등 다양한 3차원 콘텐츠와 음성 설명을 함께 제공할 수 있다. 따라서, 3차원 조립 퍼즐 어플리케이션(107)은 2차원 멀티미디어 학습 콘텐츠 보다 흥미있고 몰입할 수 있는 퍼즐 게임 형태의 3차원 조립 퍼즐 콘텐츠를 제공할 수 있고, 특정 나라의 문화와 예술, 기념 및 상징물, 동식물 환경, 기후 등 다양한 학습 콘텐츠를 제공할 수 있어 단순히 시각적 즐거움 뿐만 아니라 학습 동기 유발과 학습의 성과를 높일 수 있다.
3차원 조립 퍼즐 어플리케이션(107)은 별도의 퍼즐 학습 교구 또는 트래킹 마커가 없이도 수평면을 감지할 수 있는 증강 현실 기술을 이용하여 다양한 3차원 조립 퍼즐을 제공할 수 있다.
3차원 조립 퍼즐은 건물이나 구조물 또는 식물 등과 같은 입체적인 구조물 퍼즐, 캐릭터를 구현하는 퍼즐을 포함할 수 있으나, 이에 국한되지는 않는다.
3차원 조립 퍼즐 어플리케이션(107)은 증강 현실(AR) 엔진(109) 및 3차원 퍼즐 제공부(111)를 포함한다. 증강 현실(AR) 엔진(109)과 3차원 퍼즐 제공부(111)는 3차원 조립 퍼즐 어플리케이션(107)이 수행하는 특정 기능 또는 특정 동작으로 구분된다.
증강 현실(AR) 엔진(109)은 단말(100)에서 증강 현실을 구현하기 위한 제반 기능을 수행한다. 3차원 퍼즐 제공부(111)는 증강 현실(AR) 엔진(109)과 연동하여 증강 현실을 기반으로 3차원 조립 퍼즐을 제공하기 위한 제반 기능을 수행한다.
터치스크린(105)로부터 전달되는 터치 입력은 증강 현실(AR) 엔진(109) 및 3차원 퍼즐 제공부(111)로 제공된다. 증강 현실(AR) 엔진(109) 및 3차원 퍼즐 제공부(111)는 터치 입력을 해석하여 이동 변위를 산출할 수 있다. 이때, 3차원 퍼즐 제공부(111)는 증강 현실(AR) 엔진(109)가 산출한 이동 변위를 전달받을 수 있다.
3차원 퍼즐 제공부(111)는 정해진 시나리오에 따라 동작하며, 이동 변위가 전달되면 그에 따른 증강 현실 동작을 구현하도록 증강 현실(AR) 엔진(109)을 제어할 수 있다.
증강 현실(AR) 엔진(109)은 카메라(101)로부터 전달되는 실 영상 및 IMU(103)로부터 전달되는 측정 데이터를 기초로 실 영상 화면에서 수평면을 감지하고, 수평면의 3차원 좌표를 도출하여 3차원 퍼즐 제공부(111)로 제공할 수 있다. 3차원 퍼즐 제공부(111)는 3차원 좌표를 기초로 증강 현실 화면에 구현할 객체 또는 오브젝트를 결정하고 객체 또는 오브젝트의 액션을 결정하여 이를 구현하도록 증강 현실(AR) 엔진(109)을 제어할 수 있다. 이처럼, 증강 현실(AR) 엔진(109)은 증강 현실 화면을 구현하는 동작을 수행하고, 3차원 퍼즐 제공부(111)는 증강 현실(AR) 엔진(109)을 제어하여 본 발명의 실시예에 따른 3차원 조립 퍼즐을 제공하기 위한 일련의 제어 동작을 수행한다.
증강 현실(AR) 엔진(109)은 구글(Google)의 ARCore 또는 애플(Apple)의 ARKit를 이용하여 구현될 수 있다.
증강 현실(AR) 엔진(109)은 ARCore 또는 ARKit의 모션 추적 기술에 사용되는 특징점을 활용하여 실 영상에서 수평면을 감지한다. 이때, 증강 현실(AR) 엔진(109)은 카메라(101)로부터 전달되는 실 영상으로부터 특징점을 추출하는데, 특징점을 추출하는 방식은 ARCore 또는 ARKit의 모션 추적 기술을 이용하므로 자세한 설명은 생략한다.
증강 현실(AR) 엔진(109)은 IMU(103)로부터 전달되는 측정 데이터를 기초로 단말(100)의 움직임에 따른 단말(100)의 위치 및 방향을 결정한다. 이때, IMU(103)에서 전달받은 측정 데이터를 토대로 단말(100)의 위치 및 방향을 결정하는 구체적인 원리는 공지된 기술에 해당하므로, 자세한 설명은 생략한다.
증강 현실(AR) 엔진(109)은 실 영상에서 추출한 특징점과 단말(100)의 위치 및 방향을 토대로 실 영상 내에서 수평면을 감지한다. 이때, 수평면을 감지하는 구체적인 원리는 ARCore 또는 ARKit의 구현 원리에 따르므로, 자세한 설명은 생략한다.
증강 현실(AR) 엔진(109)은 표 1과 같은 동작을 수행할 수 있다.
구분 설명
객체 인식(Recognition) 화면상에 RGB색상 분포도 및 농도 분석 통해 영상속에서 물체를 인지함
객체 검출(Detection) 객체가 어디에 있는지 확인함
객체 추적( Tracking) 객체의 위치변화를 확인함
증강 현실(AR) 엔진(109)은 객체 인식을 통해 카메라(101)를 통해 보이는 실영상에서 바닥면의 사이즈를 측정하고, 객체 검출을 통해 바닥면의 위치를 선정하며, 객체 추적을 통해 바닥면의 위치를 변화시킨다.
증강 현실(AR) 엔진(109)은 영상 내 배치된 3차원 축을 기준으로 카메라 시점이 이동할 때마다 객체 인식(바닥면의 사이즈 측정), 객체 검출(바닥면의 위치 선정), 객체 추적(바닥면의 위치 변화)을 반복 수행하여 바닥 면 객체, 즉, 수평면을 인식하고 수평면을 구성하는 특이점을 검출할 수 있다.
카메라(101)을 통해 획득한 실 영상 화면은 수많은 픽셀로 구성되어 있으며 사용자 시점의 3차원 축 기준으로 일정거리 간격으로 유사 RGB 색상 및 농도를 가진 픽셀을 추출하여 사물의 형태를 정의할 수 있다.
사용자에 의한 카메라 시점 변화를 통해 객체의 위치를 검출할 수 있으며 유사한 높이 값(z축 높이값)을 가진 픽셀을 특이점으로 정의한다. 이렇게 도출된 특이점에 대한 정보(3차원 축 정보, 색상정보, 위치정보)를 저장하여 카메라가 다른 시점으로 이동했을 때 3차원 축 변화량과 객체 추적을 통해 특이점의 상관성 및 연속성을 체크하여 바닥면을 인식한다.
증강 현실(AR) 엔진(109)에 의해 감지된 수평면은 입체 블록들이 놓이는 기본 베이스가 된다.
증강 현실(AR) 엔진(109)에 의해 감지된 수평면은 터치스크린(105)이 출력하는 화면 상의 일정 범위를 가진 영역으로서, 그 영역은 3차원 좌표(x, y, z)들로 표현된다. 사용자가 화면 상의 수평면을 터치하면, 증강 현실(AR) 엔진(109)은 터치스크린(105)으로부터 터치 입력을 전달받고, 수평면 상에서 터치 입력이 발생한 지점에 대한 위치(3차원 좌표)를 도출할 수 있다.
3차원 퍼즐 제공부(111)는 증강 현실(AR) 엔진(109)이 도출한 터치 입력이 발생한 위치와 근접한 위치에 그리드(Grid)와 입체 블록들을 가시화한다.
3차원 퍼즐 제공부(111)는 입체 블록들을 랜덤(Random) 함수를 통해 그리드가 가시화된 지점과 근접한 지점에 랜덤으로 배치한다.
여기서, 그리드는 입체 블록들이 놓여질 위치를 가이드하며, 후술할 도 5에도시한 바와 같이 그리드(P15)는 완성체의 2차원 형태를 가질 수 있다. 예를들어, 그리드의 형태는 사각 모양, 육각 모양 등 다양한 기하학적 형태일 수 있다.
3차원 퍼즐 제공부(111)는 카메라(101)를 통해 획득한 실 영상을 터치스크린(105)의 화면에 출력한다. 3차원 퍼즐 제공부(111)는 터치스크린(105)에 출력된 화면 상에 터치 입력이 발생하면, 증강 현실(AR) 엔진(109)을 구동하여 기하학적 형태를 가진 복수의 칸이 형성된 그리드 및 복수의 칸에 대응하는 형태를 가진 복수의 입체 블록을 터치스크린(105)에 가시화한다.
3차원 퍼즐 제공부(111)는 복수의 입체 블록중 사용자의 터치 입력이 발생한 입체 블록을 터치 입력에 따라 이동시켜 복수의 칸 중 하나의 칸에 배치한다. 이때, 배치된 입체 블록의 위치값이 복수의 입체 블록 각각에 대하여 사전에 설정된 최종 목표 위치값을 충족하는 미션의 완료 여부를 판단한다.
3차원 퍼즐 제공부(111)는 미션의 완료로 판단되면, 입체 블록들이 조립된 완성체에 대응하는 기 정의된 3차원 모형을 가시화한다.
3차원 퍼즐 제공부(111)는 터치스크린(105)으로부터 전달되는 터치 입력을 해석하여 이동 변위를 계산하고, 이를 기초로 사용자 액션을 결정한다.
사용자 액션은 입체 블록의 조립을 위한 동작으로서, 크게 다음 표 2와 같이 정의할 수 있다.
액션 구분 액션 설명
터치 시작(Touch_Begin) 입체 블록을 터치하여 선택함
터치 종료(Touch_End) 입체 블록이 배치하고자 하는 위치에 있을 때 화면상에 터치를 뗌(이때, 터치 종료가 되는 순간 스냅 기능이 작동하여 입체 블록은 그리드 중 가까운 지점에 자동배치됨)
터치 이동(Touch_Move) 입체 블록을 터치한 상태로 특정 위치로 이동함
터치 회전 회전 버튼으로서 화면 상의 특정 지점 또는 가시화된 입체 블록에 형성될 수 있고, 회전 버튼을 터치하면 입체 블록이 기 정의된 회전각으로 회전함(예, 1회 터치 하면 15도 회전, 2회 터치하면 45도 회전, 3회 터치하면 90도 회전할 수 있음)
표 2에 나타낸 바와 같이, 3차원 퍼즐 제공부(111)는 입체 블록을 터치하는 터치 시작, 입체 블록에서 터치를 떼는 터치 종료, 입체 블록을 터치한 채로 화면 상의 특정 지점까지 움직이는 터치 이동 및 입체 블록에 구비된 버튼을 클릭하여 입체 블록을 정해진 각도만큼 이동하는 터치 회전의 연속된 동작을 통하여 입체 블록을 그리드 상의 특정 칸에 배치하도록 증강 현실(AR) 엔진(109)을 제어한다.
입체 블록들은 사용자가 직접 이동 및 회전시킬 수 있도록 설정되어 있다. 이때, 각 입체 블록의 회전각은 특정 각도로 미리 설정되어 있다. 예를들어, 회전각은 15도, 45도, 90도일 수 있다. 3차원 퍼즐 제공부(111)는 터치스크린(105)으로부터 사용자가 입체 블록을 회전시키는 터치 입력이 전달되면, 터치 입력을 해석하여 이동 변위를 계산하는데, 이동 변위에 따른 회전각이 15도를 초과하거나 15도 이내이더라도 15도만큼만 입체 블록을 회전시켜 터치스크린(105)의 화면에 가시화할 수 있다.
3차원 퍼즐 제공부(111)는 스냅(snap) 기능을 이용하여 입체 블록을 하나의 칸에 배치하도록 유도할 수 있다. 구체적으로, 3차원 퍼즐 제공부(111)는 터치 입력의 이동 변위에 따른 입체 블록의 현재 위치값이 복수의 칸 중 어느 하나의 칸에 미치지 못하는 경우, 현재 위치값과 복수의 칸 각각의 위치값을 기초로 입체 블록과 복수의 칸 간의 거리값을 계산하여, 거리값이 가장 최소인 칸으로 입체 블록을 자동 배치하는 스냅 기능을 구현할 수 있다.
즉, 입체 블록이 이동한 위치와 그리드 칸들 각각의 위치 사이의 거리에 따라 스냅 기능을 제공한다. 스냅 기능에 따르면, 터치 입력에 따라 입체 블록이 그리드 칸의 위치에 정확히 다다르지 못하더라도 터치 입력에 따라 이동한 입체 블록의 현재 위치와 가장 근접한 그리드 칸에 입체 블록을 자동으로 배치할 수 있다.
3차원 퍼즐 제공부(111)는 생성된 그리드 칸의 각 위치 정보를 List 함수에 저장한다. 그리고 활성화 객체의 위치과 List 함수에 저장된 각 그리드 칸의 도달 거리 값을 실시간으로 계산하여 거리 값이 가장 작은 그리드 칸의 위치를 스냅되는 위치로 정한다. 단, 스냅 기능은 표 1의 터치 종료에 해당하는 터치 입력이 발생한 경우 실행되고, 입체 블록의 이동 변위값과 그리드 칸 간의 거리값이 일정 거리값을 어나면 실행되지 않는다.
3차원 퍼즐 제공부(111)는 다음과 같이 터치 입력 이벤트에 따른 객체를 처리할 수 있다. 즉, 3차원 퍼즐 제공부(111)는 터치 입력이 발생한 제1 입체 블록에 대하여 터치 입력의 이동 변위에 따른 현재 위치값이 복수의 칸 중에서 이미 제2 입체 블록이 배치된 칸인 경우, 제1 입체 블록을 제2 입체 블록이 배치된 칸에 배치하고 제2 입체 블록을 제1 입체 블록의 이전 위치로 이동시킬 수 있다. 즉, 제1 입체 블록의 처음 배치 위치로 제2 입체 블록을 이동시키고 제2 입체 블록이 배치되어 있던 그리드 칸에 제1 입체 블록을 배치시킨다.
또한, 3차원 퍼즐 제공부(111)는 터치 입력이 발생한 제1 입체 블록을 터치 입력의 이동 변위에 따라 이동시킬때 특정 지점에 이미 배치된 제2 입체 블록과 겹치는 경우, 제1 입체 블록을 제2 입체 블록의 높이만큼 제2 입체 블록의 상부로 띄우면서 이동시킬 수 있다. 또는 3차원 퍼즐 제공부(111)는 제1 입체 블록과 제2 입체 블록이 겹쳐지는 시점에 제2 입체 블록을 투명하게 만들어 제1 입체 블록이 제2 입체 블록을 통과하는 시각적 효과를 화면 상에 가시화하도록 증강 현실(AR) 엔진(109)을 제어할 수 있다.
3차원 퍼즐 제공부(111)는 입체 블록에 대한 터치 종료 이벤트가 발생할때마다 그 입체 블록에 대한 미션 완료 여부를 판단한다. 3차원 퍼즐 제공부(111)는 모든 입체 블록이 목표치에 도달했는지 아니면 아직 진행 중인지에 대한 상황을 판단하며 미션 완료를 체크할 수 있다.
3차원 퍼즐 제공부(111)는 표 3과 같이 입체 블록에 대한 사전 정보를 저장할 수 있다.
항목 설명
텍스처(Texture) 3D 형태에 입혀지는 텍스쳐 이미지 (산,물,대지 등)
미션완료 정보 목표 위치값 및 회전값 : 미리 정의된 최종 목표(그리드 칸)에 해당하는 x,y,z값의 위치값 및 회전값
활성화 되기 전의 위치 및 회전값 a) 블록이 랜덤함수에 의해 처음 배치될 때 위치 및 회전값 저장함b) 활성화 객체가 그리드 상에 위치한 다른 퍼즐조각이 있는 곳으로 이동할 때 상호 위치 교차하고(이벤트 발생) 새로 이동한 위치에 대한 위치 및 회전값 새로 갱신함
c) 활성화 객체가 퍼즐 조각이 없는 곳으로 이동할 때 이벤트 없이 새로 이동한 위치에 대한 위치 및 회전값만 새로 갱신함
이벤트 포인트 정보 -퍼즐 시나리오에 따라 다양한 이벤트(음성제공,애니메이션 구현,영상출력 등)를 제공할 수 있음-이벤트 발생은 사용자가 직접 블록상에 위치한 포인트를 터치하여 발생시킴
-이벤트 포인트 정보는 다음과 같은 정보를 가지고 있음
a) 포인트 위치에 대한 블록상 상대좌표
b) 발생시킬 이벤트 성격에 대한 매개변수
표 3에서, 활성화 객체는 터치 입력이 발생한 입체 블록을 말한다.
3차원 퍼즐 제공부(111)는 터치 입력이 발생한 입체 블록의 위치값 및 회전값이 사전에 설정된 값을 만족하는지 판단할 수 있다. 여기서, 사전에 설정된 값은, 표 2에서 미션완료 정보를 의미하는데, 입체 블록 별로 최종 목표 위치값으로서 각각 대응하는 특정 칸의 위치값 및 특정 칸에서의 입체 블록의 회전값이 설정된다.
입체 블록은 이벤트 포인트를 포함하는 3차원 객체가 배치되어 있을 수 있다. 3차원 퍼즐 제공부(111)는 입체 블록들이 조립된 3차원 완성체를 가시화한 이후, 입체 블록 상의 이벤트 포인트를 선택하는 터치 입력이 발생하면, 이벤트 포인트에 설정된 시각적 효과 또는 청각적 효과를 출력하도록 증강 현실(AR) 엔진(109)을 제어할 수 있다.
이때, 3차원 퍼즐 제공부(111)는 퍼즐 시나리오에 따라 다양한 효과, 예를들어, 음성 제공, 애니메이션 구현, 영상 출력 등과 같은 효과를 제공할 수 있다. 이벤트 발생은 사용자가 직접 입체 블록상에 위치한 이벤트 포인트를 터치하여 발생시킨다. 예를들어, 사막을 배경으로 한 3차원 퍼즐이 있으며 각 입체 블록에는 선인장과 낙타 그리고 피라미드와 같은 3D 객체가 각각 배치되어 있을 수 있다. 3D 객체에는 이벤트 포인트가 심어져 있으며 사용자가 낙타를 선택하면 3차원 퍼즐 제공부(111)는 이벤트 성격을 확인하여 이에 해당하는 낙타 동물에 대한 음성 설명 또는 낙타 영상을 출력하도록 증강 현실(AR) 엔진(109)을 제어할 수 있다.
3차원 퍼즐 제공부(111)는 입체 블록이 랜덤함수에 의해 처음 배치될 때 위치 및 회전값 저장할 수 있다. 3차원 퍼즐 제공부(111)는 활성화된 입체 블록이 그리드 상에 위치한 다른 입체 블록이 있는 곳으로 이동할 때 상호 위치 교차하고(이벤트 발생) 새로 이동한 위치에 대한 위치값 및 회전값을 새로 갱신할 수 있다. 3차원 퍼즐 제공부(111)는 터치 입력이 발생한 입체 블록이 다른 입체 블록이 없는 곳으로 이동할 때에는 이벤트 없이 새로 이동한 위치에 대한 위치값 및 회전값만 새로 갱신할 수 있다.
이상 설명한 구성에 기초하여, 증강 현실 기반의 3차원 조립 퍼즐을 제공하는 일련의 과정에 대해 설명하기로 한다.
도 2는 본 발명의 한 실시예에 따른 증강 현실 기반의 3차원 조립 퍼즐을 제공하는 방법을 나타낸 순서도로서, 도 1의 구성과 연계하여 설명한다.
도 2를 참조하면, 3차원 퍼즐 제공부(111)는 카메라(101)를 통해 획득한 실시간 영상 화면을 터치스크린(105)에 출력한다(S101).
3차원 퍼즐 제공부(111)는 카메라(101)로부터 획득한 이미지와 IMU(103)로부터 획득한 센서 데이터를 기초로 수평면을 감지한다(S103).
3차원 퍼즐 제공부(111)는 수평면 영역에서 사용자 터치 입력이 감지(S105)되면, 실시간 영상 화면의 수평면 영역 중 터치 입력이 발생한 지점을 중심으로 일정 거리를 가지는 수평면 영역에 3차원 입체 블록들 및 그리드를 가시화한 증강 현실 화면을 출력한다(S107).
3차원 퍼즐 제공부(111)는 3차원 입체 블록을 표 1과 같이 선택, 이동, 종료, 회전시키는 일련의 터치 입력 동작이 감지(S109)되면, 터치 입력 동작에 따라 3차원 입체 블록을 그리드 상의 복수의 칸에 배치한다(S111).
3차원 퍼즐 제공부(111)는 미션의 완료 여부를 판단(S113)하고, 미션이 완료되지 않았으면, S109 단계부터 다시 시작한다. 반면, 미션이 완료되면, 입체 블록들이 조립된 완성체에 대응하는 3차원 모형을 가시화한 증강 현실 화면을 출력한다(S115).
도 3은 본 발명의 다른 실시예에 따른 증강 현실 기반의 3차원 조립 퍼즐을 제공하는 방법을 나타낸 순서도로서, 도 1의 구성과 연계하여 설명한다.
도 3을 참조하면, 3차원 퍼즐 제공부(111)는 실시간 영상 화면에 3차원 입체 블록을 가시화(S201)한 상태에서 3차원 입체 블록에 배치된 이벤트 포인트를 선택하는 터치 입력이 감지(S203)되면, 이벤트 포인트에 매칭되는 멀티미디어 콘텐츠를 출력한다(S205). 여기서, 멀티미디어 콘텐츠는 시각적 효과 또는 청각적 효과를 제공할 수 있으며, 표 2에서 설명한 바와 같을 수 있다.
이상, 도 1 ~ 도 3에서 설명한 내용을 적용한 실시예들에 대하여 설명하기로 한다.
도 4는 본 발명의 한 실시예에 따른 초기 증강 현실 화면의 예시도이고, 도 5는 본 발명의 한 실시예에 따른 입체 블록 및 그리드를 가시화한 화면의 예시도이며, 도 6 및 도 7은 본 발명의 한 실시예에 따른 입체 블록을 배치하는 과정을 설명하는 예시도이고, 도 8은 본 발명의 한 실시예에 따른 입체 블록들의 조립 완성체를 나타낸 예시도이고, 도 9는 본 발명의 한 실시예에 따른 조립 완성체에 대응하는 3차원 모형의 예시도이다.
사용자가 3차원 조립 퍼즐 어플리케이션(107)을 실행하여 카메라를 구동하면, 도 4와 같이 실 영상 화면(P11) 상에 복수의 원이 일정한 배열로 나열된 수평면이 표시될 수 있다.
사용자가 수평면 상의 특정 지점을 터치하면, 터치한 지점 또는 터치한 지점과 근접한 지점에 도 5와 같이 복수의 입체 블록들(P13)과 그리드(P15)가 표시된다. 이때, 그리드(P15)에는 복수의 칸이 형성되어 있다.
도 6 및 도 7을 참조하면, 사용자가 입체 블록(P17)을 터치하여 선택하고, 이를 그리드(P15) 상의 복수의 칸 중 하나의 칸으로 이동시켜 회전시킨 후 종료하면, 그 칸에 입체 블록(P17)이 배치된다. 지정된 시나리오에 따른 회전값, 즉, 조립 완성체가 될 수 있도록 입체 블록(P17)은 회전된 후 배치된다.
그리드(P15) 상에 모든 입체 블록(P13)이 배치된 후 미션이 완료되면, 도 8과 같이 입체 블록들(P13)이 조립된 완성체(P19)가 가시화된 후, 도 9와 같이 완성체에 대응하는 3차원 모형(P21)이 가시화된다. 3차원 모형(P21)이 가시화된 후, 3차원 조립 퍼즐 어플리케이션(107)의 동작은 초기화될 수 있다.
이하, 도 10 ~ 도 16의 실시예는 도 4 ~ 도 9의 다른 실시예이므로, 중복된 설명은 생략하고 다른 실시예에 대해서만 설명하기로 한다.
도 10 및 도 11은 본 발명의 다른 실시예에 따른 입체 블록 및 그리드를 가시화한 화면의 예시도이고, 도 12는 본 발명의 다른 실시예에 따른 입체 블록을 배치하는 과정을 설명하는 예시도이고, 도 13은 본 발명의 또 다른 실시예에 따른 입체 블록들의 예시도이고, 도 14는 도 13의 입체 블록들의 조립이 완성된 3차원 모형의 예시도이고, 도 15는 본 발명의 또 다른 실시예에 따른 입체 블록들의 예시도이고, 도 16은 도 15의 입체 블록들의 조립이 완성된 3차원 모형의 예시도이다.
도 10을 참조하면, 그리드(P23)는 격자 무늬로 표시될 수 있다. 도 11을 참조하면, 격자 무늬의 그리드(P23) 옆에 육면체 형상을 가진 입체 블록들(P25)이 배치되어 있을 수 있다. 도 12를 참조하면, 사용자가 입체 블록을 선택하여 이동, 회전 및 종료하는 일련의 동작을 통해 그리드(P23)의 칸에 입체 블록을 배치할 수 있다.
이때, 입체 블록은 도 13과 같이 임의의 형상을 가진 입체 블록들(P31)이고, 이를 격자 무늬의 그리드 상에 배치하면 도 14와 같이 궁궐 모형(P33)으로 완성될 수 있다. 이때, 도 13의 입체 블록들(P31)들에 구비된 이벤트 포인트를 클릭하면, 궁궐 모형(P33)과 관련된 컨텐츠들이 출력될 수 있다.
또한, 입체 블록은 도 15와 같이 임의의 형상을 가진 입체 블록들(P35)이고, 이를 격자 무늬의 그리드 상에 배치하면 도 16과 같이 피라미드 모형(P37)으로 완성될 수 있다. 이때, 도 15의 입체 블록들(P35)들에 구비된 이벤트 포인트를 클릭하면, 피라미드 역사, 이집트 역사 등과 관련된 컨텐츠들이 출력될 수 있다.
한편, 도 17은 본 발명의 실시예에 따른 단말의 하드웨어 구성을 나타낸 블록도이다.
도 17을 참조하면, 단말(400)은 프로세서(401), 메모리(403), 터치스크린(405), IMU(407), 카메라(409), 네트워크 인터페이스(411) 및 스토리지(413)를 포함하며, 이들은 버스(415)를 통해 통신할 수 있다.
프로세서(401)는 도 1 내지 도 16을 토대로 설명한 방법들을 구현하도록 구성될 수 있다. 프로세서(401)는 중앙 처리 장치(CPU, Central Processing Unit)이거나, 또는 메모리(403) 또는 스토리지(413)에 저장된 명령어(Instruction)를 실행하는 반도체 장치일 수 있다.
여기서, 프로세서(401)는 위의 실시예에 따른 3차원 퍼즐 어플리케이션(107)의 기능을 수행하도록 구성될 수 있다.
메모리(403)는 프로세서(401)와 연결되고 프로세서(401)의 동작과 관련한 다양한 정보를 저장한다.
메모리(403)는 프로세서(401)에서 수행하기 위한 명령어를 저장하고 있거나 스토리지(413)로부터 명령어를 로드하여 일시 저장할 수 있다. 프로세서(401)는 메모리(403)에 저장되어 있거나 로드된 명령어를 실행할 수 있다.
본 발명의 실시예에서 메모리(403)는 프로세서(401)의 내부 또는 외부에 위치할 수 있고, 메모리(403)는 이미 알려진 다양한 수단을 통해 프로세서(401)와 연결될 수 있다.
네트워크 인터페이스(411)는 네트워크(200)에 연결되어 신호를 송수신하도록 구성된다. 특히, 네트워크 인터페이스(411)는 네트워크(200)로부터 수신되는 데이터를 프로세서(401)로 제공하도록 구성된다.
본 발명의 실시예들에서 개시된 시스템, 장치 및 방법은 다른 방식으로 구현될 수 있음을 이해해야 한다. 예를들어, 개시된 장치 실시예는 단지 예일 뿐이다. 예를들어, 시스템의 처리 장치의 구분은 단지 논리적인 기능 구분이며, 실제로 구현하는 동안 다른 구분이 될 수 있다. 예를들어, 다수의 장치 또는 구성 요소가 결합되거나 다른 시스템에 통합되거나 일부 기능이 무시되거나 수행되지 않을 수 있다. 또한, 본 발명의 실시예에 따른 방법을 수행하도록 구성된 장치들은 하나의 장치에 통합되거나, 장치들 각각은 물리적으로 단독으로 존재할 수도 있고, 또는 둘 이상의 장치가 하나의 장치로 통합될 수도 있다. 전술한 실시예들에서 기술된 방법을 수행하도록 구성된 장치는 하드웨어의 형태로 구현될 수 있거나 소프트웨어 기능 유닛의 형태로 구현될 수 있다.
이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.

Claims (8)

  1. 적어도 하나의 프로세서에 의해 동작하는 단말이 증강 현실(Augmented Reality, AR) 기반의 3차원 조립 퍼즐을 제공하는 방법으로서,
    상기 단말에 설치된 카메라를 통해 획득한 실 영상을 화면에 출력하는 단계,
    상기 화면 상에 터치 입력이 발생하면, 기하학적 형태를 가진 복수의 칸이 형성된 그리드 및 상기 복수의 칸에 대응하는 형태를 가진 복수의 입체 블록을 가시화하는 단계,
    상기 복수의 입체 블록중 사용자의 터치 입력이 발생한 입체 블록을 상기 터치 입력에 따라 이동시켜 상기 복수의 칸 중 하나의 칸에 배치하는 단계,
    배치된 입체 블록의 위치값이 상기 복수의 입체 블록 각각에 대하여 사전에 설정된 최종 목표 위치값을 충족하는 미션의 완료 여부를 판단하는 단계, 그리고
    상기 미션의 완료로 판단되면, 상기 입체 블록들이 조립된 완성체에 대응하는 기 정의된 3차원 모형을 가시화하는 단계를 포함하고,
    상기 배치하는 단계는,
    스냅(snap) 기능을 이용하여 상기 입체 블록을 상기 하나의 칸에 배치하는, 방법.
  2. 제1항에서,
    상기 스냅 기능은,
    상기 터치 입력의 이동 변위에 따른 상기 입체 블록의 현재 위치값이 상기 복수의 칸 중 어느 하나의 칸에 미치지 못하는 경우, 상기 현재 위치값과 상기 복수의 칸 각각의 위치값을 기초로 상기 입체 블록과 상기 복수의 칸 간의 거리값을 계산하여, 상기 거리값이 가장 최소인 칸으로 상기 입체 블록을 자동 배치하는 기능인, 방법.
  3. 제1항에서,
    상기 배치하는 단계는,
    터치 입력이 발생한 제1 입체 블록에 대하여 상기 터치 입력의 이동 변위에 따른 현재 위치값이 상기 복수의 칸 중에서 이미 제2 입체 블록이 배치된 칸인 경우, 상기 제1 입체 블록을 상기 제2 입체 블록이 배치된 칸에 배치하고 상기 제2 입체 블록을 상기 제1 입체 블록의 이전 위치로 이동시키는, 방법.
  4. 제1항에서,
    상기 배치하는 단계는,
    터치 입력이 발생한 제1 입체 블록을 상기 터치 입력의 이동 변위에 따라 이동시킬때 특정 지점에 이미 배치된 제2 입체 블록과 겹치는 경우, 상기 제1 입체 블록을 상기 제2 입체 블록의 높이만큼 상기 제2 입체 블록의 상부로 띄우면서 이동시키거나 또는 상기 제1 입체 블록과 상기 제2 입체 블록이 겹쳐지는 시점에 상기 제2 입체 블록을 투명하게 만들어 상기 제1 입체 블록이 상기 제2 입체 블록을 통과하는 시각적 효과를 상기 화면 상에 가시화하는, 방법.
  5. 제1항에서,
    상기 터치 입력은,
    입체 블록을 터치하는 터치 시작, 입체 블록에서 터치를 떼는 터치 종료, 입체 블록을 터치한 채로 화면 상의 특정 지점까지 움직이는 터치 이동 및 입체 블록에 구비된 버튼을 클릭하여 입체 블록을 정해진 각도만큼 이동하는 터치 회전을 포함하고,
    상기 배치하는 단계는,
    상기 터치 시작, 상기 터치 종료, 상기 터치 이동 및 상기 터치 회전의 연속된 동작을 통하여 상기 입체 블록을 상기 그리드 상의 특정 칸에 배치하며,
    상기 미션의 완료 여부는,
    상기 터치 입력이 발생한 입체 블록의 위치값 및 회전값이 사전에 설정된 값을 만족하는지 판단하고,
    상기 사전에 설정된 값은,
    입체 블록 별로 상기 최종 목표 위치값으로서 각각 대응하는 특정 칸의 위치값 및 상기 특정 칸에서의 입체 블록의 회전값이 설정된 것인, 방법.
  6. 제1항에서,
    상기 입체 블록은,
    이벤트 포인트를 포함하는 3차원 객체가 배치되어 있으며,
    상기 기 정의된 3차원 완성체를 가시화하는 단계 이후,
    상기 이벤트 포인트를 선택하는 사용자 터치 입력이 발생하면, 상기 이벤트 포인트에 설정된 시각적 효과 또는 청각적 효과를 출력하는 단계
    를 더 포함하는, 방법.
  7. 카메라,
    터치스크린,
    서버 장치와 네트워크를 통해 데이터를 송수신하는 통신 장치,
    증강 현실(Augmented Reality, AR) 기반의 3차원 조립 퍼즐을 제공하는 프로그램을 로딩하는 메모리, 그리고
    상기 프로그램을 실행하는 프로세서를 포함하고,
    상기 프로세서는,
    상기 카메라를 통해 획득한 실 영상을 상기 터치스크린의 화면 상에 출력하고, 상기 터치스크린으로부터 터치 입력 신호가 전달되면 기하학적 형태를 가진 복수의 칸이 형성된 그리드 및 상기 복수의 칸에 대응하는 형태를 가진 복수의 입체 블록을 상기 터치스크린의 화면 상에 가시화하며,
    상기 복수의 입체 블록중 사용자의 터치 입력이 발생한 입체 블록을 상기 터치 입력에 따라 이동시켜 상기 복수의 칸 중 하나의 칸에 배치하되, 상기 터치 입력의 이동 변위에 따른 상기 입체 블록의 현재 위치값이 상기 복수의 칸 중 어느 하나의 칸에 미치지 못하는 경우, 상기 현재 위치값과 상기 복수의 칸 각각의 위치값을 기초로 상기 입체 블록과 상기 복수의 칸 간의 거리값을 계산하여, 상기 거리값이 가장 최소인 칸으로 상기 입체 블록을 자동 배치하고,
    배치된 입체 블록의 위치값이 상기 복수의 입체 블록 각각에 대하여 사전에 설정된 최종 목표 위치값을 만족하면, 상기 입체 블록들이 조립된 기 정의된 3차원 완성체를 가시화하는, 단말.
  8. 제7항에서,
    IMU(Inertial Measurement Unit)를 더 포함하고,
    상기 프로세서는,
    상기 카메라로부터 수신한 실 영상으로부터 추출한 특징점 및 상기 IMU로부터 전달되는 측정 데이터를 기초로 상기 실 영상에서 수평면을 탐색하고, 상기 수평면 상에 터치 입력이 발생하면 상기 그리드 및 상기 복수의 입체 블록을 가시화하고,
    상기 입체 블록을 터치하는 터치 시작, 상기 입체 블록에서 터치를 떼는 터치 종료, 상기 입체 블록을 터치한 채로 화면 상의 특정 지점까지 움직이는 터치 이동 및 상기 입체 블록에 구비된 버튼을 클릭하여 상기 입체 블록을 정해진 각도만큼 이동하는 터치 회전의 연속된 동작을 통하여 상기 입체 블록을 상기 그리드 상의 특정 칸에 배치하며,
    상기 터치 입력이 발생한 입체 블록의 위치값 및 회전값이 사전에 입체 블록 별로 설정된 특정 칸의 위치값 및 상기 특정 칸에서의 입체 블록의 회전값을 충족하면, 상기 기 정의된 3차원 완성체를 가시화하는, 단말.
KR1020200070435A 2019-06-20 2020-06-10 증강 현실 기반의 3차원 조립 퍼즐을 제공하는 방법 및 단말 KR102396390B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020190073585 2019-06-20
KR20190073585 2019-06-20

Publications (2)

Publication Number Publication Date
KR20200145698A true KR20200145698A (ko) 2020-12-30
KR102396390B1 KR102396390B1 (ko) 2022-05-10

Family

ID=74087925

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200070435A KR102396390B1 (ko) 2019-06-20 2020-06-10 증강 현실 기반의 3차원 조립 퍼즐을 제공하는 방법 및 단말

Country Status (1)

Country Link
KR (1) KR102396390B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220149168A (ko) * 2021-04-30 2022-11-08 주식회사 크레몽 증강현실과 결합된 보드게임을 전자장치에서 수행하는 방법 및 이 방법을 수행하는 전자장치
KR102468831B1 (ko) * 2022-03-28 2022-11-18 국제능력교육원 주식회사 교육용 블록을 이용한 정육면체 특성 학습 장치 및 방법
KR102524760B1 (ko) * 2022-12-26 2023-04-24 국제능력교육원 주식회사 삼각형 퍼즐 조각을 이용한 도형 학습 장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070061262A (ko) * 2005-12-08 2007-06-13 한국전자통신연구원 3차원 블록 모델의 편집 및 게임 방법
KR20190059068A (ko) * 2017-11-22 2019-05-30 주혜정 증강현실을 이용한 격자 맵의 미션 기반 퍼즐 조립 시스템 및 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070061262A (ko) * 2005-12-08 2007-06-13 한국전자통신연구원 3차원 블록 모델의 편집 및 게임 방법
KR20190059068A (ko) * 2017-11-22 2019-05-30 주혜정 증강현실을 이용한 격자 맵의 미션 기반 퍼즐 조립 시스템 및 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220149168A (ko) * 2021-04-30 2022-11-08 주식회사 크레몽 증강현실과 결합된 보드게임을 전자장치에서 수행하는 방법 및 이 방법을 수행하는 전자장치
KR102468831B1 (ko) * 2022-03-28 2022-11-18 국제능력교육원 주식회사 교육용 블록을 이용한 정육면체 특성 학습 장치 및 방법
KR102524760B1 (ko) * 2022-12-26 2023-04-24 국제능력교육원 주식회사 삼각형 퍼즐 조각을 이용한 도형 학습 장치

Also Published As

Publication number Publication date
KR102396390B1 (ko) 2022-05-10

Similar Documents

Publication Publication Date Title
Zhang et al. Recent developments in game-based virtual reality educational laboratories using the microsoft kinect
TWI567659B (zh) 照片表示視圖的基於主題的增強
US9754419B2 (en) Systems and methods for augmented reality preparation, processing, and application
CN105981076B (zh) 合成增强现实环境的构造
CN105164726B (zh) 用于3d重构的相机姿态估计
KR102396390B1 (ko) 증강 현실 기반의 3차원 조립 퍼즐을 제공하는 방법 및 단말
WO2017020766A1 (zh) 场景提取方法、物体定位方法及其系统
US20170153787A1 (en) Injection of 3-d virtual objects of museum artifact in ar space and interaction with the same
US20150279081A1 (en) Shared virtual reality
Beattie et al. Taking the LEAP with the Oculus HMD and CAD-Plucking at thin Air?
CN109298629A (zh) 用于为自主和非自主位置意识提供鲁棒跟踪的容错
CN102542160A (zh) 三维虚拟世界的骨架控制
CN105555373A (zh) 增强现实设备、方法和程序
US9669300B2 (en) Motion detection for existing portable devices
CN109829937A (zh) 使用遮挡来检测并跟踪三维对象
NL2002841A (en) Immersive collaborative environment using motion capture, head mounted display, and cave.
CN102929507A (zh) 运动控制的列表滚动
US11373329B2 (en) Method of generating 3-dimensional model data
CN104360729A (zh) 基于Kinect和Unity3D的多交互方法与装置
KR20220119123A (ko) 매핑 장치로부터의 로컬 지도 병합
TW202238449A (zh) 室內定位系統及室內定位方法
Abbas et al. Augmented reality-based real-time accurate artifact management system for museums
US20230224576A1 (en) System for generating a three-dimensional scene of a physical environment
CN114341773A (zh) 用于自适应增强现实锚点生成的方法和装置
CN110313021A (zh) 用于提供增强现实的方法和设备以及计算机程序

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant