KR102595150B1 - 다수의 가상 캐릭터를 제어하는 방법, 기기, 장치 및 저장 매체 - Google Patents

다수의 가상 캐릭터를 제어하는 방법, 기기, 장치 및 저장 매체 Download PDF

Info

Publication number
KR102595150B1
KR102595150B1 KR1020237004089A KR20237004089A KR102595150B1 KR 102595150 B1 KR102595150 B1 KR 102595150B1 KR 1020237004089 A KR1020237004089 A KR 1020237004089A KR 20237004089 A KR20237004089 A KR 20237004089A KR 102595150 B1 KR102595150 B1 KR 102595150B1
Authority
KR
South Korea
Prior art keywords
virtual
virtual characters
information
user interface
target
Prior art date
Application number
KR1020237004089A
Other languages
English (en)
Other versions
KR20230023824A (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 KR20230023824A publication Critical patent/KR20230023824A/ko
Application granted granted Critical
Publication of KR102595150B1 publication Critical patent/KR102595150B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • H04N5/265Mixing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • 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/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/02Non-photorealistic rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/62Control of parameters via user interfaces
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/63Control of cameras or camera modules by using electronic viewfinders
    • H04N23/631Graphical user interfaces [GUI] specially adapted for controlling image capture or setting capture parameters
    • H04N23/632Graphical user interfaces [GUI] specially adapted for controlling image capture or setting capture parameters for displaying or modifying preview images prior to image capturing, e.g. variety of image resolutions or capturing parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/698Control of cameras or camera modules for achieving an enlarged field of view, e.g. panoramic image capture
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/70Circuitry for compensating brightness variation in the scene
    • H04N23/74Circuitry for compensating brightness variation in the scene by influencing the scene brightness using illuminating means
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • H04N5/272Means for inserting a foreground image in a background image, i.e. inlay, outlay

Landscapes

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

Abstract

본 출원은 컴퓨터 기술 분야에 속하는 복수의 가상 캐릭터를 제어하는 방법, 기기, 장치 및 저장 매체를 개시한다. 상기 방법은, 증강 현실 기능을 구비한 애플리케이션 프로그램의 제1 사용자 인터페이스를 표시하는 단계 - 상기 제1 사용자 인터페이스는 다수의 가상 캐릭터의 선택 옵션을 포함함 -; 상기 제1 사용자 인터페이스상의 둘 이상의 가상 캐릭터에 대한 제1 선택 조작을 수신하는 단계; 상기 애플리케이션의 제2 사용자 인터페이스를 표시하는 단계 - 상기 제2 사용자 인터페이스는 상기 둘 이상의 가상 캐릭터를 포함함-; 상기 제2 사용자 인터페이스상의 제2 선택 조작을 수신하는 단계; 및 상기 제2 선택 조작 및 상기 렌더링 순서에 따라 상기 둘 이상의 가상 캐릭터 중에서 타깃 가상 캐릭터를 결정하는 단계를 포함한다. 상기 방법은 깊이 정보를 사용하여 렌더링 순서를 결정하고, 렌더링 순서에 따라 둘 이상의 가상 캐릭터를 그려서, 중첩 시에 가상 캐릭터가 서로를 통해 클리핑되는 상황을 방지하여, 사용자가 타깃 가상 캐릭터에 대한 선택 조작을 수행할 때 타깃 가상 캐릭터를 정확하게 결정할 수 있게 한다.

Description

다수의 가상 캐릭터를 제어하는 방법, 기기, 장치 및 저장 매체{METHOD FOR CONTROLLING MULTIPLE VIRTUAL CHARACTERS, DEVICE, APPARATUS, AND STORAGE MEDIUM}
관련 출원
본 출원은 2019년 6월 21일에 출원된 "복수의 가상 캐릭터를 제어하는 방법과 장치, 기기 및 저장 매체(METHOD AND APPARATUS FOR CONTROLLING A PLURALITY OF VIRTUAL CHARACTERS, DEVICE, AND STORAGE MEDIUM)"라는 명칭의 중국 특허출원 제201910544446.3호를 우선권으로 주장하며, 그 전체가 인용에 의해 본 출원에 포함된다.
본 출원의 실시예는 컴퓨터 분야에 관한 것으로, 특히, 복수의 가상 캐릭터를 제어하는 방법 및 장치, 기기 그리고 저장 매체를 제어하는 방법 및 장치에 관한 것이다.
증강 현실(Augmented reality, AR) 기술은 현실 세계 정보와 가상 세계 정보를 매끄럽게 통합하는 기술로, 현실 환경과 가상 객체(virtual object)를 동일한 영상(picture)에 실시간으로 중첩시킬 수 있는 기술이다.
AR 기술은 일부 애플리케이션에 적용된다. AR 애플리케이션에는 가상 캐릭터가 제공되며, 가상 캐릭터는 동물이나 만화 캐릭터와 같은 형상을 가진 객체일 수 있다. AR 애플리케이션은 현실 환경에 가상 캐릭터를 실시간으로 중첩시킬 수 있다. 예를 들어, 비주얼 AR에서, 사용자는 디스플레이를 사용하여 현실 환경이 가상 캐릭터를 둘러싸고 있음을 관찰할 수 있다. AR 애플리케이션은 또한 중첩된 현실 환경과 가상 캐릭터의 AR을 동일한 영상에 촬영하기 위해, AR 촬영 기술을 구현할 수 있다. AR 촬영 시에, 사용자는 가상 캐릭터를 확대(zooming in), 축소(zooming out), 및 드래그(drag)하는 등의 조작을 수행할 수 있다.
그러나 AR 촬영 시에, 복수의 가상 캐릭터가 동시에 AR에 배치되면, 가상 캐릭터들 간에 중첩이 있는 경우, 클리핑 현상(clipping phenomenon)이 발생한다. 따라서 사용자가 가상 캐릭터에 대해 선택 조작을 수행할 때, 부정확한 조작이 있을 수 있다. 예를 들어, 제1 가상 캐릭터가 제2 가상 캐릭터와 부분적으로 중첩된다. 사용자가 중첩되는 부분을 클릭하여 제1 가상 캐릭터를 선택하는 경우, 제2 가상 캐릭터가 최종적으로 선택될 수 있어, 인간과 컴퓨터의 상호작용을 더 어렵게 할 수 있다.
본 출원의 실시예는 복수의 가상 캐릭터를 제어하는 방법 및 장치, 기기, 그리고 저장 매체를 제공한다. 복수의 가상 캐릭터를 AR 촬영하는 시나리오에서, 사용자는 타깃 가상 캐릭터를 정확하게 선택할 수 있다. 그 기술적 방안은 다음과 같다.
본 출원의 일 측면에 따르면, 복수의 가상 캐릭터를 제어하는 방법이 제공되며, 상기 방법은 단말기에 적용 가능하고, 상기 단말기에서 AR 기능을 구비한 애플리케이션이 실행되며, 상기 방법은,
상기 애플리케이션의 제1 사용자 인터페이스를 표시하는 단계 - 상기 제1 사용자 인터페이스는 복수의 가상 캐릭터의 선택 항목을 포함함 -;
상기 제1 사용자 인터페이스상의 둘 이상의 가상 캐릭터에 대한 제1 선택 조작을 수신하는 단계;
상기 애플리케이션의 제2 사용자 인터페이스를 표시하는 단계 - 현실 세계의 배경 영상 및 상기 배경 영상에 위치한 상기 둘 이상의 가상 캐릭터가 상기 제2 사용자 인터페이스상에 표시되고, 상기 둘 이상의 가상 캐릭터는, 상기 둘 이상의 가상 캐릭터의 렌더링 시퀀스(rendering sequence)가 깊이 정보에 따라 결정된 후에 렌더링을 통해 획득되고, 상기 깊이 정보는 상기 제1 선택 조작의 시퀀스에 따라 설정됨 -;
상기 제2 사용자 인터페이스상의 제2 선택 조작을 수신하는 단계; 및
상기 제2 선택 조작 및 상기 렌더링 시퀀스에 따라 상기 둘 이상의 가상 캐릭터 중에서 타깃 가상 캐릭터를 결정하는 단계를 포함한다.
본 출원의 다른 측면에 따르면, 복수의 가상 캐릭터를 제어하는 장치가 제공되며, 상기 장치에서 AR 기능을 구비한 애플리케이션이 실행되고, 상기 장치는,
상기 애플리케이션의 제1 사용자 인터페이스를 표시하도록 구성된 디스플레이 모듈 - 상기 제1 사용자 인터페이스는 복수의 가상 캐릭터의 선택 항목을 포함함 -;
상기 제1 사용자 인터페이스상의 둘 이상의 가상 캐릭터에 대한 제1 선택 조작을 수신하도록 구성된 수신 모듈; 및
결정 모듈을 포함하고,
상기 디스플레이 모듈은 상기 애플리케이션의 제2 사용자 인터페이스를 표시하도록 구성되며, 현실 세계의 배경 영상 및 상기 배경 영상에 위치한 상기 둘 이상의 가상 캐릭터가 상기 제2 사용자 인터페이스상에 표시되고, 상기 둘 이상의 가상 캐릭터는, 상기 둘 이상의 가상 캐릭터의 렌더링 시퀀스가 깊이 정보에 따라 결정된 후에 렌더링을 통해 획득되고, 상기 깊이 정보는 상기 제1 선택 조작의 시퀀스에 따라 설정되고;
상기 수신 모듈은 상기 제2 사용자 인터페이스상의 제2 선택 조작을 수신하도록 구성되며;
상기 결정 모듈은 상기 제2 선택 조작 및 상기 렌더링 시퀀스에 따라 상기 둘 이상의 가상 캐릭터 중에서 타깃 가상 캐릭터를 결정하도록 구성된다.
본 출원의 다른 측면에 따르면, 컴퓨터 기기가 제공되며, 상기 컴퓨터 기기는,
메모리; 및
상기 메모리에 전기적으로 연결된 프로세서를 포함하고,
상기 프로세서는 상기한 하나의 측면에 따른 복수의 가상 캐릭터를 제어하는 방법을 구현하기 위해 실행 가능한 명령어를 로딩 및 실행하도록 구성된다.
본 출원의 다른 측면에 따르면, 하나 이상의 명령어, 또는 하나 이상의 프로그램, 또는 코드 세트, 또는 명령어 세트를 저장하는, 컴퓨터로 판독 가능한 저장 매체가 제공되며, 상기 하나 이상의 명령어, 또는 상기 하나 이상의 프로그램, 또는 상기 코드 세트, 또는 상기 명령어 세트는 프로세서에 의해 로딩 및 실행되어 상기한 하나의 측면에 따른 복수의 가상 캐릭터를 제어하는 방법을 구현한다.
본 출원의 실시예에서 제공되는 기술적 방안은 적어도 다음과 같은 유익한 효과를 달성한다:
깊이 정보를 이용하여 렌더링 시퀀스를 결정하고, 렌더링 시퀀스에 따라 둘 이상의 가상 캐릭터를 그려서, 가상 캐릭터가 중첩되는 경우에 클리핑 현상을 회피할 수 있어, 사용자가 가상 캐릭터에 대한 선택 조작을 수행할 때 타깃 가상 캐릭터를 정확하게 결정할 수 있게 한다. 사용자는 AR 시나리오에서 2차원 영상과 같은 3차원 모델에 대해 제어 조작을 수행하여 터치 결정과 시각 간의 일관성을 보장함으로써 3차원 가상 캐릭터에 대한 인간-컴퓨터 상호작용 문제를 해결할 수 있다. 예를 들어, 렌더링 시퀀스에서 제1 가상 캐릭터가 제2 가상 캐릭터와 중첩되고, 제1 가상 캐릭터가 제2 가상 캐릭터보다 선행하는 경우, 단말기는 선택 조작에 따라 제1 가상 캐릭터를 타깃 가상 캐릭터로 정확하게 결정할 수 있다.
본 발명의 실시예의 기술적 방안을 더욱 명확하게 설명하기 위해, 이하에서는 실시예의 설명에 필요한 첨부 도면을 간략히 설명한다. 명백히, 이하의 설명에서 첨부 도면은 단지 본 개시내용의 일부 실시예를 도시하며, 당업자라면 창의적인 노력없이 이러한 첨부 도면으로부터 다른 도면을 여전히 도출할 수 있을 것이다.
도 1은 본 출원의 예시적인 실시예에 따른 복수의 가상 캐릭터를 제어하는 방법의 구현 환경의 개략도이다.
도 2는 본 출원의 예시적인 실시예에 따른 복수의 가상 캐릭터를 제어하는 방법의 흐름도이다.
도 3은 본 출원의 예시적인 실시예에 따른 복수의 가상 캐릭터를 제어하는 방법을 구현하기 위한 인터페이스의 개략도이다.
도 4는 본 출원의 다른 예시적인 실시예에 따른 복수의 가상 캐릭터를 제어하는 방법을 구현하기 위한 인터페이스의 개략도이다.
도 5는 본 출원의 예시적인 실시예에 따른 가상 캐릭터의 화소 처리 방법의 흐름도이다.
도 6은 본 출원의 다른 예시적인 실시예에 따른 복수의 가상 캐릭터를 제어하는 방법을 구현하기 위한 인터페이스의 개략도이다.
도 7은 본 출원의 다른 예시적인 실시예에 따른 복수의 가상 캐릭터를 제어하는 방법의 흐름도이다.
도 8은 본 출원의 다른 예시적인 실시예에 따른 복수의 가상 캐릭터를 제어하는 방법을 구현하기 위한 인터페이스의 개략도이다.
도 9는 본 출원의 다른 예시적인 실시예에 따른 복수의 가상 캐릭터 제어 방법의 흐름도이다.
도 10은 본 출원의 다른 예시적인 실시예에 따른 복수의 가상 캐릭터를 제어하는 방법을 구현하기 위한 인터페이스의 개략도이다.
도 11은 본 출원의 예시적인 실시예에 따른 그리드의 개략도이다.
도 12는 본 출원의 예시적인 실시예에 따른 정보 코드의 정보 구조의 개략도이다.
도 13은 본 출원의 다른 예시적인 실시예에 따른 복수의 가상 캐릭터를 제어하는 방법을 구현하기 위한 인터페이스의 개략도이다.
도 14는 본 출원의 다른 예시적인 실시예에 따른 복수의 가상 캐릭터를 제어하는 방법을 구현하기 위한 인터페이스의 개략도이다.
도 15는 본 출원의 다른 예시적인 실시예에 따른 복수의 가상 캐릭터를 제어하는 방법을 구현하기 위한 인터페이스의 개략도이다.
도 16은 본 출원의 다른 예시적인 실시예에 따른 복수의 가상 캐릭터를 제어하는 방법을 구현하기 위한 인터페이스의 개략도이다.
도 17은 본 출원의 다른 예시적인 실시예에 따른 복수의 가상 캐릭터를 제어하는 방법을 구현하기 위한 인터페이스의 개략도이다.
도 18은 본 출원의 다른 예시적인 실시예에 따른 복수의 가상 캐릭터를 제어하는 방법의 흐름도이다.
도 19는 본 출원의 다른 예시적인 실시예에 따른 복수의 가상 캐릭터를 제어하는 방법을 구현하기 위한 인터페이스의 개략도이다.
도 20은 본 출원의 예시적인 실시예에 따른 복수의 가상 캐릭터를 제어하는 장치의 블록도이다.
도 21은 본 출원의 예시적인 실시예에 따른 단말기의 블록도이다.
도 22는 본 출원의 예시적인 실시예에 따른 서버의 블록도이다.
본 출원의 실시예의 목적, 기술적 방안 및 이점을 보다 명확하게 하기 위해, 이하에서는 첨부 도면을 참조하여 본 출원의 구현을 상세히 설명한다.
먼저, 본 출원에 포함된 용어에 대해 설명한다.
AR 기술은 현실 세계 정보와 가상 세계 정보를 매끄럽게 통합하는 기술로, 현실 환경과 가상 객체를 동일한 영상에 실시간으로 중첩시킬 수 있는 기술이다.
본 출원에 제공된 실시예에서, 애플리케이션은 AR 기술을 사용하여 단말기에서 실행될 때 3차원 가상 환경을 제공한다. 3차원 가상 환경은 카메라에 의해 포착된 현실 환경과, 컴퓨터 시뮬레이션에 의해 생성된 가상 객체 및 가상 캐릭터를 포함한다.
가상 캐릭터는 전술한 3차원 가상 환경에서 이동 가능한 객체이다. 이동 가능한 객체는 가상 인물, 가상 동물, 만화 인물 중 적어도 하나일 수 있다. 일부 실시예에서, 가상 캐릭터는 골격 애니메이션 기술(skeletal animation technology)에 기초하여 생성된 3차원 모델이다. 각각의 가상 캐릭터는 3차원 가상 환경에서 개별 형상 및 크기를 가지며, 3차원 가상 환경에서 일부 공간을 차지한다.
도 1은 본 출원의 예시적인 실시예에 따른 복수의 가상 캐릭터를 제어하는 방법의 구현 환경의 개략도이다. 구현 환경은 단말기(120), 서버 클러스터(140) 및 통신 네트워크(160)를 포함한다.
단말기(120)는 통신 네트워크(160)을 통해 서버 클러스터(140)와 연결된다. 단말기(120)에는 AR 기능을 구비한 애플리케이션이 설치되어 실행되며, 이 애플리케이션은 가상 캐릭터를 지원하는 기능을 추가로 갖추고 있다. 일부 실시예에서, 애플리케이션은 AR 게임 프로그램, AR 교육 프로그램 및 AR 내비게이션 프로그램 중 어느 하나일 수 있다.
일부 실시예에서, 정보 공유 채널을 갖는 애플리케이션이 추가로 설치되어 단말기(120)에 실행되고, 제1 계정 또는 제2 계정이 애플리케이션에 로그인된다.
일부 실시예에서, 단말기(120)는 스마트폰, 게임 콘솔, 데스크톱 컴퓨터, 태블릿 컴퓨터, 전자 책 판독기(e-book reader), MP3(Moving Picture Experts Group Audio Layer III) 플레이어, MPEG-4(MP4) 플레이어 및 랩톱 휴대형 컴퓨터 중 적어도 하나일 수 있다.
서버 클러스터(140)는 하나의 서버, 복수의 서버, 클라우드 컴퓨팅 플랫폼, 가상화 센터(virtualization center) 중 적어도 하나를 포함한다. 서버 클러스터(140)는 AR 기능을 구비한 애플리케이션에 백그라운드 서비스(background service)를 제공하도록 구성된다. 일부 실시예에서, 서버 클러스터(140)는 주요 컴퓨팅 작업을 맡고, 단말기(120)는 보조 컴퓨팅 작업을 맡는다. 대안으로, 서버 클러스터(140)가 보조 컴퓨팅 작업을 맡고, 단말기(120)는 주요 컴퓨팅 작업을 맡는다. 대안으로, 협업 컴퓨팅(collaborative computing)이 서버 클러스터(140)와 단말기(120) 사이의 분산 컴퓨팅 아키텍처(distributed computing architecture)를 사용하여 수행된다.
일부 실시예에서, 서버 클러스터(140)는 액세스 서버(access server) 및 백엔드 서버(backend server)를 포함한다. 액세스 서버는 단말기(120)에 액세스 서비스 및 정보 송수신 서비스를 제공하고, 단말기(120)과 백엔드 서버 사이에 유효한 정보를 포워딩하도록 구성된다. 백엔드 서버는 애플리케이션에 백엔드 서비스, 예를 들어, 게임 로직 서비스, 소재 제공 서비스, 가상 캐릭터 생성 서비스, 가상 캐릭터의 3차원 형상(figure) 생성 서비스, 가상 캐릭터의 2차원 이미지 변환 및 저장 서비스, 가상 캐릭터 거래 서비스, 가상 캐릭터 표시 서비스를 제공하도록 구성된다. 하나 이상의 백엔드 서버(backend server)가 있을 수 있다. 복수의 백엔드 서버가 있는 경우, 서로 다른 서비스를 제공하도록 구성된 백엔드 서버가 적어도 두 개(둘 이상) 있고/있거나, 동일한 서비스를 제공하도록 구성된 백엔드 서버가 적어도 두 개 있다. 본 출원의 이 실시예에서는 이를 한정하지 않는다.
통신 네트워크(160)는 유선 네트워크 및/또는 무선 네트워크일 수 있다. 유선 네트워크는 대도시 지역 네트워크, 근거리 통신 네트워크, 광섬유 네트워크 등일 수 있으며; 무선 네트워크는 이동 통신 네트워크 또는 Wi-Fi(Wireless Fidelity) 네트워크일 수 있다.
본 출원의 이 실시예에서 제공되는 복수의 가상 캐릭터를 제어하는 방법은 전술한 구현 환경에 적용 가능하며, 다음 애플리케이션 시나리오를 지원한다:
복수의 가상 캐릭터를 제어하는 방법은 AR 게임 프로그램에 적용 가능하다. 복수의 가상 캐릭터가 AR 게임 프로그램을 사용하여 사용자 인터페이스상에 표시되고; 사용자 인터페이스에서 트리거된 선택 조작이 수신되고; 선택 조작의 트리거 위치로부터 물리 광선이 방출되고, 물리 광선과 충돌하는 가상 캐릭터가 타깃 가상 캐릭터로 결정되고; 타깃 가상 캐릭터는 제어 조작을 통해 제어된다. 예를 들어, 연속적인 동작을 하기 위해 3차원 가상 환경에서 가상 캐릭터의 위치를 제어하거나 가상 캐릭터를 제어한다.
복수의 가상 캐릭터를 제어하는 방법은 AR 교육 프로그램에 적용 가능하다. AR 교육 프로그램을 사용하여 다수의 가상 캐릭터가 사용자 인터페이스상에 표시되고 제어된다. 예를 들어, AR 교육 프로그램은 화학 실험을 시뮬레이션하고, 사용자 인터페이스상에 실험 장치 및 의약품을 표시하는 데 사용되며; 사용자 인터페이스에서 트리거된 선택 조작이 수신되고; 선택 조작의 트리거 위치로부터 물리 광선이 방출되고, 물리 광선과 충돌하는 실험 장치(약품)가 타깃 장치(약품)로 결정되며; 제어 조작은 타깃 장치의 배치, 실험 장치의 조립, 약품의 첨가, 측정 및 무게 측정을 구현하기 위해 수행된다.
복수의 가상 캐릭터를 제어하는 방법은 AR 군사 시뮬레이션 프로그램에 적용 가능하다. 복수의 가상 캐릭터를 AR 군사 시뮬레이션 프로그램을 사용하여 사용자 인터페이스상에 표시되고 제어된다. 예를 들어, 사용자 인터페이스상에 복수의 전초 기지를 표시하기 위해, AR 군사 시물레이션 프로그램이 군대 배치에 사용되고; 사용자 인터페이스에서 트리거된 선택 조작이 수신되고; 선택 조작의 트리거 위치로부터 물리 광선이 방출되고, 물리 광선과 충돌하는 전초 기기가 타깃 전초 기지로 결정되며; 타깃 전초 기지는 드래그 조작을 통해 합리적인 위치에 배치되고, 저지선이 구축된다.
복수의 가상 캐릭터를 제어하는 방법은 AR 건축 프로그램에 적용 가능하다. AR 건축 프로그램을 사용하여 주택, 상점, 차고, 신호등, 고가교와 같은 복수의 유형의 건물이 사용자 인터페이스에 표시되고; 사용자 인터페이스에서 트리거된 선택 조작이 수신되고; 선택 조작의 트리거 위치로부터 물리 광선이 방출되고, 물리 광선과 충돌하는 건물이 타깃 건물로 결정되며; 제어 조작을 통해 타깃 건물의 지리적 위치 또는 타깃 건물의 표시 각도를 설정한다.
전술한 애플리케이션 시나리오는 본 출원에서 제공되는 복수의 가상 캐릭터를 제어하는 방법의 애플리케이션 시나리오를 예시하기 위한 예로 사용될 뿐이며, 본 출원은 전술한 애플리케이션 시나리오에 한정되지 않는다.
도 2는 본 출원의 예시적인 실시예에 따른 복수의 가상 캐릭터를 제어하는 방법의 흐름도이다. 이 실시예는 도 1에 도시된 구현 환경에 이 방법이 적용되는 예를 사용하여 설명된다. 이 방법은 다음 단계를 포함한다:
단계 201. 애플리케이션의 제1 사용자 인터페이스를 표시한다.
AR 기능을 구비한 애플리케이션은 단말기에서 실행되며, 가상 캐릭터를 지원하는 기능이 제공된다. 애플리케이션의 제1 사용자 인터페이스가 단말기에 표시되고, 제1 사용자 인터페이스는 복수의 가상 캐릭터의 선택 항목을 포함한다.
일부 실시예에서, 애플리케이션은 AR 게임 프로그램, AR 교육 프로그램, AR 군사 시뮬레이션 프로그램, AR 건축 프로그램 및 AR 내비게이션 프로그램 중 적어도 하나를 포함한다.
일부 실시예에서, 애플리케이션의 제1 사용자 인터페이스를 단말기에 표시하는 것은 다음의 개략적 단계:
애플리케이션의 제2 사용자 인터페이스를 단말기상에 표시하는 단계 - 제2 사용자 인터페이스는 목록 항목 제어를 포함하고, 목록 항목 제어는 복수의 가상 캐릭터의 선택 항목의 표시를 트리거하도록 구성된 제어임 -;
단말기가 목록 항목 제어에서의 트리거 조작을 수신하는 단계; 및
트리거 조작에 따라 애플리케이션의 제1 사용자 인터페이스를 표시하는 단계 - 제1 사용자 인터페이스는 복수의 가상 캐릭터의 선택 항목을 포함하고, 현실 세계의 배경 영상이 AR 촬영 인터페이스상에 표시됨 -를 포함할 수 있다.
즉, 본 실시예에서 단계 203을 수행한 후, 단말기는 가상 캐릭터를 재선택하거나 가상 캐릭터를 추가하도록 선택할 때 제2 사용자 인터페이스상의 목록 항목 제어를 트리거함으로써 제1 사용자 인터페이스를 표시한다.
대안으로, 애플리케이션의 제1 사용자 인터페이스를 단말기상에 표시하는 것은 다음의 개략적인 단계:
상기 애플리케이션의 AR 홈페이지를 단말기상에 표시하는 단계 - AR 홈페이지는 디스플레이 제어를 포함하고, 디스플레이 제어는 복수의 가상 캐릭터의 선택 항목의 표시를 트리거하도록 구성된 제어임 -;
단말기가 디스플레이 제어에서의 트리거 조작을 수신하는 단계; 및
트리거 조작에 따라 애플리케이션의 제1 사용자 인터페이스를 표시하는 단계 - 제1 사용자 인터페이스는 복수의 가상 캐릭터의 선택 항목, AR 홈페이지상에 표시되는 현실 세계의 배경 영상을 포함함 -를 더 포함할 수 있다.
일부 실시예에서, 상기 트리거 조작은 단일 클릭/탭(single-click/tap) 조작, 다중 클릭/탭(multiple-click/tap) 조작, 길게 누름(long-press) 조작, 스와이프(sweep) 조작, 드래그(drag) 조작 및 이들의 조합 중 적어도 하나를 포함한다.
개략적으로, 도 3에 도시된 바와 같이, AR 애플리케이션의 AR 홈페이지(11)가 단말기상에 표시되고, AR 홈페이지(11)는 표시 제어(12)를 포함하고; 단말기는 표시 제어(12)상의 길게 누름 조작을 수신하고; 제1 사용자 인터페이스(13)가 단말기에 표시되고, 복수의 가상 캐릭터 중 선택 항목(14)이 제1 사용자 인터페이스(13)에 표시된다.
단계 202. 제1 사용자 인터페이스상의 적어도 두 개의 가상 캐릭터에 대한 제1 선택 조작을 수신한다.
단말기는 제1 사용자 인터페이스상의 적어도 두 개의 가상 캐릭터에 대한 제1 선택 조작을 수신한다. 일부 실시예에서, 제1 선택 조작은 단일 클릭/탭 조작, 다중 클릭/탭 조작, 스와이프 조작, 드래그 조작, 길게 누름 조작 및 이들의 조합 중 적어도 하나를 포함한다.
단계 203. 애플리케이션의 제2 사용자 인터페이스를 표시한다.
제2 사용자 인터페이스상에 현실 세계의 배경 영상과 배경 영상에 위치한 적어도 두 개의 가상 캐릭터가 표시되고, 적어도 두 개의 가상 캐릭터는 적어도 두 개의 가상 캐릭터의 렌더링 시퀀스가 깊이 정보에 따라 결정된 후에 렌더링을 통해 획득되고, 깊이 정보는 제1 선택 조작의 시퀀스에 따라 설정된다.
일부 실시예에서, 가상 캐릭터의 깊이 정보는 가상 캐릭터의 피사계 심도(depth of field)를 포함한다. 피사계 심도는 카메라 렌즈 또는 다른 이미저(imager) 앞에서 측정된 피사체의 세로 방향의 범위 거리이며, 피사체는 그 거리 내에서 선명하게 촬영될 수 있다.
일부 실시예에서, 애플리케이션의 제2 사용자 인터페이스를 단말기상에 표시하는 것은 다음의 개략적인 단계:
제1 선택 조작에 따라 적어도 두 개의 가상 캐릭터의 선택 시퀀스에 따라 상기 적어도 두 개의 가상 캐릭터의 깊이 정보를 설정하는 단계;
깊이 정보에 따라 적어도 두 개의 가상 캐릭터의 렌더링 시퀀스를 결정하는 단계; 및
렌더링 시퀀스에 따라 적어도 두 개의 가상 캐릭터를 렌더링하고, 제2 사용자 인터페이스상에 적어도 두 개의 가상 캐릭터를 표시하는 단계를 포함할 수 있다.
렌더링은 실제 카메라의 원리에 따라 가상 캐릭터의 모델을 채색하는 것이다. 이 실시예에서, 단말기는 가상 캐릭터의 모델을 렌더링하여 가상 캐릭터가 3차원 가상 환경에서 3차원 효과를 나타내도록 한다. 렌더링 시퀀스는 적어도 두 개의 가상 캐릭터의 렌더링 모델의 시퀀스이다.
개략적으로, 도 4에 도시된 바와 같이, 선택 항목 1, 선택 항목 2 및 선택 항목 3은 단일 클릭/탭에 의해 제1 사용자 인터페이스(13)상에서 순차적으로 선택되고; 그 후 OK 버튼 제어(15)가 클릭/탭되어 선택 항목 1, 선택 항목 2 및 선택 항목 3에 대응하는 세 개의 가상 캐릭터를 디스플레이하도록 결정하고; 가상 캐릭터(16), 가상 캐릭터(17) 및 가상 캐릭터(18)가 제2 사용자 인터페이스(19)상에 표시된다. 전술한 세 개의 가상 캐릭터의 그리기 시퀀스는 깊이 정보에 따라 결정된다. 깊이 정보는 제1 선택 조작에 따라 결정된다. 예를 들어, 선택 항목 1은 가상 캐릭터(17)에 대응하고, 선택 항목 2는 가상 캐릭터(18)에 대응한다. 선택 항목 1을 선택한 다음 선택 항목 2를 선택하는 시퀀스에 따라, 가상 캐릭터(17)의 깊이 정보는 6으로 설정되고, 가상 캐릭터(18)의 깊이 정보는 무한대로 설정된다. 렌더링 시퀀스는 가상 캐릭터(17)를 렌더링한 다음 가상 캐릭터(18)를 렌더링하는 것이다. 도 4에서, 가상 캐릭터(17)는 제2 사용자 인터페이스상의 가상 캐릭터(18)보다 시각적으로 전면에 더 가깝다.
도 5에 도시된 바와 같이, 가상 캐릭터의 화소 각각을 단말기상에 그리는 프로세스는 다음과 같다:
2031. 카메라 텍스처(camera texture)를 그린다.
단말기는 화소상에 가상 캐릭터에 대응하는 카메라 텍스처를 그린다. 카메라 텍스처는 카메라에 의해 캡처되는 객체의 표면상의 홈 및/또는 패턴이며, 카메라는 사용자가 가상 세계를 볼 때의 카메라 모델이다.
2032. 스트로크(stroke)를 그린다.
스트로크는 에지 라인(edge line)을 만드는 것이다. 도 5에 도시된 프로세스에서, 화소가 유효한 화소이면, 단말기는 화소의 스트로크를 그린다. 유효한 화소는 화소가 가상 캐릭터 이미지의 에지에 위치한다는 것이다.
2033. 특수 효과(special effect)를 그린다.
특수 효과는, 예를 들어 가상 캐릭터의 의상 색상이 계속 변화하거나, 가상 캐릭터의 치마의 끝단(hemline)이 계속 펄럭이는 것이다. 화소에 특수 효과가 포함된 경우, 단말기는 화소상의 특수 효과를 그린다.
2034. 모델을 그린다.
모델은 객체의 형태학적 구조를 설명하는 구조체이다. 단말기는 화소상의 모델을 그린다.
2035. 깊이 제거.
현재 화소의 깊이 정보는 제거되고, 다음 화소를 그리기 위해 단계 2032로 돌아 간다. 가상 캐릭터 그리기가 완료되면, 단계 2036이 수행된다.
2036. 종료.
단계 204. 제2 사용자 인터페이스상의 제2 선택 조작을 수신한다.
단말기는 제2 사용자 인터페이스상의 가상 캐릭터에 대한 제2 선택 조작을 수신한다. 일부 실시예에서, 제2 선택 조작은 단일 클릭/탭 조작, 다중 클릭/탭 조작, 및 길게 누름 조작 중 적어도 하나를 포함한다.
단계 205. 제2 선택 조작 및 렌더링 시퀀스에 따라 적어도 두 개의 가상 캐릭터로부터 타깃 가상 캐릭터를 결정한다.
가상 캐릭터가 중첩되지 않는 경우, 단말기는 제2 선택 조작에 의해 상응하게 선택되는 가상 캐릭터를 타깃 가상 캐릭터로서 결정한다.
일부 실시예에서, 단말기는 제2 선택 조작의 트리거 위치로부터 물리 광선을 방출하고, 물리 광선과 충돌하는 가상 캐릭터를 타깃 가상 캐릭터로서 결정한다. 예를 들어, 도 6에 도시된 바와 같이, 제2 선택 조작에 따른 트리거 위치가 가상 캐릭터(18)가 위치한 영역에 위치하는 경우, 트리거 위치로부터 방출된 물리 광선이 가상 캐릭터(18)와 충돌하며, 가상 캐릭터(18)는 타깃 가상 캐릭터로서 결정된다.
단말기는 적어도 두 개의 가상 캐릭터가 중첩되는 경우에 제2 선택 조작에 따라 렌더링 시퀀스에서 맨 먼저 랜더링될 가상 캐릭터를 타깃 가상 캐릭터로서 결정한다.
일부 실시예에서, 적어도 두 개의 가상 캐릭터가 중첩되는 경우, 단말기가 타깃 가상 캐릭터를 결정하는 개략적인 단계는 다음과 같다:
1) 단말기는 가상 캐릭터가 위치한 3차원 가상 환경에서 제2 선택 조작의 트리거 위치로부터 물리 광선을 방출한다.
2) 단말기는 렌더링 시퀀스에 따라 물리 광선과 충돌하는 가상 캐릭터를 타깃 가상 캐릭터로서 결정한다.
물리 광선과 가상 캐릭터의 충돌은 물리 광선의 요소와 가상 캐릭터의 요소의 충돌이다. 단말기는 충돌 검출을 통해 물리 광선과 가상 캐릭터 간의 충돌을 판단한다. 물리 광선은 렌더링 시퀀스에서 맨 먼저 렌더링될 가상 캐릭터와 충돌한다.
예를 들어, 도 6에 도시된 바와 같이, 가상 캐릭터(16)와 가상 캐릭터(17)는 부분적으로 중첩되고, 렌더링 시퀀스는 가상 캐릭터(17)가 가상 캐릭터(16)보다 먼저 렌더링되는 것이다. 제2 선택 조작의 트리거 위치가 중첩된 영역에 있는 경우, 단말기에 의해 트리거 위치로부터 방출된 물리 광선은 가상 캐릭터(17)와 충돌하고, 가상 캐릭터(17)가 타깃 가상 캐릭터로서 결정된다.
이상을 바탕으로, 본 실시예에서 제공된 복수의 가상 캐릭터를 제어하는 방법에 따르면, AR 기능을 구비한 애플리케이션이 단말기에서 실행될 때, 깊이 정보를 사용하여 렌더링 시퀀스가 결정되고, 적어도 두 개의 가상 캐릭터는 렌더링 시퀀스에 따라 그려지므로, 가상 캐릭터가 중첩되는 경우에 클리핑 현상을 회피할 수 있어, 사용자가 가상 캐릭터에 대해 선택 조작을 수행하는 경우, 타깃 가상 캐릭터를 정확하게 결정할 수 있다. 사용자는 AR 시나리오에서 2차원 영상처럼 3차원 모델에 대해 제어 조작을 수행할 수 있어, 터치 결정과 시각 사이의 일치를 보장함으로써 3차원 가상 캐릭터에 대한 인간-컴퓨터 상호작용 문제를 해결할 수 있다. 예를 들어, 제1 가상 캐릭터가 제2 가상 캐릭터와 중첩되고, 렌더링 시퀀스에서 제1 가상 캐릭터가 제2 가상 캐릭터보다 선행하는 경우, 단말기는 선택 조작에 따라 제1 가상 캐릭터를 타깃 가상 캐릭터로서 정확하게 결정할 수 있다.
이 실시예에서, 단말기에 표시되는 사용자 인터페이스는 2차원 이미지이다. 예를 들어, 제1 사용자 인터페이스와 제2 사용자 인터페이스는 모두 2차원 이미지이다.
도 2에 기초하여, 단계 205 이후에 단계 301 및 302가 추가되고, 단말기는 타깃 가상 캐릭터를 결정한 후 제2 사용자 인터페이스를 업데이트한다. 도 7에 도시된 바와 같이, 개략적인 단계는 다음과 같다:
단계 301. 렌더링 시퀀스에서 맨 먼저 렌더링될 가상 캐릭터로서 타깃 가상 캐릭터를 결정하고 렌더링 시퀀스를 업데이트한다.
원래의 렌더링 시퀀스에 기초하여, 단말기는 타깃 가상 캐릭터가 맨 먼저 렌더링될 것으로 설정하고, 나머지 가상 캐릭터의 렌더링 시퀀스를 변경하지 않고 유지하여, 렌더링 시퀀스를 업데이트한다.
예를 들어, 가상 캐릭터(16), 가상 캐릭터(17) 및 가상 캐릭터(18)의 렌더링 시퀀스는 가상 캐릭터(16), 가상 캐릭터(17), 그리고 가상 캐릭터(18)이고; 단말기가 가상 캐릭터(17)를 타깃 가상 캐릭터로서 결정한 경우, 렌더링 시퀀스는 가상 캐릭터(17), 가상 캐릭터(16) 및 가상 캐릭터(18)로 업데이트된다.
단계 302. 업데이트된 렌더링 시퀀스에 따라 적어도 두 개의 가상 캐릭터를 표시한다.
단말기는 업데이트된 렌더링 순서에 따라 적어도 두 개의 가상 캐릭터를 다시 그리고 표시한다. 개략적으로, 도 8에 도시된 바와 같이, 제2 사용자 인터페이스(19)상의 세 개의 가상 캐릭터의 렌더링 시퀀스는 가상 캐릭터(17), 가상 캐릭터(16), 그리고 가상 캐릭터(18)이다. 단말기가 가상 캐릭터(18)를 타깃 가상 캐릭터로서 결정한 후, 렌더링은 시퀀스는 가상 캐릭터(18), 가상 캐릭터(17) 및 가상 캐릭터(16)로 업데이트된다. 제2 사용자 인터페이스(23)상에, 업데이트된 렌더링 시퀀스에 따라 세 개의 가상 캐릭터가 표시된다. 시각적으로, 가상 캐릭터(18)는 가상 캐릭터(16) 및 가상 캐릭터(17)보다 정면에 가깝다.
일부 실시예에서, 제2 사용자 인터페이스는 촬영 인터페이스이다. 도 2에 기초하여, 단계 205 후에 단말기는 복수의 가상 캐릭터의 사진 촬영 기능 및 사진 공유 기능을 구현한다. 도 9에 도시된 바와 같이, 개략적인 단계는 다음과 같다:
단계 401. 타깃 가상 캐릭터에 대해 트리거된 자세 설정 조작을 수신한다.
자세 설정 조작은 타깃 가상 캐릭터의 자세 정보를 설정하기 위해 사용된다. 일부 실시예에서, 자세 정보는 가상 캐릭터의 위치 정보, 동작 정보 및 크기 정보 중 적어도 하나를 포함한다. 일부 실시예에서, 위치 정보는 3차원 가상 환경에서 타깃 가상 캐릭터의 지리적 위치 정보 및 타깃 가상 캐릭터의 회전 정보를 포함한다.
일부 실시예에서, 자세 설정 조작은 스와이프 조작, 단일 클릭/탭 조작, 다중 클릭/탭 조작, 드래그 조작 및 줌 조작 중 적어도 하나를 포함한다.
개략적으로, 단말기상의 타깃 가상 캐릭터에 대해 트리거된 자세 설정 조작을 수신하는 것은 다음의 개략적인 단계:
타깃 가상 캐릭터에 대한 스와이프 조작을 수신하는 단계 - 스와이프 조작은 3차원 가상 환경에서 타깃 가상 캐릭터의 위치 정보를 설정하는 데 사용됨 -; 또는
타깃 가상 캐릭터에 대한 드래그 조작을 수신하는 단계 - 드래그 조작은 3차원 가상 환경에서 타깃 가상 캐릭터의 위치 정보를 설정하는 데 사용됨 -; 또는
타깃 가상 캐릭터에 대한 줌 조작을 수신하는 단계 - 줌 조작은 타깃 가상 캐릭터의 크기 정보를 설정하는 데 사용됨 -; 또는
타깃 가상 캐릭터의 연속 동작을 재생하는 단계; 및
제2 사용자 인터페이스상의 단일 클릭/탭 조작을 수신하는 단계 - 단일 클릭/탭 조작은 타깃 가상 캐릭터의 동작을 정지시키는 데 사용되고, 정지 동작(freezing action)은 타깃 가상 캐릭터의 동작 정보를 설정하는 데 사용됨 -를 포함할 수 있다:
단계 402. 자세 설정 조작에 따라 타깃 가상 캐릭터의 자세 정보를 업데이트한다.
일부 실시예에서, 단말기는 자세 설정 조작에 따라 타깃 가상 캐릭터의 표시 각도를 회전시킨다. 예를 들어, 단말기는 가로 방향의 스와이프 조작에 따라 타깃 가상 캐릭터의 표시 각도를 회전 및 조정한다.
대안으로, 단말기는 자세 설정 조작에 따라 3차원 가상 환경에서 타깃 가상 캐릭터의 지리적 위치를 설정한다. 예를 들어, 단말기는 수직 방향의 드래그 조작에 따라 제2 사용자 인터페이스상에서 타깃 가상 캐릭터를 수직으로 이동시킨다.
대안으로, 단말기는 자세 설정 조작에 따라 타깃 가상 캐릭터의 크기 정보를 설정한다. 예를 들어, 단말기는 줌 조작에 따라 타깃 가상 객체의 크기를 설정한다.
대안으로, 단말기는 자세 설정 조작에 따라 타깃 가상 캐릭터의 동작 정보를 설정한다. 예를 들어, 단말기는 타깃 가상 캐릭터의 연속 동작을 재생하고, 단일 클릭/탭 조작에 따라 타깃 가상 캐릭터의 동작을 정지시킨다.
단계 403. 촬영 제어에서 트리거된 촬영 조작을 수신한다.
제2 사용자 인터페이스는 촬영 제어를 포함하고; 단말기는 촬영 제어에서 트리거된 촬영 조작을 수신한다. 촬영 조작은 자세 정보가 설정된 후의 적어도 두 개의 가상 캐릭터를 촬영하는 데 사용되거나, 자세 정보가 설정된 후의 적어도 두 개 둘 이상의 가상 캐릭터와 함께 촬영하는 데 사용된다.
단계 404. 촬영 조작에 따라 적어도 두 개의 가상 캐릭터를 촬영하여 촬영된 영상을 획득한다.
단말기는 촬영 조작에 따라 적어도 두 개의 가상 캐릭터를 촬영하여 촬영된 영상을 획득하고, 촬영된 영상은 자세 정보의 설정에 따라 표시된 타깃 가상 캐릭터가 포함된다. 일부 실시예에서, 촬영된 영상은 현실 환경의 객체를 더 포함한다. 예를 들어, 현실 환경의 객체는 실제 물체, 실제 동물 또는 실제 사람일 수 있다.
일부 실시예에서, 적어도 두 개의 가상 캐릭터가 애플리케이션에서 처음으로 촬영되는 경우, 단말기는 촬영이 가로 모드에서 수행될 수 있다는 프롬프트(prompt)를 표시한다. 개략적으로, 도 10에 도시된 바와 같이, "휴대 전화를 회전시켜 가로 모드로 촬영하세요"라는 프롬프트(32)가 사용자 인터페이스(31)상에 표시된다.
이 경우, 휴대 전화의 가로 모드가 잠금 상태이면, 단말기는 휴대 전화 화면의 잠금을 해제하라는 프롬프트를 표시한다. 예를 들어, "먼저 화면 잠금을 해제하세요"라는 프롬프트가 사용자 인터페이스상에 표시된다.
단계 405. 애플리케이션의 제3 사용자 인터페이스를 표시한다.
단말기는 촬영된 영상을 애플리케이션의 제3 사용자 인터페이스상에 표시하며, 제3 사용자 인터페이스는 공유 버튼 제어를 더 포함한다. 공유 버튼 제어는 촬영된 영상 중 적어도 하나 및 촬영된 영상에서 적어도 두 개의 가상 캐릭터의 자세 정보를 공유하도록 구성된다.
단계 406. 공유 버튼 제어에서의 공유 조작을 수신한다.
단말기는 공유 버튼 제어에서의 공유 조작을 수신한다. 예를 들어, 공유 조작은 단일 클릭/탭 조작일 수 있다.
단계 407. 공유 조작에 따라 제1 계정에서 제2 계정으로 정보 코드를 공유한다.
정보 코드는 촬영된 영상에서 적어도 두 개의 가상 캐릭터의 자세 정보를 포함하고, 정보 코드는 둘 이상의 가상 캐릭터의 자세를 설정하는 데 사용된다.
단말기가 공유 조작에 따라 제1 계정에서 제2 계정으로 정보 코드를 공유하는 개략적인 단계는 다음과 같다:
1) 공유 조작에 따라 적어도 두 개의 가상 캐릭터의 자세 정보를 획득하여, 정보 코드를 생성한다.
일부 실시예에서, 단말기는 인코딩을 위해 지리적 위치 정보를 그리드(그리드 레이아웃)에 매핑한다. 예를 들어, 단말기는 지리적 위치 정보를 나타내는 16개의 부동 소수점 숫자를 상한을 알고 있는 두 개의 정수로 변환하며, 상한은 단말기 스크린의 표시 크기에 따라 결정된다.
일부 실시예에서, 단말기는 회전 정보를 나타내는 오일러 각도(Euler angle)를 2차원 평면으로 매핑하고, 오일러 각도가 매핑된 후 획득한 해시 값을 해시 함수를 통해 인코딩한다. 예를 들어, 단말기는 0도에서 360도 범위의 각도 값을 사용하여 오일러 각도를 나타내고 해시 함수를 통해 각도 값을 계산하여 해시 값을 구한다.
일부 실시예에서, 단말기는 크기 정보의 정확도를 감소시키고, 정확도가 감소된 크기 정보를 인코딩한다.
개략적으로, 도 11 및 도 12에 도시된 바와 같이, 지리적 위치 정보는 그리드 원점(0,0)과 같은, 두 개의 정수로 표현될 수 있다. 각각의 정수는 "xGrid 색인"과 "yGrid 색인"과 같은 16비트 색인으로 인코딩된다. 전술한 회전 정보는 세 개의 16비트 정수(오일러 각도를 나타냄)를, "회전 해시"와 같은, 하나의 32비트 정수로 결합한다. 크기 정보는 세 개의 부동 소수점 숫자의 정확도를, "줌"과 같은, 16비트 정수 하나로 줄일 수 있다. 숫자에서 각각의 작은 셀은 8비트를 나타낸다. 자세 정보는 10 바이트 정보 코딩을 통해 송신될 수 있다.
일부 실시예에서, 자세 정보를 인코딩하여 정보 코드를 획득한 후, 단말기는 정보 코드를 추가로 처리할 수 있다. 예를 들어, 단말기는 Base64(64개의 인쇄 가능한 문자에 기초하여 이진 데이터를 나타냄)를 통해 정보 코드를 암호화한다.
일부 실시예에서, 자세 정보의 데이터 유형은 변환이다.
2) 정보 코드를 복사하여 정보 공유 채널에 붙여 넣는다.
일부 실시예에서, 단말기는 공유 조작에 따라 자동으로 정보 코드를 복사하여 정보 공유 채널에 붙여 넣거나; 또는 사용자가 정보 코드를 복사하여 정보 공유 채널에 붙여 넣는다.
일부 실시예에서, 정보 공유 채널은 인스턴트 메시징 프로그램 또는 네트워크 플랫폼일 수 있다.
3) 정보 공유 채널을 사용하여 제1 계정의 정보 코드를 제2 계정으로 공유한다.
제1 계정은 단말기의 애플리케이션에 로그인되고, 정보 코드는 제1 계정을 통해 제2 계정과 공유된다.
개략적으로, 단말기의 애플리케이션은 인스턴트 메시징 프로그램이고, 제1 계정은 인스턴트 메시징 프로그램에 로그인되어 있고, 제1 계정과 제2 계정은 소셜 친구이며, 단말기는 정보 코드를 제1 계정을 통해 제2 계정으로 전송한다.
대안으로, 단말기의 애플리케이션은 네트워크 플랫폼이고, 제1 계정이 네트워크 플랫폼에 로그인되어 있고, 제1 계정과 제2 계정이 서로 모르는 사람이고, 단말기는 제1 계정을 통해 네트워크 플랫폼상에 정보 코드를 발표하고, 제2 계정은 네트워크 플랫폼에 액세스하여 정보 코드를 획득할 수 있다.
도 13에 도시된 바와 같이, 제3 사용자 인터페이스(43)는 공유 버튼 제어(41)를 포함한다. 공유 버튼 제어(41)를 클릭하여 정보 코드를 획득할 수 있고; 정보 코드를 성공적으로 획득하면, 단말기는 "정보 코드가 복사되었습니다. 공유하세요~ "라는 프롬프트 정보를 표시한다. 제3 사용자 인터페이스는 공유 버튼 제어(42)를 더 포함하고, 공유 버튼 제어(42)는 촬영된 영상을 공유하도록 구성된다.
이상을 바탕으로, 본 실시예에서 제공하는 복수의 가상 캐릭터를 제어하는 방법에 따르면, 정보 코드를 사용하여 적어도 두 개의 가상 캐릭터의 자세 정보를 공유하므로, 사용자는 가상 캐릭터의 다양한 촬영 자세를 공유할 수 있다. 또한, 매우 짧은 문자열을 사용하여 정보 코드를 전송할 수 있어 자세 정보 송신의 어려움을 감소시킬 수 있다. 예를 들어, 도 12의 정보 코드는 10바이트만 차지한다.
개략적으로, 단말기는 진행 바(progress bar)를 통해 가상 캐릭터의 동작을 설정할 수 있다. 예를 들어, 도 14에서, 단말기는 선택 제어(51)에서의 트리거 조작을 수신하고 동작 선택 항목을 표시하고; 동작 선택 항목(52)에서의 트리거 조작을 수신하고 동작 선택 항목(52)에 대응하는 동작을 재생하며, 즉 가상 캐릭터(54)가 전술한 동작을 수행하고; 진행 바(53)에서의 드래그 조작을 수신하여 액션 영상을 선택하고; 진행 바(53)에서의 정지 조작을 수신하여, 가상 캐릭터(54)의 동작을 정지시키며, 정지 동작은 최종적으로 결정된 동작이다.
동작은 여가, 충전, 대기, 점프, 공격, 스킬 캐스팅, 지면에의 낙하, 현기증 등을 포함할 수 있다.
그 다음, 단말기는 타깃 가상 캐릭터를 삭제할 수 있다. 도 14에 도시된 바와 같이, 단말기가 타깃 가상 캐릭터가 가상 캐릭터(54)라고 결정하는 경우, 사용자 인터페이스(56)상에 삭제 버튼 제어(55)가 표시된다. 단말기가 삭제 버튼 제어(55)에서의 트리거 조작을 수신하는 경우, 가상 캐릭터(54)가 삭제되고 사용자 인터페이스(57)가 표시된다.
그 다음, 단말기는 전면 카메라와 후면 카메라 사이에서 카메라를 전환할 수 있다. 도 14에 도시된 바와 같이, 사용자 인터페이스(57)는 카메라 스위치 버튼(58)을 포함한다.
가상 캐릭터의 자세 정보를 설정한 후, 단말기는 또한 한 번의 클릭으로 가상 캐릭터의 자세 정보를 디폴트 자세 정보로 복원할 수 있다. 도 14에 도시된 바와 같이, 사용자 인터페이스(57)는 복원 제어(59)를 포함한다. 단말기는 복원 제어(59)에서의 트리거 조작을 수신하고 카드(60)를 표시한다. 카드(60)는 리마인더 정보를 포함하고, 복원 여부는 확인 또는 취소 조작에 의해 결정된다.
또한, 제2 사용자 인터페이스를 표시한 후, 단말기는 표시된 가상 캐릭터를 추가할 수 있다. 도 15에 도시된 바와 같이, 사용자 인터페이스(61)는 목록 제어(62)를 포함한다. 단말기는 목록 제어(62)에서의 트리거 조작을 수신하고 가상 캐릭터의 선택 항목(63)을 표시한다. 단말기는 선택 조작에 따라 가상 캐릭터를 추가하여 표시할 수 있다.
단말기는 가상 캐릭터에 필터 또는 꾸밈(beautification)을 더 추가할 수 있다. 도 16에 도시된 바와 같이, 필터 제어(65)는 사용자 인터페이스(64)상에 표시된다. 필터 제어(65)에서의 트리거 조작이 수신되고, 필터 목록이 표시된다. 필터 제어(66)에서의 트리거 조작을 수신하는 경우, 단말기는 필터에 대응하는 필터 목록을 표시한다. 도면의 사용자 인터페이스(67)에 도시된 바와 같이, 꾸밈 제어(68)에서의 트리거 조작을 수신하면, 단말기는 꾸밈에 대응하는 필터 목록을 표시한다. 단말기는 또한 진행 바를 사용하여 필터의 대응 값을 설정한다(예: 꾸밍의 백분율조정).
단말기는 또한 촬영 중에 사용자 인터페이스에 스티커를 추가할 수 있다. 도 17에 도시된 바와 같이, 사용자 인터페이스(71)는 스티커 버튼 제어(72)를 포함한다. 단말기는 스티커 버튼 제어(72)에서의 트리거 조작을 수신하고 스티커 목록을 표시한다. 단말기는 템플릿에서의 선택 조작을 수신하고 템플릿(75)을 표시한다. 템플릿(75)은 닫기 버튼(74)을 포함한다. 닫기 버튼(74)에서의 트리거 조작을 수신하면, 단말기는 또한 스티커 추가를 취소한다. 템플릿(75)은 회전 버튼(73)을 포함한다. 단말기가 회전 버튼(73)에 대한 드래그 조작을 수신하면, 단말기는 드래그 조작에 따라 템플릿(75)을 회전시킨다. 템플릿(75)의 텍스트 제어에서의 트리거 조작을 수신하는 경우, 단말기는 사용자 인터페이스(76)를 표시한다. 사용자 인터페이스(76)는 템플릿(75)에 텍스트 콘텐츠를 입력하기 위해 사용되는 키보드(77)를 포함한다.
일부 실시예에서, 단말기는 정보 코드를 사용하여 가상 캐릭터의 자세 정보를 설정할 수 있다. 개략적으로, 도 2에 기초하여, 단계 203은 단계 501 및 단계 502로 대체된다. 도 18에 도시된 바와 같이, 이 단계들은 다음과 같다:
단계 501. 정보 코드를 획득한다.
정보 코드는 타깃 자세 정보를 인코딩하여 획득되고, 타깃 자세 정보는 적어도 두 개의 가상 캐릭터의 자세 설정에 사용된다.
일부 실시예에서, 단말기는 정보 공유 채널을 사용하여 제2 계정에서 제1 계정으로 공유된 정보 코드를 수신한다.
단계 502. 타깃 자세 정보가 제공된 적어도 두 개의 가상 캐릭터를 제2 사용자 인터페이스상에 표시한다.
일부 실시예에서, 타깃 자세 정보는 타깃 깊이 정보를 포함한다. 적어도 두 개의 가상 캐릭터의 자세 정보 설정에는 다음과 같은 개략적 단계가 포함된다:
1) 단말기는 타깃 깊이 정보와 렌더링 시퀀스 사이의 제1 대응관계를 결정한다.
2) 제1 대응관계에 따라 n개의 타깃 자세 정보와 n개의 가상 캐릭터 사이의 제2 대응관계를 결정한다.
3) 제2 대응관계에 따라 i번째 타깃 자세 정보를 j번째 가상 캐릭터의 자세 정보로서 설정한다.
4) 제2 사용자 인터페이스상에 j번째 가상 캐릭터를 표시한다.
n, i 및 j는 양의 정수이고, i 및 j는 모두 n보다 작다.
개략적으로, 표 1에 나타낸 바와 같이, 제1 대응관계 및 제2 대응관계가 포함된다. 타깃 깊이 정보가 a>b>c인 경우, 타깃 자세 정보에 대응하는 렌더링 시퀀스는 1, 2, 3이고, 세 번째 타깃 자세 정보는 제1 가상 캐릭터에 해당하고, 두 번째 타깃 자세 정보는 제2 가상 캐릭터에 대응하고, 첫 번째 타깃 자세 정보는 제3 가상 캐릭터에 대응한다. 단말기는 세 번째 자세 정보를 제1 가상 캐릭터의 자세 정보로, 두 번째 타깃 자세 정보를 제2 가상 캐릭터의 자세 정보로, 첫 번째 자세 정보를 제3 가상 캐릭터의 자세 정보로 설정한다.
[표 1]
개략적으로, 정보 코드를 획득하는 방법은 도 19에 도시된 것일 수 있다. 제1 사용자 인터페이스(81)는 인코딩 제어(82)를 포함한다. 단말기는 인코딩 제어(82)에서의 트리거 조작을 수신하고 카드(83)를 표시한. 카드(83)는 코드 입력 제어를 표시한다. 사용자는 정보 코드를 코드 입력 제어에 복사하여 붙여 넣고, OK 버튼을 클릭하여 가상 캐릭터의 자세 정보를 설정할 수 있다. 사용자 인터페이스(84)가 표시되고, 사용자 인터페이스(84)는 정보 코드에 대응하는 가상 캐릭터의 수량을 사용자에게 프롬프트하기 위해, "정보 코드는 문자 4개에 대응합니다"라는 프롬프트 정보를 포함한다.
이상을 바탕으로, 본 실시예에서 제공되는 복수의 가상 캐릭터를 제어하는 방법에 따르면, 적어도 두 개의 가상 캐릭터의 자세 정보를 정보 코드를 사용하여 공유하므로, 사용자는 가상 캐릭터의 다양한 촬영 자세를 공유할 수 있다. 또한, 매우 짧은 문자열을 사용하여 정보 코드를 송신할 수 있어, 자세 정보 송신의 어려움을 감소시킬 수 있다.
도 20은 본 출원의 예시적인 실시예에 따른 복수의 가상 캐릭터를 제어하는 장치를 나타낸다. AR 기능을 구비한 애플리케이션이 장치에서 실행된다. 이 장치는, 애플리케이션의 제1 사용자 인터페이스를 표시하도록 구성된 디스플레이 모듈(601) - 제1 사용자 인터페이스는 복수의 가상 캐릭터의 선택 항목을 포함함 -;
제1 사용자 인터페이스상의 적어도 두 개의 가상 캐릭터에 대한 제1 선택 조작을 수신하도록 구성된 제1 수신 모듈(602); 및
결정 모듈(603)을 포함하고,
디스플레이 모듈(601)은 애플리케이션의 제2 사용자 인터페이스를 표시하도록 구성되며, 현실 세계의 배경 영상 및 배경 영상에 위치한 적어도 두 개의 가상 캐릭터가 제2 사용자 인터페이스상에 표시되고, 적어도 두 개의 가상 캐릭터는, 적어도 두 개의 가상 캐릭터의 렌더링 시퀀스가 깊이 정보에 따라 결정된 후에 렌더링을 통해 획득되고, 깊이 정보는 제1 선택 조작의 시퀀스에 따라 설정되며;
제1 수신 모듈(602)은 제2 사용자 인터페이스상의 제2 선택 조작을 수신하도록 구성되며;
결정 모듈(603)은 제2 선택 조작 및 렌더링 시퀀스에 따라 적어도 두 개의 가상 캐릭터 중에서 타깃 가상 캐릭터를 결정하도록 구성된다.
일부 실시예에서, 결정 모듈(603)은, 적어도 두 개의 가상 캐릭터가 중첩되는 경우에 제2 선택 조작에 따라, 렌더링 시퀀스에서 맨 먼저 렌더링될 가상 캐릭터를 타깃 가상 캐릭터로 결정하도록 구성된다.
일부 실시예에서, 결정 모듈(603)은, 가상 캐릭터가 위치하는 3차원 가상 환경에서 제2 선택 조작의 트리거 위치로부터 물리 광선을 방출하고; 렌더링 시퀀스에 따라 물리 광선과 충돌하는 가상 캐릭터를 타깃 가상 캐릭터로 결정하도록 구성되며, 물리 광선은 렌더링 시퀀스에서 맨 먼저 렌더링될 가상 캐릭터와 충돌한다.
일부 실시예에서, 상기 장치는,
타깃 가상 캐릭터를 렌더링 시퀀스에서 맨 먼저 렌더링될 가상 캐릭터로 결정하고, 렌더링 시퀀스를 업데이트하도록 구성된 업데이트 모듈(604)을 더 포함하고;
디스플레이 모듈(601)은 업데이트된 렌더링 시퀀스에 따라 적어도 두 개의 가상 캐릭터를 표시하도록 구성된다.
일부 실시예에서, 제2 사용자 인터페이스는 촬영 제어를 포함하고;
상기 장치는,
타깃 가상 캐릭터에 대해 트리거되는 자세 설정 조작을 수신하도록 구성된 제1 수신 모듈(602);
자세 설정 조작에 따라 타깃 가상 캐릭터의 자세 정보를 설정하도록 구성된 설정 모듈(605); 및
촬영 모듈(606)을 더 포함하고,
제1 수신 모듈(602)은 촬영 제어에서 트리거되는 촬영 조작을 수신하도록 구성되며;
촬영 모듈(606)은 촬영 조작에 따라 적어도 두 개의 가상 캐릭터를 촬영하여 촬영된 영상을 획득하도록 구성되며, 촬영된 영상은 자세 정보의 설정에 따라 표시된 타깃 가상 캐릭터를 포함한다.
일부 실시예에서, 상기 장치는 공유 모듈(607)을 더 포함하고;
디스플레이 모듈(601)은 애플리케이션의 제3 사용자 인터페이스를 표시하도록 구성되며, 제3 사용자 인터페이스는 촬영된 영상 및 공유 버튼 제어를 포함하고;
제1 수신 모듈(602)은 공유 버튼 제어에서의 공유 조작을 수신하도록 구성되고;
공유 모듈(607)은 공유 조작에 따라 제1 계정에서 제2 계정으로 정보 코드를 공유하도록 구성되며, 정보 코드는 촬영된 영상에서의 적어도 두 개의 가상 캐릭터의 자세 정보를 포함하고, 정보 코드는 적어도 두 개의 가상 캐릭터의 자세를 설정하는 데 사용된다.
일부 실시예에서, 공유 모듈(607)은, 공유 조작에 따라 적어도 두 개의 가상 캐릭터의 자세 정보를 획득하여, 정보 코드를 생성하고; 정보 코드를 복사하여 정보 공유 채널에 붙여 넣고; 정보 공유 채널을 사용하여 제1 계정에서 제2 계정으로 정보 코드를 공유하도록 구성된다.
일부 실시예에서, 디스플레이 모듈(601)은, 정보 코드를 획득하고 - 정보 코드는 타깃 자세 정보를 인코딩하여 획득되고, 타깃 자세 정보는 적어도 두 개의 가상 캐릭터의 자세를 설정하는 데 사용됨 -; 제2 사용자 인터페이스상에 타깃 자세 정보와 함께 제공된 적어도 두 개의 가상 캐릭터를 표시하도록 구성된다.
일부 실시예에서, 타깃 자세 정보는 타깃 깊이 정보를 포함하고;
디스플레이 모듈(601)은, 타깃 깊이 정보와 렌더링 시퀀스 사이의 제1 대응관계를 결정하고; 제1 대응관계에 따라 n개의 타깃 자세 정보와 n개의 가상 캐릭터 사이의 제2 대응관계를 결정하고; 제2 대응관계에 따라, i번째의 타깃 자세 정보를 j번째의 가상 캐릭터의 자세 정보로 설정하고; 제2 사용자 인터페이스상에 j번째의 가상 캐릭터를 표시하도록 구성되며, n, i 및 j는 양의 정수이고, i 및 j는 n보다 작다.
일부 실시예에서, 상기 장치는,
정보 공유 채널을 사용하여 제2 계정에서 제1 계정으로 공유된 정보 코드를 수신하도록 구성되는 제2 수신 모듈(608)을 더 포함한다.
도 21은 본 출원의 예시적인 실시예에 따른 단말기(700)의 구성 블록도이다. 단말기(700)는 스마트폰, 태블릿 컴퓨터, MP3 플레이어, MP4 플레이어, 노트북 컴퓨터 또는 데스크톱 컴퓨터일 수 있다. 단말기(700)는 다른 이름들 중에서도 사용자 장비, 휴대용 단말기, 랩톱 단말기 또는 데스크톱 단말기 등으로 지칭될 수 있다.
일반적으로 단말기(700)는 프로세서(701)와 메모리(702)를 포함한다.
프로세서(701)는 하나 이상의 처리 코어, 예를 들어 4-코어 프로세서 또는 8-코어 프로세서를 포함할 수 있다. 프로세서(701)는 디지털 신호 프로세서(digital signal processor, DSP), 필드 프로그래머블 게이트 어레이(field-programmable gate array, FPGA) 및 프로그래머블 로직 어레이(programmable logic array, PLA) 중 적어도 하나의 하드웨어 형태로 구현될 수 있다. 프로세서(701)는 또한 메인 프로세서 및 코프로세서(coprocessor)를 포함할 수 있다. 메인 프로세서는 각성 상태(awake state)에 있는 데이터를 처리하도록 구성된 프로세서이며, 중앙 처리 유닛(central processing unit, CPU)이라고도 한다. 코프로세서는 대기 상태(standby state)에 있는 데이터를 처리하도록 구성된 저전력 소비 프로세서이다. 일부 실시예에서, 프로세서(701)는 그래픽 처리 유닛(graphics processing unit, GPU)과 통합될 수 있다. GPU는 디스플레이 스크린에 표시되어야 하는 콘텐츠를 렌더링하고 그리도록 구성된다. 일부 실시예에서, 프로세서(701)는 인공 지능(artificial intelligence, AI) 프로세서를 더 포함할 수 있다. AI 프로세서는 기계 학습과 관련된 컴퓨팅 작업을 처리하도록 구성된다.
메모리(702)는 하나 이상의 컴퓨터로 판독 가능한 저장 매체를 포함할 수 있다. 컴퓨터로 판독 가능한 저장 매체는 비 일시적일 수 있다. 메모리(702)는 고속 랜덤 액세스 메모리(random access memory, RAM) 및 비 휘발성 메모리, 예를 들어, 하나 이상의 디스크 저장 기기 또는 플래시 저장 기기를 더 포함할 수 있다. 일부 실시예에서, 메모리(702)의 컴퓨터로 판독 가능한 비 일시적인 저장 매체는 적어도 하나의 명령어를 저장하도록 구성된다. 적어도 하나의 명령어는 프로세서(701)에 의해 실행되어 본 출원의 방법 실시예에서 제공된 복수의 가상 캐릭터를 제어하는 방법을 수행한다.
일부 실시예에서, 단말기(700)는 대안으로 주변 기기 인터페이스(703) 및 적어도 하나의 주변 기기를 포함할 수 있다. 프로세서(701), 메모리(702) 및 주변 기기 인터페이스(703)는 버스 또는 신호 라인에 의해 연결될 수 있다. 각각의 주변 기기는 버스, 신호 케이블 또는 회로 기판을 사용하여 주변 기기 인터페이스(703)에 연결될 수 있다. 구체적으로, 주변 기기는 무선 주파수(radio frequency, RF) 회로(704), 터치 디스플레이 스크린(705), 카메라(706), 오디오 회로(707), 위치결정 구성요소(708) 및 전원(709) 중 적어도 하나를 포함한다.
주변기기 인터페이스(703)는 입출력(input/output, I/O)과 관련된 적어도 하나의 주변 기기를 프로세서(701) 및 메모리(702)에 연결하도록 구성될 수 있다. 일부 실시예에서, 프로세서(701), 메모리(702) 및 주변 기기 인터페이스(703)는 동일한 칩 또는 회로 기판에 통합된다. 일부 다른 실시예에서, 프로세서(701), 메모리(702) 및 주변 기기 인터페이스(703) 중 어느 하나 또는 둘은 단일 칩 또는 회로 기판 상에 구현될 수 있다. 이 실시예에서는 이를 한정하지 않는다.
RF 회로(704)는 전자기 신호라고도 하는 RF 신호를 수신 및 송신하도록 구성된다. RF 회로(704)는 전자기 신호를 통해 통신 네트워크 및 다른 통신 기기와 통신한다. RF 회로(704)는 전기 신호를 전송을 위해 전자기 신호로 변환하거나, 수신된 전자기 신호를 전기 신호로 변환한다. 일부 실시예에서, RF 회로(704)는 안테나 시스템, RF 송수신기, 하나 이상의 증폭기, 튜너, 발진기, 디지털 신호 프로세서, 코덱 칩셋(codec chip set), 가입자 식별 모듈 카드(subscriber identity module card) 등을 포함한다. RF 회로(704)는 적어도 하나의 무선 통신 프로토콜을 사용하여 다른 단말기와 통신할 수 있다. 무선 통신 프로토콜은 월드와이드웹, 대도시 지역 네트워크, 인트라넷, 여러 세대의 이동 통신 네트워크(2G, 3G, 4G 및 5G), 무선 근거리 통신 네트워크 및/또는 Wi-Fi 네트워크를 포함하지만 이에 한정되는 것은 아니다. 일부 실시예에서, RF 회로(704)는 NFC와 관련된 회로를 더 포함할 수 있으며, 본 출원에서는 이를 한정하지 않는다.
디스플레이 스크린(705)은 사용자 인터페이스(user interface, UI)를 표시하도록 구성된다. UI는 그래프, 텍스트, 아이콘, 비디오 및 이들의 조합을 포함할 수 있다. 디스플레이 스크린(705)이 터치 디스플레이 스크린인 경우, 디스플레이 스크린(705)은 디스플레이 스크린(705)의 표면 상의 또는 위의 터치 신호를 캡처할 수도 있다. 터치 신호는 처리를 위한 제어 신호로서 프로세서(701)에 입력될 수 있다. 이 경우, 디스플레이 스크린(705)은 또한 소프트 버튼 및/또는 소프트 키보드라고도 하는 가상 버튼 및/또는 가상 키보드를 제공하도록 구성될 수 있다. 일부 실시예에서, 단말기(700)의 전면 패널에 배치된 하나의 디스플레이 스크린(705)이 을 수 있다. 일부 다른 실시예에서, 단말기(700)의 서로 다른 표면에 각각 배치되거나 또는 접힌 형상으로 설계된 적어도 두 개의 디스플레이 스크린(705)이 있을 수 있다. 또 다른 실시예에서, 디스플레이 스크린(705)은 단말기(700)의 곡면 또는 접힌 면에 배치된 플렉서블 디스플레이 스크린이 있을 수 있다. 심지어 디스플레이 스크린(705)은 또는 직사각형이 아닌 불규칙 패턴, 특수한 형상의 스크린으로 설정될 수 있다. 디스플레이 스크린(705)은 액정 디스플레이(liquid crystal display, LCD), 유기 발광 다이오드(organic light-emitting diode, OLED) 등과 같은 재료를 사용하여 제작될 수 있다.
카메라 구성요소(706)는 이미지 또는 비디오를 캡처하도록 구성된다. 일부 실시예에서, 카메라 구성요소(706)는 전면 카메라 및 후면 카메라를 포함한다. 일반적으로 전면 카메라는 단말기의 전면 패널에 배치되고 후면 카메라는 단말기의 후면에 배치된다. 일부 실시예에서, 각각 메인 카메라, 피사계 심도 카메라, 광각 카메라 및 망원 카메라 중 하나인 적어도 두 개의 후면 카메라가 있어, 메인 카메라와 피사계 심도 카메라의 융합을 통한 배경 흐림, 메인 카메라와 광각 카메라의 융합을 통한 파노라마 촬영 및 가상 현실(VR) 촬영, 또는 다른 융합 촬영 기능을 달성한다. 일부 실시예에서, 카메라 구성요소(706)는 플래시를 더 포함할 수 있다. 플래시는 단색 온도 플래시(monochrome temperature flash) 또는 이중 색 온도 플래시(double color temperature flash)일 수 있다. 이중 색 온도 플래시는 온광 플래시(warm light flash)와 냉광 플래시(cold light flash)의 조합을 의미하며 서로 다른 색 온도에서 광을 보정하는 데 사용할 수 있다.
오디오 회로(707)는 마이크로폰 및 스피커를 포함할 수 있다. 마이크로폰은 사용자 및 환경의 음파(sound wave)를 취득하고, 음파를 전기 신호로 변환하여 처리를 위해 프로세서(701)에 입력하거나, 또는 음성 통신을 구현하기 위해 RF 회로(704)에 입력하도록 구성된다. 스테레오 획득 또는 잡음 감소를 위해, 단말기(700)의 서로 다른 부분에 각각 배치된 복수의 마이크로폰이 있을 수 있다. 마이크로폰은 어레이 마이크로폰 또는 무지향성의 취득형(omni-directional acquisition type) 마이크로폰일 수 있다. 스피커는 프로세서(701) 또는 RF 회로(704)로부터의 전기 신호를 음파로 변환하도록 구성된다. 스피커는 종래의 필름 스피커일 수도 있고 압전 세라믹 스피커일 수도 있다. 스피커가 압전 세라믹 스피커인 경우 스피커는 전기 신호를 사람이 들을 수 있는 음향 파(acoustic wave)로 변환할 수 있을 뿐만 아니라 거리 측정 및 기타 목적을 위해 전기 신호를 사람이 들을 수 없는 음향 파로 변환할 수도 있다. 일부 실시예에서, 오디오 회로(707)는 또한 이어폰 잭을 포함할 수 있다.
위치결정 어셈블리(708)는 내비게이션 또는 위치 기반 서비스(location based service, LBS)를 구현하기 위해 단말기(700)의 현재 지리적 위치를 결정하도록 구성된다. 위치결정 구성요소(708)는 미국의 GPS(Global Positioning System), 중국의 BeiDou 시스템 및 러시아의 GALILEO 시스템에 기반한 위치결정 구성요소일 수 있다.
전원(709)은 단말기(700) 내의 구성요소에 전력을 공급하도록 구성된다. 전원(709)은 교류, 직류, 1차 배터리 또는 재충전 가능한 배터리일 수 있다. 전원(709)이 충전 가능한 배터리를 포함하는 경우, 충전 가능한 배터리는 유선 충전 가능한 배터리 또는 무선 충전 가능한 배터리일 수 있다. 유선 충전 가능한 배터리는 유선 회로를 통해 충전되는 배터리이고, 무선 충전 가능한 배터리는 무선 코일을 통해 충전되는 배터리이다. 충전 가능한 배터리는 또한 고속 충전 기술을 지원하도록 구성될 수 있다.
일부 실시예에서, 단말기(700)는 하나 이상의 센서(710)를 더 포함한다. 하나 이상의 센서(710)는 가속 센서(711), 자이로스코프 센서(712), 압력 센서(713), 지문 센서(714), 광학 센서(715) 및 근접 센서(716)를 포함하지만 이에 한정되지 않는다.
가속도 센서(711)는 단말기(700)와 확립된 좌표계의 세 좌표축에 대한 가속도의 크기를 검출할 수 있다. 예를 들어, 가속도 센서(711)는 세 좌표축의 중력 가속도 성분을 검출하도록 구성될 수 있다. 프로세서(701)는 가속도 센서(711)에 취득되는 중력 가속도 신호에 따라 디스플레이 스크린(705)을 제어하여, 사용자 인터페이스를 프레임 뷰(frame view) 또는 세로 방향 뷰(portrait view)로 표시할 수 있다. 가속도 센서(711)는 게임 또는 사용자의 움직임 데이터를 취득하도록 더 구성될 수 있다.
자이로스코프 센서(712)는 단말기(700)의 본체 방향 및 회전 각도를 검출할 수 있다. 자이로스코프 센서(712)는 가속도 센서(711)와 협력하여 사용자에 의한 단말기(700)에 대한 3D 동작을 취득할 수 있다. 프로세서(701)는 자이로스코프 센서(712)에 의해 취득된 데이터에 따라 다음과 같은 기능: 움직임 감지(예: 사용자의 경사 조작에 따른 UI 변경) 촬영시 이미지 안정화, 게임 제어 및 관성 네비게이션을 구현할 수 있다.
압력 센서(713)는 단말기(700)의 측면 프레임 및/또는 디스플레이 스크린(705)의 하부 층에 배치될 수 있다. 압력 센서(713)가 단말기(700)의 측면 프레임에 배치되는 경우, 단말기(700)상의 사용자가 감지될 수 있다.
프로세서(701)는 압력 센서(713)에 의해 취득된 홀딩 신호(holding signal)에 따라 왼손/오른손 인식 또는 빠른 조작을 수행한다. 압력 센서(713)가 터치 디스플레이 스크린(705)의 아래 층에 배치는 경우, 프로세서(701)는 터치 디스플레이 스크린(705)상의 사용자의 압력 조작에 따라, UI상의 조작 가능한 제어를 제어한다. 조작 가능한 제어는 버튼 제어, 스크롤바 제어, 아이콘 제어 및 메뉴 제어 중 적어도 하나를 포함한다.
지문 센서(714)는 사용자의 지문을 취득하도록 구성되고, 프로세서(701)가 지문 센서(714)에 의해 취득된 지문에 따라 사용자의 신원을 식별하거나, 지문 센서(714)가 획득된 지문에 따라 사용자의 신원을 식별한다. 사용자의 신원이 신뢰할 수 있는 신원으로 식별되는 경우, 프로세서(701)는 관련된 민감한 조작을 수행할 권한을 사용자에게 부여한다. 민감한 조작으로는 화면 잠금 해제, 암호화된 정보 보기, 소프트웨어 다운로드, 결제, 설정 변경 등을 포함한다. 지문 센서(714)는 단말기(700)의 전면, 후면 또는 측면에 배치될 수 있다. 단말기(700)에 물리 버튼 또는 벤더 로고가 배치된 경우, 지문(714)은 물리 버튼 또는 벤더 로고와 통합될 수 있다.
광학 센서(715)는 주변 광 강도를 취득하도록 구성된다. 일 실시예에서, 프로세서(701)는 광학 센서(715)에 의해 획득된 주변 광 강도에 따라 터치 디스플레이 스크린(705)의 디스플레이 밝기를 제어할 수 있다. 구체적으로, 주변 광 강도가 비교적 높은 경우, 터치 디스플레이 스크린(705)의 디스플레이 밝기가 증가된다. 주변 광 강도가 비교적 낮은 경우, 터치 디스플레이 스크린(705)의 디스플레이 밝기가 감소된다. 다른 실시예에서, 프로세서(701)는 또한 광학 센서(715)에 의해 획득된 주변 광 강도에 따라 카메라 구성요소(706)의 카메라 파라미터를 동적으로 조정할 수 있다.
거리 센서라고도 하는 근접 센서(716)는 일반적으로 단말기(700)의 전면 패널에 배치된다. 근접 센서(716)는 사용자와 단말기(700)의 전면 사이의 거리를 취득하도록 구성된다. 일 실시예에서, 근접 센서(716)가 사용자와 단말기(700)의 전면 사이의 거리가 점차 가까워지는 것을 검출하는 경우, 터치 디스플레이 스크린(705)은 프로세서(701)에 의해 제어되어 스크린 온 상태에서 스크린 오프 상태로 전환된다. 근접 센서(716)가 사용자와 단말기(700)의 전면 사이의 거리가 점차 멀어지는 것을 검출하는 경우, 터치 디스플레이 스크린(705)은 프로세서(701)에 의해 제어되어 스크린 오프 상태에서 스크린 온 상태로 전환된다
당업자라면 도 21에 도시된 구성이 단말기(700)에 대한 한정사항이 아님을 이해할 수 있을 것이며, 단말기는 도면에 도시된 것보다 더 많거나 적은 구성요소를 포함할 수 있거나, 일부 구성요소들이 결합될 수 있거나, 다른 구성요소 배치가 사용될 수 있다.
본 출원 또한 적어도 하나의 명령어, 적어도 하나의 프로그램, 코드 세트 또는 명령어 세트를 저장하는, 컴퓨터로 판독 가능한 저장 매체를 제공하며, 적어도 하나의 명령어, 적어도 하나의 프로그램, 코드 세트 또는 명령어 세트는 프로세서에 의해 로딩 및 실행되어 전술한 방법 실시예에서 제공되는 복수의 가상 캐릭터를 제어하는 방법을 구현한다.
도 22는 본 출원의 실시예에 따른 서버의 개략 구성도이다. 구체적으로, 서버(800)는 CPU(801), RAM(802)과 판독 전용 메모리(read-only memory, ROM)(803)를 포함하는 시스템 메모리(804), 및 시스템 메모리(804)와 CPU(801)를 연결하는 시스템 버스(805)를 포함한다. 서버(800)는 컴퓨터 내의 구성요소 간의 정보 송신에 도움이 되는 기본 I/O 시스템(806), 및 운영 체제(813), 애플리케이션 프로그램(814), 및 기타 프로그램 모듈(815)을 저장하는 데 사용되는 대용량 저장 기기(807)를 더 포함한다.
기본 I/O 시스템(806)은 정보를 표시하는 데 사용되는 디스플레이(808), 및 사용자가 정보를 입력하는 데 사용되는 마우스 및 키보드와 같은, 입력 기기(809)를 포함한다. 디스플레이(808)와 입력 기기(809)는 시스템 버스(805)의 I/O 제어기(810)에 연결되어, CPU(801)에 연결된다. 기본 I/O 시스템(806)은 I/O 제어기(810)를 더 포함하여, 키보드, 마우스 또는 전자 스타일러스와 같은, 복수의 다른 기기로부터 입력을 수신하고 처리할 수 있다. 유사하게, I/O 제어기(810)는 또한 디스플레이 스크린, 프린터 또는 다른 유형의 출력 기기에 출력을 제공한다.
대용량 저장 기기(807)는 시스템 버스(805)의 대용량 저장 제어기(도시되지 않음)에 연결되어, CPU(801)에 연결된다. 대용량 저장 기기(807) 및 연관된 컴퓨터로 판독 가능한 매체는 서버(800)에 비휘발성 저장장치를 제공한다. 즉, 대용량 저장 기기(807)는 하드 디스크 또는 컴팩트 디스크 ROM(compact disc ROM, CD-ROM) 드라이브와 같은, 컴퓨터로 판독 가능한 매체(도시되지 않음)을 포함할 수 있다.
일반성을 잃지 않으면서, 컴퓨터로 판독 가능한 매체는 컴퓨터 저장 매체 및 통신 매체를 포함할 수 있다. 컴퓨터 저장 매체는 휘발성 매체와 비휘발성 매체, 컴퓨터로 판독 가능한 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보를 저장하는 데 사용되는 임의의 방법 또는 기술을 사용하여 구현되는 탈착 가능한 매체와 탈착 불가능한 매체를 포함한다. 컴퓨터 저장 매체로는 RAM, ROM, 소거 가능한 프로그램 가능한 ROM(erasable programmable ROM, EPROM), 전기적으로 소거 가능한 프로그램 가능한 ROM(electrically erasable programmable ROM, EEPROM), 플래시 메모리 또는 기타 솔리드 스테이트 메모리 기술, CD-ROM, 디지털 다용도 디스크(digital versatile disc, DVD) 또는 다른 광학 메모리, 테이프 카트리지, 자기 카세트, 자기 디스크 메모리 또는 다른 자기 저장 기기를 포함한다. 물론, 당업자라면 컴퓨터 저장 매체가 전술한 여러 유형에 한정되지 않음을 알 수 있을 것이다. 시스템 메모리(804)와 대용량 저장 기기(807)는 총칭하여 메모리로 지칭될 수 있다.
본 출원의 실시예에 따르면, 서버(800)는 또한 인터넷과 같은, 네트워크를 통해 네트워크상의 원격 컴퓨터에 연결될 수 있다. 즉, 서버(800)는 시스템 버스(805)상의 네트워크 인터페이스 유닛(811)에 연결됨으로써 네트워크(812)에 연결될 수 있거나, 네트워크 인터페이스 유닛(811)을 사용하여 다른 유형의 네트워크 또는 원격 컴퓨터 시스템(도시되지 않음)에 연결될 수 있다.
본 출원은 컴퓨터 프로그램 제품을 더 제공하며, 컴퓨터 프로그램 제품은 전자 기기에서 실행될 때, 전자 기기로 하여금 전술한 방법 실시예에서의 복수의 가상 캐릭터를 제어하는 방법을 수행하게 한다.
당업자라면 전술한 실시예의 단계의 전부 또는 일부가 하드웨어로 구현될 수 있거나, 관련 하드웨어를 명령하는 프로그램에 의해 구현될 수 있음을 이해할 수 있을 것이다. 프로그램은 컴퓨터로 판독 가능한 저장 매체에 저장될 수 있다. 저장 매체는 판독 전용 메모리, 자기 디스크, 광 디스크 등일 수 있다.
이상의 설명은 본 출원의 바람직한 실시예일 뿐이며, 본 출원을 한정하려는 의도는 아니다. 본 출원의 사상 및 원리 내에서 이루어진 모든 수정, 동등한 대체, 개선 등은 본 출원의 보호 범위에 속한다.

