KR102655496B1 - 3d 파일을 시각화하고 공유하기 위한 방법 및 이를 위한 장치 - Google Patents

3d 파일을 시각화하고 공유하기 위한 방법 및 이를 위한 장치 Download PDF

Info

Publication number
KR102655496B1
KR102655496B1 KR1020230041906A KR20230041906A KR102655496B1 KR 102655496 B1 KR102655496 B1 KR 102655496B1 KR 1020230041906 A KR1020230041906 A KR 1020230041906A KR 20230041906 A KR20230041906 A KR 20230041906A KR 102655496 B1 KR102655496 B1 KR 102655496B1
Authority
KR
South Korea
Prior art keywords
file
model
gaia
henge
user
Prior art date
Application number
KR1020230041906A
Other languages
English (en)
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 조한슬
Priority to KR1020230041906A priority Critical patent/KR102655496B1/ko
Application granted granted Critical
Publication of KR102655496B1 publication Critical patent/KR102655496B1/ko

Links

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/51Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/54Browsing; Visualisation therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Graphics (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Architecture (AREA)
  • Geometry (AREA)
  • Processing Or Creating Images (AREA)

Abstract

본 명세서는 서버가 3D 파일을 시각화하고 공유하기 위한 방법에 있어서, 사용자의 단말로부터, 상기 3D 파일을 업로드받는 단계; 상기 3D 파일의 확장자가 지원되는 확장자인지 검사하는 단계; 상기 3D 파일의 확장자를 지원하는 것에 근거하여, 상기 3D 파일을 데이터베이스에 저장하는 단계; 및 상기 3D 파일의 3D 모델을 가이아를 통해, 상기 사용자에 표시하는 단계; 를 포함하며, 상기 가이아는 상기 3D 모델을 시각화하기 위한 필드이며, 상기 3D 모델이 할당된 타일을 포함할 수 있다.

Description

3D 파일을 시각화하고 공유하기 위한 방법 및 이를 위한 장치 {METHOD AND APPARATUS FOR VISUALIZING AND SHARING 3D FILES}
본 명세서는 3D 파일의 형태를 시각화하고 공유하기 위한 방법 및 이를 위한 장치에 관한 것이다.
3D 모델링 및 시각화 도구의 대부분은 숙련된 전문가들에 의해 사용된다. 최근에는 3D 인쇄 및 가상 현실(VR)과 같은 기술의 발전으로 인해 개인 사용자들도 자신이 작성한 3D 모델을 공유하고, 시각화할 수 있는 기회가 다양하게 생겨나고 있다. 이를 위해, 사용자가 업로드한 3D 파일을 처리하여 3D 시각화를 생성할 수 있는 클라우드 기반의 서비스가 제공될 필요가 있다.
이러한 서비스에서 중요한 점은 사용자가 전문 지식이나 소프트웨어에 대한 이해 없이도, 3D 파일을 처리하고 수정할 수 있도록 하는 것이다. 또한, 사용자가 생성한 3D 모델을 쉽게 공유할 수 있는 기능이 제공되어야 한다. 이를 통해, 사용자는 다양한 형식의 3D 시각화를 생성하고 이를 다른 사용자들과 공유할 수 있으며, 다양한 디바이스에서 3D 모델을 시각화할 수 있다.
이러한 방법은 사용자들이 3D 모델링 및 시각화를 쉽게 접근하고 사용할 수 있도록 하며, 전문 지식이 없는 사용자들도 3D 모델을 생성하고 공유할 수 있게 한다. 또한, 이러한 기술은 사용자들이 다양한 분야에서 3D 모델링과 시각화를 활용할 수 있도록 풍부한 경험을 제공할 수 있다.
본 명세서의 목적은, 사용자들이 3D 파일을 시각화하고 공유하기 위한 방법을 제공하기 위한 것이다.
본 명세서가 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 이하의 명세서의 상세한 설명으로부터 본 명세서가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 명세서의 일 양상은, 서버가 3D 파일을 시각화하고 공유하기 위한 방법에 있어서, 사용자의 단말로부터, 상기 3D 파일을 업로드받는 단계; 상기 3D 파일의 확장자가 지원되는 확장자인지 검사하는 단계; 상기 3D 파일의 확장자를 지원하는 것에 근거하여, 상기 3D 파일을 데이터베이스에 저장하는 단계; 및 상기 3D 파일의 3D 모델을 가이아를 통해, 상기 사용자에 표시하는 단계; 를 포함하며, 상기 가이아는 상기 3D 모델을 시각화하기 위한 필드이며, 상기 3D 모델이 할당된 타일을 포함할 수 있다.
또한, 상기 3D 파일의 3D 모델을 가이아를 통해, 상기 사용자에 표시하는 단계는 상기 저장된 3D 파일을 로드하는 단계; 상기 로드된 3D 파일의 3D 모델의 원점 및 스케일을 보정하는 단계; 및 상기 3D 모델의 형태를 상기 가이아에 등장시키는 단계; 를 포함할 수 있다.
또한, 상기 3D 파일의 3D 모델을 가이아를 통해, 상기 사용자에 표시하는 단계는 상기 로드된 3D 파일의 확장자에 근거하여, 상기 3D 모델의 형태를 표시하기 위한 특수 로직을 수행하는 단계; 를 더 포함할 수 있다.
또한, 상기 지원되는 확장자는 gltf, glb, obj, fbx, ply, stl, ldr, 및 mpd를 포함할 수 있다.
또한, 상기 로드된 3D 파일의 3D 모델의 원점 및 스케일을 보정하는 단계는 상기 로드된 3D 파일의 좌표계 원점과 상기 3D 모델의 지오메트리 원점의 벡터 차이에 근거하여, 상기 지오메트리 원점을 상기 좌표계 원점에 정렬하는 단계; 및 상기 3D 모델의 지오메트리 크기에 근거하여, 상기 스케일을 보정하는 단계;를 포함할 수 있다.
본 명세서의 또 다른 일 양상은 3D 파일을 시각화하고 공유하기 위한 서버에 있어서, 통신모듈; 메모리; 및 상기 통신모듈 및 상기 메모리를 기능적으로 제어하기 위한 프로세서; 를 포함하며, 상기 프로세서는 상기 통신모듈을 통해, 사용자의 단말로부터, 상기 3D 파일을 업로드받고, 상기 3D 파일의 확장자가 지원되는 확장자인지 검사하며, 상기 3D 파일의 확장자를 지원하는 것에 근거하여, 상기 3D 파일을 데이터베이스에 저장하고, 상기 3D 파일의 3D 모델을 가이아를 통해, 상기 사용자에 표시하며, 상기 가이아는 상기 3D 모델을 시각화하기 위한 필드이며, 상기 3D 모델이 할당된 타일을 포함할 수 있다.
본 명세서의 실시예에 따르면, 사용자들은 손쉽게 3D 파일을 시각화하고 공유할 수 있다.
본 명세서에서 얻을 수 있는 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 명세서가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 명세서와 관련된 전자 기기를 설명하기 위한 블록도이다.
도 2는 본 명세서가 적용될 수 있는 3D 파일을 시각화하고 공유하기 위한 방법의 예시이다.
도 3은 본 명세서가 적용될 수 있는 3D 파일 업로드의 예시이다.
도 4는 본 명세서가 적용될 수 있는 3D 모델 표시의 예시이다.
도 5는 본 명세서가 적용될 수 있는 서버의 일 실시예이다.
도 6 내지 도 10은 본 명세서가 적용될 수 있는 가이아에 표시된 3D 모델 조작의 예시이다.
본 명세서에 관한 이해를 돕기 위해 상세한 설명의 일부로 포함되는, 첨부 도면은 본 명세서에 대한 실시예를 제공하고, 상세한 설명과 함께 본 명세서의 기술적 특징을 설명한다.
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 또한, 본 명세서에 개시된 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 명세서의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 출원에서, "포함한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
도 1은 본 명세서와 관련된 전자 기기를 설명하기 위한 블록도이다.
상기 전자 기기(100)는 무선 통신부(110), 입력부(120), 센싱부(140), 출력부(150), 인터페이스부(160), 메모리(170), 제어부(180) 및 전원 공급부(190) 등을 포함할 수 있다. 도 1에 도시된 구성요소들은 전자 기기를 구현하는데 있어서 필수적인 것은 아니어서, 본 명세서 상에서 설명되는 전자 기기는 위에서 열거된 구성요소들 보다 많거나, 또는 적은 구성요소들을 가질 수 있다.
보다 구체적으로, 상기 구성요소들 중 무선 통신부(110)는, 전자 기기(100)와 무선 통신 시스템 사이, 전자 기기(100)와 다른 전자 기기(100) 사이, 또는 전자 기기(100)와 외부서버 사이의 무선 통신을 가능하게 하는 하나 이상의 모듈을 포함할 수 있다. 또한, 상기 무선 통신부(110)는, 전자 기기(100)를 하나 이상의 네트워크에 연결하는 하나 이상의 모듈을 포함할 수 있다.
이러한 무선 통신부(110)는, 방송 수신 모듈(111), 이동통신 모듈(112), 무선 인터넷 모듈(113), 근거리 통신 모듈(114), 위치정보 모듈(115) 중 적어도 하나를 포함할 수 있다.
입력부(120)는, 영상 신호 입력을 위한 카메라(121) 또는 영상 입력부, 오디오 신호 입력을 위한 마이크로폰(microphone, 122), 또는 오디오 입력부, 사용자로부터 정보를 입력받기 위한 사용자 입력부(123, 예를 들어, 터치키(touch key), 푸시키(mechanical key) 등)를 포함할 수 있다. 입력부(120)에서 수집한 음성 데이터나 이미지 데이터는 분석되어 사용자의 제어명령으로 처리될 수 있다.
센싱부(140)는 전자 기기 내 정보, 전자 기기를 둘러싼 주변 환경 정보 및 사용자 정보 중 적어도 하나를 센싱하기 위한 하나 이상의 센서를 포함할 수 있다. 예를 들어, 센싱부(140)는 근접센서(141, proximity sensor), 조도 센서(142, illumination sensor), 터치 센서(touch sensor), 가속도 센서(acceleration sensor), 자기 센서(magnetic sensor), 중력 센서(G-sensor), 자이로스코프 센서(gyroscope sensor), 모션 센서(motion sensor), RGB 센서, 적외선 센서(IR 센서: infrared sensor), 지문인식 센서(finger scan sensor), 초음파 센서(ultrasonic sensor), 광 센서(optical sensor, 예를 들어, 카메라(121 참조)), 마이크로폰(microphone, 122 참조), 배터리 게이지(battery gauge), 환경 센서(예를 들어, 기압계, 습도계, 온도계, 방사능 감지 센서, 열 감지 센서, 가스 감지 센서 등), 화학 센서(예를 들어, 전자 코, 헬스케어 센서, 생체 인식 센서 등) 중 적어도 하나를 포함할 수 있다. 한편, 본 명세서에 개시된 전자 기기는, 이러한 센서들 중 적어도 둘 이상의 센서에서 센싱되는 정보들을 조합하여 활용할 수 있다.
출력부(150)는 시각, 청각 또는 촉각 등과 관련된 출력을 발생시키기 위한 것으로, 디스플레이부(151), 음향 출력부(152), 햅팁 모듈(153), 광 출력부(154) 중 적어도 하나를 포함할 수 있다. 디스플레이부(151)는 터치 센서와 상호 레이어 구조를 이루거나 일체형으로 형성됨으로써, 터치 스크린을 구현할 수 있다. 이러한 터치 스크린은, 전자 기기(100)와 사용자 사이의 입력 인터페이스를 제공하는 사용자 입력부(123)로써 기능함과 동시에, 전자 기기(100)와 사용자 사이의 출력 인터페이스를 제공할 수 있다.
인터페이스부(160)는 전자 기기(100)에 연결되는 다양한 종류의 외부 기기와의 통로 역할을 수행한다. 이러한 인터페이스부(160)는, 유/무선 헤드셋 포트(port), 외부 충전기 포트(port), 유/무선 데이터 포트(port), 메모리 카드(memory card) 포트, 식별 모듈이 구비된 장치를 연결하는 포트(port), 오디오 I/O(Input/Output) 포트(port), 비디오 I/O(Input/Output) 포트(port), 이어폰 포트(port) 중 적어도 하나를 포함할 수 있다. 전자 기기(100)에서는, 상기 인터페이스부(160)에 외부 기기가 연결되는 것에 대응하여, 연결된 외부 기기와 관련된 적절할 제어를 수행할 수 있다.
또한, 메모리(170)는 전자 기기(100)의 다양한 기능을 지원하는 데이터를 저장한다. 메모리(170)는 전자 기기(100)에서 구동되는 다수의 응용 프로그램(application program 또는 애플리케이션(application)), 전자 기기(100)의 동작을 위한 데이터들, 명령어들을 저장할 수 있다. 이러한 응용 프로그램 중 적어도 일부는, 무선 통신을 통해 외부 서버로부터 다운로드 될 수 있다. 또한 이러한 응용 프로그램 중 적어도 일부는, 전자 기기(100)의 기본적인 기능(예를 들어, 전화 착신, 발신 기능, 메시지 수신, 발신 기능)을 위하여 출고 당시부터 전자 기기(100)상에 존재할 수 있다. 한편, 응용 프로그램은, 메모리(170)에 저장되고, 전자 기기(100) 상에 설치되어, 제어부(180)에 의하여 상기 전자 기기의 동작(또는 기능)을 수행하도록 구동될 수 있다.
제어부(180)는 상기 응용 프로그램과 관련된 동작 외에도, 통상적으로 전자 기기(100)의 전반적인 동작을 제어한다. 제어부(180)는 위에서 살펴본 구성요소들을 통해 입력 또는 출력되는 신호, 데이터, 정보 등을 처리하거나 메모리(170)에 저장된 응용 프로그램을 구동함으로써, 사용자에게 적절한 정보 또는 기능을 제공 또는 처리할 수 있다.
또한, 제어부(180)는 메모리(170)에 저장된 응용 프로그램을 구동하기 위하여, 도 1과 함께 살펴본 구성요소들 중 적어도 일부를 제어할 수 있다. 나아가, 제어부(180)는 상기 응용 프로그램의 구동을 위하여, 전자 기기(100)에 포함된 구성요소들 중 적어도 둘 이상을 서로 조합하여 동작시킬 수 있다.
전원공급부(190)는 제어부(180)의 제어 하에서, 외부의 전원, 내부의 전원을 인가받아 전자 기기(100)에 포함된 각 구성요소들에 전원을 공급한다. 이러한 전원공급부(190)는 배터리를 포함하며, 상기 배터리는 내장형 배터리 또는 교체가능한 형태의 배터리가 될 수 있다.
상기 각 구성요소들 중 적어도 일부는, 이하에서 설명되는 다양한 실시 예들에 따른 전자 기기의 동작, 제어, 또는 제어방법을 구현하기 위하여 서로 협력하여 동작할 수 있다. 또한, 상기 전자 기기의 동작, 제어, 또는 제어방법은 상기 메모리(170)에 저장된 적어도 하나의 응용 프로그램의 구동에 의하여 전자 기기 상에서 구현될 수 있다.
본 명세서에서 전자기기(100)는 단말 및 서버를 포함할 수 있다.
도 2는 본 명세서가 적용될 수 있는 3D 파일을 시각화하고 공유하기 위한 방법의 예시이다.
도 2를 참조하면, 서버는 사용자의 단말과 연결되어, 사용자가 업로드한 3D 파일을 저장하고, 단말에 표시할 수 있다. 예를 들어, 서버는 클라우드 서비스 형태로 운용될 수 있으며, 별도의 어플리케이션 없이 웹을 통해, 단말에 서비스를 제공할 수 있다.
사용자는 단말을 통해, 서버로 3D 파일을 업로드한다(S2010).
예를 들어, 사용자는 단말을 통해, 서버에서 제공하는 서비스에 접속할 수 있다. 보다 자세하게, 서버는 웹 어플리케이션을 통해 서비스를 제공할 수 있으며, 사용자는 단말의 브라우저를 이용하여, 서비스에 접속하고, 3D 파일을 서버에 업로드 할 수 있다.
도 3 은 본 명세서가 적용될 수 있는 3D 파일 업로드의 예시이다.
도 3을 참조하면, 서버는 3D 파일에 포함된 3D 모델을 표시하기 위한 필드(3010)를 생성할 수 있다. 본 명세서에서 필드(3010)는 가이아로 지칭될 수 있다.
“가이아”는 서버가 저장한 3D 파일을 시각화하는 대지일 수 있다(예를 들어. OS의 바탕화면/폴더와 대응될 수 있음). 사용자가 “가이아”에 3D 파일을 저장하면, 서버는 해당 파일에 대응되는 "헨지"를 생성하며 그 위에 3D 파일을 시각화할 수 있다. 이를 위해, 서버는 "가이아" 별로 데이터베이스를 생성할 수 있다. 보다 자세하게, “가이아”는 서버가 당해 서비스에서 제공하는 폴더의 개념으로서, 예를 들어, 하나의 "가이아"는 8 * 8 = 64개의 "헨지"를 포함할 수 있다. "헨지"는 3D 파일의 세부정보를 포함할 수 있으며, 이러한 세부정보는 "로제타"라고 지칭될 수 있다. 예를 들어, "로제타"는 텍스트, 이미지, 임베딩 등의 정보를 포함할 수 있다. 사용자는 "로제타"를 확인할 수 있고, 이를 이용하여 3D 파일을 공유할 수 있다.
사용자는 단말의 브라우저를 통해, 서비스에 접속할 수 있다. 사용자는 브라우저의 창 안으로 업로드하고자 하는 3D 파일의 아이콘(3000)을 드래그 할 수 있다. 서버는 드래그에 대응하여, 사용자에게 Dropzone(3020)을 표시할 수 있다.
3D 파일의 아이콘(3000)이 Dropzone(3020) 안에 위치하는 경우, 서버는 Dropzone(3020)을 활성화할 수 있다. 사용자는 활성화된 Dropzone(3030)에 아이콘(3000)을 드랍하여, 3D 파일을 서버에 업로드 할 수 있다.
다시 도 2를 참조하면, 서버는 업로드된 3D 파일의 확장자가 당해 서비스에서 지원되는 확장자인지 검사한다(S2020).
예를 들어, 지원되는 확장자는 gltf / glb, obj, fbx, ply, stl, 및 ldr / mpd를 포함할 수 있다.
서버는 업로드된 3D 파일의 확장자가 지원되는 확장자인 것에 근거하여, 3D 파일을 데이터베이스에 저장한다(S2030). 예를 들어, 서버는 업로드된 3D 파일에 대응되는 가이아의 데이터베이스에 3D 파일을 저장할 수 있다. 하나의 가이아의 데이터베이스에는 하나 이상의 사용자가 업로드한 3D 파일이 저장될 수 있다. 또한, 서버는 가이아에 표시되는 3D 파일의 3D 모델 형태를 2D 이미지 형태로 캡쳐하여 별도로 저장할 수 있다. 이러한 2D 이미지는 썸네일 등 2D 형태로 3D 파일의 정보를 표시하기 위해 사용될 수 있다.
서버는 3D 파일의 3D 모델을 가이아에 표시한다(S2040).
도 4는 본 명세서가 적용될 수 있는 3D 모델 표시의 예시이다.
도 4를 참조하면, 서버는 3D 파일의 3D 모델을 가이아의 헨지에 시각적으로 표시할 수 있다. 또한, 가이아에 업로드된 복수개의 3D 파일들에 포함된 각각의 3D 모델은 헨지에 할당되어 하나의 가이아 상에 시각적으로 표시될 수 있다.
도 5는 본 명세서가 적용될 수 있는 서버의 일 실시예이다.
표 5를 참조하면, 서버는 업로드된 3D 파일을 로드하고, 가이아에 3D 파일의 3D 모델을 표시할 수 있다. 이하에서 S2040에서의 서버 동작을 보다 자세하게 예시한다.
서버는 저장된 3D 파일을 로드한다(S5010). 예를 들어, 서버는 데이터베이스에 저장된 3D 파일의 url로부터 당해 3D 파일을 로드할 수 있다.
서버는 로드된 3D 파일의 3D 모델의 형태를 투명하게 변경한다(S5020). 예를 들어, 서버는 사용자에게 가이아 상에 로드되는 3D 모델의 등장을 표시하기 위해, 투명한 3D 모델의 형태부터 표시할 수 있다.
서버는 3D 모델의 원점 및 스케일을 보정한다(S5030). 예를 들어, 서버가 지원하는 3D 파일의 확장자는 다를 수 있고, 이러한 3D 파일들의 편집 툴에 따라 좌표계가 다르게 설정될 수 있으므로, 3D 모델의 원점 보정이 요구될 수 있다. 서버는 헨지의 중심에 3D 모델을 표시하기 위해, 3D 파일의 좌표계 원점과 3D 모델의 지오메트리 원점의 벡터 차이에 근거하여, 좌표계 원점에 지오메트리 원점을 정렬할 수 있다.
또한, 서버는 3D 모델이 표시되는 헨지에 따라, 3D 모델의 지오메트리 크기에 근거하여, 스케일을 조정할 수 있다. 예를 들어, 헨지의 크기값은 1 일 수 있고, 가이아의 크기값은 8 일 수 있다. 3D 모델의 스케일은 헨지에 표시될 수 있도록, 헨지의 크기값에 근거하여, 보정될 수 있다.
서버는 3D 파일의 확장자에 근거하여, 특수 로직을 수행한다(S5040). 예를 들어, 3D 파일의 확장자에 따라 3D 파일의 형식이 다르므로, 서버는 효율적인 3D 모델 표시를 위해 특수한 로직을 수행할 수 있다.
다음의 표 1은 3D 파일의 확장자 별 특수 로직의 예시이다.
확장자 특수 로직
gltf / glb - 애니메이션 데이터를 로드
- 새로운 애니메이션 데이터가 추가되면 기존에 실행 중인 애니메이션 루프셋에 추가
- fps의 변화에도 일정한 애니메이션 재생 속도를 유지
Obj - 매테리얼(mtl 파일) 데이터를 로드
- mtl 파일을 파싱하여, 텍스쳐 파일(.jpg 등) 정보에 절대 경로가 있을 경우, 상대 경로로 치환
Fbx - 텍스쳐 파일(normal map, roughness map 등)을 로드
Ply - 지오메트리를 추가적으로 중앙 정렬 (X축으로 90도 회전 변환 후 수직 위치 조정)
Stl - 지오메트리를 추가적으로 중앙 정렬(X축으로 90도 회전 변환 후 수직 위치 조정)
ldr / mpd - 레고 부품의 파일 맵을 제공하여 로딩 속도를 향상
서버는 3D 모델의 형태를 가이아에 표시한다(S5050). 예를 들어, 서버는 투명한 3D 모델의 형태를 점진적으로 선명하게 변경하여, 가이아 상에 등장하도록 표시할 수 있다.
도 6 내지 도 10은 본 명세서가 적용될 수 있는 가이아에 표시된 3D 모델 조작의 예시이다.
도 6 내지 도 10을 참조하면, 사용자는 단말과의 상호작용을 통해, 가이아에 표시된 3D 모델을 조작할 수 있다.
도 6을 참조하면, 사용자가 3D 모델이 표시된 헨지 위에 마우스 커서를 이동시키기면, 해당 헨지가 수정 가능한 상태로 활성화될 수 있다(6010). 활성화된 헨지를 통해, 사용자는 헨지 타일 및 시각화된 3D 모델을 둘 다 조작 가능하며, 같은 효과가 발생할 수 있다. 예를 들어, 사용자는 3D 모델의 위치 변환(예를 들어, 3D 모델을 드래그), 크기 변환(예를 들어, 휠 조작), 회전 변환(예를 들어, 휠 조작) 등의 효과를 발생시킬 수 있다.
도 7을 참조하면, 3D 모델의 위치는 변환될 수 있다.
사용자는 헨지가 활성화된 상태에서, 해당 헨지의 3D 모델을 마우스 클릭한 채로 드래그함으로써(7010), 해당 헨지를 가이아 위에서 평면 이동시킬 수 있다. 이를 위해, 서버는 브라우저 2차원 평면 상의 마우스 커서의 좌표를 가이아에 대응하는 3차원 좌표로 변환할 수 있다. 3D 모델의 위치 변환은 3차원 좌표를 따를 수 있다.
또한, 사용자는 Shift 키를 누르고 3D 모델을 드래그함으로써(7020), 헨지를 가이아 위에서 수직 이동시킬 수 있다. 예를 들어, 헨지가 너무 높이 위치하여, 화면에 표시되지 못하는 경우를 방지하기 위해, 수직 이동의 높이는 제한될 수 있다.
도 8을 참조하면, 3D 모델의 크기는 변환될 수 있다.
사용자는 마우스 휠을 조작하여, 3D 모델의 크기를 변환할 수 있다. 예를 들어, 마우스 휠을 위로 굴리면, 3D 모델의 크기가 커지고, 반대로 조작하면, 3D 모델의 크기가 작아질 수 있다. 이러한, 크기 변환은 1부터 8까지 분절적으로 일어날 수 있다(예를 들어, 크기가 1 상태에서 크기를 키우면 시각적으로는 점차 커지다가, 임계치를 넘었을 때 스냅이 걸리며 크기가 2로 커질 수 있음). 또한, 헨지가 위치할 수 있는 최고 높이가 제한되어 있을 수 있으므로, 3D 모델의 크기는 8까지 커지지 못할 수도 있다(크기가 바뀜으로써 3D 파일의 최상단 높이도 바뀌기 때문).
도 9를 참조하면, 3D 모델은 회전될 수 있다.
예를 들어, 사용자는 alt키를 누른 채로 마우스 휠을 위로 굴려, 3D 모델을 시계방향으로 회전시킬 수 있고, 반대 동작을 통해, 3D 모델을 반시계 방향으로 회전시킬 수 있다. 이러한 회전 변환은 3축 변환을 지원할 수 있다.
도 10을 참조하면, 3D 모델은 가이아 상에서 삭제될 수 있다. 사용자는 3D 모델을 드래그하고, 휴지통 형태의 아이콘 상에 드랍하여, 해당 3D 모델에 대응되는 헨지를 삭제할 수 있다. 이 경우, 서버는 데이터베이스에서 3D 모델이 포함된 3D 파일을 삭제할 수 있다.
전술한 본 명세서는, 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 매체는, 컴퓨터 시스템에 의하여 읽혀 질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 매체의 예로는, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 명세서의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 명세서의 등가적 범위 내에서의 모든 변경은 본 명세서의 범위에 포함된다.
또한, 이상에서 서비스 및 실시 예들을 중심으로 설명하였으나 이는 단지 예시일 뿐 본 명세서를 한정하는 것이 아니며, 본 명세서가 속하는 분야의 통상의 지식을 가진 자라면 본 서비스 및 실시 예의 본질적인 특성을 벗어나지 않는 범위에서 이상에 예시되지 않은 여러 가지의 변형과 응용이 가능함을 알 수 있을 것이다. 예를 들어, 실시 예들에 구체적으로 나타난 각 구성 요소는 변형하여 실시할 수 있는 것이다. 그리고 이러한 변형과 응용에 관계된 차이점들은 첨부한 청구 범위에서 규정하는 본 명세서의 범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (6)

  1. 서버가 3D 파일을 시각화하고 공유하기 위한 방법에 있어서,
    상기 3D 파일의 3D 모델을 표시하기 위한 필드인 가이아를 생성하는 단계;로서,
    상기 가이아는
    상기 3D 모델과 관련된 데이터들의 상위 스토리지(storage)이고, 상기 3D 모델이 할당된 하나 이상의 타일을 포함하며,사용자의 단말로부터, 상기 가이아에 근거하여, 상기 3D 파일을 업로드받는 단계;
    상기 3D 파일의 확장자가 지원되는 확장자인지 검사하는 단계;
    상기 3D 파일의 확장자를 지원하는 것에 근거하여, 상기 3D 파일을 데이터베이스에 저장하는 단계;
    상기 가이아 상에 상기 3D 파일이 할당되는 타일인 헨지를 생성하는 단계;로서,
    상기 헨지는 상기 3D 파일의 세부정보를 포함함; 및
    상기 3D 파일의 3D 모델을 상기 가이아에 포함된 헨지를 통해, 상기 사용자에 표시하는 단계;
    를 포함하며,
    상기 3D 파일의 3D 모델을 상기 가이아에 포함된 헨지를 통해, 상기 사용자에 표시하는 단계는
    상기 저장된 3D 파일을 로드하는 단계;
    상기 로드된 3D 파일의 3D 모델의 형태를 투명하게 변경하는 단계;
    상기 헨지의 중심에 상기 로드된 3D 파일의 3D 모델을 표시하기 위해, 상기 3D 파일의 좌표계 원점과 상기 3D 모델의 지오메트리 원점의 벡터 차이에 근거하여, 상기 3D 모델의 원점을 보정하는 단계;
    상기 헨지의 크기값에 근거하여, 상기 헨지에 상기 3D 모델이 표시되기 위해, 상기 3D 모델의 스케일을 보정하는 단계; 및
    상기 3D 모델의 형태를 점진적으로 상기 가이아에 포함된 상기 헨지에 등장시키는 단계;
    를 포함하는, 공유방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 3D 파일의 3D 모델을 가이아를 통해, 상기 사용자에 표시하는 단계는
    상기 로드된 3D 파일의 확장자에 근거하여, 상기 3D 모델의 형태를 표시하기 위한 특수 로직을 수행하는 단계;
    를 더 포함하는, 공유방법.
  4. 제3항에 있어서,
    상기 지원되는 확장자는
    gltf, glb, obj, fbx, ply, stl, ldr, 및 mpd를 포함하는, 공유방법.
  5. 삭제
  6. 3D 파일을 시각화하고 공유하기 위한 서버에 있어서,
    통신모듈;
    메모리; 및
    상기 통신모듈 및 상기 메모리를 기능적으로 제어하기 위한 프로세서; 를 포함하며,
    상기 프로세서는
    상기 3D 파일의 3D 모델을 표시하기 위한 필드인 가이아를 생성하며,
    상기 가이아는 상기 3D 모델과 관련된 데이터들의 상위 스토리지(storage)이고, 상기 3D 모델이 할당된 하나 이상의 타일을 포함하며,
    사용자의 단말로부터, 상기 가이아에 근거하여, 상기 3D 파일을 업로드받고,
    상기 3D 파일의 확장자가 지원되는 확장자인지 검사하며, 상기 3D 파일의 확장자를 지원하는 것에 근거하여, 상기 3D 파일을 데이터베이스에 저장하고, 상기 가이아 상에 상기 3D 파일이 할당되는 타일인 헨지를 생성하며,
    상기 헨지는 상기 3D 파일의 세부정보를 포함하고,
    상기 3D 파일의 3D 모델을 상기 가이아에 포함된 헨지를 통해, 상기 사용자에 표시하며, 상기 3D 파일의 3D 모델을 상기 가이아에 포함된 헨지를 통해, 상기 사용자에 표시하기 위해, 상기 저장된 3D 파일을 로드하고, 상기 로드된 3D 파일의 3D 모델의 형태를 투명하게 변경하며, 상기 헨지의 중심에 상기 로드된 3D 파일의 3D 모델을 표시하기 위해, 상기 3D 파일의 좌표계 원점과 상기 3D 모델의 지오메트리 원점의 벡터 차이에 근거하여, 상기 3D 모델의 원점을 보정하고, 상기 헨지의 크기값에 근거하여, 상기 헨지에 상기 3D 모델이 표시되기 위해, 상기 3D 모델의 스케일을 보정하며, 상기 3D 모델의 형태를 점진적으로 상기 가이아에 포함된 상기 헨지에 등장시키는, 서버.

KR1020230041906A 2023-03-30 2023-03-30 3d 파일을 시각화하고 공유하기 위한 방법 및 이를 위한 장치 KR102655496B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020230041906A KR102655496B1 (ko) 2023-03-30 2023-03-30 3d 파일을 시각화하고 공유하기 위한 방법 및 이를 위한 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020230041906A KR102655496B1 (ko) 2023-03-30 2023-03-30 3d 파일을 시각화하고 공유하기 위한 방법 및 이를 위한 장치

Publications (1)

Publication Number Publication Date
KR102655496B1 true KR102655496B1 (ko) 2024-04-09

Family

ID=90707602

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230041906A KR102655496B1 (ko) 2023-03-30 2023-03-30 3d 파일을 시각화하고 공유하기 위한 방법 및 이를 위한 장치

Country Status (1)

Country Link
KR (1) KR102655496B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210150795A (ko) * 2020-06-04 2021-12-13 이지원 고객 맞춤형 3d 모델 디자인 및 생산 시스템
KR102481613B1 (ko) * 2022-02-11 2022-12-27 주식회사 유룸 편집 기능을 갖는 3d 웹사이트 제작 플랫폼 제공 시스템, 방법 및 프로그램

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210150795A (ko) * 2020-06-04 2021-12-13 이지원 고객 맞춤형 3d 모델 디자인 및 생산 시스템
KR102481613B1 (ko) * 2022-02-11 2022-12-27 주식회사 유룸 편집 기능을 갖는 3d 웹사이트 제작 플랫폼 제공 시스템, 방법 및 프로그램

Similar Documents

Publication Publication Date Title
US10775896B2 (en) Method for controlling display of multiple objects depending on input related to operation of mobile terminal, and mobile terminal therefor
US20220129060A1 (en) Three-dimensional object tracking to augment display area
CN102362251B (zh) 用于提供对应用程序的增强控制的用户界面
JP5248696B1 (ja) 電子機器、手書き文書作成方法、及び手書き文書作成プログラム
CN102982089B (zh) 按对象的文档视觉导航
US8094242B2 (en) Object management apparatus, mobile terminal, and object management method
JP4991614B2 (ja) レイアウト決定方法、プログラムおよび装置
US11755186B2 (en) Screen capturing method and terminal device
CN104077024A (zh) 信息处理设备、信息处理方法及记录介质
JP2015516624A (ja) 有効インターフェース要素の強調のための方式
JP6430197B2 (ja) 電子機器および方法
CN102023706A (zh) 用于与虚拟环境中的对象进行交互的系统
CN103080980A (zh) 基于上下文向文档自动附加捕捉的图像
WO2019179054A1 (zh) 房屋立体化虚拟带看方法、装置、移动终端和存储介质
US20140152543A1 (en) System, data providing method and electronic apparatus
JP5813792B2 (ja) システムおよびデータ提供方法並びに電子機器
KR102543695B1 (ko) 영상 처리 방법 및 이를 지원하는 전자 장치
KR20240068049A (ko) 사용자에게 어셋 및 콘텐츠를 추천하는 방법 및 이를 위한 장치
KR20240084532A (ko) 오브젝트를 생성하는 전자장치 및 시스템
CN108621155A (zh) 控制装置、示教装置以及机器人系统
KR102655496B1 (ko) 3d 파일을 시각화하고 공유하기 위한 방법 및 이를 위한 장치
CN103530048A (zh) 显示设备和显示方法
CN114115691B (zh) 电子设备及其交互方法、介质
JP2014052718A (ja) 情報処理システム、プログラムおよび情報処理システムの処理方法
KR102525318B1 (ko) 2d 및 3d 콘텐츠를 동시에 제작하기 위한 방법 및 이를 위한 융합형 제작장치

Legal Events

Date Code Title Description
GRNT Written decision to grant