KR20230020089A - 뷰어를 구동하는 웹 플랫폼의 동작 방법 및 웹 서버 - Google Patents

뷰어를 구동하는 웹 플랫폼의 동작 방법 및 웹 서버 Download PDF

Info

Publication number
KR20230020089A
KR20230020089A KR1020210101707A KR20210101707A KR20230020089A KR 20230020089 A KR20230020089 A KR 20230020089A KR 1020210101707 A KR1020210101707 A KR 1020210101707A KR 20210101707 A KR20210101707 A KR 20210101707A KR 20230020089 A KR20230020089 A KR 20230020089A
Authority
KR
South Korea
Prior art keywords
clothing
user
material information
viewer
web platform
Prior art date
Application number
KR1020210101707A
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 KR1020210101707A priority Critical patent/KR20230020089A/ko
Priority to CN202280004687.9A priority patent/CN116034368A/zh
Priority to PCT/KR2022/011469 priority patent/WO2023014077A1/ko
Publication of KR20230020089A publication Critical patent/KR20230020089A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0354Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0354Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
    • G06F3/03543Mice or pucks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/12Geometric CAD characterised by design entry means specially adapted for CAD, e.g. graphical user interfaces [GUI] specially adapted for CAD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • 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
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/18Details relating to CAD techniques using virtual or augmented reality

Abstract

일 실시예에 따른 시뮬레이션된 의상을 보여주는 뷰어를 구동하는 웹 플랫폼의 동작 방법은 서버에서 착장 시뮬레이션이 완료된 3차원 의상 모델의 지오메트리 정보 및 재료 정보를 기초로 3차원 의상을 렌더링하여 뷰어를 통해 표시하고, 3차원 의상 내 특정 지점을 지시하는 사용자의 입력을 기초로 3차원 의상을 구성하는 복수의 객체들 중 특정 지점에 대응하는 편집 객체를 결정하고, 편집 객체의 재료 정보를 변경하는 사용자의 설정을 입력받고, 사용자의 설정에 대응하는 재료 정보를 기초로, 편집 객체의 재료 정보를 변경하며, 변경된 재료 정보를 3차원 의상에 적용하는 렌더링을 수행함으로써 뷰어를 통해 변경된 3차원 의상을 표시한다.

Description