Claims (22)

  1. 단말기에 적용 가능한, 상기 단말기에서 실행되는 증강 현실(augmented reality, AR) 기능을 구비한 애플리케이션에서, 복수의 가상 캐릭터를 제어하는 방법으로서,
    상기 애플리케이션의 제1 사용자 인터페이스를 표시하는 단계 - 상기 제1 사용자 인터페이스는 복수의 가상 캐릭터의 선택 항목을 포함함 -;
    상기 제1 사용자 인터페이스 상의 적어도 두 개의 가상 캐릭터에 대한 제1 선택 조작을 수신하는 단계;
    상기 애플리케이션의 제2 사용자 인터페이스를 표시하는 단계 - 현실 세계의 배경 영상 및 상기 배경 영상에 위치한 상기 적어도 두 개의 가상 캐릭터가 상기 제2 사용자 인터페이스 상에 표시됨 -;
    상기 제2 사용자 인터페이스 상의 제2 선택 조작을 수신하는 단계; 및
    상기 제2 선택 조작 및 상기 적어도 두 개의 가상 캐릭터의 렌더링 시퀀스에 따라 상기 적어도 두 개의 가상 캐릭터 중에서 타깃 가상 캐릭터를 결정하는 단계
    를 포함하고,
    상기 제2 사용자 인터페이스는 촬영 제어를 포함하고;
    상기 제2 선택 조작 및 상기 렌더링 시퀀스에 따라 상기 적어도 두 개의 가상 캐릭터 중에서 타깃 가상 캐릭터를 결정하는 단계 후에, 상기 복수의 가상 캐릭터를 제어하는 방법은,
    상기 타깃 가상 캐릭터에 대해 트리거되는 자세 설정 조작을 수신하는 단계;
    상기 자세 설정 조작에 따라 상기 타깃 가상 캐릭터의 자세 정보를 설정하는 단계;
    상기 촬영 제어에서 트리거되는 촬영 조작을 수신하는 단계; 및
    상기 촬영 조작에 따라 상기 적어도 두 개의 가상 캐릭터를 촬영하여 촬영된 영상을 획득하는 단계 - 상기 촬영된 영상은 상기 자세 정보의 설정에 따라 표시된 상기 타깃 가상 캐릭터를 포함함 -
    를 더 포함하는 복수의 가상 캐릭터를 제어하는 방법.
  2. 제1항에 있어서,
    상기 제2 선택 조작 및 상기 렌더링 시퀀스에 따라 상기 적어도 두 개의 가상 캐릭터 중에서 타깃 가상 캐릭터를 결정하는 단계는,
    상기 적어도 두 개의 가상 캐릭터가 중첩되는 경우에 상기 제2 선택 조작에 따라 상기 렌더링 시퀀스에서 맨 먼저 렌더링될 가상 캐릭터를 타깃 가상 캐릭터로 결정하는 단계를 포함하는, 복수의 가상 캐릭터를 제어하는 방법.
  3. 제2항에 있어서,
    상기 제2 선택 조작에 따라 상기 렌더링 시퀀스에서 맨 먼저 렌더링될 가상 캐릭터를 타깃 가상 캐릭터로 결정하는 단계는,
    상기 가상 캐릭터가 위치하는 3차원 가상 환경에서 상기 제2 선택 조작의 트리거 위치로부터 물리 광선을 방출하는 단계; 및
    상기 렌더링 시퀀스에 따라 상기 물리 광선과 충돌하는 가상 캐릭터를 상기 타깃 가상 캐릭터로 결정하는 단계 - 상기 물리 광선은 상기 렌더링 시퀀스에서 맨 먼저 렌더링될 가상 캐릭터와 충돌함 -를 포함하는, 복수의 가상 캐릭터를 제어하는 방법.
  4. 제1항에 있어서,
    상기 제2 선택 조작 및 상기 렌더링 시퀀스에 따라 상기 적어도 두 개의 가상 캐릭터 중에서 타깃 가상 캐릭터를 결정하는 단계 후에, 상기 방법은,
    상기 타깃 가상 캐릭터를 상기 렌더링 시퀀스에서 맨 먼저 렌더링될 가상 캐릭터로 결정하고, 상기 렌더링 시퀀스를 업데이트하는 단계; 및
    업데이트된 렌더링 시퀀스에 따라 상기 적어도 두 개의 가상 캐릭터를 표시하는 단계를 더 포함하는 복수의 가상 캐릭터를 제어하는 방법.
  5. 제1항에 있어서,
    상기 적어도 두 개의 가상 캐릭터는 상기 적어도 두 개의 가상 캐릭터의 렌더링 시퀀스가 깊이 정보에 따라 결정된 후에 렌더링을 통해 획득되고, 상기 깊이 정보는 상기 제1 선택 동작의 시퀀스에 따라 설정되는, 복수의 가상 캐릭터를 제어하는 방법.
  6. 제1항에 있어서,
    상기 촬영 조작에 따라 상기 적어도 두 개의 가상 캐릭터를 촬영하여 촬영된 영상을 획득하는 단계 후에, 상기 방법은,
    상기 애플리케이션의 제3 사용자 인터페이스를 표시하는 단계 - 상기 제3 사용자 인터페이스는 상기 촬영된 영상 및 공유 버튼 제어를 포함함 -;
    상기 공유 버튼 제어에서의 공유 조작을 수신하는 단계; 및
    상기 공유 조작에 따라 제1 계정에서 제2 계정으로 정보 코드를 공유하는 단계 - 상기 정보 코드는 상기 촬영된 영상에서의 상기 적어도 두 개의 가상 캐릭터의 자세 정보를 포함하고, 상기 정보 코드는 상기 적어도 두 개의 가상 캐릭터의 자세를 설정하는 데 사용됨 -를 포함하는 복수의 가상 캐릭터를 제어하는 방법.
  7. 제6항에 있어서,
    상기 공유 조작에 따라 제1 계정에서 제2 계정으로 정보 코드를 공유하는 단계는,
    상기 공유 조작에 따라 상기 적어도 두 개의 가상 캐릭터의 자세 정보를 획득하여, 상기 정보 코드를 생성하는 단계;
    상기 정보 코드를 복사하여 정보 공유 채널에 붙여 넣는 단계; 및
    상기 정보 공유 채널을 사용하여 상기 제1 계정에서 상기 제2 계정으로 상기 정보 코드를 공유하는 단계를 포함하는, 복수의 가상 캐릭터를 제어하는 방법.
  8. 제1항에 있어서,
    상기 애플리케이션의 제2 사용자 인터페이스를 표시하는 단계는,
    정보 코드를 획득하는 단계 - 상기 정보 코드는 타깃 자세 정보를 인코딩하여 획득되고, 상기 타깃 자세 정보는 상기 적어도 두 개의 가상 캐릭터의 자세를 설정하는 데 사용됨 -; 및
    상기 제2 사용자 인터페이스 상에 상기 타깃 자세 정보와 함께 제공된 상기 적어도 두 개의 가상 캐릭터를 표시하는 단계
    를 포함하는, 복수의 가상 캐릭터를 제어하는 방법.
  9. 제8항에 있어서,
    상기 타깃 자세 정보는 타깃 깊이 정보를 포함하고;
    상기 제2 사용자 인터페이스 상에 상기 타깃 자세 정보와 함께 제공된 상기 적어도 두 개의 가상 캐릭터를 표시하는 단계는,
    상기 타깃 깊이 정보와 상기 렌더링 시퀀스 사이의 제1 대응관계를 결정하는 단계;
    상기 제1 대응관계에 따라 n개의 타깃 자세 정보와 n개의 가상 캐릭터 사이의 제2 대응관계를 결정하는 단계;
    상기 제2 대응관계에 따라, i번째의 타깃 자세 정보를 j번째의 가상 캐릭터의 자세 정보로 설정하는 단계; 및
    상기 제2 사용자 인터페이스 상에 상기 j번째의 가상 캐릭터를 표시하는 단계 - n, i 및 j는 양의 정수이고, i 및 j는 n보다 작음 -를 포함하는, 복수의 가상 캐릭터를 제어하는 방법.
  10. 제8항에 있어서,
    상기 정보 코드를 획득하는 단계는,
    정보 공유 채널을 사용하여 제2 계정에서 제1 계정으로 공유된 정보 코드를 수신하는 단계를 포함하는, 복수의 가상 캐릭터를 제어하는 방법.
  11. 증강 현실(AR) 기능을 구비한 애플리케이션이 실행되는, 복수의 가상 캐릭터를 제어하는 장치로서,
    상기 애플리케이션의 제1 사용자 인터페이스를 표시하도록 구성된 디스플레이 모듈 - 상기 제1 사용자 인터페이스는 복수의 가상 캐릭터의 선택 항목을 포함함 -;
    상기 제1 사용자 인터페이스 상의 적어도 두 개의 가상 캐릭터에 대한 제1 선택 조작을 수신하도록 구성된 수신 모듈; 및
    결정 모듈을 포함하고,
    상기 디스플레이 모듈은 상기 애플리케이션의 제2 사용자 인터페이스를 표시하도록 구성되며, 현실 세계의 배경 영상 및 상기 배경 영상에 위치한 상기 적어도 두 개의 가상 캐릭터가 상기 제2 사용자 인터페이스 상에 표시되고,
    상기 수신 모듈은 상기 제2 사용자 인터페이스 상의 제2 선택 조작을 수신하도록 구성되며,
    상기 결정 모듈은 상기 제2 선택 조작 및 상기 적어도 두 개의 가상 캐릭터의 렌더링 시퀀스에 따라 상기 적어도 두 개의 가상 캐릭터 중에서 타깃 가상 캐릭터를 결정하도록 구성되고,
    상기 제2 사용자 인터페이스는 촬영 제어를 포함하고, 상기 복수의 가상 캐릭터를 제어하는 장치는,
    상기 타깃 가상 캐릭터에 대해 트리거되는 자세 설정 조작을 수신하도록 구성된 제1 수신 모듈;
    상기 자세 설정 조작에 따라 상기 타깃 가상 캐릭터의 자세 정보를 설정하도록 구성된 설정 모듈; 및
    촬영 모듈을 더 포함하고,
    상기 제1 수신 모듈은 상기 촬영 제어에서 트리거되는 촬영 조작을 수신하도록 구성되며;
    상기 촬영 모듈은 상기 촬영 조작에 따라 상기 적어도 두 개의 가상 캐릭터를 촬영하여 촬영된 영상을 획득하도록 구성되며, 상기 촬영된 영상은 상기 자세 정보의 설정에 따라 표시된 상기 타깃 가상 캐릭터를 포함하는, 복수의 가상 캐릭터를 제어하는 장치.
  12. 제11항에 있어서,
    상기 결정 모듈은, 상기 적어도 두 개의 가상 캐릭터가 중첩되는 경우에 상기 제2 선택 조작에 따라, 상기 렌더링 시퀀스에서 맨 먼저 렌더링될 가상 캐릭터를 타깃 가상 캐릭터로 결정하도록 구성되는, 복수의 가상 캐릭터를 제어하는 장치.
  13. 제12항에 있어서,
    상기 결정 모듈은, 상기 가상 캐릭터가 위치하는 3차원 가상 환경에서 상기 제2 선택 조작의 트리거 위치로부터 물리 광선을 방출하고; 상기 렌더링 시퀀스에 따라 상기 물리 광선과 충돌하는 가상 캐릭터를 상기 타깃 가상 캐릭터로 결정하도록 구성되며, 상기 물리 광선은 상기 렌더링 시퀀스에서 맨 먼저 렌더링될 가상 캐릭터와 충돌하는, 복수의 가상 캐릭터를 제어하는 장치.
  14. 제11항 내지 제13항 중 어느 한 항에 있어서,
    상기 장치는 업데이트 모듈을 포함하고,
    상기 업데이트 모듈은, 상기 타깃 가상 캐릭터를 상기 렌더링 시퀀스에서 맨 먼저 렌더링될 가상 캐릭터로 결정하고, 상기 렌더링 시퀀스를 업데이트하도록 구성되며;
    상기 디스플레이 모듈은 업데이트된 렌더링 시퀀스에 따라 상기 적어도 두 개의 가상 캐릭터를 표시하도록 구성되는, 복수의 가상 캐릭터를 제어하는 장치.
  15. 제11항에 있어서,
    상기 적어도 두 개의 가상 캐릭터는 상기 적어도 두 개의 가상 캐릭터의 렌더링 시퀀스가 깊이 정보에 따라 결정된 후에 렌더링을 통해 획득되고, 상기 깊이 정보는 상기 제1 선택 동작의 시퀀스에 따라 설정되는, 복수의 가상 캐릭터를 제어하는 장치.
  16. 제11항에 있어서,
    상기 장치는 공유 모듈을 포함하며;
    상기 디스플레이 모듈은 상기 애플리케이션의 제3 사용자 인터페이스를 표시하도록 구성되며, 상기 제3 사용자 인터페이스는 상기 촬영된 영상 및 공유 버튼 제어를 포함하고;
    상기 제1 수신 모듈은 상기 공유 버튼 제어에서의 공유 조작을 수신하도록 구성되고;
    상기 공유 모듈은 상기 공유 조작에 따라 제1 계정에서 제2 계정으로 정보 코드를 공유하도록 구성되며, 상기 정보 코드는 상기 촬영된 영상에서의 상기 적어도 두 개의 가상 캐릭터의 자세 정보를 포함하고, 상기 정보 코드는 상기 적어도 두 개의 가상 캐릭터의 자세를 설정하는 데 사용되는, 복수의 가상 캐릭터를 제어하는 장치.
  17. 제16항에 있어서,
    상기 공유 모듈은, 상기 공유 조작에 따라 상기 적어도 두 개의 가상 캐릭터의 자세 정보를 획득하여, 상기 정보 코드를 생성하고; 상기 정보 코드를 복사하여 정보 공유 채널에 붙여 넣고; 상기 정보 공유 채널을 사용하여 상기 제1 계정에서 상기 제2 계정으로 상기 정보 코드를 공유하도록 구성되는, 복수의 가상 캐릭터를 제어하는 장치.
  18. 제11항 내지 제13항 중 어느 한 항에 있어서,
    상기 디스플레이 모듈은, 정보 코드를 획득하고 - 상기 정보 코드는 타깃 자세 정보를 인코딩하여 획득되고, 상기 타깃 자세 정보는 상기 적어도 두 개의 가상 캐릭터의 자세를 설정하는 데 사용됨 -; 상기 제2 사용자 인터페이스 상에 상기 타깃 자세 정보와 함께 제공된 상기 적어도 두 개의 가상 캐릭터를 표시하도록 구성되는, 복수의 가상 캐릭터를 제어하는 장치.
  19. 제18항에 있어서,
    상기 타깃 자세 정보는 타깃 깊이 정보를 포함하고;
    상기 디스플레이 모듈은, 상기 타깃 깊이 정보와 상기 렌더링 시퀀스 사이의 제1 대응관계를 결정하고; 상기 제1 대응관계에 따라 n개의 타깃 자세 정보와 n개의 가상 캐릭터 사이의 제2 대응관계를 결정하고; 상기 제2 대응관계에 따라, i번째의 타깃 자세 정보를 j번째의 가상 캐릭터의 자세 정보로 설정하고; 상기 제2 사용자 인터페이스 상에 상기 j번째의 가상 캐릭터를 표시하도록 구성되며, n, i 및 j는 양의 정수이고, i 및 j는 n보다 작은, 복수의 가상 캐릭터를 제어하는 장치.
  20. 제18항에 있어서,
    상기 장치는 제2 수신 모듈을 포함하고,
    상기 제2 수신 모듈은 정보 공유 채널을 사용하여 제2 계정에서 제1 계정으로 공유된 정보 코드를 수신하도록 구성되는, 복수의 가상 캐릭터를 제어하는 장치.
  21. 컴퓨터 기기로서,
    메모리; 및
    상기 메모리에 전기적으로 연결된 프로세서를 포함하고,
    상기 프로세서는 제1항 내지 제10항 중 어느 한 항에 따른 복수의 가상 캐릭터를 제어하는 방법을 구현하기 위해 실행 가능한 명령어를 로딩 및 실행하도록 구성되는,
    컴퓨터 기기.
  22. 하나 이상의 명령어, 또는 하나 이상의 프로그램, 또는 코드 세트, 또는 명령어 세트를 저장하는, 컴퓨터로 판독 가능한 저장 매체로서,
    상기 하나 이상의 명령어, 또는 상기 하나 이상의 프로그램, 또는 상기 코드 세트, 또는 상기 명령어 세트는 프로세서에 의해 로딩 및 실행되어 제1항 내지 제10항 중 어느 한 항에 따른 복수의 가상 캐릭터를 제어하는 방법을 구현하는,
    컴퓨터로 판독 가능한 저장 매체.
