KR101954010B1 - 가상 캐릭터의 터닝을 구현하기 위한 방법 및 단말기 - Google Patents

가상 캐릭터의 터닝을 구현하기 위한 방법 및 단말기 Download PDF

Info

Publication number
KR101954010B1
KR101954010B1 KR1020177022693A KR20177022693A KR101954010B1 KR 101954010 B1 KR101954010 B1 KR 101954010B1 KR 1020177022693 A KR1020177022693 A KR 1020177022693A KR 20177022693 A KR20177022693 A KR 20177022693A KR 101954010 B1 KR101954010 B1 KR 101954010B1
Authority
KR
South Korea
Prior art keywords
turning
virtual character
obtaining
time
angle
Prior art date
Application number
KR1020177022693A
Other languages
English (en)
Other versions
KR20170105069A (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 KR20170105069A publication Critical patent/KR20170105069A/ko
Application granted granted Critical
Publication of KR101954010B1 publication Critical patent/KR101954010B1/ko

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/56Computing the motion of game characters with respect to other game characters, game objects or elements of the game scene, e.g. for simulating the behaviour of a group of virtual soldiers or for path finding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/60Rotation of whole images or parts thereof
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/44Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment involving timing of operations, e.g. performing an action within a time slot
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/58Controlling game characters or game objects based on the game progress by computing conditions of game characters, e.g. stamina, strength, motivation or energy level
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • 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
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • A63F2300/6607Methods for processing data by generating or executing the game program for rendering three dimensional images for animating game characters, e.g. skeleton kinematics

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • General Business, Economics & Management (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)

Abstract

본 개시내용은 가상 캐릭터의 터닝을 구현하기 위한 방법 및 단말기에 관한 것이다. 이 방법은 가상 캐릭터의 터닝 각을 획득하는 단계; 미리 설정된 고정된 터닝 시간을 획득하는 단계; 터닝 각 및 미리 설정된 고정된 터닝 시간에 따라 가상 캐릭터의 평균 각 속도를 계산하는 단계; 및 평균 각 속도로 터닝하도록 가상 캐릭터를 제어하는 단계를 포함한다. 가상 캐릭터의 터닝을 구현하기 위한 방법에 따르면, 터닝은 터닝 프로세스에서 일정한 속도로 수행되고, 부드러운 터닝이 구현될 수 있고, 터닝 프로세스에서 스톨링이 방지되며, 픽처 유창성이 향상될 수 있다. 터닝 각이 비교적 클 때, 평균 각 속도는 높으며, 빠르고 부드러운 터닝이 구현될 수 있고; 또는 터닝 각이 작을 때, 터닝이 또한 구현될 수 있다.

Description

가상 캐릭터의 터닝을 구현하기 위한 방법 및 단말기
관련 출원
본 출원은 2015년 6월 16일자로 중국 특허청에 제출되고, 발명의 명칭이 "METHOD AND APPARATUS FOR IMPLEMENTING TURNING OF VIRTUAL CHARACTER"인 중국 특허 출원 번호 201510334763.4에 대해 우선권을 주장하며, 그 전체 내용은 본 명세서에 참고로 포함된다.
본 개시내용은 데이터 처리의 분야에 관한 것으로, 특히 가상 캐릭터의 터닝을 구현하기 위한 방법 및 단말기에 관한 것이다.
컴퓨터 기술들의 신속한 개발은 사람들의 삶에 많은 편의를 가져왔으며 사람들의 삶의 질을 크게 향상시켰다. 편리한 삶을 즐길 때, 사람들에게는 또한 일부 엔터테인먼트들이 필요하다. 그러므로, 다양한 게임 제품이 등장했다. 종래의 게임 제품의 시나리오에서, 플레이어가 변위에 의하여 터닝 각(turning angle)을 생성하도록 가상 캐릭터를 제어할 때, 일반적으로 고정된 터닝 각이 사용되고, 터닝 움직임(turning movement)이 생성될 때마다, 플레이어는 항상 고정된 터닝 각만큼 터닝한다. 도 1에 도시된 바와 같이, 고정된 터닝 각 a가 설정된다. 가상 캐릭터가 터닝할 때, 터닝 각이 고정 터닝 각 a보다 작다면, 가상 캐릭터는 터닝하지 않고; 또는 터닝 각이 고정된 터닝 각 a보다 크다면, 가상 캐릭터는 명백히 감소된 시간 내에 지나치게 빨리 터닝하고, 결과적으로 픽처 비-유창성(picture non-fluency) 및 스톨링(stalling)이 발생한다.
이에 근거하여, 가상 캐릭터가 터닝할 때, 픽처 비-유창성 및 스톨링이 발생하는 종래의 문제를 해결하기 위해서, 가상 캐릭터의 터닝을 구현하기 위한 방법을 제공할 필요가 있어, 터닝이 구현될 수 있고, 터닝 프로세스에서 스톨링을 방지할 수 있으며, 픽처 유창성(picture fluency)이 향상될 수 있다.
추가로, 또한 가상 캐릭터의 터닝을 구현하기 위한 장치를 제공할 필요가 있어, 터닝이 구현될 수 있고, 터닝 프로세스에서 스톨링을 방지할 수 있으며, 픽처 유창성이 향상될 수 있다.
본 개시내용의 하나의 양태는 가상 캐릭터의 터닝을 구현하기 위한 방법을 제공하는데, 이 방법은: 가상 캐릭터의 터닝 각을 획득하는 단계; 미리 설정된 고정된 터닝 시간을 획득하는 단계; 터닝 각 및 미리 설정된 고정된 터닝 시간에 따라 가상 캐릭터의 평균 각 속도(average angular velocity)를 계산하는 단계; 및 평균 각 속도로 터닝하도록 가상 캐릭터를 제어하는 단계를 포함한다.
본 개시내용의 다른 양태는 저장 매체 및 프로세서를 포함하는 단말기를 제공하고, 저장 매체는 명령어를 저장하고, 명령어가 프로세서에 의해 실행될 때, 프로세서는:
가상 캐릭터의 터닝 각을 획득하고;
미리 설정된 고정된 터닝 시간을 획득하고;
터닝 각 및 미리 설정된 고정된 터닝 시간에 따라 가상 캐릭터의 평균 각 속도를 계산하고;
평균 각 속도로 터닝하게 가상 캐릭터를 제어하도록 구성된다.
본 개시내용의 다른 양태는, 프로세서에 의해 실행될 때, 가상 캐릭터의 터닝을 구현하기 위한 방법을 수행하기 위한 컴퓨터 실행가능 프로그램을 포함하는 비-일시적인 컴퓨터 판독가능 매체를 제공한다. 이 방법은, 가상 캐릭터의 터닝 각을 획득하는 단계; 미리 설정된 고정된 터닝 시간을 획득하는 단계; 터닝 각 및 미리 설정된 고정된 터닝 시간에 따라 가상 캐릭터의 평균 각 속도를 계산하는 단계; 및 평균 각 속도로 터닝하도록 가상 캐릭터를 제어하는 단계를 포함한다.
가상 캐릭터의 터닝을 구현하기 위한 방법 및 장치에 따르면, 가상 캐릭터의 터닝 각이 획득되고, 미리 설정된 고정된 터닝 시간이 획득되고, 평균 각 속도가 계산되며, 가상 캐릭터가 평균 각 속도로 터닝하도록 제어된다. 터닝은 터닝 프로세스에서 일정한 속도(constant speed)로 수행되고, 부드러운 터닝(smooth turning)이 구현될 수 있고, 터닝 프로세스에서 스톨링이 방지되며, 픽처 유창성이 향상될 수 있다. 터닝 각이 비교적 클 때, 평균 각 속도는 높으며, 빠르고 부드러운 터닝이 구현될 수 있고; 또는 터닝 각이 작을 때, 터닝이 또한 구현될 수 있다. 그러므로, 터닝이 더 정확하다.
본 발명의 실시예들에서 또는 기존의 기술들에서 기술적 솔루션들을 더 명확하게 설명하기 위해, 다음에는 실시예들 또는 기존의 기술들을 설명하기 위해 요구되는 첨부 도면들을 간단히 설명한다. 분명히, 이하의 설명에서의 첨부 도면들은 본 발명의 단지 일부 실시예를 도시하고, 본 기술분야의 통상의 기술자는 창조적 노력들 없이도 이러한 첨부 도면들로부터 다른 도면들을 여전히 도출할 수 있다.
도 1은 종래의 기술에서 설정된 고정된 터닝 각의 개략도이다;
도 2a는 실시예에 따른 단말기의 내부 구조의 개략도이다;
도 2b는 실시예에 따른 서버의 내부 구조의 개략도이다;
도 3은 실시예에 따른 가상 캐릭터의 터닝을 구현하기 위한 방법의 플로우차트이다;
도 4는 실시예에 따른 가상 캐릭터의 터닝 각을 획득하는 플로우차트이다;
도 5는 터닝 각을 형성하는 개략도이다;
도 6은 독립형 게임에서 가상 캐릭터의 터닝을 구현하는 개략도이다;
도 7은 온라인 게임에서 가상 캐릭터의 터닝을 구현하기 위한 처리의 시퀀스 다이어그램이다;
도 8은 NPC가 일정한 속도로 터닝하도록 제어되는 것을 도시하는 개략적 효과도이다;
도 9는 실시예에 따른 가상 캐릭터의 터닝을 구현하기 위한 장치의 구조적 블록도이다;
도 10은 다른 실시예에 따른 가상 캐릭터의 터닝을 구현하기 위한 장치의 구조적 블록도이다.
본 개시내용의 목적들, 기술적 솔루션들, 및 이점들을 더 분명하고 더 잘 이해할 수 있게 하기 위해서, 다음에는 첨부된 도면들 및 실시예들을 참고하여 본 개시내용을 상세하게 추가로 설명한다. 본 명세서에 설명된 구체적인 실시예들은 본 개시내용을 단순히 설명하기 위해 사용된 것으로서, 본 개시내용을 제한하려는 의도는 아니라는 것을 이해해야 한다.
본 개시내용에서 사용된 "제1", "제2" 등의 용어들은 본 명세서에서 다양한 요소들을 설명하기 위해서 사용될 수 있으나, 요소들이 그 용어들로 제한되지 않는다는 것을 이해할 수 있다. 용어들은 단순히 제1 요소와 다른 요소들을 구별하기 위해서 사용된다. 예를 들어, 본 개시내용의 범위에서 벗어나지 않는 경우에, 제1 클라이언트는 제2 클라이언트로 지칭될 수 있고, 비슷하게, 제2 클라이언트는 제1 클라이언트로 지칭될 수 있다. 제1 클라이언트와 제2 클라이언트는 둘 다 클라이언트들이지만, 동일한 클라이언트는 아니다.
도 2a는 실시예에 따른 단말기의 내부 구조의 개략도이다. 도 2a에 도시된 바와 같이, 단말기는 시스템 버스를 사용해서 연결되는 프로세서, 저장 매체, 메모리, 및 네트워크 인터페이스, 음성 수집 장치, 디스플레이, 스피커, 및 입력 장치를 포함한다. 단말기의 저장 매체는 운영 체제를 저장하고, 가상 캐릭터의 터닝을 구현하기 위한 명령어들을 추가로 포함한다. 프로세서는 전체 단말기의 조작을 지원하기 위해 컴퓨팅 및 제어 능력들을 제공하도록 구성된다(예를 들어, 저장 매체에 저장된 명령어들에 기초하여 가상 캐릭터의 터닝을 구현함). 단말기의 메모리는 저장 매체에서 가상 캐릭터의 터닝을 구현하기 위한 장치의 동작을 위한 환경을 제공한다. 네트워크 인터페이스는 서버와 네트워크 통신을 수행하도록 구성, 예를 들어, 가상 캐릭터의 데이터를 서버로 업로드하고 서버에 의해 반환되는 가상 캐릭터의 관련 데이터를 수신하도록 구성된다. 단말기의 디스플레이는 액정 디스플레이, E-잉크 디스플레이 등일 수 있다. 입력 장치들은 디스플레이 상에 덮인 터치 층(touch layer)일 수 있고, 또는 버튼, 트랙 볼, 또는 단말기의 외부 하우징 상에 배치된 터치패드일 수 있고, 또는 외부에서 연결된 키보드, 터치패드, 마우스 등일 수 있다. 단말기는 모바일 폰, 태블릿 컴퓨터, 또는 개인 휴대 정보 단말기일 수 있다. 본 기술 분야의 통상의 기술자는 도 2a가 단순히 본 출원의 솔루션과 관련된 구조적 블록도들 중 하나의 사례이며, 본 출원의 솔루션이 적용되는 단말기로 제한되는 것으로 여겨지지 않는다는 것을 이해할 수 있다. 구체적으로, 단말기는 도면에 도시된 것보다 더 많거나 적은 컴포넌트를 포함할 수 있거나, 일부 컴포넌트들을 결합하거나, 상이한 컴포넌트 배치들을 가질 수 있다.
도 2b는 실시예에 따른 서버의 내부 구조의 개략도이다. 도 2b에 도시된 바와 같이, 서버는 시스템 버스를 사용해서 연결되는 프로세서, 저장 매체, 메모리, 및 네트워크 인터페이스를 포함한다. 서버의 저장 매체는 운영 체제, 데이터베이스, 및 가상 캐릭터의 터닝을 구현하기 위한 장치를 저장하고, 데이터베이스는 게임 시나리오 데이터 및 가상 캐릭터와 관련된 데이터를 저장하며, 가상 캐릭터의 터닝을 구현하기 위한 장치는 가상 캐릭터의 터닝을 구현하기 위한 방법을 구현하도록 구성된다. 서버의 프로세서는 전체 서버의 조작을 지원하기 위해 컴퓨팅 및 제어 능력들을 제공하도록 구성된다(예를 들어, 저장 매체에 저장된 명령어들에 기초하여 가상 캐릭터의 터닝을 구현함). 서버의 메모리는 저장 매체에서 가상 캐릭터의 터닝을 구현하기 위한 장치의 동작을 위한 환경을 제공한다. 서버의 네트워크 인터페이스는 네트워크를 사용해서 외부 단말기(예를 들어, 도 2a에 도시된 단말기)와의 연결 및 통신을 수행하도록, 예를 들어, 단말기에 의해 업로드되는 가상 캐릭터의 데이터를 수신하고 가상 캐릭터의 다른 데이터를 단말기로 반환하도록 구성된다. 서버는 독립적인 서버 또는 다수의 서버로 형성된 서버 클러스터에 의해 구현될 수 있다. 본 기술 분야의 통상의 기술자는 도 2b가 단순히 본 출원의 솔루션과 관련된 구조적 블록도들 중 하나이며, 본 출원의 솔루션이 적용되는 서버로 제한되는 것으로 여겨지지는 않는다는 것을 이해할 수 있다. 구체적으로, 서버는 도면에 도시되는 것들보다 더 많거나 적은 컴포넌트를 포함할 수 있거나, 일부 컴포넌트들을 결합하거나, 다양한 컴포넌트 배치들을 가질 수 있다.
도 3은 실시예에 따른 가상 캐릭터의 터닝을 구현하기 위한 방법의 플로우차트이다. 도 3에 도시된 바와 같이, 가상 캐릭터의 터닝을 구현하기 위한 방법은 다음의 단계들을 포함한다:
단계 302: 가상 캐릭터의 터닝 각을 획득하는 단계.
구체적으로, 가상 캐릭터는 게임에서의 가상 캐릭터를 지칭한다. 상이한 직업들에 따라 상이한 캐릭터들이 선택될 수 있다. 게임 클라이언트는 단말기에서 시작 및 조작된다. 독립형 게임에서는, 등록이 필요하지 않고, 단지 입력된 캐릭터만 해당 시간 동안 플레이어의 사용자 이름으로서 사용될 필요가 있으며; 온라인 게임에서는, 다른 사용자들과 상호작용적인 조작을 수행하기 위해 네트워크 연결을 위한 등록된 계정을 사용함으로써 서버에 로그인된다.
단말기는 데스크톱 컴퓨터, 노트북 컴퓨터, 태블릿 컴퓨터, 스마트폰, 개인 휴대 정보 단말기, 등일 수 있다.
터닝 각은 가상 캐릭터가 회전하도록 제어되는 각(angle)을 지칭하고, 용이한 계산을 위해, 터닝 각은 0 도에서 360도 사이의 값일 수 있다. 가상 캐릭터는 키보드, 마우스, 또는 터치스크린과 같은 입력 디바이스가 명령어를 입력할 때 회전한다. 회전 각이 360도를 초과한 후에, 나머지 각은 회전 각에서 360도와 정수 배수의 곱을 빼서 획득되고, 이 나머지 각이 터닝 각으로서 사용된다.
획득된 터닝 각은, 예를 들어, 30도, 40도, 또는 280도일 수 있다.
단계 304: 미리 설정된 고정된 터닝 시간을 획득하는 단계.
구체적으로, 미리 설정된 고정된 터닝 시간은 필요에 따라 설정된 고정된 터닝 시간을 지칭하며, 터닝 시간이 설정된 후에, 소모된 터닝 시간은 터닝 각의 값과 무관하게 고정된 터닝 시간이다. 고정된 터닝 시간은 0.1초, 0.2초, 또는 1초일 수 있다. 미리 설정된 고정된 터닝 시간은, 예를 들어, 구성 파일의 형태로 국부적으로 저장될 수 있다.
단계 306: 터닝 각 및 미리 설정된 고정된 터닝 시간에 따라 가상 캐릭터의 평균 각 속도를 계산하는 단계.
구체적으로, 터닝 각 및 미리 설정된 고정된 터닝 시간에 따라 가상 캐릭터의 평균 각 속도 계산의 단계는, 가상 캐릭터의 평균 각 속도를 획득하기 위해 터닝 각을 미리 설정된 고정된 터닝 시간으로 나누는 단계를 포함한다. 계산 수학식은 다음의 수학식 1이다:
Figure 112017078208625-pct00001
수학식 1에서, ω는 터닝 각이고, t는 미리 설정된 고정된 터닝 시간이고, υ는 평균 각 속도이다.
예를 들어, 터닝 각이 280도이고 미리 설정된 고정된 터닝 시간이 0.1초이며, 이 경우에, 평균 각 속도는 280도/0.1초이고, 이는 2800도/초와 같다.
단계 308: 평균 각 속도로 터닝하도록 가상 캐릭터를 제어하는 단계.
구체적으로, 게임 시나리오에서, 가상 캐릭터는 평균 각 속도의 일정한 속도로 터닝하도록 제어되고, 가상 캐릭터가 종료 위치로 터닝할 때, 터닝은 멈춘다.
가상 캐릭터의 터닝을 구현하기 위한 방법에 따르면, 가상 캐릭터의 터닝 각이 획득되고, 미리 설정된 고정된 터닝 시간이 획득되고, 평균 각 속도가 계산되며, 가상 캐릭터가 평균 각 속도로 터닝하도록 제어된다. 터닝은 터닝 프로세스에서 일정한 속도로 수행되고, 부드러운 터닝이 구현될 수 있고, 터닝 프로세스에서 스톨링이 방지되며, 픽처 유창성이 향상될 수 있다. 터닝 각이 비교적 클 때, 평균 각 속도가 높으며, 빠르고 부드러운 터닝이 구현될 수 있고; 또는 터닝 각이 작을 때, 터닝이 또한 구현될 수 있다. 그러므로, 터닝이 더 정확하다.
도 4는 실시예에 따라 가상 캐릭터의 터닝 각을 획득하는 플로우차트이다. 도 4에 도시된 바와 같이, 가상 캐릭터의 터닝 각을 획득하는 단계들은 다음의 단계들을 포함한다:
단계 402: 가상 캐릭터의 시작 위치, 터닝 방향, 및 종료 위치를 획득하는 단계.
구체적으로, 가상 캐릭터의 위치는 실시간으로 기록된다. 가상 캐릭터가 터닝하도록 제어되는 시점에, 가상 캐릭터가 해당 시간에 위치해 있는 위치가 터닝 시작 위치로서 획득된다. 사용자가, 한 위치(a position)로 회전하고 회전을 멈추도록 가상 캐릭터를 제어하기 위해, 입력 디바이스를 사용해서 입력 명령어를 생성할 때, 회전이 종료하는 위치는 종료 위치로서 기록되고, 회전 방향은 터닝 방향으로서 기록된다. 터닝 방향은 시계 방향 또는 반시계 방향일 수 있다.
단계 404: 가상 캐릭터의 시작 위치, 터닝 방향, 및 종료 위치에 따라 가상 캐릭터의 터닝 각을 획득하는 단계.
구체적으로, 가상 캐릭터의 시작 위치, 터닝 방향, 및 종료 위치는 터닝 각을 형성하도록 도출되고, 터닝 각의 값은 각 계산기(angle calculator) 또는 계산 프로그램(computation program)을 사용해서 계산된다.
가상 캐릭터의 시작 위치, 터닝 방향, 및 종료 위치를 획득함으로써 가상 캐릭터의 터닝 각을 계산하는 것은 편리하다.
도 5는 터닝 각을 형성하는 개략도이다. 도 5에 도시된 바와 같이, 가상 캐릭터의 시작 위치는 라인 52이고, 가상 캐릭터는 반시계방향으로 회전하고, 터닝 방향은 반시계방향이고, 가상 캐릭터의 종료 위치는 라인 54이며, 시작 위치, 터닝 방향, 및 종료 위치는 터닝 각 b를 형성한다. 터닝 각 b의 값은 각 계산기 또는 계산 프로그램을 사용해서 계산된다.
실시예에서, 가상 캐릭터의 터닝 각을 획득하는 단계는 다음 단계를 포함한다: 터치 입력, 음성 입력, 또는 제스처 입력에 의하여 생성된 터닝 명령어를 획득하는 단계; 및 터닝 명령어에 따라 가상 캐릭터의 터닝 각을 획득하는 단계.
구체적으로, 터치 입력에 의하여 터닝 명령어를 생성하는 것은, 스마트폰과 같은 모바일 단말기의 터치스크린을 터치, 예를 들어, 터치스크린 상에서 시계방향으로 회전 또는 반시계방향으로 회전함으로써 대응하는 터닝 명령어를 입력 및 생성하는 것을 지칭한다. 가상 캐릭터의 시작 위치, 터닝 방향, 및 종료 위치는 터치에 의해 생성되는 입력 명령어에 따라 획득될 수 있고, 가상 캐릭터의 터닝 각은 가상 캐릭터의 시작 위치, 터닝 방향, 및 종료 위치에 따라 계산될 수 있다.
음성 입력에 의하여 터닝 명령어를 생성하는 것은, 대응하는 터닝 명령어를 획득하기 위해 사용자의 음성 정보를 수신하고, 음성 정보를 인식하는 것을 지칭한다. 음성 입력에서, 음성 명령어 인식 라이브러리가 우선 작성될 필요가 있고, 음성 명령어 인식 라이브러리는 음성 정보와 명령어 사이의 대응관계를 기록한다. 사용자의 음성 정보가 인식된 후, 음성 정보 및 음성 정보와 명령어 사이의 대응관계에 따라 대응하는 터닝 명령어가 생성된다. 예를 들어, 음성 정보의 내용은 시계방향으로 90도만큼 회전하는 것이다.
제스처 입력에 의하여 터닝 명령어를 생성하는 것은, 대응하는 터닝 명령어를 획득하기 위해 입력 제스처를 수신하고, 제스처를 인식하는 것을 지칭한다. 제스처 입력에서, 제스처 명령어 인식 라이브러리가 우선 작성될 필요가 있고, 제스처 명령어 인식 라이브러리는 제스처 정보와 명령어 사이의 대응관계를 기록한다. 사용자의 제스처가 인식된 후, 제스처 및 제스처와 명령어 사이의 대응관계에 따라 대응하는 터닝 명령어가 생성된다. 예를 들면, 제스처 정보의 내용은 시계방향으로 60도만큼 회전하는 것이다.
실시예에서, 가상 캐릭터의 터닝을 구현하기 위한 방법은, 가상 캐릭터의 각각의 터닝 시간 및 대응하는 종료 위치를 기록 및 저장하는 단계를 추가로 포함한다.
구체적으로, 게임 시나리오에서, 가상 캐릭터는 여러 번 터닝하도록 제어될 수 있고, 터닝 시간 및 대응하는 종료 위치가 매번 기록되어, 후속 동기화 및 업데이트를 용이하게 한다. 터닝 시간은 터닝이 시작된 시점을 지칭한다. 예를 들어, 기록된 터닝 시간은 1시 24분 30초이고, 종료 위치는 게임 시나리오에서 지도 좌표 (x, y) 또는 경도 및 위도로 표현된다.
실시예에서, 가상 캐릭터의 터닝을 구현하기 위한 방법은, 네트워크가 연결될 때, 서버에 기록되는 가상 캐릭터의 각각의 터닝 시간 및 대응하는 종료 위치와 국부적으로 기록되는 가상 캐릭터의 각각의 터닝 시간 및 대응하는 종료 위치를 주기적으로 비교하는 단계; 및 국부적으로 기록되는 가상 캐릭터의 각각의 터닝 시간 및 대응하는 종료 위치가 서버에 기록되는 가상 캐릭터의 각각의 터닝 시간 및 대응하는 종료 위치와 동일하지 않다면, 서버에 기록되는 가상 캐릭터의 각각의 터닝 시간 및 대응하는 종료 위치를 업데이트하기 위해, 국부적으로 기록되는 가상 캐릭터의 각각의 터닝 시간 및 대응하는 종료 위치를 서버에 업로드하는 단계; 또는 국부적으로 기록되는 가상 캐릭터의 각각의 터닝 시간 및 대응하는 종료 위치가 서버에 기록되는 가상 캐릭터의 각각의 터닝 시간 및 대응하는 종료 위치와 동일하다면, 업데이트를 스킵하는 단계를 추가로 포함한다.
구체적으로, 단말기는 서버에 연결되고, 단말기에서의 게임 클라이언트는 게임 서버에 연결되며, 사용자는 계정을 사용해서 게임 서버로 로그인한다. 가상 캐릭터의 각각의 터닝 시간 및 대응하는 종료 위치는 국부적으로 기록된다(즉, 단말기에). 두 개의 데이터가 동일한지를 비교하기 위해, 국부적으로 기록되는 가상 캐릭터의 각각의 터닝 시간 및 대응하는 종료 위치는 서버에 기록되는 가상 캐릭터의 각각의 터닝 시간 및 대응하는 종료 위치와 주기적으로 비교될 수 있다. 두 개의 데이터가 동일하지 않다면, 서버에 기록되는 가상 캐릭터의 각각의 터닝 시간 및 대응하는 종료 위치를 업데이트 하기 위해, 국부적으로 기록되는 가상 캐릭터의 각각의 터닝 시간 및 대응하는 종료 위치가 서버에 업로드될 수 있고, 마지막 터닝 후 가상 캐릭터의 종료 위치가 디스플레이될 수 있다.
게다가, 가상 캐릭터의 시작 위치 및 평균 각 속도가 추가로 기록될 수 있다.
마지막 터닝 후 가상 캐릭터의 종료 위치는 단말기에 디스플레이되고, 사용자는 단말기에서의 주기적 비교 프로세스를 감지할 수 없다. 서버가 단말기에서의 가상 캐릭터의 종료 위치 정보를, 디스플레이를 위한 다른 단말기로 전송할 때, 데이터의 일관성을 보장하고 스톨링을 방지하기 위해 버퍼링 방식이 사용된다.
터닝 각을 계산하기 위한 데이터는 서버에 업로드될 필요가 없으며, 네트워크 리소스를 절약하고, 서버의 부담을 줄이기 위해 계산 처리가 국부적으로 수행된다는 것에 주목해야 한다. 확실히, 대안적으로, 서버가 터닝 각 및 평균 각 속도를 계산할 수 있다.
가상 캐릭터의 터닝을 구현하기 위한 방법을 더 분명하게 설명하기 위해, 방법이 독립형 게임 및 온라인 게임에 적용되는 처리 프로세스들의 설명들이 아래에 제공된다.
도 6은 독립형 게임에서 가상 캐릭터의 터닝을 구현하는 개략도이다. 독립형 게임에서, 사용자는 플레이어 이름 또는 플레이어 번호를 입력함으로써 게임 시나리오에 진입하고, 게임 시나리오에서, 사용자는 키보드, 마우스, 또는 터치스크린과 같은 입력 디바이스를 사용하여 대응하는 가상 캐릭터(62)를 제어할 수 있다. 가상 캐릭터(62)의 터닝을 구현하는 프로세스는, 사용자가 입력한 터닝 명령어가 검출된 후에, 터닝 명령어에 따라 가상 캐릭터의 시작 위치, 터닝 방향, 및 종료 위치를 획득하는 단계, 가상 캐릭터의 시작 위치, 터닝 방향, 및 종료 위치에 따라 터닝 각을 형성하는 단계, 터닝 각의 값을 계산하는 단계, 구성 파일로부터 미리 설정된 고정된 터닝 시간을 획득하는 단계, 평균 각 속도를 획득하기 위해 터닝 각을 고정된 터닝 시간으로 나누는 단계, 및 평균 각 속도의 일정한 속도로 터닝을 수행하는 단계를 포함한다. 이에 따라, 부드러운 터닝 및 픽처 유창성이 구현된다. 도 6에서, 가상 캐릭터(62)는 위치 1에서 위치 2로 90°만큼 터닝하도록 제어되어, 즉, 작은 몬스터(64)에 직접 마주하게 한다. 작은 몬스터는 게임 시나리오에서의 가상 생명체이다.
도 7은 온라인 게임에서 가상 캐릭터의 터닝을 구현하기 위한 처리의 시퀀스 다이어그램이다. 온라인 게임에서, 각각의 사용자는 등록된 계정을 사용해서 게임 서버에 로그인하고, 등록된 계정에 대응하는 가상 캐릭터 이름을 사용해서 게임 시나리오에 진입하고, 사용자는 키보드 마우스, 또는 터치스크린과 같은 입력 디바이스들을 사용해서 대응하는 가상 캐릭터를 제어할 수 있다. 도 7에 도시된 바와 같이, 가상 캐릭터의 터닝을 구현하는 프로세스는 다음의 단계들을 포함한다: (1) 제1 단말기에 의해, 제1 사용자가 입력한 터닝 명령어를 검출하는 단계; (2) 터닝 명령어에 따라 제1 단말기에 의해, 제1 사용자에 대응하는 제1 가상 캐릭터의 시작 위치, 터닝 방향, 및 종료 위치를 획득하는 단계; (3) 제1 단말기에 의해, 제1 가상 캐릭터의 시작 위치, 터닝 방향, 및 종료 위치에 따른 가상 캐릭터의 터닝 각을 형성하고, 제1 가상 캐릭터의 터닝 각의 값을 계산하는 단계; (4) 제1 단말기에 의해, 미리 설정된 고정된 터닝 시간을 획득하는 단계; (5) 제1 단말기에 의해, 제1 가상 캐릭터의 터닝 각의 값 및 고정된 터닝 시간에 따라 제1 가상 캐릭터의 평균 각 속도를 계산하는 단계; (6) 제1 단말기에 의해, 평균 각 속도로 대응하는 종료 위치로 터닝하도록 제1 가상 캐릭터를 제어하는 단계; (7) 제1 단말기에 의해, 제1 가상 캐릭터의 터닝 시간, 시작 위치, 평균 터닝 속도(average turning speed) 및 대응하는 종료 위치를 기록 및 저장하는 단계; (8) 제1 단말기에 의해, 제1 가상 캐릭터의 터닝 시간, 시작 위치, 평균 터닝 속도, 및 대응하는 종료 위치를 서버에 업로드하는 단계; (9) 서버에 의해, 제1 가상 캐릭터의 시작 위치, 평균 터닝 속도, 및 종료 위치를 수신하고, 제1 가상 캐릭터의 시작 위치, 평균 터닝 속도, 및 종료 위치를 제2 단말기로 전송하는 단계; 및 (10) 시작 위치부터 종료 위치까지 제1 가상 캐릭터의 터닝을 제2 단말기에 디스플레이하는 단계.
예를 들어, 제1 가상 캐릭터의 뒤쪽(back)이 제2 가상 캐릭터를 향하고, 제1 가상 캐릭터가 180도만큼 터닝한 후에, 제1 가상 캐릭터는 제2 가상 캐릭터 쪽을 향한다.
가상 캐릭터의 터닝을 구현하기 위한 방법은 MOBA(multiplayer online battle arena games) 시나리오 및 모바일 게임 제품에 적용될 수 있다. 모바일 게임은 독립형 게임 및 온라인 게임을 포함할 수 있다. MOBA 시나리오 또는 모바일 게임에서, 플레이어는 NPC(게임 속 캐릭터, 즉, 가상 캐릭터)가 터닝하도록 제어한다. 터닝 시간이 미리 설정되고, 터닝 각이 획득되므로, 평균 각 속도는 터닝 각을 터닝 시간으로 나눔으로써 획득될 수 있고, NPC는 평균 각 속도로 터닝하도록 제어되어, 터닝 프로세스에서 발생하는 스톨링을 방지하고 터닝 픽처의 유창성을 향상시킨다. 도 8에 도시된 바와 같이, 모바일 게임에서, NPC는 시간 t 내에 일정한 속도로 대응하는 각 A만큼 터닝하도록 제어된다.
게다가, 가상 캐릭터의 터닝을 구현하기 위한 방법은 또한 개인 컴퓨터의 마우스를 사용해서 조작이 수행되는 게임 시나리오에 적용될 수 있고, 마우스에 의해 제어된 가상 캐릭터의 시작 위치 및 터닝 후의 종료 위치를 획득함으로써 대응하는 터닝 각이 획득되고, 터닝 각과 시간의 비율을 획득함으로써 대응하는 평균 각 속도가 획득되며, 가상 캐릭터는 평균 각 속도의 일정한 속도로 터닝하도록 제어되어, 터닝 프로세스에서 발생하는 스톨링이 방지될 수 있고, 터닝 픽처의 유창성이 향상될 수 있다.
도 9는 실시예에 따른 가상 캐릭터의 터닝을 구현하기 위한 장치의 구조적 블록도이다. 도 9에 도시된 바와 같이, 가상 캐릭터의 터닝을 구현하기 위한 장치는 단말기에서 조작되며, 다수의 프로그램 모듈을 포함한다. 다수의 프로그램 모듈은 메모리에 저장될 수 있고, 프로세서에 의해 실행가능할 수 있다. 다수의 프로그램 모듈은 각 획득 모듈(910), 시간 획득 모듈(920), 처리 모듈(930), 및 실행 모듈(940)을 포함할 수 있다.
각 획득 모듈(910)은 가상 캐릭터의 터닝 각을 획득하도록 구성된다.
구체적으로, 가상 캐릭터는 게임에서의 가상 캐릭터를 지칭한다. 상이한 직업들에 따라 상이한 캐릭터들이 선택될 수 있다. 게임 클라이언트는 단말기에서 시작 및 조작된다. 독립형 게임에서는, 등록이 필요하지 않고, 단지 입력된 캐릭터만 해당 시간 동안 플레이어의 사용자 이름으로서 사용될 필요가 있으며; 온라인 게임에서는, 다른 사용자들과 상호작용적인 조작을 수행하기 위해 네트워크 연결을 위한 등록된 계정을 사용함으로써 서버에 로그인된다.
단말기는 데스크톱 컴퓨터, 노트북 컴퓨터, 태블릿 컴퓨터, 스마트폰, 개인 휴대 정보 단말기, 등일 수 있다.
터닝 각은 가상 캐릭터가 회전하도록 제어되는 각을 지칭하고, 용이한 계산을 위해, 터닝 각은 0 도에서 360도 사이의 값일 수 있다. 가상 캐릭터는 키보드, 마우스, 또는 터치스크린과 같은 입력 디바이스가 명령어를 입력할 때 회전한다. 회전 각이 360도를 초과한 후에, 나머지 각은 회전 각에서 360도와 정수 배수의 곱을 빼서 획득되고, 이 나머지 각이 터닝 각으로서 사용된다.
획득된 터닝 각은 예를 들어, 30도, 40도, 또는 280도일 수 있다.
실시예에서, 각 획득 모듈(910)은, 가상 캐릭터의 시작 위치, 터닝 방향, 및 종료 위치를 획득하고; 가상 캐릭터의 시작 위치, 터닝 방향, 및 종료 위치에 따라 가상 캐릭터의 터닝 각을 획득하도록 추가로 구성된다.
구체적으로, 가상 캐릭터의 위치는 실시간으로 기록된다. 가상 캐릭터가 터닝하도록 제어되는 시점에, 가상 캐릭터가 해당 시간에 위치해 있는 위치가 터닝 시작 위치로서 획득된다. 사용자가, 한 위치로 회전하고 회전을 멈추도록 가상 캐릭터를 제어하기 위해, 입력 디바이스를 사용해서 입력 명령어를 생성할 때, 회전이 종료하는 위치는 종료 위치로서 기록되고, 회전 방향은 터닝 방향으로서 기록된다. 터닝 방향은 시계 방향 또는 반시계 방향일 수 있다. 가상 캐릭터의 시작 위치, 터닝 방향, 및 종료 위치는 터닝 각을 형성하기 위해 도출되고, 터닝 각의 값은 각 계산기 또는 계산 프로그램을 사용해서 계산된다. 가상 캐릭터의 시작 위치, 터닝 방향, 및 종료 위치를 획득함으로써 가상 캐릭터의 터닝 각을 계산하는 것은 편리하다.
실시예에서, 각 획득 모듈(910)은, 터치 입력, 음성 입력, 또는 제스처 입력에 의하여 생성된 터닝 명령어를 획득하고; 터닝 명령어에 따라서 가상 캐릭터의 터닝 각을 획득하도록 추가로 구성된다.
구체적으로, 터치 입력에 의하여 터닝 명령어를 생성하는 것은 터치스크린을 터치함으로써, 예를 들어, 터치스크린 상에서 시계방향으로 회전 또는 반시계방향으로 회전함으로써 대응하는 터닝 명령어를 입력 및 생성하는 것을 지칭한다. 가상 캐릭터의 시작 위치, 터닝 방향, 및 종료 위치는 터치에 의해 생성된 입력 명령어에 따라 획득될 수 있고, 가상 캐릭터의 터닝 각은 가상 캐릭터의 시작 위치, 터닝 방향, 및 종료 위치에 따라 계산될 수 있다.
음성 입력에 의하여 터닝 명령어를 생성하는 것은, 대응하는 터닝 명령어를 획득하기 위해 사용자의 음성 정보를 수신하고, 음성 정보를 인식하는 것을 지칭한다. 음성 입력에서, 음성 명령어 인식 라이브러리가 우선 작성될 필요가 있고, 음성 명령어 인식 라이브러리가 음성 정보와 명령어 사이의 대응관계를 기록한다. 사용자의 음성 정보가 인식된 후, 음성 정보 및 음성 정보와 명령어 사이의 대응관계에 따라 대응하는 터닝 명령어가 생성된다. 예를 들어, 음성 정보 내용은 시계방향으로 90도만큼 회전하는 것이다.
제스처 입력에 의하여 터닝 명령어를 생성하는 것은 대응하는 터닝 명령어를 획득하기 위해 입력 제스처를 수신하고, 그 제스처를 인식하는 것을 지칭한다. 제스처 입력에서, 제스처 명령어 인식 라이브러리가 우선 작성될 필요가 있고, 제스처 명령어 인식 라이브러리가 제스처 정보와 명령어 사이의 대응관계를 기록한다. 사용자의 제스처가 인식된 후, 제스처 정보와 명령어 사이의 대응관계에 따라 대응하는 터닝 명령어가 생성된다. 예를 들면, 제스처 정보의 내용은 시계방향으로 60도만큼 회전하는 것이다.
시간 획득 모듈(920)은 미리 설정된 고정된 터닝 시간을 획득하도록 구성된다.
구체적으로, 미리 설정된 고정된 터닝 시간은 필요에 따라 설정된 고정된 터닝 시간을 지칭하며, 터닝 시간이 설정된 후, 소모된 터닝 시간은 터닝 각의 값과 무관하게 고정된 터닝 시간이다. 고정된 터닝 시간은 0.1초, 0.2초, 또는 1초일 수 있다. 미리 설정된 고정된 터닝 시간은, 예를 들어, 구성 파일의 형태로 국부적으로 저장될 수 있다.
처리 모듈(930)은 터닝 각 및 미리 설정된 고정된 터닝 시간에 따라 가상 캐릭터의 평균 각 속도를 계산하도록 구성된다.
구체적으로, 터닝 각 및 미리 설정된 고정된 터닝 시간에 따라 가상 캐릭터의 평균 각 속도를 계산하는 단계는, 가상 캐릭터의 평균 각 속도를 획득하기 위해 터닝 각을 미리 설정된 고정된 터닝 시간으로 나누는 단계를 포함한다. 계산 수학식은 다음의 수학식 1이다:
[수학식 1]
Figure 112017078208625-pct00002
수학식 1에서, ω는 터닝 각이고, t는 미리 설정된 고정된 터닝 시간이고, υ는 평균 각 속도이다.
예를 들어, 터닝 각이 280도이고 미리 설정된 고정된 터닝 시간이 0.1초이며, 이 경우에, 평균 각 속도는 280도/0.1초이고, 이는 2800도/초와 같다.
실행 모듈(840)은 평균 각 속도로 터닝하게 가상 캐릭터를 제어하도록 구성된다.
구체적으로, 게임 시나리오에서, 가상 캐릭터는 평균 각 속도의 일정한 속도로 터닝하도록 제어되고, 가상 캐릭터가 종료 위치로 터닝할 때, 터닝은 멈춘다.
가상 캐릭터의 터닝을 구현하기 위한 장치에 따르면, 가상 캐릭터의 터닝 각이 획득되고, 미리 설정된 고정된 터닝 시간이 획득되고, 평균 각 속도가 계산되며, 가상 캐릭터가 평균 각 속도로 터닝하도록 제어된다. 터닝은 터닝 프로세스에서 일정한 속도로 수행되고, 부드러운 터닝이 구현될 수 있고, 터닝 프로세스에서 스톨링이 방지되며, 픽처 유창성이 향상될 수 있다. 터닝 각이 비교적 클 때, 평균 각 속도는 높으며, 빠르고 부드러운 터닝이 구현될 수 있고; 또는 터닝 각이 작을 때, 터닝이 또한 구현될 수 있다. 그러므로, 터닝이 더 정확하다.
도 10은 다른 실시예에 따른 가상 캐릭터의 터닝을 구현하기 위한 장치의 구조적 블록도이다. 도 10에 도시된 바와 같이, 가상 캐릭터의 터닝을 구현하기 위한 장치는 단말기에서 조작되며, 각 획득 모듈(910), 시간 획득 모듈(920), 처리 모듈(930), 및 실행 모듈(940)에 더하여, 장치는 기록 및 저장 모듈(950), 비교 모듈(960), 및 업로드 모듈(970)을 추가로 포함한다.
기록 및 저장 모듈(950)은 가상 캐릭터의 각각의 터닝 시간 및 대응하는 종료 위치를 기록 및 저장하도록 구성된다.
구체적으로, 게임 시나리오에서, 가상 캐릭터는 여러 번 터닝하도록 제어될 수 있고, 터닝 시간 및 대응하는 종료 위치가 매번 기록되어, 후속 동기화 및 업데이트를 용이하게 한다. 터닝 시간은 터닝이 시작되는 시점을 지칭한다. 예를 들어, 기록된 터닝 시간은 1시 24분 30초이고, 종료 위치는 게임 시나리오에서 지도 좌표 (x, y) 또는 경도 및 위도로 표현된다. 게다가, 가상 캐릭터의 시작 위치 및 평균 각 속도가 추가로 기록될 수 있다.
비교 모듈(960)은, 네트워크가 연결될 때, 서버에 기록되는 가상 캐릭터의 각각의 터닝 시간 및 대응하는 종료 위치와 국부적으로 기록되는 가상 캐릭터의 각각의 터닝 시간 및 대응하는 종료 위치를 주기적으로 비교하도록 구성된다.
업로드 모듈(970)은, 국부적으로 기록되는 가상 캐릭터의 각각의 터닝 시간 및 대응하는 종료 위치가 서버에 기록되는 가상 캐릭터의 각각의 터닝 시간 및 대응하는 종료 위치와 동일하지 않을 때, 서버에 기록되는 가상 캐릭터의 각각의 터닝 시간 및 대응하는 종료 위치를 업데이트 하기 위해, 국부적으로 기록되는 가상 캐릭터의 각각의 터닝 시간 및 대응하는 종료 위치를 서버에 업로드하도록 구성된다.
구체적으로, 두 개의 데이터가 동일한지 비교하기 위해서, 국부적으로 기록되는 가상 캐릭터의 각각의 터닝 시간 및 대응하는 종료 위치는 서버에 기록되는 가상 캐릭터의 각각의 터닝 시간 및 대응하는 종료 위치와 주기적으로 비교될 수 있다. 두 개의 데이터가 동일하지 않다면, 서버에 기록되는 가상 캐릭터의 각각의 터닝 시간 및 대응하는 종료 위치를 업데이트 하기 위해, 국부적으로 기록되는 가상 캐릭터의 각각의 터닝 시간 및 대응하는 종료 위치가 서버에 업로드될 수 있고, 마지막 터닝 후 가상 캐릭터의 종료 위치가 디스플레이될 수 있다.
관련 분야의 통상의 기술자는 전술한 실시예들에서 방법들의 프로세스들의 전부 또는 일부가 관련 하드웨어에게 명령하는 컴퓨터 프로그램에 의해 구현될 수 있다는 것을 이해할 수 있다. 프로그램은 비-휘발성 컴퓨터 판독가능 저장 매체에 저장될 수 있다. 프로그램이 실행될 때, 전술한 방법 실시예들의 프로세스들이 수행될 수 있다. 저장 매체는 자기 디스크, 광 디스크, ROM(read-only memory) 등일 수 있다.
전술한 실시예들은 본 개시내용의 몇몇 구현 방식만을 설명하고, 그 설명은 구체적이고 상세하지만, 본 개시내용의 특허 범위에 대한 제한으로 이해될 수 없다. 관련 기술 분야의 통상의 기술자는 본 개시내용의 개념을 벗어나지 않고 일부 변형 및 개선을 추가로 실시할 수 있고, 변형 및 개선은 본 개시내용의 보호 범위에 속한다는 것을 주목해야 한다. 그러므로, 본 개시내용의 보호 범위는 첨부된 청구범위의 보호 범위에 종속되어야 한다.

Claims (18)

  1. 가상 캐릭터의 터닝을 구현하기 위한 방법으로서,
    가상 캐릭터의 터닝 각을 획득하는 단계;
    미리 설정된 고정된 터닝 시간을 획득하는 단계;
    상기 터닝 각 및 상기 미리 설정된 고정된 터닝 시간에 따라 상기 가상 캐릭터의 평균 각 속도(average angular velocity)를 계산하는 단계;
    상기 평균 각 속도로 터닝하도록 상기 가상 캐릭터를 제어하는 단계;
    상기 가상 캐릭터의 각각의 터닝 시간 및 대응하는 종료 위치를 기록 및 저장하는 단계;
    네트워크가 연결될 때, 서버에 기록되는 상기 가상 캐릭터의 각각의 터닝 시간 및 대응하는 종료 위치와 국부적으로 기록되는 상기 가상 캐릭터의 각각의 터닝 시간 및 대응하는 종료 위치를 주기적으로 비교하는 단계; 및
    국부적으로 기록되는 상기 가상 캐릭터의 각각의 터닝 시간 및 대응하는 종료 위치가 상기 서버에 기록되는 상기 가상 캐릭터의 각각의 터닝 시간 및 대응하는 종료 위치와 동일하지 않다면, 상기 서버에 기록되는 상기 가상 캐릭터의 각각의 터닝 시간 및 대응하는 종료 위치를 업데이트하기 위해, 국부적으로 기록되는 상기 가상 캐릭터의 각각의 터닝 시간 및 대응하는 종료 위치를 상기 서버에 업로드하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서, 상기 가상 캐릭터의 터닝 각을 획득하는 단계는,
    상기 가상 캐릭터의 시작 위치, 터닝 방향, 및 종료 위치를 획득하는 단계; 및
    상기 가상 캐릭터의 시작 위치, 터닝 방향, 및 종료 위치에 따라 상기 가상 캐릭터의 터닝 각을 획득하는 단계를 포함하는 방법.
  3. 제1항에 있어서, 상기 가상 캐릭터의 터닝 각을 획득하는 단계는,
    터치 입력, 음성 입력, 또는 제스처 입력에 의하여 생성된 터닝 명령어를 획득하는 단계; 및
    상기 터닝 명령어에 따라 상기 가상 캐릭터의 터닝 각을 획득하는 단계를 포함하는 방법.
  4. 제1항에 있어서, 상기 방법은, 상기 가상 캐릭터의 시작 위치 및 평균 각 속도를 기록 및 저장하는 단계를 추가로 포함하는 방법.
  5. 제1항에 있어서, 상기 터닝 각 및 상기 미리 설정된 고정된 터닝 시간에 따라 상기 가상 캐릭터의 평균 각 속도를 계산하는 단계는, 상기 가상 캐릭터의 평균 각 속도를 획득하기 위해 상기 터닝 각을 상기 미리 설정된 고정된 터닝 시간으로 나누는 단계를 포함하는 방법.
  6. 제2항에 있어서, 상기 평균 각 속도로 터닝하도록 상기 가상 캐릭터를 제어하는 단계는, 상기 평균 각 속도의 일정한 속도로 터닝하도록 상기 가상 캐릭터를 제어하는 단계, 및 상기 가상 캐릭터가 종료 위치로 터닝할 때 터닝을 멈추는 단계를 포함하는 방법.
  7. 단말기로서,
    저장 매체, 및
    프로세서
    를 포함하고,
    상기 저장 매체는 명령어를 저장하고, 상기 명령어가 상기 프로세서에 의해 실행될 때, 상기 프로세서는,
    가상 캐릭터의 터닝 각을 획득하고;
    미리 설정된 고정된 터닝 시간을 획득하고;
    상기 터닝 각 및 상기 미리 설정된 고정된 터닝 시간에 따라 상기 가상 캐릭터의 평균 각 속도를 계산하고;
    상기 평균 각 속도로 터닝하게 상기 가상 캐릭터를 제어
    하도록 지시되고, 상기 단말기의 상기 프로세서는,
    상기 가상 캐릭터의 각각의 터닝 시간 및 대응하는 종료 위치를 기록 및 저장하고;
    네트워크가 연결될 때, 서버에 기록되는 상기 가상 캐릭터의 각각의 터닝 시간 및 대응하는 종료 위치와 국부적으로 기록되는 상기 가상 캐릭터의 각각의 터닝 시간 및 대응하는 종료 위치를 주기적으로 비교하고;
    국부적으로 기록되는 상기 가상 캐릭터의 각각의 터닝 시간 및 대응하는 종료 위치가 상기 서버에 기록되는 상기 가상 캐릭터의 각각의 터닝 시간 및 대응하는 종료 위치와 동일하지 않다면, 상기 서버에 기록되는 상기 가상 캐릭터의 각각의 터닝 시간 및 대응하는 종료 위치를 업데이트하기 위해, 국부적으로 기록되는 상기 가상 캐릭터의 각각의 터닝 시간 및 대응하는 종료 위치를 상기 서버에 업로드
    하도록 더 구성되는 단말기.
  8. 제7항에 있어서, 상기 가상 캐릭터의 터닝 각을 획득하는 것은,
    가상 캐릭터의 시작 위치, 터닝 방향, 및 종료 위치를 획득하는 것; 및
    상기 가상 캐릭터의 시작 위치, 터닝 방향, 및 종료 위치에 따라 상기 가상 캐릭터의 터닝 각을 획득하는 것
    을 포함하는 단말기.
  9. 제7항에 있어서, 상기 가상 캐릭터의 터닝 각을 획득하는 것은,
    터치 입력, 음성 입력, 또는 제스처 입력에 의하여 생성된 터닝 명령어를 획득하는 것; 및
    상기 터닝 명령어에 따라 가상 캐릭터의 터닝 각을 획득하는 것
    을 포함하는 단말기.
  10. 프로세서에 의해 실행될 때, 가상 캐릭터의 터닝을 구현하기 위한 방법을 수행하기 위한 컴퓨터 실행가능 프로그램을 포함하는 비-일시적인 컴퓨터 판독가능 매체로서,
    상기 방법은,
    가상 캐릭터의 터닝 각을 획득하는 단계;
    미리 설정된 고정된 터닝 시간을 획득하는 단계;
    상기 터닝 각 및 상기 미리 설정된 고정된 터닝 시간에 따라 상기 가상 캐릭터의 평균 각 속도를 계산하는 단계;
    상기 평균 각 속도로 터닝하도록 상기 가상 캐릭터를 제어하는 단계;
    상기 가상 캐릭터의 각각의 터닝 시간 및 대응하는 종료 위치를 기록 및 저장하는 단계;
    네트워크가 연결될 때, 서버에 기록되는 상기 가상 캐릭터의 각각의 터닝 시간 및 대응하는 종료 위치와 국부적으로 기록되는 상기 가상 캐릭터의 각각의 터닝 시간 및 대응하는 종료 위치를 주기적으로 비교하는 단계; 및
    국부적으로 기록되는 상기 가상 캐릭터의 각각의 터닝 시간 및 대응하는 종료 위치가 상기 서버에 기록되는 상기 가상 캐릭터의 각각의 터닝 시간 및 대응하는 종료 위치와 동일하지 않다면, 상기 서버에 기록되는 상기 가상 캐릭터의 각각의 터닝 시간 및 대응하는 종료 위치를 업데이트하기 위해, 국부적으로 기록되는 상기 가상 캐릭터의 각각의 터닝 시간 및 대응하는 종료 위치를 상기 서버에 업로드하는 단계
    를 포함하는 비-일시적인 컴퓨터 판독가능 매체.
  11. 제10항에 있어서, 상기 가상 캐릭터의 터닝 각을 획득하는 단계는,
    상기 가상 캐릭터의 시작 위치, 터닝 방향, 및 종료 위치를 획득하는 단계; 및
    상기 가상 캐릭터의 시작 위치, 터닝 방향, 및 종료 위치에 따라 상기 가상 캐릭터의 터닝 각을 획득하는 단계
    를 포함하는 비-일시적인 컴퓨터 판독가능 매체.
  12. 제10항에 있어서, 상기 가상 캐릭터의 터닝 각을 획득하는 단계는,
    터치 입력, 음성 입력, 또는 제스처 입력에 의하여 생성된 터닝 명령어를 획득하는 단계; 및
    상기 터닝 명령어에 따라 상기 가상 캐릭터의 터닝 각을 획득하는 단계
    를 포함하는 비-일시적인 컴퓨터 판독가능 매체.
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
KR1020177022693A 2015-06-16 2016-02-01 가상 캐릭터의 터닝을 구현하기 위한 방법 및 단말기 KR101954010B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201510334763.4A CN104915564B (zh) 2015-06-16 2015-06-16 实现虚拟角色转弯的方法和装置
CN201510334763.4 2015-06-16
PCT/CN2016/073060 WO2016201993A1 (zh) 2015-06-16 2016-02-01 实现虚拟角色转弯的方法和终端

Publications (2)

Publication Number Publication Date
KR20170105069A KR20170105069A (ko) 2017-09-18
KR101954010B1 true KR101954010B1 (ko) 2019-03-04

Family

ID=54084625

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177022693A KR101954010B1 (ko) 2015-06-16 2016-02-01 가상 캐릭터의 터닝을 구현하기 위한 방법 및 단말기

Country Status (7)

Country Link
US (1) US10204399B2 (ko)
EP (1) EP3312747B1 (ko)
JP (1) JP6470845B2 (ko)
KR (1) KR101954010B1 (ko)
CN (1) CN104915564B (ko)
CA (1) CA2975004C (ko)
WO (1) WO2016201993A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104915564B (zh) * 2015-06-16 2017-03-22 深圳市腾讯计算机系统有限公司 实现虚拟角色转弯的方法和装置
CN108579079B (zh) * 2018-04-27 2022-02-18 网易(杭州)网络有限公司 虚拟对象转向控制方法及装置、电子设备、存储介质
CN108837508B (zh) * 2018-06-21 2022-04-29 网易(杭州)网络有限公司 游戏中控制载具的方法和装置
CN109091865A (zh) * 2018-08-02 2018-12-28 苏州蜗牛数字科技股份有限公司 虚拟角色转向同步方法、存储设备及游戏终端
CN110170167B (zh) * 2019-05-28 2023-02-28 上海米哈游网络科技股份有限公司 一种画面显示方法、装置、设备及介质
EP4112143A4 (en) * 2021-05-14 2023-01-11 Tencent Technology (Shenzhen) Company Limited METHOD AND APPARATUS FOR CONTROL DISPLAY, DEVICE, MEDIA, AND PROGRAM PRODUCT
CN115273515B (zh) * 2022-06-23 2024-05-07 智道网联科技(北京)有限公司 车辆转弯处导航画面显示方法、设备和可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009093437A (ja) * 2007-10-09 2009-04-30 Sega Corp 画像表示プログラムおよび画像表示装置
US20100091038A1 (en) * 2004-10-19 2010-04-15 Nintendo Co., Ltd. Storage medium having input processing program stored thereon and nput processing device

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999027498A1 (fr) * 1997-11-25 1999-06-03 Sega Enterprises, Ltd. Generateur d'image
JP3568861B2 (ja) * 2000-01-27 2004-09-22 株式会社スクウェア・エニックス ビデオゲームにおける三次元オブジェクト変形方法及びビデオゲーム装置、並びにビデオゲーム用のプログラムを記録したコンピュータ読み取り可能な記録媒体
JP3780512B2 (ja) * 2002-07-30 2006-05-31 株式会社光栄 プログラム、記録媒体及びゲーム装置
KR100481140B1 (ko) * 2004-05-06 2005-04-07 엔에이치엔(주) 메신저 서버와 연동하여 게임 캐릭터의 위치 정보를제공하는 온라인 게임 방법 및 온라인 게임 시스템
JP2008032591A (ja) * 2006-07-31 2008-02-14 Alpine Electronics Inc 角速度算出装置およびそのオフセット決定方法並びに車両停車検出装置
JP5745204B2 (ja) * 2008-07-28 2015-07-08 株式会社バンダイナムコエンターテインメント プログラム、情報記憶媒体及びゲーム機
CN101751688A (zh) * 2008-11-28 2010-06-23 康佳集团股份有限公司 一种机顶盒菜单的实现方法及系统
JP5587800B2 (ja) * 2011-01-12 2014-09-10 株式会社スクウェア・エニックス ネットワークゲームシステム、ゲーム装置、サーバ装置、及びプログラム
EP2497547B1 (en) * 2011-03-08 2018-06-27 Nintendo Co., Ltd. Information processing program, information processing apparatus, information processing system, and information processing method
CN103914067A (zh) * 2013-01-05 2014-07-09 联想(北京)有限公司 一种控制方法及电子设备
US9230368B2 (en) * 2013-05-23 2016-01-05 Microsoft Technology Licensing, Llc Hologram anchoring and dynamic positioning
CN103760981B (zh) * 2014-01-21 2017-01-04 北京师范大学 一种磁场可视化及交互方法
CN104915564B (zh) * 2015-06-16 2017-03-22 深圳市腾讯计算机系统有限公司 实现虚拟角色转弯的方法和装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100091038A1 (en) * 2004-10-19 2010-04-15 Nintendo Co., Ltd. Storage medium having input processing program stored thereon and nput processing device
JP2009093437A (ja) * 2007-10-09 2009-04-30 Sega Corp 画像表示プログラムおよび画像表示装置

Also Published As

Publication number Publication date
KR20170105069A (ko) 2017-09-18
CN104915564B (zh) 2017-03-22
CA2975004A1 (en) 2016-12-22
CN104915564A (zh) 2015-09-16
JP2018512899A (ja) 2018-05-24
US10204399B2 (en) 2019-02-12
US20170323428A1 (en) 2017-11-09
CA2975004C (en) 2020-07-14
EP3312747A4 (en) 2018-04-25
EP3312747A1 (en) 2018-04-25
EP3312747B1 (en) 2019-09-25
WO2016201993A1 (zh) 2016-12-22
JP6470845B2 (ja) 2019-02-13

Similar Documents

Publication Publication Date Title
KR101954010B1 (ko) 가상 캐릭터의 터닝을 구현하기 위한 방법 및 단말기
CN112601589B (zh) 在游戏应用的玩游戏过程期间将玩家实时连接到专家帮助
US11724204B2 (en) In-game location based game play companion application
CN111857923B (zh) 特效展示方法、装置、电子设备及计算机可读介质
JP7339318B2 (ja) ゲーム内位置ベースのゲームプレイコンパニオンアプリケーション
CN105431813A (zh) 基于生物计量身份归属用户动作
US10792568B1 (en) Path management for virtual environments
CN112933606B (zh) 游戏场景转换方法及装置、存储介质、计算机设备
WO2018000608A1 (zh) 一种虚拟现实系统中分享全景影像的方法和电子设备
CN111760272B (zh) 游戏信息显示方法及装置、计算机存储介质、电子设备
US20230072463A1 (en) Contact information presentation
EP4122566A1 (en) Movement-based navigation
KR20230053719A (ko) 멀티플레이어 게임에서 장거리 객체의 타겟팅 개선
US20230142566A1 (en) System and method for precise positioning with touchscreen gestures
CN108769149B (zh) 应用分区的处理方法、设备及计算机可读存储介质
US10410425B1 (en) Pressure-based object placement for augmented reality applications
KR20190107535A (ko) 게임 리플레이 방법 및 시스템
CN113384881A (zh) 一种游戏中的地图显示方法及装置
KR102211564B1 (ko) 게임 서비스 제공 방법 및 장치
KR102148701B1 (ko) 게임 플레이 관리 장치 및 방법
KR20230054491A (ko) 멀티플레이어 온라인 비디오 게임의 복수의 객체 중 개별 객체의 타겟팅 개선
KR20210144433A (ko) 가상공간 촬영장치 및 촬영방법
CN117547838A (zh) 社交互动的方法、装置、设备、可读存储介质及程序产品

Legal Events

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