뷰어를 구동하는 웹 플랫폼의 동작 방법 및 웹 서버{OPERATING METHOD OF WEB PLATFORM DRIVING VIEWER AND WEB SERVER}
실시예들은 뷰어를 구동하는 웹 플랫폼의 동작 방법 및 웹 서버에 관한 것이다.
의상을 제작하거나, 또는 제작된 의상의 형태를 미리 파악하기 위한 다양한 의상 시뮬레이션 소프트웨어들이 제공되고 있다. 하지만, 의상 시뮬레이션 소프트웨어들에 의한 시뮬레이션 결과 영상은 파일 용량이 매우 크므로 사용자가 앱(App) 또는 웹(Web) 등을 통해 시뮬레이션 결과 영상을 제공받기 위해 많은 시간 및 많은 저장 용량이 소모될 수 있다. 뿐만 아니라, 사용자 단말의 용량 또는 프로세싱 파워에 따라 시뮬레이션 결과 영상의 재생이 불가능하거나, 원활하지 않을 수 있다. 또한, 웹을 통해 제공된 시뮬레이션 결과 영상을 일부 수정하고자 하는 경우, 수정 사항을 반영하기 위해 의상 시뮬레이션을 다시 수행해야 하므로 많은 시간 및 자원이 소요될 수 있다.
전술한 배경기술은 발명자가 본원의 개시 내용을 도출하는 과정에서 보유하거나 습득한 것으로서, 반드시 본 출원 전에 일반 공중에 공개된 공지기술이라고 할 수는 없다.
일 실시예에 따르면, 뷰어를 통해 표시되는 시뮬레이션이 완료된 의상과 관련된 수정 사항을 별도의 의상 시뮬레이션을 수행하지 않고도 사용자의 설정에 따라 다양하게 변경할 수 있다.
일 실시예에 따르면, 뷰어를 통해 표시된 3차원 의상의 편집 객체들을 웹 플랫폼의 적은 프로세싱 파워로 보다 빠르게 반영하여 표시할 수 있다.
일 실시예에 따르면, 3차원 의상의 편집 객체에 대응하는 재료 정보를 편집(editing)하기 위한 사용자 인터페이스를 제공함으로써 사용자가 3차원 의상의 다양한 재료 항목들을 보다 편리하게 변경할 수 있다.
일 실시예에 따르면, 웹 플랫폼에서 사용자에 의해 설정된 재료 정보를 적용하여 변경된 3차원 의상에 대한 정보를 시뮬레이션 서버로 로딩하여 사용자의 설정에 따른 변경 사항이 보다 빠르게 반영되도록 할 수 있다.
일 실시예에 따르면, 시뮬레이션된 의상을 보여주는 뷰어(viewer)를 구동하는 웹 플랫폼(web platform)의 동작 방법은 서버에서 착장 시뮬레이션이 완료된 3차원 의상 모델의 지오메트리 정보 및 재료 정보를 기초로, 3차원 의상을 렌더링하여 상기 뷰어를 통해 표시하는 동작; 상기 3차원 의상 내 특정 지점을 지시하는 사용자의 입력을 기초로, 상기 3차원 의상을 구성하는 복수의 객체들 중 상기 특정 지점에 대응하는 편집 객체를 결정하는 동작; 상기 편집 객체의 재료 정보를 변경하는 사용자의 설정을 입력받는 동작; 상기 사용자의 설정에 대응하는 재료 정보를 기초로, 상기 편집 객체의 재료 정보를 변경하는 동작; 및 상기 변경된 재료 정보를 상기 3차원 의상에 적용하는 렌더링을 수행함으로써 상기 뷰어를 통해 변경된 3차원 의상을 표시하는 동작을 포함할 수 있다.
상기 편집 객체의 재료 정보는 상기 3차원 의상의 색상, 상기 3차원 의상의 옷감의 질감, 상기 옷감에 의한 광원 효과, 상기 옷감의 패턴, 상기 옷감에 표시되는 무늬의 위치 및 크기, 상기 3차원 의상에 부착되는 부자재의 유형, 상기 부자재의 배치 위치 및 크기 중 적어도 하나를 포함할 수 있다.
상기 3차원 의상을 렌더링하여 상기 뷰어를 통해 표시하는 동작은 상기 서버로부터 상기 3차원 의상 모델의 지오메트리 정보 및 재료 정보를 로딩(loading)하는 동작을 포함할 수 있다.
상기 복수의 객체들은 상기 3차원 의상을 구성하는 하나 이상의 패턴 및 하나 이상의 부자재 중 적어도 하나를 포함할 수 있다.
상기 편집 객체를 결정하는 동작은 상기 3차원 의상 내 특정 지점을 지시하는 사용자의 입력을 수신하는 동작; 및 상기 3차원 의상 모델의 지오메트리 정보를 기초로, 상기 3차원 의상을 구성하는 복수의 객체들 중 상기 특정 지점에 대응하는 편집 객체를 결정하는 동작을 포함할 수 있다.
상기 특정 지점은 상기 3차원 의상을 구성하는 메쉬에 포함된 다각형들의 정점들의 위치를 기초로 결정될 수 있다.
상기 웹 플랫폼의 동작 방법은 상기 3차원 의상 내에서 상기 사용자에 의한 마우스 호버링(mouse hovering) 이벤트가 발생한 객체의 영역을 상기 마우스 호버링 이벤트가 발생하지 않는 객체의 영역과 구분하여 표시하는 동작을 더 포함할 수 있다.
상기 편집 객체를 결정하는 동작은 상기 결정된 편집 객체의 실루엣을 상기 객체들과 구분하여 표시하는 동작을 포함할 수 있다.
상기 사용자의 설정을 입력받는 동작은 상기 편집 객체에 대응하는 재료 정보를 편집(editing)하기 위한 사용자 인터페이스를 제공하는 동작; 및 상기 사용자 인터페이스를 통해 상기 편집 객체의 재료 정보를 변경하는 사용자의 설정을 입력받는 동작을 포함할 수 있다.
상기 사용자 인터페이스는 상기 편집 객체에 대응하여 설정 가능한 복수의 재료 항목들을 포함하는 재료 리스트를 포함하고, 상기 사용자의 설정을 입력받는 동작은 상기 재료 리스트에 포함된 상기 재료 항목들에 대한 상기 사용자의 설정을 입력받는 동작을 포함할 수 있다.
상기 사용자의 설정을 입력받는 동작은 상기 편집 객체 별로 상기 사용자의 설정을 입력받는 동작을 포함할 수 있다.
상기 웹 플랫폼의 동작 방법은 상기 변경된 재료 정보를 적용하여 렌더링한 3차원 의상을 저장하는 동작을 더 포함할 수 있다.
상기 변경된 3차원 의상은 상기 재료 정보에 기초하여 표시된 3차원 의상과 상기 뷰어에서 구분하여 시각화될 수 있다.
상기 웹 플랫폼의 동작 방법은 상기 변경된 재료 정보 및 상기 변경된 재료 정보를 적용한 상기 변경된 3차원 의상을 포함하는 파일을 생성하는 동작; 및 상기 파일을 상기 서버에게 제공하는 동작을 더 포함할 수 있다.
일 실시예에 따르면, 시뮬레이션된 의상을 보여주는 뷰어(viewer)를 구동하는 웹 플랫폼(web platform)을 제공하는 웹 서버는 서버에서 착장 시뮬레이션이 완료된 3차원 의상 모델의 지오메트리 정보 및 재료 정보를 수신하는 통신 인터페이스; 및 상기 3차원 의상 모델의 지오메트리 정보 및 재료 정보를 기초로, 3차원 의상을 렌더링하여 상기 뷰어를 통해 표시하고, 상기 3차원 의상 내 특정 지점을 지시하는 사용자의 입력을 기초로, 상기 3차원 의상을 구성하는 복수의 객체들 중 상기 특정 지점에 대응하는 편집 객체를 결정하고, 상기 편집 객체의 재료 정보를 변경하는 사용자의 설정을 입력받고, 상기 사용자의 설정에 대응하는 재료 정보를 기초로, 상기 편집 객체의 재료 정보를 변경하며, 상기 변경된 재료 정보를 상기 3차원 의상에 적용하는 렌더링을 수행함으로써 상기 뷰어를 통해 변경된 3차원 의상을 표시하는 프로세서를 포함할 수 있다.
상기 편집 객체의 재료 정보는 상기 3차원 의상의 색상, 상기 3차원 의상의 옷감의 질감, 상기 옷감에 의한 광원 효과, 상기 옷감의 패턴, 상기 옷감에 표시되는 무늬의 위치 및 크기, 상기 3차원 의상에 부착되는 부자재의 유형, 상기 부자재의 배치 위치 및 크기 중 적어도 하나를 포함할 수 있다.
상기 복수의 객체들은 상기 3차원 의상을 구성하는 하나 이상의 패턴 및 하나 이상의 부자재 중 적어도 하나를 포함할 수 있다.
상기 프로세서는 상기 3차원 의상 모델의 지오메트리 정보를 기초로, 상기 3차원 의상을 구성하는 복수의 객체들 중 상기 특정 지점에 대응하는 편집 객체를 결정할 수 있다.
상기 프로세서는 상기 편집 객체에 대응하는 재료 정보를 편집하기 위한 사용자 인터페이스를 제공하고, 상기 사용자 인터페이스를 통해 상기 편집 객체의 재료 정보를 변경하는 사용자의 설정을 입력받으며, 상기 사용자 인터페이스는 상기 편집 객체에 대응하여 설정 가능한 복수의 재료 항목들을 포함하는 재료 리스트를 포함할 수 있다.
일 측에 따르면, 뷰어를 통해 표시되는 시뮬레이션이 완료된 의상과 관련된 수정 사항을 별도의 의상 시뮬레이션을 수행하지 않고도 사용자의 설정에 따라 다양하게 변경할 수 있다.
일 측에 따르면, 뷰어를 통해 표시된 3차원 의상의 편집 객체들을 웹 플랫폼의 적은 프로세싱 파워로 보다 빠르게 반영하여 표시할 수 있다.
일 측에 따르면, 3차원 의상의 편집 객체에 대응하는 재료 정보를 편집(editing)하기 위한 사용자 인터페이스를 제공함으로써 사용자가 3차원 의상의 다양한 재료 항목들을 보다 편리하게 변경할 수 있다.
일 측에 따르면, 웹 플랫폼에서 사용자에 의해 설정된 재료 정보를 적용하여 변경된 3차원 의상에 대한 정보를 시뮬레이션 서버로 로딩하여 사용자의 설정에 따른 변경 사항이 보다 빠르게 반영되도록 할 수 있다.
도 1은 일 실시예에 따른 웹 플랫폼의 동작 방법이 수행되는 네트워크 환경을 도시한 도면.
도 2는 일 실시예에 따른 시뮬레이션 서버와 웹 서버 간에 수행되는 동작을 설명하기 위한 도면.
도 3은 일 실시예에 따른 웹 플랫폼의 동작 방법을 나타낸 흐름도.
도 4는 일 실시예에 따른 3차원 의상이 표시된 뷰어의 화면을 도시한 도면.
도 5는 일 실시예에 따라 3차원 의상의 재료 정보를 편집하기 위한 컨피규레이터(configurator)의 시작 화면을 도시한 도면.
도 6는 일 실시예에 따른 컨피규레이터가 편집 객체를 결정하는 방법을 설명하기 위한 도면.
도 7은 일 실시예에 따른 3차원 의상에서 마우스 호버링 이벤트가 발생한 경우의 컨피규레이터의 동작을 설명하기 위한 도면.
도 8은 다른 실시예에 따른 웹 플랫폼의 동작 방법을 나타낸 흐름도.
도 9는 일 실시예에 따른 웹 플랫폼을 제공하는 웹 서버의 블록도.
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.
실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안 된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 동작, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 동작, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
또한, 실시 예의 구성 요소를 설명하는 데 있어서, 제1, 제2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
어느 하나의 실시 예에 포함된 구성요소와, 공통적인 기능을 포함하는 구성요소는, 다른 실시 예에서 동일한 명칭을 사용하여 설명하기로 한다. 반대되는 기재가 없는 이상, 어느 하나의 실시 예에 기재한 설명은 다른 실시 예에도 적용될 수 있으며, 중복되는 범위에서 구체적인 설명은 생략하기로 한다.
도 1은 일 실시예에 따른 웹 플랫폼의 동작 방법이 수행되는 네트워크 환경을 도시한 도면이다. 도 1을 참조하면, 일 실시예에 따른 시뮬레이션 서버(110), 웹 서버(130), 및 사용자 단말(150)이 통신망(50)을 통해 서로 연결된 네트워크 환경(100)이 도시된다.
시뮬레이션 서버(110)는 의상을 제작하거나, 또는 제작된 의상의 형태를 미리 파악하기 위한 다양한 의상 착장 시뮬레이션을 수행하여 사용자 단말(150)에게 시뮬레이션 결과에 해당하는 3차원 의상 모델을 제공할 수 있다. 시뮬레이션 서버(110)는 사용자 인터페이스(UI), 기능(function), 동작(operation) 또는 서비스 등을 위하여 웹 서버(130) 및/또는 사용자 단말(150)에 설치된 어플리케이션 프로그램과 연동될 수 있다. 시뮬레이션 서버(110)는 3차원 의상 모델의 착장 시뮬레이션 결과 영상을 제공하는 서버에 해당할 수 있으며, 반드시 이에 한정되지는 않는다. 시뮬레이션 서버(110)는 '서버'라고도 간략화하여 칭할 수 있다.
시뮬레이션 서버(110)는 예를 들어, 단일의 서버 컴퓨터 또는 이와 유사한 시스템이거나, 또는 하나 이상의 서버 뱅크들(server banks) 또는 그 외 다른 배열들로 배열되는 복수의 서버들일 수 있다. 시뮬레이션 서버(110)는 단일 시설에 놓일 수도 있고, 혹은 많은 서로 다른 지리적 위치들 간에 분산된 서버 "클라우드(cloud)"일 수도 있다.
웹 서버(130)는 예를 들어, 아래의 도 4에 도시된 것과 같이 3차원 의상을 표시하는 뷰어(viewer) 및/또는 아래의 도 5 내지 도 7에 도시된 것과 같이 뷰어를 통해 표시된 3차원 의상을 편집하는 컨피규레이터(configurator)를 구동하는 웹 플랫폼을 제공할 수 있다.
웹 서버(130)는 시뮬레이션 서버(110)에서 착장 시뮬레이션이 완료된 3차원 의상 모델의 지오메트리 정보 및 3차원 의상 모델의 재료 정보를 기초로, 3차원 의상을 렌더링하여 뷰어를 통해 사용자 단말(150)에 표시할 수 있다. 3차원 의상 모델은 예를 들어, 복수의 다각형들(삼각형들)을 포함하는 메쉬로 구성될 수 있다. 다각형 메쉬로 구성된 의상이 3차원 아바타 및/또는 3차원 캐릭터 위에 착장되면, 물리 법칙에 기반한 자연스러운 3차원 의상 모델이 구현될 수 있다.
뷰어는 시뮬레이션 서버(110)에서 착장 시뮬레이션이 완료된 3차원 의상 모델에 대응하는 3차원 의상을 표시할 수 있다. 이때, 3차원 의상은 예를 들어, 3차원 가상 캐릭터를 위한 가상 의상일 수도 있고, 또는 3차원 가상 아바타를 위한 가상 의상일 수도 있다.
3차원 의상 모델의 지오메트리 정보는 3차원 의상 모델의 뼈대, 다시 말해 3차원 의상 모델의 구조 및/또는 형태를 구성하는 정보에 해당할 수 있다. 3차원 의상 모델의 지오메트리 정보는 예를 들어, 3차원 의상 모델을 구성하는 복수의 의상 패턴들 또는 복수의 의상 패턴들에 대응하는 아바타의 신체 부위 별로 구분될 수 있다. 3차원 의상 모델의 지오메트리 정보는 복수의 의상 패턴들 별 또는 아바타의 신체 부위 별로 대응하는 하나의 파일 또는 복수의 파일들을 포함할 수 있다.
3차원 의상 모델의 재료 정보는 예를 들어, 3차원 의상 모델의 색상, 3차원 의상 모델의 옷감의 질감, 옷감에 의한 광원 효과, 옷감의 패턴, 옷감에 표시되는 무늬의 위치 및 크기, 3차원 의상 모델에 부착되는 부자재의 유형, 부자재의 배치 위치 및 크기 등을 포함할 수 있으며, 반드시 이에 한정되지는 않는다.
컨피규레이터는 시뮬레이션 서버(110)에서 착장 시뮬레이션이 완료된 3차원 의상 모델과 함께 로딩한 3차원 의상 모델의 재료 정보 이외에 새로운 옷감 정보, 및/또는 새로운 재료 정보 등을 적용하여 시뮬레이션 결과(예: 3차원 의상 모델)에 대응하는 3차원 의상을 렌더링할 수 있다.
컨피규레이터는 뷰어를 통해 표시되는 3차원 의상을 사용자(170)의 설정에 따라 다양하게 편집할 수 있다. 컨피큐레이터는 웹 플랫폼이 구동하는 뷰어에서 3차원 의상의 재료 정보를 편집하기 위한 다양한 기능들을 제공할 수 있다. 3차원 의상은 예를 들어, 3차원 가상 캐릭터를 위한 가상 의상일 수도 있고, 또는 3차원 가상 아바타를 위한 가상 의상일 수도 있다. 3차원 의상은 예를 들어, 복수의 다각형들(삼각형들)을 포함하는 메쉬로 구성될 수 있다. 다각형 메쉬로 구성된 의상이 3차원 아바타 및/또는 3차원 캐릭터 위에 착장되면, 물리 법칙에 기반한 자연스러운 3차원 의상이 구현될 수 있다.
컨피규레이터는 사용자(170)가 뷰어를 통해 선택한 3차원 의상 내 특정 지점에 대응하는 편집 객체의 재료 정보를 변경하거나, 또는 해당 재료 정보를 적용할 영역 또는 편집 객체를 재설정하도록 할 수 있다. 여기서, '편집 객체'는 3차원 의상을 구성하는 복수의 객체들 중 재료 정보를 편집하고자 하는 대상이 되는 객체에 해당할 수 있다. 편집 객체의 재료 정보는 예를 들어, 3차원 의상의 색상, 3차원 의상의 옷감의 질감, 옷감에 의한 광원 효과, 옷감의 패턴, 옷감에 표시되는 무늬의 위치 및 크기, 3차원 의상에 부착되는 부자재의 유형, 부자재의 배치 위치 및 크기 등을 포함할 수 있으며, 반드시 이에 한정되지는 않는다. 사용자(170)는 3차원 의상에서 편집 대상이 되는 편집 객체를 컨피규레이터를 통해 패턴 단위 또는 부자재 단위로 선택하여 편집 또는 변경할 수 있다.
예를 들어, 사용자(170)가 컨피규레이터를 통해 3차원 의상의 소매 부분의 색상을 '빨강색'에서 '파란색'으로 변경한다고 하자. 컨피규레이터는 소매 부분의 색상을 선택 및/또는 변경할 수 있는 사용자 인터페이스를 제공할 수 있다. 이 경우, 사용자 인터페이스는 색상 이외에도 사용자(170)가 다양한 재료 정보를 선택, 조정할 수 있도록 설정 가능한 복수의 재료 항목들을 포함하는 재료 리스트(material list) 형태로 제공될 수 있다. 사용자 인터페이스는 예를 들어, 컬러 반사도 등에 따른 느낌을 조정하는 다양한 요소들을 슬라이드 바(slide bar) 형태로 제공하여 사용자(170)가 이를 선택 또는 변경하도록 한 것일 수 있으며, 반드시 이에 한정되지는 않는다.
아래에서 보다 구체적으로 설명하겠지만, 사용자 인터페이스는 컬러 팔레트(예: 도 5의 컬러 팔레트(530)), 속성 리스트(예: 도 5의 속성 리스트(540)) 및 컬러웨이 리스트(예: 도 5의 컬러웨이 리스트(560)) 등을 더 포함할 수 있다. 컬러 팔레트는 3차원 의상 내 특정 지점에 대응하는 편집 객체의 색상을 설정 또는 변경하기 위한 것일 수 있다. 속성 리스트는 예를 들어, 불투명도(opacity), 거칠기(roughness), 강도(intensity), 및 금속성(metalness) 등과 같이 색상과 관련한 다양한 속성(property) 항목들을 설정 또는 변경하기 위한 것일 수 있다. 컬러웨이 리스트는 시뮬레이션 서버(110)에서 시뮬레이션이 완료된 3차원 의상 모델에 속한 재료 정보와 컨피규레이터를 통해 생성된 3차원 의상에 속한 재료 정보를 포함하는 리스트에 해당할 수 있다. 이때, 3차원 의상 모델 및/또는 3차원 의상에 속한 재료 정보를 '컬러웨이(colorway)'라고 부를 수 있다. '컬러웨이'는 색상 이외에 편집 가능한 다양한 재료 정보를 대표하는 명칭으로 이해될 수 있다. 이하, '컬러웨이'와 '재료 정보'는 서로 동일한 의미로 이해될 수 있다.
사용자(170)는 전술한 다양한 사용자 인터페이스들을 통해 해당 재료 정보에 따른 텍스쳐 자체와 해당 재료 정보에 오버레이(overlay)되는 텍스쳐 또한 변경할 수 있다.
컨피규레이터는 3차원 의상의 소매 부분을 파란색으로 변경한 결과를 렌더링하여 뷰어를 통해 실시간으로 보여줄 수 있다. 컨피규레이터는 사용자(170)가 설정한 영역에 대한 변경된 재료 정보를 적용하되 시뮬레이션 서버(110)로부터 로딩한 3차원 의상 모델의 지오메트리 정보를 3차원 의상의 지오메트리 정보로 이용하여 렌더링을 수행함으로써 사용자(170)가 원하는 편집 결과를 보다 적은 프로세싱 파워로 빠르게 제공할 수 있다.
컨피규레이터는 소매 부분을 파란색으로 변경한 3차원 의상에 대한 정보를 파일 형태로 생성하여 시뮬레이션 서버(110)로 업로드할 수 있다. 컨피규레이터는 웹 서버(130)에서 새로이 렌더링한 결과를 파일 형태로 시뮬레이션 서버(110)로 제공함으로써 시뮬레이션 서버(110)에서도 웹 플랫폼을 통해 편집된 결과가 웹 서버(130)와 마찬가지로 반영되도록 할 수 있다.
시뮬레이션 서버(110)는 기존에 저장되어 있던 3차원 의상 모델에 대한 재료 정보(컬러웨이)와 컨피규레이터에 의해 업로드된 파일을 조합하여 소매 부분이 파란색으로 변경된 3차원 의상 모델에 대한 재료 정보(컬러웨이)를 저장할 수 있다.
또한, 컨피규레이터는 3차원 의상의 재료 편집 과정에서 생성된 컬러웨이 파일의 이름을 설정하거나 해당 파일을 삭제할 수 있다. 또한, 컨피규레이터는 3차원 의상의 렌더링에 사용되는 정보(예를 들어, 지오메트리 정보 및/또는 재료 정보)를 시뮬레이션 서버(110)로부터 다운로드할 수 있다. 컨피규레이터의 기능들은 아래의 도 5 내지 도 7을 참조하여 보다 구체적으로 설명한다.
웹 서버(130)는 컨피규레이터를 통해 수신되는 사용자(170)의 설정 또는 입력에 따라 뷰어를 통해 표시되는 3차원 의상의 재료 정보를 변경할 수 있다. 웹 서버(130)는 변경된 재료 정보를 3차원 의상에 적용하는 렌더링을 수행함으로써 뷰어를 통해 변경된 3차원 의상을 표시할 수 있다.
웹 서버(130)와 시뮬레이션 서버(110) 간에 수행되는 동작은 아래의 도 2를 참조하여 보다 구체적으로 설명한다.
사용자 단말(150)은 해당 장치에 설치된 앱(App) 및/또는 웹 플랫폼을 통해 제공되는 뷰어 및/또는 컨피규레이터를 통해 사용자(170)에게 시뮬레이션 서버(110)에서 제공한 3차원 의상 모델에 대응하는 3차원 의상을 제공하고, 3차원 의상에 대한 변경 사항을 입력받아 웹 서버(130)로 제공할 수 있다.
사용자 단말(150) 각각은 디스플레이, 메모리, 프로세서 및 통신 인터페이스를 포함할 수 있다. 사용자 단말(150)은 예를 들어, PC(Personal Computer), 넷북, 노트북, PDA(Personal Digital Appliance), 스마트폰, 웨어러블 디바이스(Wearable device), 및 유사한 기능을 수행하는 다양한 장치들을 포함할 수 있다.
도 2는 일 실시예에 따른 시뮬레이션 서버와 웹 서버 간에 수행되는 동작을 설명하기 위한 도면이다. 도 2를 참조하면, 일 실시예에 따른 시뮬레이션 서버(201)와 웹 서버(203) 간의 수행되는 동작들이 도시된다. 시뮬레이션 서버(201)는 예를 들어, 도 1을 통해 전술한 시뮬레이션 서버(110)에 해당할 수 있다. 웹 서버(203)는 예를 들어, 도 1을 통해 전술한 웹 서버(130)에 해당할 수 있다.
예를 들어, 동작(210)에서, 시뮬레이션 서버(201)가 3차원 의상 모델의 착장 시뮬레이션을 완료했다고 하자. 이 경우, 동작(220)에서, 웹 서버(203)는 시뮬레이션 서버(201)로부터 착장 시뮬레이션이 완료된 3차원 의상 모델의 지오메트리 정보 및 3차원 의상 모델의 재료 정보를 로딩할 수 있다.
동작(230)에서, 웹 서버(203)는 로딩한 3차원 의상 모델의 지오메트리 정보 및 3차원 의상 모델의 재료 정보를 기초로, 3차원 의상을 렌더링하여 뷰어를 통해 표시할 수 있다. 시뮬레이션 서버(201)가 3차원 의상 모델을 시뮬레이션하는 것과 달리, 웹 서버(203)는 시뮬레이션을 수행하지 않고, 단순히 시뮬레이션 결과에 해당하는 압축된 영상 파일을 풀어서 보여줌으로써 많은 컴퓨팅 자원을 사용하지 않고도 3차원 의상을 빠르게 표시할 수 있다. 또한, 웹 서버(203)는 시뮬레이션 서버(201)로부터 로딩한 3차원 의상 모델의 지오메트리 정보를 3차원 의상의 지오메트리 정보로 이용하여 빠르게 렌더링을 수행할 수 있다.
동작(240)에서, 웹 서버(203)는 3차원 의상 내 특정 지점을 지시하는 사용자의 입력을 기초로, 3차원 의상에서 편집하고자 하는 대상에 해당하는 편집 객체를 결정할 수 있다. 이때, 편집 객체는 3차원 의상을 구성하는 하나 이상의 패턴일수도 있고, 또는 3차원 의상에 부착된 프린트, 자수, 레이스, 버튼, 지퍼 등과 같은 부자재일 수도 있다. 웹 서버(203)는 3차원 의상 내 특정 지점을 지시하는 사용자의 입력을 수신하고, 3차원 의상 모델의 지오메트리 정보를 기초로, 3차원 의상을 구성하는 복수의 객체들 중 특정 지점에 대응하는 편집 객체를 결정할 수 있다. 웹 서버(203)는 뷰어를 통해 표시된 3차원 의상에서 편집하고자 하는 대상(편집 객체)이 결정되면, 편집 객체에 대응하는 재료 정보를 편집(editing)하기 위한 다양한 사용자 인터페이스(예: 재료 리스트, 칼라 팔레트, 속성 리스트 등)를 제공할 수 있다.
예를 들어, 사용자가 재료 리스트, 칼라 팔레트, 및/또는 속성 리스트에 포함된 복수의 재료 항목들의 값을 설정했다고 하자.
이 경우, 동작(250)에서 웹 서버(203)는 사용자에 의해 설정된 재료 항목들의 값에 대응하는 3차원 의상 모델의 재료 정보를 시뮬레이션 서버(201)로부터 로딩하고, 로딩한 재료 정보에 사용자의 설정 사항을 반영하여 렌더링을 수행할 수 있다.
동작(260)에서, 웹 서버(203)는 동작(250)의 렌더링 결과로서 생성된 파일을 시뮬레이션 서버(201)로 전달할 수 있다. 이때, 동작(250)의 렌더링 결과로서 생성된 파일은 사용자에 의해 설정 또는 변경된 3차원 의상의 재료 정보 및/또는 변경된 재료 정보가 반영된 3차원 의상에 대한 정보를 포함할 수 있다.
동작(250)의 렌더링 결과로서 생성된 파일을 전달받은 시뮬레이션 서버(201)는 사용자에 의해 편집된 재료 정보를 3차원 의상 모델에 반영함으로써 웹 서버(203)와 시뮬레이션 서버(201) 간의 원활한 정보 전달이 가능하도록 할 수 있다.
도 3은 일 실시예에 따른 웹 플랫폼의 동작 방법을 나타낸 흐름도이다. 이하 실시예에서 각 동작들은 순차적으로 수행될 수도 있으나, 반드시 순차적으로 수행되는 것은 아니다. 예를 들어, 각 동작들의 순서가 변경될 수도 있으며, 적어도 두 동작들이 병렬적으로 수행될 수도 있다.
도 3을 참조하면, 일 실시예에 따른 웹 플랫폼(web platform)이 동작(310) 내지 동작 (350)을 통해 뷰어 및/또는 컨피규레이터를 구동하는 과정이 도시된다.
동작(310)에서, 웹 플랫폼은 서버(예: 시뮬레이션 서버(110))에서 착장 시뮬레이션이 완료된 3차원 의상 모델의 지오메트리 정보 및 3차원 의상 모델의 재료 정보를 기초로, 3차원 의상을 렌더링하여 뷰어를 통해 표시한다. 웹 플랫폼은 서버로부터 3차원 의상 모델의 지오메트리 정보 및 3차원 의상 모델의 재료 정보를 로딩(loading)하고, 로딩한 지오메트리 정보 및 재료 정보를 기초로, 3차원 의상을 렌더링하여 뷰어를 통해 표시할 수 있다. 웹 플랫폼이 렌더링한 3차원 의상을 표시하는 뷰어 화면의 일 예시는 아래의 도 4를 참조할 수 있다.
전술한 것과 같이, '지오메트리 정보'는 3차원 의상 모델의 각 부위 별 모양 및 형태를 포함하는 기하학적 구조 정보에 해당할 수 있다. 예를 들어, 3차원 의상 모델이 복수의 의상 패턴들로 구성되는 경우, 지오메트리 정보는 3차원 의상 모델을 구성하는 복수의 의상 패턴들 또는 복수의 의상 패턴들에 대응하는 아바타의 신체 부위 별로 구분될 수 있다. 지오메트리 정보는 예를 들어, 3차원 의상 모델을 구성하는 의상 패턴들 별로 하나의 파일로 구성될 수도 있고, 또는 복수의 의상 패턴들 별로 구분된 별도의 파일들을 포함할 수도 있다. 의상 패턴들 별 지오메트리 정보는 서로 다른 파일에 해당할 수 있다.
'재료 정보'는 예를 들어, 3차원 의상 모델의 색상, 3차원 의상 모델의 옷감, 옷감에 의한 광원 효과, 옷감의 패턴, 옷감에 표시되는 무늬의 위치 및 크기, 의상 모델에 부착되는 부자재의 유형, 부자재의 배치 위치 및 크기 등을 포함할 수 있으며, 반드시 이에 한정되지는 않는다.
동작(320)에서, 웹 플랫폼은 동작(310)에서 뷰어를 통해 표시된 3차원 의상 내 특정 지점을 지시하는 사용자의 입력을 기초로, 3차원 의상을 구성하는 복수의 객체들 중 특정 지점에 대응하는 편집 객체를 결정한다. 복수의 객체들은 예를 들어, 3차원 의상을 구성하는 하나 이상의 패턴 및 하나 이상의 부자재 중 적어도 하나를 포함할 수 있으며, 반드시 이에 한정되지는 않는다.
동작(320)에서, 웹 플랫폼은 3차원 의상 내 특정 지점을 지시하는 사용자의 입력을 수신할 수 있다. 이때, 특정 지점은 예를 들어, 3차원 의상을 구성하는 메쉬에 포함된 다각형들의 정점들의 위치를 기초로 결정될 수 있다. 웹 플랫폼은 지오메트리 정보를 기초로, 3차원 의상을 구성하는 복수의 객체들 중 특정 지점에 대응하는 편집 객체를 결정할 수 있다. 웹 플랫폼은 결정된 편집 객체의 실루엣을 다른 객체들과 구분하여 표시할 수 있다.
보다 구체적으로, 뷰어를 통해 표시된 3차원 의상에 대한 사용자의 입력 이벤트가 발생함에 따라 웹 플랫폼은 3차원 의상의 재료 정보를 편집하기 위한 컨피규레이터를 구동하여 3차원 의상의 편집 객체에 대한 재료 정보의 변경이 가능하도록 할 수 있다. 컨피규레이터의 기능들에 대하여는 아래의 도 5 내지 및 도 7을 참조하여 보다 구체적으로 설명한다.
예를 들어, 편집 객체를 결정하기에 앞서, 뷰어를 통해 표시된 3차원 의상 내에서 사용자에 의한 마우스 호버링(mouse hovering) 이벤트가 발생했다고 하자. 이 경우, 웹 플랫폼은 마우스 호버링 이벤트가 발생한 객체의 영역을 마우스 호버링 이벤트가 발생하지 않는 객체의 영역과 구분하여 표시할 수 있다. 웹 플랫폼은 예를 들어, 마우스 오버(mouse over)된 객체의 면을 하이라이팅(highlighting)하여 표시할 수 있다. 웹 플랫폼은 하이라이팅된 객체에 대한 마우스 클릭 등을 통해 해당 객체가 편집 객체로 결정됨에 따라 편집 객체의 면 대신에 외곽선(실루엣)을 하이라이팅할 수 있다. 웹 플랫폼은 해당 객체에서 마우스 아웃되어 마우스 호버링 이벤트가 사라진 경우, 해당 객체의 면에 대한 하이라이팅을 해제할 수 있다. 마우스 호버링 이벤트가 발생한 경우의 컨피규레이터의 동작은 아래의 도 7을 참조하여 보다 구체적으로 설명한다.
동작(330)에서, 웹 플랫폼은 동작(320)에서 결정한 편집 객체의 재료 정보를 변경하는 사용자의 설정을 입력받는다. 편집 객체의 재료 정보는 예를 들어, 3차원 의상의 색상, 3차원 의상의 옷감의 질감, 옷감에 의한 광원 효과, 옷감의 패턴, 옷감에 표시되는 무늬의 위치 및 크기, 3차원 의상에 부착되는 부자재의 유형, 부자재의 배치 위치 및 크기 등을 포함할 수 있으며, 반드시 이에 한정되지는 않는다.
동작(330)에서, 웹 플랫폼은 편집 객체에 대응하는 재료 정보를 편집(editing)하기 위한 사용자 인터페이스를 제공할 수 있다. 웹 플랫폼은 사용자 인터페이스를 통해 편집 객체의 재료 정보를 변경하는 사용자의 설정을 입력받을 수 있다. 사용자 인터페이스는 예를 들어, 편집 객체에 대응하여 설정 가능한 복수의 재료 항목들을 포함하는 재료 리스트 이외에도 컬러 팔레트, 및/또는 속성 리스트 등을 포함할 수 있다. 웹 플랫폼은 컬러 팔레트, 및/또는 속성 리스트에 포함된 재료 항목들에 대한 사용자의 설정을 입력받을 수 있다. 예를 들어, 사용자가 3차원 의상에서 다양한 객체들의 재료 정보를 변경하고자 하는 경우, 편집 객체들의 개수는 복수 개가 될 수 있다. 이 경우, 웹 플랫폼은 편집 객체 별로 사용자의 설정을 입력받을 수 있다.
동작(340)에서, 웹 플랫폼은 동작(330)에서 입력받은 사용자의 설정에 대응하는 재료 정보를 호출하여 편집 객체의 재료 정보를 변경한다. 웹 플랫폼은 사용자의 설정에 대응하는 재료 정보를 메모리 또는 시뮬레이션 서버로부터 뷰어 또는 컨피규레이터로 호출하여 편집 객체의 재료 정보를 변경할 수 있다.
웹 플랫폼이 뷰어를 통해 표시된 3차원 의상에서 편집 객체의 재료 정보를 사용자의 설정에 따라 변경하는 방법은 아래의 도 5 내지 도 7을 참조하여 보다 구체적으로 설명한다.
동작(350)에서, 웹 플랫폼은 동작(340)에서 변경된 재료 정보를 3차원 의상에 적용하는 렌더링을 수행함으로써 뷰어를 통해 변경된 3차원 의상을 표시한다. 이때, 동작(350)에서 표시된 변경된 3차원 의상은 동작(310)에서 로딩한 재료 정보에 기초하여 표시된 3차원 의상과 뷰어에서 구분하여 시각화될 수 있다.
웹 플랫폼은 변경된 재료 정보를 적용하여 동작(350)에서 렌더링한 3차원 의상을 저장할 수 있다. 웹 플랫폼은 동작(340)에서 변경된 재료 정보 및 변경된 재료 정보를 적용한 변경된 3차원 의상을 포함하는 파일을 생성할 수 있다. 웹 플랫폼은 해당 파일을 서버에게 제공할 수 있다.
도 4는 일 실시예에 따른 3차원 의상이 표시된 뷰어의 화면을 도시한 도면이다. 도 4를 참조하면, 일 실시예에 따른 뷰어의 화면(400) 일 예시가 도시된다.
뷰어는 웹 플랫폼에서 렌더링하여 표시한 3차원 의상(410)을 표시할 수 있는 3차원 뷰어일 수 있다.
예를 들어, 뷰어의 화면(400)의 우측 상단에는 3차원 의상(410)에 대한 주석 및/또는 편집을 위한 아이콘들 또는 버튼들(401, 402)이 표시될 수 있다. 버튼(401)은 예를 들어, 3차원 의상에 대한 설명 또는 주석을 달기 위한 어노테이션(annotation) 버튼이고, 버튼(402)는 3차원 의상의 색상을 포함하는 다양한 재료 정보를 편집하기 위한 컬러웨이(colorway) 아이콘일 수 있다.
버튼들(401, 402)은 툴바(tool bar)처럼 하나의 세트로 표시될 수 있다. 버튼들(401, 402)은 3차원 의상을 단순히 표시하는 뷰어 상태인 경우에는 비활성화될 수 있다. 버튼들(401, 402)은 뷰어에 표시된 3차원 의상에 대응한 사용자의 입력 이벤트(예를 들어, 마우스 호버링 이벤트 또는 마우스 클릭 이벤트 등)가 발생한 경우, 활성화될 수 있다.
뷰어의 화면(400)은 화면에 표시된 3차원 의상(410)에 대한 사용자의 입력 이벤트가 발생함에 따라 아래의 도 5와 같이 편집이 가능한 컨피규레이터 화면으로 전환될 수 있다.
3차원 의상(410)에 대한 사용자의 입력 이벤트가 발생함에 따라 뷰어의 화면(400)에는 컨피규레이터의 각 기능 또는 항목에 대한 보충 설명 또는 도움말을 보여주는 말풍선 또는 툴팁(tool tip)이 표시될 수 있다.
뷰어는 뷰어의 화면(400) 하단의 부분 화면(420)과 같이 원본 파일(예: 시뮬레이션 서버에서 착장 시뮬레이션이 완료된 3차원 의상 모델)의 재료 정보가 반영된 3차원 의상과 컨피규레이터를 통해 변경된 재료 정보가 반영된 3차원 의상을 서로 구분해서 시각화할 수 있다. 이때, 변경된 재료 정보가 반영된 3차원 의상은 개수의 제한없이 다수 개가 생성될 수 있다.
예를 들어, 컨피규레이터를 통해 변경된 재료 정보가 반영된 3차원 의상의 개수들이 다수 개인 경우, 사용자는 뷰어의 화면(400)에 표시된 스크롤을 통해 다수 개의 3차원 의상들을 검색할 수 있다. 이때, 다수 개의 3차원 의상들 별로 URL이 존재하므로 사용자는 해당 URL을 통해 변경된 재료 정보가 반영된 3차원 의상에 대한 정보를 공유할 수 있다. 이때, 부분 화면(420)에 표시된 3차원 의상들에 대응하는 파일들에 대한 정보는 화면 우측에 표시된 컬러웨이 리스트(430)에 표시될 수 있다.
컬러웨이 리스트(430)에 표시된 재료 정보(컬러웨이) 중 원본 파일(예: 시뮬레이션 서버에서 착장 시뮬레이션이 완료된 3차원 의상 모델)에 속한 재료 정보(컬러웨이)는 삭제 불가능하다. 하지만, 사용자가 후술하는 컨피규레이터를 통해 생성한 재료 정보의 파일은 사용자가 해당 파일의 이름을 변경하거나, 또는 해당 파일을 삭제할 수도 있다.
사용자는 컬러웨이 리스트(430) 위에 표시된 다운로드 아이콘(403)을 선택하여 재료 정보(컬러웨이)를 포함하는 3차원 의상 파일을 다운로드할 수 있다. 이때, 3차원 의상 파일의 이름은 예를 들어, 원본 파일(예를 들어, 3차원 의상의 원본에 해당하는 3차원 의상 모델)의 이름 + "(colorway)"와 같은 형태를 가질 수 있다. 또한, 3차원 의상 파일의 확장자는 예를 들어, ".zprj"의 형태를 가질 수 있다.
뷰어의 화면(400)의 좌측 탭에는 파일 리스트(440)가 표시될 수 있다. 파일 리스트(440)는 원본 파일에 속한 컬러웨이를 포함하는 3차원 의상 모델 파일들을 포함할 수 있다. 사용자는 파일 리스트(440)에 포함된 어느 하나의 원본 파일을 선택하여 다운로드할 수 있다. 이때, 파일 리스트(440)에 포함된 원본 파일들에 속해 있는 컬러웨이는 작성자와 업로드 일시 정보가 원본 파일의 정보가 같이 표시될 수 있다. 또한, 작성자와 업로드 일시 정보는 컬러웨이 정보를 수정하더라도 바뀌지 않을 수 있다.
도 5는 일 실시예에 따라 3차원 의상의 재료 정보를 편집하기 위한 컨피규레이터(configurator)의 시작 화면을 도시한 도면이다.
도 5를 참조하면, 일 실시예에 따른 3차원 의상(510)의 재료 정보를 편집(editing)하기 위한 재료 리스트(520), 컬러 팔레트(530) 및 속성 리스트(540) 및 컬러웨이 리스트(560)를 포함하는 컨피규레이터의 화면이 도시된다.
예를 들어, 사용자가 도 5의 우측 상단에 x 표시가 된 "종료" 버튼(501)을 선택했다고 하자. 이 경우, 웹 플랫폼은 사용자가 입력하던 재료 정보의 값을 모두 취소하고, 도 4와 같이 3차원 뷰어의 기본 상태로 돌아가도록 할 수 있다.
또는 사용자가 도 5의 우측 상단에 있는 "저장(save)" 버튼(502)을 선택한 경우, 웹 플랫폼은 사용자가 선택 또는 변경한 재료 정보를 3차원 의상(510)의 재료 정보로 저장될 수 있다.
재료 리스트(520)는 예를 들어, 3차원 의상의 패턴(pattern), 옷감(fabric) 리스트, 및 트림(trim) 각각에 대응하여 설정 가능한 복수의 재료 항목들을 포함할 수 있다. 재료 리스트(520)는 3차원 의상(510)의 편집 객체에 대응하여 설정 가능한 복수의 재료 항목들(예를 들어, 옷감(fabric), 그래픽(graphic), 버튼 헤드(button head), 지퍼 풀러(zipper puller), 지퍼 스토퍼(zipper stopper), 지퍼 슬라이더(zipper slider) 등)을 포함할 수 있다.
예를 들어, 사용자가 3차원 의상(510)의 재료 리스트(520)에 포함된 어느 하나의 재료 항목을 선택한 경우, 화면에는 해당 재료 정보의 생성을 위한 "생성(create)" 버튼(503)이 표시될 수 있다. 사용자가 "생성(create)" 버튼(503)을 선택한 경우, 웹 플랫폼은 새로운 재료 정보를 생성할 수 있다. 이때, 생성된 재료 정보는 웹 플랫폼이 생성한 컬러웨이 리스트(560)의 제일 위에 추가될 수 있으며, 새로 생성되는 재료 정보에 대응하는 파일의 이름은 예를 들어, "New Colorway"가 될 수 있다. 예를 들어, 파일의 이름("New Colorway")이 이미 생성된 경우, 해당 재료 정보에 대응하여 "New Colorway + 숫자" 형태의 파일 이름이 붙여질 수 있다. 이 경우, 웹 플랫폼은 현재 재료 리스트에 중복되는 파일 이름("New Colorway + 숫자")이 있는지 확인하고, 중복되는 파일 이름이 없다면, 해당 이름("New Colorway + 숫자")으로 파일을 생성할 수 있다.
실시예에 따라서, 사용자가 컨피규레이터를 통해 생성된 재료 정보를 선택한 경우, 도 5의 우측 상단과 같이 "저장(save)" 버튼(502)과 "생성(create)" 버튼(503)이 둘 다 표시될 수 있다.
예를 들어, 사용자가 3차원 의상(510) 내 특정 지점(버튼 또는 소매 부분)을 마우스 클릭 등을 통해 선택했다고 하자. 이 경우, 컨피규레이터는 3차원 의상(510)에 대응하는 3차원 의상 모델의 지오메트리 정보를 기초로, 3차원 의상(510)의 특정 지점에 대응하는 편집 객체를 버튼 또는 소매로 결정할 수 있다.
컨피규레이터는 결정된 편집 객체 단위로 색상을 포함하는 다양한 재료 정보를 변경할 수 있다.
예를 들어, 사용자가 화면에 표시된 3차원 의상(510)에서 소매에 해당하는 패턴의 앞면을 선택한 후, 컬러 팔레트(530)를 통해 패턴의 앞면에 대한 색상을 변경할 수 있다. 이때, 사용자는 선택한 대상에 대해 matmesh 단위로 색상값을 수정할 수 있다. 여기서, 'matmesh'는 해당 재료를 구성하는 메쉬로 이해될 수 있다.
예를 들어, 3차원 의상(510)의 옆(side) 면이 일정 면적을 가지는 경우, 사용자는 옆 면을 선택하여 재료 정보를 수정할 수 있다.
사용자가 다른 재료 정보를 선택한 경우, 해당 재료 정보의 matmesh 선택하여 수정할 수 있다.
컬러 팔레트(530)는 배경색 지정을 위한 작동 방식과 동일하게 구성될 수 있다. 사용자가 컬러 팔레트(530)를 통해 지정한 색상값은 원본 파일의 재료 정보(예: 3차원 의상 모델의 재료 정보)가 가진 색상, 및/또는 텍스쳐에 곱해져서 적용될 수 있다.
속성 리스트(540)는 예를 들어, 불투명도(opacity), 거칠기(roughness), 강도(intensity), 및 금속성(metalness) 등과 같이 색상과 관련하여 설정 가능한 다양한 속성(property) 항목들을 포함할 수 있다. 예를 들어, 속성 항목들 각각의 최소값은 '0'이고, 최대값을 '100'일 수 있다.
사용자는 속성 리스트(540)을 통해 컬러 팔레트(530)에서 선택된 색상과 관련된 속성을 변경할 수 있다. 이 경우, 컨피규레이터는 컬러 팔레트(530)에서 설정된 색상 및 속성 리스트(540)를 통해 설정된 색상 속성으로 3차원 의상의 앞 소매 부분의 색상을 변경할 수 있다. 컬러 팔레트(530)의 초기 값은 예를 들어, 흰색(#ffffff)으로 설정될 수 있으며, 반드시 이에 한정되지는 않는다.
컨피규레이터가 구동된 경우, URL은 화면에 표시된 3차원 의상의 재료 정보에 해당할 수 있다.
사용자가 "리셋(reset)" 버튼(550)을 선택한 경우, 웹 플랫폼은 사용자에 의해 선택된 재료 정보의 값을 해당 재료 정보의 초기 값으로 되돌릴 수 있다. 이때, 리셋되는 재료 정보의 범위는 현재 화면에서 선택된 재료 정보에 해당하고, 이전 화면에서 값을 변경한 재료 정보들의 값을 그대로 유지될 수 있다.
예를 들어, 컨피규레이터 작동 시에, 사용자가 컬러웨이 리스트(560)에 포함된 컬러웨이를 클릭하면 편집하던 컬러웨이가 변경될 수 있다. 이전 화면에서 수정한 기록은 사용자가 저장 버튼(502) 또는 생성 버튼(503)을 누르지 않으면 저장되지 않는다. 예를 들어, 사용자가 현재 수정 중인 컬러웨이를 선택하는 경우에도 편집하던 컬러웨이가 변경될 수 있다.
도 6는 일 실시예에 따른 컨피규레이터가 편집 객체를 결정하는 방법을 설명하기 위한 도면이다. 도 6을 참조하면, 일 실시예에 따른 3차원 의상(610)이 도시된다.
사용자는 예를 들어, 화면에 표시된 3차원 의상(610) 내의 특정 지점을 선택하거나, 또는 재료 리스트(620)에 표시된 어느 하나의 재료 항목을 선택함으로써 편집 객체(예: 버튼(615))를 선택할 수 있다. 사용자에 의해 버튼(615)이 선택된 경우, 컨피규레이터는 버튼(615)에 대응하는 재료 항목들을 포함하는 재료 리스트(620)를 화면에 표시할 수 있다.
사용자는 화면에 표시된 재료 리스트(620)에 포함된 재료 항목들 중 적어도 하나를 클릭함으로써 버튼(615)을 편집 객체로 선택할 수 있다. 예를 들어, 사용자가 재료 리스트(520)에 포함된 어느 하나의 편집 객체를 선택하는 경우, 재료 리스트 중 제일 앞의 편집 객체가 선택될 수 있다. 이때, 선택된 편집 객체에 대응하는 테두리가 하이라이트될 수 있다.
또는 사용자는 뷰어 화면에 표시된 3차원 의상(610) 내의 특정 지점을 선택함으로써 편집 객체를 선택할 수도 있다. 사용자가 3차원 의상(610) 내의 특정 지점을 선택한 경우, 선택된 특징 지점에 대응하는 객체가 편집 객체로 결정될 수 있다. 이때, 사용자에 의해 선택된 특징 지점에 대응하는 객체의 테두리가 하이라이트될 수 있다.
컨피규레이터는 편집 객체의 테두리를 하이라이트하여 표시함으로써 해당 객체가 편집 대상으로 결정된 것임을 사용자에게 나타낼 수 있다.
사용자는 화면에 표시된 사용자 인터페이스(630)를 조정함으로써 화면에 표시된 뷰, 다시 말해 3차원 의상(610)을 회전, 이동, 확대, 및 축소시킬 수 있다.
사용자는 화면에 표시된 컬러 팔레트(640) 및 색상과 관련된 특성 설정을 위한 속성 리스트(650)를 통해 3차원 의상(610)에서 선택된 편집 객체의 색상 및 색상과 관련된 속성을 수정할 수 있다.
도 7은 일 실시예에 따른 3차원 의상에서 마우스 호버링 이벤트가 발생한 경우의 컨피규레이터의 동작을 설명하기 위한 도면이다. 도 7을 참조하면, 화면에 표시된 3차원 의상(710)에 대해 사용자의 마우스 호버링 이벤트가 발생한 경우가 도시된다.
예를 들어, 화면에 표시된 3차원 의상(710)의 특정 지점에 대해 사용자의 마우스 호버링 이벤트가 발생했다고 하자.
이 경우, 컨피규레이터는 마우스 호버링 이벤트가 발생한 특정 지점에 대응하는 편집 객체(예: 버튼(715))의 면을 하이라이트할 수 있다. 이때, 호버링 이벤트가 발생한 편집 객체 이외에 재료 리스트에 포함된 해당 편집 객체의 항목 또한 하이라이트 대상이 될 수 있다.
사용자가 하이라이트된 버튼(715)을 클릭하여 편집 객체로 선택한 경우, 컨피규레이터는 버튼(715)의 실루엣(선)(720)을 하이라이트할 수 있다.
사용자가 재료 리스트(730)에서 버튼(715)에 대응하는 재료 항목을 선택하는 경우, 재료 리스트(730)에서 해당 항목이 표시될 수 있다. 이때, 뷰어에서 해당 재료를 사용하는 모든 객체에서 첫번째 matmesh의 테두리가 하이라이트될 수 있다.
도 8은 다른 실시예에 따른 웹 플랫폼의 동작 방법을 나타낸 흐름도이다. 이하 실시예에서 각 동작들은 순차적으로 수행될 수도 있으나, 반드시 순차적으로 수행되는 것은 아니다. 예를 들어, 각 동작들의 순서가 변경될 수도 있으며, 적어도 두 동작들이 병렬적으로 수행될 수도 있다.
도 8을 참조하면, 일 실시예에 따른 웹 플랫폼(web platform)이 동작(810) 내지 동작 (880)을 통해 뷰어를 구동하는 과정이 도시된다.
동작(810)에서, 웹 플랫폼은 서버(예: 시뮬레이션 서버)에서 착장 시뮬레이션이 완료된 3차원 의상 모델의 지오메트리 정보 및 재료 정보를 로딩(loading)한다.
동작(820)에서, 웹 플랫폼은 동작(810)을 통해 로딩한 지오메트리 정보 및 재료 정보에 기초하여 3차원 의상을 렌더링하여 뷰어를 통해 표시한다.
동작(830)에서, 웹 플랫폼은 동작(820)에서 뷰어를 통해 표시한 3차원 의상 내 특정 지점을 지시하는 사용자의 입력을 수신한다.
동작(840)에서, 웹 플랫폼은 동작(810)을 통해 로딩한 지오메트리 정보를 기초로, 3차원 의상을 구성하는 복수의 객체들 중 특정 지점에 대응하는 편집 객체를 결정한다. 이때, 복수의 객체들은 하나 이상의 패턴 및 하나 이상의 부자재 중 적어도 하나를 포함할 수 있다.
동작(850)에서, 웹 플랫폼은 동작(840)에서 결정된 편집 객체에 대응하는 재료 정보를 편집(editing)하기 위한 인터페이스를 제공한다.
동작(860)에서, 웹 플랫폼은 동작(850)에서 제공한 인터페이스를 통해 편집 객체의 재료 정보를 변경하는 사용자의 설정을 입력받을 수 있다.
동작(870)에서, 웹 플랫폼은 동작(860)에서 입력받은 사용자의 설정에 대응하는 재료(material) 정보를 호출하여 편집 객체의 재료 정보를 변경할 수 있다.
동작(880)에서, 웹 플랫폼은 렌더링을 수행함으로써 뷰어를 통해 변경된 3차원 의상을 표시할 수 있다. 이때, 렌더링은 동작(870)을 통해 변경된 재료 정보를 3차원 의상에 적용하는 과정에 해당할 수 있다.
도 9는 일 실시예에 따른 웹 플랫폼을 제공하는 웹 서버의 블록도이다. 도 9를 참조하면, 일 실시예에 따른 웹 서버(900)는 통신 인터페이스(910), 프로세서(930), 및 메모리(950)를 포함할 수 있다. 통신 인터페이스(910), 프로세서(930), 및 메모리(950)는 통신 버스(905)를 통해 서로 연결될 수 있다.
통신 인터페이스(910)는 서버(예: 시뮬레이션 서버(110))에서 착장 시뮬레이션이 완료된 3차원 의상 모델의 지오메트리 정보 및 재료 정보를 수신한다.
프로세서(930)는 3차원 의상 모델의 지오메트리 정보 및 재료 정보를 기초로, 3차원 의상을 렌더링하여 뷰어를 통해 표시한다. 프로세서(930)는 3차원 의상 내 특정 지점을 지시하는 사용자의 입력을 기초로, 3차원 의상을 구성하는 복수의 객체들 중 특정 지점에 대응하는 편집 객체를 결정한다. 복수의 객체들은 예를 들어, 3차원 의상을 구성하는 하나 이상의 패턴 및 하나 이상의 부자재 중 적어도 하나를 포함할 수 있으며, 반드시 이에 한정되지는 않는다. 프로세서(930)는 지오메트리 정보를 기초로, 3차원 의상을 구성하는 복수의 객체들 중 특정 지점에 대응하는 편집 객체를 결정할 수 있다.
프로세서(930)는 편집 객체의 재료 정보를 변경하는 사용자의 설정을 입력받는다. 재료 정보는 예를 들어, 3차원 의상의 색상, 3차원 의상의 옷감의 질감, 옷감에 의한 광원 효과, 옷감의 패턴, 옷감에 표시되는 무늬(프린트)의 위치 및 크기, 3차원 의상에 부착되는 부자재의 유형, 부자재의 배치 위치 및 크기 등을 포함할 수 있으며, 반드시 이에 한정되지는 않는다.
프로세서(930)는 뷰어를 통해 편집 객체에 대응하는 재료 정보를 편집하기 위한 사용자 인터페이스를 제공하고, 사용자 인터페이스를 통해 편집 객체의 재료 정보를 변경하는 사용자의 설정을 입력받을 수 있다. 사용자 인터페이스는 예를 들어, 편집 객체에 대응하여 설정 가능한 복수의 재료 항목들을 포함하는 재료 리스트를 포함할 수 있다.
프로세서(930)는 사용자의 설정에 대응하는 재료 정보를 기초로, 편집 객체의 재료 정보를 변경한다. 프로세서(930)는 변경된 재료 정보를 3차원 의상에 적용하는 렌더링을 수행함으로써 뷰어를 통해 변경된 3차원 의상을 표시한다.
메모리(950)는 통신 인터페이스(910)를 통해 수신한 3차원 의상 모델의 지오메트리 정보 및 재료 정보를 저장할 수 있다. 메모리(950)는 프로세서(930)가 렌더링을 수행한 결과를 저장할 수 있다.
이 밖에도, 메모리(950)는 상술한 프로세서(930)의 처리 과정에서 생성되는 다양한 정보들을 저장할 수 있다. 이 밖에도, 메모리(950)는 각종 데이터와 프로그램 등을 저장할 수 있다. 메모리(950)는 휘발성 메모리 또는 비휘발성 메모리를 포함할 수 있다. 메모리(950)는 하드 디스크 등과 같은 대용량 저장 매체를 구비하여 각종 데이터를 저장할 수 있다.
또한, 프로세서(930)는 도 1 내지 도 8을 통해 전술한 적어도 하나의 방법 또는 적어도 하나의 방법에 대응되는 알고리즘을 수행할 수 있다. 프로세서(930)는 목적하는 동작들(desired operations)을 실행시키기 위한 물리적인 구조를 갖는 회로를 가지는 하드웨어로 구현된 웹 서버일 수 있다. 예를 들어, 목적하는 동작들은 프로그램에 포함된 코드(code) 또는 인스트럭션들(instructions)을 포함할 수 있다. 프로세서(930)는 예를 들어, CPU(Central Processing Unit), GPU(Graphics Processing Unit), 또는 NPU(Neural network Processing Unit)으로 구성될 수 있다. 예를 들어, 하드웨어로 구현된 표시 장치(800)는 마이크로프로세서(microprocessor), 중앙 처리 장치(central processing unit), 프로세서 코어(processor core), 멀티-코어 프로세서(multi-core processor), 멀티프로세서(multiprocessor), ASIC(Application-Specific Integrated Circuit), FPGA(Field Programmable Gate Array)를 포함할 수 있다.
프로세서(930)는 프로그램을 실행하고, 웹 서버(900)를 제어할 수 있다. 프로세서(930)에 의하여 실행되는 프로그램 코드는 메모리(950)에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.
900: 웹 서버
905: 통신 버스
910: 통신 인터페이스
930: 프로세서
950: 메모리

Claims (20)

  1. 시뮬레이션된 의상을 보여주는 뷰어(viewer)를 구동하는 웹 플랫폼(web platform)의 동작 방법에 있어서,
    서버에서 착장 시뮬레이션이 완료된 3차원 의상 모델의 지오메트리 정보 및 재료 정보를 기초로, 3차원 의상을 렌더링하여 상기 뷰어를 통해 표시하는 동작;
    상기 3차원 의상 내 특정 지점을 지시하는 사용자의 입력을 기초로, 상기 3차원 의상을 구성하는 복수의 객체들 중 상기 특정 지점에 대응하는 편집 객체를 결정하는 동작;
    상기 편집 객체의 재료 정보를 변경하는 사용자의 설정을 입력받는 동작;
    상기 사용자의 설정에 대응하는 재료 정보를 기초로, 상기 편집 객체의 재료 정보를 변경하는 동작; 및
    상기 변경된 재료 정보를 상기 3차원 의상에 적용하는 렌더링을 수행함으로써 상기 뷰어를 통해 변경된 3차원 의상을 표시하는 동작
    을 포함하는, 웹 플랫폼의 동작 방법.
  2. 제1항에 있어서,
    상기 편집 객체의 재료 정보는
    상기 3차원 의상의 색상, 상기 3차원 의상의 옷감의 질감, 상기 옷감에 의한 광원 효과, 상기 옷감의 패턴, 상기 옷감에 표시되는 무늬의 위치 및 크기, 상기 3차원 의상에 부착되는 부자재의 유형, 상기 부자재의 배치 위치 및 크기 중 적어도 하나를 포함하는, 웹 플랫폼의 동작 방법.
  3. 제1항에 있어서,
    상기 3차원 의상을 렌더링하여 상기 뷰어를 통해 표시하는 동작은
    상기 서버로부터 상기 3차원 의상 모델의 지오메트리 정보 및 재료 정보를 로딩(loading)하는 동작
    을 포함하는, 웹 플랫폼의 동작 방법.
  4. 제1항에 있어서,
    상기 복수의 객체들은
    상기 3차원 의상을 구성하는 하나 이상의 패턴 및 하나 이상의 부자재 중 적어도 하나를 포함하는, 웹 플랫폼의 동작 방법.
  5. 제1항에 있어서,
    상기 편집 객체를 결정하는 동작은
    상기 3차원 의상 내 특정 지점을 지시하는 사용자의 입력을 수신하는 동작; 및
    상기 3차원 의상 모델의 지오메트리 정보를 기초로, 상기 3차원 의상을 구성하는 복수의 객체들 중 상기 특정 지점에 대응하는 편집 객체를 결정하는 동작
    을 포함하는, 웹 플랫폼의 동작 방법.
  6. 제1항에 있어서,
    상기 특정 지점은
    상기 3차원 의상을 구성하는 메쉬에 포함된 다각형들의 정점들의 위치를 기초로 결정되는, 웹 플랫폼의 동작 방법.
  7. 제1항에 있어서,
    상기 3차원 의상 내에서 상기 사용자에 의한 마우스 호버링(mouse hovering) 이벤트가 발생한 객체의 영역을 상기 마우스 호버링 이벤트가 발생하지 않는 객체의 영역과 구분하여 표시하는 동작
    을 더 포함하는, 웹 플랫폼의 동작 방법.
  8. 제1항에 있어서,
    상기 편집 객체를 결정하는 동작은
    상기 결정된 편집 객체의 실루엣을 상기 객체들과 구분하여 표시하는 동작
    을 포함하는, 웹 플랫폼의 동작 방법.
  9. 제1항에 있어서,
    상기 사용자의 설정을 입력받는 동작은
    상기 편집 객체에 대응하는 재료 정보를 편집(editing)하기 위한 사용자 인터페이스를 제공하는 동작; 및
    상기 사용자 인터페이스를 통해 상기 편집 객체의 재료 정보를 변경하는 사용자의 설정을 입력받는 동작
    을 포함하는, 웹 플랫폼의 동작 방법.
  10. 제9항에 있어서,
    상기 사용자 인터페이스는
    상기 편집 객체에 대응하여 설정 가능한 복수의 재료 항목들을 포함하는 재료 리스트를 포함하고,
    상기 사용자의 설정을 입력받는 동작은
    상기 재료 리스트에 포함된 상기 재료 항목들에 대한 상기 사용자의 설정을 입력받는 동작
    을 포함하는, 웹 플랫폼의 동작 방법.
  11. 제1항에 있어서,
    상기 사용자의 설정을 입력받는 동작은
    상기 편집 객체 별로 상기 사용자의 설정을 입력받는 동작
    을 포함하는, 웹 플랫폼의 동작 방법.
  12. 제1항에 있어서,
    상기 변경된 재료 정보를 적용하여 렌더링한 3차원 의상을 저장하는 동작
    을 더 포함하는, 웹 플랫폼의 동작 방법.
  13. 제1항에 있어서,
    상기 변경된 3차원 의상은
    상기 재료 정보에 기초하여 표시된 3차원 의상과 상기 뷰어에서 구분하여 시각화되는, 웹 플랫폼의 동작 방법.
  14. 제1항에 있어서,
    상기 변경된 재료 정보 및 상기 변경된 재료 정보를 적용한 상기 변경된 3차원 의상을 포함하는 파일을 생성하는 동작; 및
    상기 파일을 상기 서버에게 제공하는 동작
    을 더 포함하는, 웹 플랫폼의 동작 방법.
  15. 하드웨어와 결합되어 제1항 내지 제14항 중 어느 한 항의 방법을 실행시키기 위하여 컴퓨터 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램.
  16. 시뮬레이션된 의상을 보여주는 뷰어(viewer)를 구동하는 웹 플랫폼(web platform)을 제공하는 웹 서버에 있어서,
    서버에서 착장 시뮬레이션이 완료된 3차원 의상 모델의 지오메트리 정보 및 재료 정보를 수신하는 통신 인터페이스; 및
    상기 3차원 의상 모델의 지오메트리 정보 및 재료 정보를 기초로, 3차원 의상을 렌더링하여 상기 뷰어를 통해 표시하고, 상기 3차원 의상 내 특정 지점을 지시하는 사용자의 입력을 기초로, 상기 3차원 의상을 구성하는 복수의 객체들 중 상기 특정 지점에 대응하는 편집 객체를 결정하고, 상기 편집 객체의 재료 정보를 변경하는 사용자의 설정을 입력받고, 상기 사용자의 설정에 대응하는 재료 정보를 기초로, 상기 편집 객체의 재료 정보를 변경하며, 상기 변경된 재료 정보를 상기 3차원 의상에 적용하는 렌더링을 수행함으로써 상기 뷰어를 통해 변경된 3차원 의상을 표시하는 프로세서
    를 포함하는, 웹 서버.
  17. 제16항에 있어서,
    상기 편집 객체의 재료 정보는
    상기 3차원 의상의 색상, 상기 3차원 의상의 옷감의 질감, 상기 옷감에 의한 광원 효과, 상기 옷감의 패턴, 상기 옷감에 표시되는 무늬의 위치 및 크기, 상기 3차원 의상에 부착되는 부자재의 유형, 상기 부자재의 배치 위치 및 크기 중 적어도 하나를 포함하는, 웹 서버.
  18. 제16항에 있어서,
    상기 복수의 객체들은
    상기 3차원 의상을 구성하는 하나 이상의 패턴 및 하나 이상의 부자재 중 적어도 하나를 포함하는,
    웹 서버.
  19. 제16항에 있어서,
    상기 프로세서는
    상기 3차원 의상 모델의 지오메트리 정보를 기초로, 상기 3차원 의상을 구성하는 복수의 객체들 중 상기 특정 지점에 대응하는 편집 객체를 결정하는,
    웹 서버.
  20. 제16항에 있어서,
    상기 프로세서는
    상기 편집 객체에 대응하는 재료 정보를 편집하기 위한 사용자 인터페이스를 제공하고, 상기 사용자 인터페이스를 통해 상기 편집 객체의 재료 정보를 변경하는 사용자의 설정을 입력받으며,
    상기 사용자 인터페이스는
    상기 편집 객체에 대응하여 설정 가능한 복수의 재료 항목들을 포함하는 재료 리스트를 포함하는,
    웹 서버.
KR1020210101707A 2021-08-03 2021-08-03 뷰어를 구동하는 웹 플랫폼의 동작 방법 및 웹 서버 KR20230020089A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020210101707A KR20230020089A (ko) 2021-08-03 2021-08-03 뷰어를 구동하는 웹 플랫폼의 동작 방법 및 웹 서버
CN202280004687.9A CN116034368A (zh) 2021-08-03 2022-08-03 用于驱动查看器的网络平台的操作方法及网络服务器
PCT/KR2022/011469 WO2023014077A1 (ko) 2021-08-03 2022-08-03 뷰어를 구동하는 웹 플랫폼의 동작 방법 및 웹 서버

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210101707A KR20230020089A (ko) 2021-08-03 2021-08-03 뷰어를 구동하는 웹 플랫폼의 동작 방법 및 웹 서버

Publications (1)

Publication Number Publication Date
KR20230020089A true KR20230020089A (ko) 2023-02-10

Family

ID=85155860

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210101707A KR20230020089A (ko) 2021-08-03 2021-08-03 뷰어를 구동하는 웹 플랫폼의 동작 방법 및 웹 서버

Country Status (3)

Country Link
KR (1) KR20230020089A (ko)
CN (1) CN116034368A (ko)
WO (1) WO2023014077A1 (ko)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8275590B2 (en) * 2009-08-12 2012-09-25 Zugara, Inc. Providing a simulation of wearing items such as garments and/or accessories
US20150134302A1 (en) * 2013-11-14 2015-05-14 Jatin Chhugani 3-dimensional digital garment creation from planar garment photographs
KR101728588B1 (ko) * 2014-03-27 2017-05-02 한국전자통신연구원 디지털 의류를 이용하여 가상 체험 서비스 방법을 제공하는 스마트 단말 및 가상 체험 제공 서버
KR101665651B1 (ko) * 2015-03-31 2016-10-24 (주)클로버추얼패션 3d 의상 착장 시뮬레이션 방법 및 장치
KR102332069B1 (ko) * 2019-08-19 2021-11-30 (주)클로버추얼패션 부자재 요소를 포함하는 의상의 그레이딩 방법 및 장치

Also Published As

Publication number Publication date
WO2023014077A1 (ko) 2023-02-09
CN116034368A (zh) 2023-04-28

Similar Documents

Publication Publication Date Title
JP7150922B2 (ja) 履物設計ツール
US9305403B2 (en) Creation of a playable scene with an authoring system
US10803647B1 (en) Generating animation rigs using scriptable reference modules
US20100235769A1 (en) Smooth layout animation of continuous and non-continuous properties
RU2427918C2 (ru) Метафора двумерного редактирования для трехмерной графики
KR20100057069A (ko) 형상을 이용한 디지털 이미지의 외관의 변경
JP4274377B2 (ja) 3次元グラフィックスデータ表示装置
JP5763304B2 (ja) コンピュータ画面上に表示されるオブジェクトを可視化する方法、プログラムおよびプロダクト編集システム
US8437994B1 (en) Vector-based representation of a lens flare
Villar Learning Blender
US7616219B2 (en) Drawing style domains
WO2015042901A1 (en) Media presentation effects
JP2018530052A (ja) オブジェクト選択システムおよびオブジェクト選択方法
US11625900B2 (en) Broker for instancing
US7917535B1 (en) Task membership and task masks
KR20230020089A (ko) 뷰어를 구동하는 웹 플랫폼의 동작 방법 및 웹 서버
US20190311424A1 (en) Product visualization system and method for using two-dimensional images to interactively display photorealistic representations of three-dimensional objects based on smart tagging
JP2020013390A (ja) 情報処理装置、情報処理プログラム及び情報処理方法
US20230102069A1 (en) Simulating and editing of garment of hierarchical structure
Morson et al. Styling Shapes
Thorn How to Cheat in Blender 2.7 x
KR20220137527A (ko) 의상 시뮬레이션 방법 및 장치
Karouzaki et al. Tile Dreamer: Game Tiles Made Easy
Mendoza Guevarra et al. Texture It!
CN115989526A (zh) 生成设计对象的增强分解图

Legal Events

Date Code Title Description
E902 Notification of reason for refusal