KR1020237004089A 2019-06-21 2020-06-15 다수의 가상 캐릭터를 제어하는 방법, 기기, 장치 및 저장 매체 KR102595150B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN201910544446.3A CN110276840B (zh) 2019-06-21 2019-06-21 多虚拟角色的控制方法、装置、设备及存储介质
CN201910544446.3 2019-06-21
KR1020217025341A KR102497683B1 (ko) 2019-06-21 2020-06-15 다수의 가상 캐릭터를 제어하는 방법, 기기, 장치 및 저장 매체
PCT/CN2020/096180 WO2020253655A1 (zh) 2019-06-21 2020-06-15 多虚拟角色的控制方法、装置、设备及存储介质

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020217025341A Division KR102497683B1 (ko) 2019-06-21 2020-06-15 다수의 가상 캐릭터를 제어하는 방법, 기기, 장치 및 저장 매체

Publications (2)

Publication Number Publication Date
KR20230023824A KR20230023824A (ko) 2023-02-17
KR102595150B1 true KR102595150B1 (ko) 2023-10-26

Family

ID=67961576

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020237004089A KR102595150B1 (ko) 2019-06-21 2020-06-15 다수의 가상 캐릭터를 제어하는 방법, 기기, 장치 및 저장 매체
KR1020217025341A KR102497683B1 (ko) 2019-06-21 2020-06-15 다수의 가상 캐릭터를 제어하는 방법, 기기, 장치 및 저장 매체

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020217025341A KR102497683B1 (ko) 2019-06-21 2020-06-15 다수의 가상 캐릭터를 제어하는 방법, 기기, 장치 및 저장 매체

Country Status (7)

Country Link
US (1) US11962930B2 (ko)
EP (1) EP3989177A4 (ko)
JP (1) JP7344974B2 (ko)
KR (2) KR102595150B1 (ko)
CN (1) CN110276840B (ko)
SG (1) SG11202105103QA (ko)
WO (1) WO2020253655A1 (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110276840B (zh) * 2019-06-21 2022-12-02 腾讯科技(深圳)有限公司 多虚拟角色的控制方法、装置、设备及存储介质
CN111142669B (zh) * 2019-12-28 2023-08-29 上海米哈游天命科技有限公司 二维界面到三维场景的交互方法、装置、设备及存储介质
CN111640166B (zh) * 2020-06-08 2024-03-26 上海商汤智能科技有限公司 一种ar合影方法、装置、计算机设备及存储介质
CN112001824A (zh) * 2020-07-31 2020-11-27 天津洪恩完美未来教育科技有限公司 基于增强现实的数据处理方法及装置
CN111913624B (zh) * 2020-08-18 2022-06-07 腾讯科技(深圳)有限公司 虚拟场景中对象的交互方法及装置
CN113350785A (zh) * 2021-05-08 2021-09-07 广州三七极创网络科技有限公司 虚拟角色渲染方法、装置及电子设备
CN113413594A (zh) * 2021-06-24 2021-09-21 网易(杭州)网络有限公司 虚拟角色的虚拟拍照方法、装置、存储介质及计算机设备
CN113793288A (zh) * 2021-08-26 2021-12-14 广州微咔世纪信息科技有限公司 虚拟人物合拍方法、装置和计算机可读存储介质
CN114422698B (zh) * 2022-01-19 2023-09-26 北京字跳网络技术有限公司 视频生成方法、装置、设备及存储介质
CN114546227B (zh) * 2022-02-18 2023-04-07 北京达佳互联信息技术有限公司 虚拟镜头控制方法、装置、计算机设备及介质
CN115050228B (zh) * 2022-06-15 2023-09-22 北京新唐思创教育科技有限公司 一种素材收集方法及装置、电子设备
CN115379195B (zh) * 2022-08-26 2023-10-03 维沃移动通信有限公司 视频生成方法、装置、电子设备和可读存储介质
KR102632973B1 (ko) * 2023-11-30 2024-02-01 이수민 멀티미디어 컨텐츠 생성을 위한 사용자 인터페이스를 제공하는 전자 장치 및 이의 동작 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110276840A (zh) 2019-06-21 2019-09-24 腾讯科技(深圳)有限公司 多虚拟角色的控制方法、装置、设备及存储介质

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110105516A (ko) * 2010-03-19 2011-09-27 (주) 써니그라피 양방향 상호작용 가능한 강의시스템 및 이를 이용한 강의 수행, 녹화, 재생방법
WO2012026322A1 (ja) 2010-08-27 2012-03-01 富士フイルム株式会社 オブジェクトのレイアウト編集方法及び装置
US8773468B1 (en) * 2010-08-27 2014-07-08 Disney Enterprises, Inc. System and method for intuitive manipulation of the layering order of graphics objects
US20140108979A1 (en) 2012-10-17 2014-04-17 Perceptive Pixel, Inc. Controlling Virtual Objects
US9818225B2 (en) * 2014-09-30 2017-11-14 Sony Interactive Entertainment Inc. Synchronizing multiple head-mounted displays to a unified space and correlating movement of objects in the unified space
CN106484086B (zh) * 2015-09-01 2019-09-20 北京三星通信技术研究有限公司 用于辅助拍摄的方法及其拍摄设备
US10165199B2 (en) 2015-09-01 2018-12-25 Samsung Electronics Co., Ltd. Image capturing apparatus for photographing object according to 3D virtual object
EP3365724B1 (en) 2015-10-20 2021-05-05 Magic Leap, Inc. Selecting virtual objects in a three-dimensional space
EP3901951A1 (en) * 2016-11-07 2021-10-27 Snap Inc. Selective identification and order of image modifiers
CN107661630A (zh) * 2017-08-28 2018-02-06 网易(杭州)网络有限公司 一种射击游戏的控制方法及装置、存储介质、处理器、终端
CN108765541B (zh) * 2018-05-23 2020-11-20 歌尔光学科技有限公司 一种3d场景对象显示方法、装置、设备及存储介质
CN109078326B (zh) * 2018-08-22 2022-03-08 网易(杭州)网络有限公司 游戏的控制方法和装置
CN109350964B (zh) * 2018-09-28 2020-08-11 腾讯科技(深圳)有限公司 控制虚拟角色的方法、装置、设备及存储介质
CN109550247B (zh) * 2019-01-09 2022-04-08 网易(杭州)网络有限公司 游戏中虚拟场景调整方法、装置、电子设备及存储介质

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110276840A (zh) 2019-06-21 2019-09-24 腾讯科技(深圳)有限公司 多虚拟角色的控制方法、装置、设备及存储介质

Also Published As

Publication number Publication date
JP2022537614A (ja) 2022-08-29
CN110276840A (zh) 2019-09-24
EP3989177A1 (en) 2022-04-27
KR20210113333A (ko) 2021-09-15
US20210337138A1 (en) 2021-10-28
EP3989177A4 (en) 2022-08-03
KR102497683B1 (ko) 2023-02-07
US11962930B2 (en) 2024-04-16
CN110276840B (zh) 2022-12-02
SG11202105103QA (en) 2021-06-29
KR20230023824A (ko) 2023-02-17
WO2020253655A1 (zh) 2020-12-24
JP7344974B2 (ja) 2023-09-14

Similar Documents

Publication Publication Date Title
KR102595150B1 (ko) 다수의 가상 캐릭터를 제어하는 방법, 기기, 장치 및 저장 매체
US11151773B2 (en) Method and apparatus for adjusting viewing angle in virtual environment, and readable storage medium
US11221726B2 (en) Marker point location display method, electronic device, and computer-readable storage medium
US11703993B2 (en) Method, apparatus and device for view switching of virtual environment, and storage medium
US11565181B2 (en) Virtual object control method and apparatus, computer device, and storage medium
CN108245893B (zh) 三维虚拟环境中虚拟对象的姿态确定方法、装置及介质
CN111701238A (zh) 虚拟画卷的显示方法、装置、设备及存储介质
KR102602074B1 (ko) 가상 환경에서 가상 물체를 관찰하는 방법 및 디바이스, 및 판독 가능한 저장 매체
CN110427110B (zh) 一种直播方法、装置以及直播服务器
CN111324250B (zh) 三维形象的调整方法、装置、设备及可读存储介质
CN108694073B (zh) 虚拟场景的控制方法、装置、设备及存储介质
KR20200123223A (ko) 애플리케이션을 위한 디스플레이 적응 방법 및 장치, 디바이스, 및 저장 매체
CN108786110B (zh) 虚拟环境中的瞄准镜显示方法、设备及存储介质
WO2022052620A1 (zh) 图像生成方法及电子设备
CN110917616A (zh) 虚拟场景中的方位提示方法、装置、设备及存储介质
KR20210097765A (ko) 가상 환경에 기반한 객체 구축 방법 및 장치, 컴퓨터 장치 및 판독 가능 저장 매체
US11790607B2 (en) Method and apparatus for displaying heat map, computer device, and readable storage medium
CN112581571B (zh) 虚拟形象模型的控制方法、装置、电子设备及存储介质
US20220291791A1 (en) Method and apparatus for determining selected target, device, and storage medium
CN113018865A (zh) 攀爬线生成方法、装置、计算机设备及存储介质
CN112717391A (zh) 虚拟角色的角色名称显示方法、装置、设备及介质
CN114115660B (zh) 媒体资源处理方法、装置、终端及存储介质
EP4006845A1 (en) Map element adding method, device, terminal, and storage medium
CN113769397A (zh) 虚拟物体的设置方法、装置、设备、介质及程序产品
CN117671164A (zh) 高精地图底图构建方法

Legal Events

Date Code Title Description
A107 Divisional application of patent
E701 Decision to grant or registration of patent right
GRNT Written decision to grant