KR20110128794A - 화상처리장치, 화상처리방법 및 화상처리 프로그램 - Google Patents

화상처리장치, 화상처리방법 및 화상처리 프로그램 Download PDF

Info

Publication number
KR20110128794A
KR20110128794A KR1020117015422A KR20117015422A KR20110128794A KR 20110128794 A KR20110128794 A KR 20110128794A KR 1020117015422 A KR1020117015422 A KR 1020117015422A KR 20117015422 A KR20117015422 A KR 20117015422A KR 20110128794 A KR20110128794 A KR 20110128794A
Authority
KR
South Korea
Prior art keywords
virtual
motion
character
motion information
mixing ratio
Prior art date
Application number
KR1020117015422A
Other languages
English (en)
Other versions
KR101247930B1 (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 KR20110128794A publication Critical patent/KR20110128794A/ko
Application granted granted Critical
Publication of KR101247930B1 publication Critical patent/KR101247930B1/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
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • 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
    • 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/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • A63F13/422Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle automatically for the purpose of assisting the player, e.g. automatic braking in a driving game
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/802D [Two Dimensional] animation, e.g. using sprites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/503Blending, e.g. for anti-aliasing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • 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/64Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car
    • A63F2300/643Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car by determining the impact between objects, e.g. collision detection
    • 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)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Human Computer Interaction (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

<과제>
캐릭터의 모션에 있어서의 화상처리의 처리부하를 경감하고, 캐릭터의 소정의 부위가 접촉허용물체에 정확하게 접촉되어 있는 적절한 모션 표현을 실행한다.
<해결 수단>
화상처리장치(100)가, 복수의 샘플 모션정보를 임의의 혼합비율로 혼합하여 모션정보를 생성하고, 생성한 모션정보에 근거하여 캐릭터(C)를 동작시켰을 때의 도달가능위치(P)를 검출하고, 검출한 도달가능위치(P)를 나타내는 좌표정보와 혼합비율을 관련짓고, 가상공간에 있어서 도달가능위치(P)가 존재하는 범위에 배치한 가상구체(B)와 도달가능위치(P)를 대응짓고, 가상구체정보에 근거하여 가상공간에 있어서의 캐릭터(C)의 상태에 대응한 가상구체를 출력하고, 접촉허용물체와 접촉하는 가상구체의 선택을 접수하고, 선택을 접수한 가상구체에 대응지어진 도달가능위치(P)를 나타내는 좌표정보에 관련지어진 혼합비율에 대응하는 모션정보에 근거하여 캐릭터(C)의 동작을 제어한다.

Description

화상처리장치, 화상처리방법 및 화상처리 프로그램{IMAGE PROCESSING DEVICE, IMAGE PROCESSING METHOD, AND IMAGE PROCESSING PROGRAM}
본 발명은, 예를 들면 3차원 또는 2차원 컴퓨터 그래픽에 의해 표현되는 화상(비디오게임 캐릭터 등)의 모션을 생성하는 화상처리장치, 화상처리방법 및 화상처리 프로그램에 관한 것이다.
RPG(롤플레잉게임: 게임 유저가 게임의 세계속에 있는 캐릭터의 역할을 수행하여, 다양한 경험을 통해 성장해 가는 과정을 즐기면서, 소정의 목적을 달성해 가는 것을 유희하는 게임)로 불리는 비디오게임이나 시뮬레이션게임 등의 각종 비디오게임이 제공되고 있다.
종래로부터, 이러한 비디오게임 등에서 등장하는 캐릭터의 모션을 다양하게 표현할 수 있도록 한 화상처리 기술이 많이 제안되어 있다(예를 들면, 특허문헌 1-2).
특허문헌 1: 일본국 특허출원공개 2003-62326호 공보 특허문헌 2: 일본국 특허출원공개 2003-67773호 공보
하지만, 폴리곤으로 이루어지는 캐릭터의 모션을 필드의 변화에 대응하여 더욱 적절하게 표현하기 위해서는, 많은 계산이 필요하고, 처리부하가 엄청나게 된다. 이 때문에, 종래의 화상처리 기술에서는, 예를 들면, 지표 데이터에 대해, 미리 광범위하게 모아두는 한편, 사전에 계산해놓은 계산 결과를 이용하는 것에 의해, 처리부하를 경감하고, 고속화를 실현하도록 하고 있지만, 한층더 처리부하의 경감이 기대되고 있었다.
한편, 가정용 게임기 등에 있어서는, 그 처리 능력에 한도가 있어, 광범위하게 걸쳐지는 지표의 지표 데이터를 이용하는 경우 등에 있어서는, 사전 계산을 하였다고 해도, 처리 능력 이상의 처리부하가 걸려버리는 우려가 있는 문제가 있었다.
또한, 이러한 문제는, 비디오게임 관련의 기술분야에 한정되지 않고, 컴퓨터 그래픽이나 애니메이션의 생성에 관한 기술분야 전반에 있어서 문제가 되고 있었다.
본 발명은, 상기의 문제를 해결하기 위하여, 캐릭터의 모션을 적절하게 표현할 수 있고, 또한 화상처리에 있어서의 처리부하를 경감할 수 있도록 하는 것을 목적으로 한다.
본 발명의 화상처리장치는, 가상공간에 있어서 캐릭터의 동작을 제어하는 것에 의해 캐릭터의 모션을 생성하는 화상처리장치이고, 상기 캐릭터의 모션의 기초가 되는 샘플 모션을 나타내는 샘플 모션정보를 기억하는 샘플 모션정보 기억부와; 상기 캐릭터의 동작을 나타내는 모션정보를 기억하는 모션정보 기억부와; 를 구비하고, 상기 샘플 모션정보 기억부에 기억된 복수의 샘플 모션정보를, 임의의 혼합비율로 혼합하여 모션정보를 생성하는 모션 블렌드 수단과; 당해 모션 블렌드 수단에 의해 생성된 모션정보를 상기 모션정보 기억부에 등록하는 모션정보 등록수단과; 상기 모션 블렌드 수단에 의해 생성된 모션정보에 근거하여 상기 캐릭터를 동작시켰을 때 동작 종료시의 캐릭터의 소정 부위의 도달가능위치를 검출하는 도달가능위치 검출수단과; 당해 도달가능위치 검출수단에 의해 검출된 도달가능위치를 나타내는 좌표정보와 상기 혼합비율을 관련짓는 혼합비율 관련지음수단과; 상기 가상공간에 있어서 상기 도달가능위치가 존재하는 범위에 복수의 구체를 배치하는 가상구체 배치수단과; 당해 가상구체 배치수단에 의해 배치된 구체인 가상구체와 상기 도달가능위치를 대응짓는 가상구체 대응지음수단과; 당해 가상구체 대응지음수단에 의해 상기 도달가능위치가 대응지어진 가상구체에 관한 정보인 가상구체정보를, 가상구체정보를 기억하는 가상구체정보 기억부에 등록하는 가상구체정보 등록수단과; 상기 모션정보 기억부에 기억된 모션정보에 근거하여 상기 가상공간에 있어서의 상기 캐릭터의 동작을 제어하는 캐릭터 제어수단과; 를 포함하고, 당해 캐릭터 제어수단은, 상기 가상구체정보 기억부에 기억된 가상구체정보에 근거하여 상기 가상공간에 있어서의 상기 캐릭터의 상태에 대응한 상기 가상구체를 출력하는 출력수단과; 당해 출력수단에 의해 출력된 가상구체 중, 상기 캐릭터가 접촉가능한 물체인 접촉허용물체와 접촉하는 가상구체가 있는지 판정하는 접촉판정수단과; 당해 접촉판정수단에 의해 상기 접촉허용물체와 접촉하는 것으로 판정된 가상구체의 선택을 접수하는 선택접수수단과; 를 구비하고, 당해 선택접수수단에 의해 선택을 접수한 가상구체에 대응지어진 도달가능위치를 나타내는 좌표정보에 관련지어진 혼합비율에 대응하는 모션정보에 근거하여 상기 캐릭터의 동작을 제어하는 것을 특징으로 한다.
상기의 구성으로 한 것에 의해, 캐릭터의 모션을 적절하게 표현할 수 있고, 또한 화상처리에 있어서의 처리부하를 경감할 수 있게 된다.
상기 캐릭터 제어수단은, 상기 선택접수수단에 의해 선택을 접수한 가상구체에 대응한 혼합비율을 특정하는 혼합비율 특정수단과; 당해 혼합비율 특정수단에 의해 특정된 혼합비율에 관련지어진 상기 좌표정보와 상기 가상공간에 있어서의 상기 접촉허용물체의 위치에 근거하여, 당해 혼합비율에 대응한 모션정보가 소정의 조건을 만족하도록 당해 혼합비율을 보정하는 혼합비율 보정수단과; 당해 혼합비율 보정수단에 의해 보정된 혼합비율에 대응한 모션정보를 특정하는 모션정보 특정수단과; 를 구비하고, 상기 캐릭터 제어수단은, 상기 모션정보 특정수단에 의해 특정된 모션정보에 근거하여 상기 캐릭터의 동작을 제어하는 구성으로 되어 있어도 좋다.
상기 캐릭터 제어수단은, 상기 혼합비율 특정수단에 의해 특정된 혼합비율에 관련지어진 상기 좌표정보가 나타내는 도달가능위치에서 상기 가상공간에 있어서의 상기 접촉허용물체의 위치까지의 가상거리를 특정하는 가상거리 특정수단과; 당해 가상거리 특정수단에 의해 특정된 가상거리에 근거하여 상기 도달가능위치를 상기 접촉허용물체의 위치와 일치시키기 위해 필요한 상기 혼합비율의 보정량을 특정하는 보정량 특정수단과; 를 구비하고, 상기 혼합비율 보정수단은, 상기 보정량 특정수단에 의해 특정된 보정량에 따라 상기 혼합비율을 보정하는 구성으로 되어 있어도 좋다.
또한, 본 발명의 화상처리방법은, 가상공간에 있어서 캐릭터의 동작을 제어하는 것에 의해 캐릭터의 모션을 생성하는 화상처리방법이고, 상기 캐릭터의 모션의 기초가 되는 샘플 모션을 나타내는 샘플 모션정보를 기억하는 샘플 모션정보 기억부에 기억된 복수의 샘플 모션정보를, 임의의 혼합비율로 혼합하여 모션정보를 생성하는 모션 블렌드 처리와; 당해 모션 블렌드 처리에서 생성된 모션정보를, 상기 캐릭터의 동작을 나타내는 모션정보를 기억하는 모션정보 기억부에 등록하는 모션정보 등록처리와; 상기 모션 블렌드 처리에서 생성된 모션정보에 근거하여 상기 캐릭터를 동작시켰을 때 동작 종료시의 캐릭터의 소정 부위의 도달가능위치를 검출하는 도달가능위치 검출처리와; 당해 도달가능위치 검출처리에서 검출된 도달가능위치를 나타내는 좌표정보와 상기 혼합비율을 관련짓는 혼합비율 관련지음처리와; 상기 가상공간에 있어서 상기 도달가능위치가 존재하는 범위에 복수의 구체를 배치하는 가상구체 배치처리와; 당해 가상구체 배치처리에서 배치된 구체인 가상구체와 상기 도달가능위치를 대응짓는 가상구체 대응지음처리와; 당해 가상구체 대응지음처리에서 상기 도달가능위치가 대응지어진 가상구체에 관한 정보인 가상구체정보를, 가상구체정보를 기억하는 가상구체정보 기억부에 등록하는 가상구체정보 등록처리와; 상기 모션정보 기억부에 기억된 모션정보에 근거하여 상기 가상공간에 있어서의 상기 캐릭터의 동작을 제어하는 캐릭터 제어처리와; 를 포함하고, 당해 캐릭터 제어처리는, 상기 가상구체정보 기억부에 기억된 가상구체정보에 근거하여 상기 가상공간에 있어서의 상기 캐릭터의 상태에 대응한 상기 가상구체를 출력하는 출력처리와; 당해 출력처리에서 출력된 가상구체 중, 상기 캐릭터가 접촉가능한 물체인 접촉허용물체와 접촉하는 가상구체가 있는지 판정하는 접촉판정처리와; 당해 접촉판정처리에서 상기 접촉허용물체와 접촉하는 것으로 판정된 가상구체의 선택을 접수하는 선택접수처리와; 를 구비하고, 당해 선택접수처리에서 선택을 접수한 가상구체에 대응지어진 도달가능위치를 나타내는 좌표정보에 관련지어진 혼합비율에 대응하는 모션정보에 근거하여 상기 캐릭터의 동작을 제어하는 것을 특징으로 한다.
또한, 본 발명의 화상처리 프로그램은, 가상공간에 있어서 캐릭터의 동작을 제어하는 것에 의해 캐릭터의 모션을 생성시키기 위한 화상처리 프로그램이고, 컴퓨터에, 상기 캐릭터의 모션의 기초가 되는 샘플 모션을 나타내는 샘플 모션정보를 기억하는 샘플 모션정보 기억부에 기억된 복수의 샘플 모션정보를, 임의의 혼합비율로 혼합하여 모션정보를 생성하는 모션 블렌드 처리와; 당해 모션 블렌드 처리에서 생성된 모션정보를, 상기 캐릭터의 동작을 나타내는 모션정보를 기억하는 모션정보 기억부에 등록하는 모션정보 등록처리와; 상기 모션 블렌드 처리에서 생성된 모션정보에 근거하여 상기 캐릭터를 동작시켰을 때 동작 종료시의 캐릭터의 소정 부위의 도달가능위치를 검출하는 도달가능위치 검출처리와; 당해 도달가능위치 검출처리에서 검출된 도달가능위치를 나타내는 좌표정보와 상기 혼합비율을 관련짓는 혼합비율 관련지음처리와; 상기 가상공간에 있어서 상기 도달가능위치가 존재하는 범위에 복수의 구체를 배치하는 가상구체 배치처리와; 당해 가상구체 배치처리에서 배치된 구체인 가상구체와 상기 도달가능위치를 대응짓는 가상구체 대응지음처리와; 당해 가상구체 대응지음처리에서 상기 도달가능위치가 대응지어진 가상구체에 관한 정보인 가상구체정보를, 가상구체정보를 기억하는 가상구체정보 기억부에 등록하는 가상구체정보 등록처리와; 상기 모션정보 기억부에 기억된 모션정보에 근거하여 상기 가상공간에 있어서의 상기 캐릭터의 동작을 제어하는 캐릭터 제어처리와; 를 실행시키고, 당해 캐릭터 제어처리에 있어서, 상기 가상구체정보 기억부에 기억된 가상구체정보에 근거하여 상기 가상공간에 있어서의 상기 캐릭터의 상태에 대응한 상기 가상구체를 출력하는 출력처리와; 당해 출력처리에서 출력된 가상구체 중, 상기 캐릭터가 접촉가능한 물체인 접촉허용물체와 접촉하는 가상구체가 있는지 판정하는 접촉판정처리와; 당해 접촉판정처리에서 상기 접촉허용물체와 접촉하는 것으로 판정된 가상구체의 선택을 접수하는 선택접수처리와; 를 실행시키고, 당해 선택접수처리에서 선택을 접수한 가상구체에 대응지어진 도달가능위치를 나타내는 좌표정보에 관련지어진 혼합비율에 대응하는 모션정보에 근거하여 상기 캐릭터의 동작을 제어하는 처리를 실행시키기 위한 것이다.
본 발명에 의하면, 캐릭터의 모션을 적절하게 표현할 수 있고, 또한 화상처리에 있어서의 처리부하를 경감할 수 있게 된다.
도 1은 본 발명의 일 실시형태에 있어서의 화상처리장치의 구성예를 나타내는 블록도.
도 2는 가상구체정보의 격납 상태의 예를 나타내는 설명도.
도 3은 가상구체정보 생성처리의 예를 나타내는 플로차트.
도 4는 가상구체정보 생성처리에 대해 설명하기 위한 설명도.
도 5는 가상구체정보 생성처리에 대해 설명하기 위한 설명도.
도 6은 가상구체정보 생성처리에 대해 설명하기 위한 설명도.
도 7은 모션 생성처리의 예를 나타내는 플로차트.
도 8은 모션 생성처리에 대해 설명하기 위한 설명도.
도 9는 모션 생성처리에 대해 설명하기 위한 설명도.
이하, 본 발명의 일 실시형태의 예에 대해 도면을 참조하여 설명한다.
도 1은 본 발명의 일 실시형태에 있어서의 화상처리장치(100)의 구성예를 나타내는 블록도이다. 도 1에 나타내는 바와 같이, 화상처리장치(100)는 프로그램 판독부(10)와, 제어부(11)와, 기억부(12)와, 표시부(13)와, 음성출력부(14)와, 조작 접수부(15)와, 모션 처리부(16)를 포함한다.
프로그램 판독부(10)는, 각종 프로그램이 격납된 기억매체를 내장한 기억매체로부터 필요한 프로그램을 독출하는 기능을 갖는다. 또, 본 예에 있어서는, 프로그램 판독부(10)는, 게임 프로그램이 격납된 탈착가능한 게임 카트리지(20)를 장착하는 장착부를 구비한다.
제어부(11)는, 게임 프로그램 판독부(10)에 의해 판독된 게임 프로그램(화상처리 프로그램을 포함)을 실행하여, 캐릭터의 동작(모션)을 제어하는 동작제어나, 캐릭터가 실행한 모션에 대응한 효과음을 출력하는 음성제어 등 각종 제어를 실행한다.
기억부(12)는, 캐릭터의 주변환경(예를 들면, 가상공간에 있어서 캐릭터가 위치하는 지면의 경사 정도 등)에 대응한 모션을 생성하기 위해(즉, 모션정보를 생성하고, 생성한 모션정보에 근거하여 제어부(11)가 캐릭터를 제어하는 것에 의해, 가상공간에 있어서의 캐릭터의 모션을 생성하기 위해) 필요한 프로그램이나 각종 데이터를 기억하는 기억매체이다. 기억부(12)는, 예를 들면 RAM 등의 불휘발성 메모리에 의해 구성된다. 기억부(12)에는, 후술하는 가상구체정보 생성처리 등에 따라 등록·갱신되는 각종 정보나, 게임 카트리지(20)에 내장되는 기억매체로부터 독출된 게임에서 사용되는 각종 정보가 격납된다.
본 예에서는, 기억부(12)는 샘플 모션정보 기억부(12a)와, 모션정보 기억부(12b)와, 가상구체정보 기억부(12c)와, 환경정보 기억부(12d)를 포함한다.
샘플 모션정보 기억부(12a)는 캐릭터가 실행하는 모션의 기초가 되는 샘플 모션을 나타내는 샘플 모션정보를 기억하는 기억매체이다.
본 예에 있어서 샘플 모션정보는, 캐릭터의 신체정보(신장, 체중, 외견 등)에 대응하여 캐릭터의 동작을 3차원 또는 2차원 상태로 표시화면에 표시하기 위한 정보이고, 캐릭터를 구성하는 폴리곤 데이터와 골격(bone)을 포함하는 정보이다.
모션정보 기억부(12b)는, 제어부(11)가 캐릭터의 동작을 제어할 때에 참조하는 모션정보를 기억하는 기억매체이다. 본 예에 있어서, 모션정보는, 모션 블렌드부(16a)에 의해 복수의 샘플 모션이 혼합(블렌딩)되는 것에 의해 생성된다.
또, 모션정보로서 기억되는 정보는 복수의 샘플 모션이 블렌딩된 것에 한정되지 않고, 예를 들면, 샘플 모션 단체(單體)가 모션으로서 기억된 구성으로 해도 좋다. 이 경우, 예를 들면, 2개의 샘플 모션이 10:0의 비율로 혼합된 것으로 취급하는 구성으로 해도 좋다.
가상구체정보 기억부(12c)는, 캐릭터의 상태(예를 들면, "정지중"이나 "이동중" 등)나 캐릭터의 주변환경, 유저로부터의 조작 입력 등에 대응하여 복수의 모션정보 중에서 적합한 모션정보를 선택하기 위해 사용되는 가상구체에 관한 정보인 가상구체정보를 기억하는 기억매체이다. 여기서, 가상구체란, 캐릭터의 상태에 따라 가상공간에 가상적으로 배치되는 소정의 구체(또는 구체군)를 의미한다. 가상구체 및 가상구체정보에 대해서는, 후술하는 가상구체 생성처리와 모션 생성처리(도 3, 7 참조)에 관한 설명에서 상세하게 설명한다.
도 2는 가상구체정보 기억부(12c)에 있어서의 가상구체정보의 격납 상태의 예를 나타내는 설명도이다. 도 2에 나타내는 바와 같이, 가상구체정보는 가상구체를 일의(一意)로 특정하기 위한 구체번호와, 가상구체가 대응지어진 캐릭터와, 가상구체에 대응지어진 모션의 종류와, 가상공간에 있어서의 캐릭터의 위치에 대응한 가상구체의 중심위치를 나타내는 중심좌표와, 가상구체의 반경과, 가상구체에 대응지어진 모션을 구성하는 샘플 모션의 혼합비율과, 접촉 플래그를 포함한다.
환경정보 기억부(12d)는, 캐릭터가 존재하는 가상공간에 관한 정보를 기억하는 기억매체이다. 본 예에 있어서는, 환경정보 기억부(12d)는, 가상공간에 있어서 캐릭터가 접촉가능한 물체인 접촉허용물체(예를 들면, 지면 등)를 나타내는 정보(예를 들면, 지면 지오메트리)를 포함한다.
표시부(13)는, 제어부(11)의 제어에 따라, 유저의 조작에 대응한 게임 화면을 표시하는 표시장치이다. 표시부(13)는, 예를 들면, 액정표시장치에 의해 구성된다.
음성출력부(14)는, 제어부(11)의 제어에 따라, 유저의 조작이나 캐릭터의 동작에 대응하여 음성을 출력한다.
조작 접수부(15)는, 복수의 버튼이나 마우스 등에 의해 구성되는 컨트롤러로부터의 유저의 조작에 대응한 조작 신호를 접수하고, 그 결과를 제어부(11)에 통지한다.
모션 처리부(16)는, 임의의 혼합비율로 복수의 샘플 모션정보를 혼합하는 기능이나, 후술하는 모션 생성처리에 있어서의 혼합비율 보정처리 등을 실행하기 위한 기능을 갖는다(도 7 참조).
본 예에 있어서, 모션 처리부(16)는 모션 블렌드부(16a)와, 가상구체정보 생성부(16b)와, 접촉판정부(16c)와, 혼합비율 보정부(16d)를 구비한다.
모션 블렌드부(16a)는, 임의의 혼합비율로 복수의 샘플 모션을 혼합하여 모션정보를 생성하고, 생성한 모션정보를 모션정보 기억부(12b)에 등록하는 기능을 갖는다. 또, 샘플 모션의 혼합처리에 대해서는, 복수의 모션을 동기시켜 동작 자세를 시간 프레임별로 보간(interpolation)하는 처리 등을 진행하는 공지의 모션 블렌딩 방법을 이용하기 때문에, 여기서는 상세한 설명을 생략한다.
가상구체정보 생성부(16b)는, 가상구체정보를 생성하기 위한 가상구체정보 생성처리를 실행하는 기능을 갖는다. 가상구체정보 생성처리에 대해서는 나중에 상세하게 설명한다(도 3 참조).
접촉판정부(16c)는, 가상공간에 배치된 가상구체가, 캐릭터가 동작가능한 영역과 그렇지 않은 영역의 경계선(예를 들면, 지면 지오메트리 등)과 접촉하고 있는지 여부를 판정하기 위한 기능을 갖는다. 또, 본 예에 있어서는 접촉판정의 방법으로서, 가상공간에 있어서의 좌표를 대비하는 방법을 사용하는 경우를 예로 설명한다.
혼합비율 보정부(16d)는, 후술하는 모션 생성처리에서, 혼합비율 보정처리를 실행하는 기능을 갖는다(도 7 참조). 여기서, 혼합비율 보정처리란, 혼합비율에 따라 생성된 모션을 실행할 때, 예를 들면 캐릭터(C)의 발끝이 정확하게 지면에 접지되도록 혼합비율을 보정하는 처리이다. 본 예에 있어서는, 공지의 크리킹(Kriging)법을 이용한 방법을 사용하기 때문에, 여기서는 상세한 설명을 생략한다.
다음으로, 본 예의 화상처리장치(100)의 동작에 대해 설명한다. 또, 본 발명에 관계되지 않는 동작이나 처리에 대해서는, 그 내용을 생략하고 있는 경우가 있다.
본 예에 있어서의 화상처리장치(100)는, 미리 샘플 모션정보 기억부(12a)에 기억된 샘플 모션정보를 임의의 비율로 혼합하는 것에 의해, 3D CG 캐릭터가 가상공간에 있어서의 사면이나 계단 등을 이동할 때의 모션을 생성하기 위한 처리를 한다.
이하, 인형 캐릭터(C)의 보행 모션을 예로 하여 설명한다. 또, 본 예에 있어서는, 캐릭터(C)의 한쪽 발이 지면에서 떨어져 접지할 때까지의 구간을 한걸음에 해당하는 보행 모션으로 한다. 즉, "접지, 이탈, 이동, 착지, 접지"를 1 보행 사이클로 하여, 보행 사이클별로 캐릭터의 모션을 결정한다. 예를 들면, 화상처리장치(100)는, 캐릭터(C)의 왼발이 지면에 착지했을 때에 다음 오른발의 이동 모션을 검색하고, 오른발이 착지했을 때에는 그 다음 왼발의 이동 모션을 계산한다.
또한, 화상처리장치(100)가 실행하는 처리는, 유저에 의한 조작 입력을 접수하여 캐릭터를 동작시키기 전에 미리 필요한 정보를 작성하기 위해 행하는 사전 계산과, 유저에 의한 조작 입력에 대응하여 캐릭터를 동작시킬 때에 행하는 실행시 계산인 2종류로 나눌 수 있다.
도 3은 화상처리장치(100)가 사전 계산으로서 실행하는 가상구체정보 생성처리의 예를 나타내는 설명도이다. 가상구체정보 생성처리에서는, 캐릭터(C)의 모션 종류에 대응한 가상구체정보를 생성하기 위한 처리가 실행된다.
여기서, 우선, 본 예에 있어서의 가상구체정보 생성처리에서 실행되는 처리의 개념에 대해 설명한다. 도 4, 도 5 및 도 6은 가상구체정보 생성처리에 대해 설명하기 위한 설명도이다. 또, 도 4, 도 5 및 도 6은 간단함을 위해 2차원 도면으로 나타낸다.
가상구체정보를 생성하기 위하여, 화상처리장치(100)는, 도 4에 나타내는 바와 같이, 캐릭터(C)의 초기자세(FC)로부터, 보행 모션에 대응한 복수의 샘플 모션의 조합을 다양한 비율(즉, 혼합비율)로 혼합하고, 각각의 혼합비율에서의 캐릭터(C)(도 4에 있어서의, 캐릭터(C)의 자세(AC1, AC2, AC3))의 발의 도달가능위치(P1, P2, P3)를 도출한다.
도 5는 미리 기억부(12)에 기억된 규칙에 따라 도출된 복수의 도달가능위치(P)(P1, P2, P3을 포함)을 나타낸다. 이러한 구성으로 하는 것에 의해, 샘플 모션정보를 늘리지 않아도, 혼합비율을 조절하는 것에 의해 섬세한 차이가 있는 모션정보를 얻을 수 있다.
다음으로, 화상처리장치(100)는, 캐릭터(C)의 발의 각 도달가능위치(P)가 존재하는 범위에 복수의 구체를 가상적으로 배치하고, 배치한 구체(가상구체) 각각에, 혼합비율을 관련짓는다. 이에 의해, 예를 들면 제어부(11)가 임의의 가상구체를 지정했을 때, 그 위치에 발끝이 배치되도록 혼합비율을 정수시간으로 참조할 수 있다.
이어서, 가상구체정보 생성처리에 있어서의 화상처리장치(100)의 동작에 대해 설명한다(도 3 참조).
가상구체정보 생성처리에 있어서, 제어부(11)는, 모션 블렌드부(16a)에 의해, 미리 기억부(12)에 기억된 규칙(예를 들면, "보행 모션에 대응한 샘플 모션 중, 가장 보폭이 넓은 것과 가장 보폭이 좁은 것을 9:1, 8:2, 7:3, …와 같이, 1할씩 혼합비율을 바꾼 혼합비율로 혼합함" 등)에 대응하여 복수의 샘플 모션을 혼합하는 것에 의해, 복수의 모션정보를 생성한다(스텝 S101). 또, 제어부(11)가, 미리 모션정보 기억부(12b)에 기억된 모션정보 중에서, 가상구체정보 생성처리에 사용하는 모션정보를 선택하는 구성으로 해도 좋다. 또한, 모션정보를 생성하는 경우에, 제어부(11)가, 모션 블렌드부(16a)에 의해, 유저에 의한 복수의 샘플 모션의 선택을 접수하는 구성으로 해도 좋다. 또한, 제어부(11)가, 예를 들면, 미리 각 샘플 모션에 설정된 우선도에 근거하여(또는 랜덤하게), 블렌딩 가능한 샘플 모션을 표시화면에 표시하는 구성으로 하는 것에 의해, 유저에 의한 샘플 모션의 선택을 지원하는 구성으로 해도 좋다.
모션 블렌드부(16a)에 의해 복수의 모션정보를 생성하면, 제어부(11)는, 가상구체정보 생성부(16b)에 의해, 생성된 각 모션정보에 있어서의 캐릭터(C)의 발의 도달가능위치(P)(즉, 보행 모션이 종료한 시점에서의 캐릭터(C)의 발의 위치)를 산출한다(스텝 S102).
도달가능위치(P)를 각각 산출하면, 제어부(11)는, 가상구체정보 생성부(16b)에 의해, 캐릭터(C)의 초기자세(FC)의 위치에 대한 도달가능위치(P)를 나타내는 정보(좌표정보)를, 혼합비율과 대응지어서 기억부(12)에 기억하고, 도달가능위치(P)가 존재하는 범위(101)(도 6 참조)에 복수의 가상구체를 배치한다(스텝 S103).
본 예에 있어서는, 가상구체정보 생성부(16b)는, 소정의 반경을 갖는 가상구체를, 캐릭터의 발이 도달할 수 있는 가상공간 내에 균일하게 배치한다. 이에 의해, 가상구체의 반경과 가상구체의 총수의 적(積)은 일정하게 된다. 단, 가상구체의 총수의 증가에 따라 사전 계산으로 생성되는 데이터량은 선형(線形)으로 증가하기 때문에, 구체반경을 크게 하는 것에 의해 가상구체의 총수를 삭제할 필요가 있다.
따라서, 본 예에 있어서는, 도 6에 나타내는 바와 같이, 동일 반경의 복수의 가상구체(B)가, 도달가능위치(P)의 존재하는 범위(101) 내에 채워진다.
가상구체(B)를 배치하면, 제어부(11)는, 가상구체정보 생성부(16b)에 의해, 각 가상구체(B)와 각 도달가능위치(P)에 대응지어진 혼합비율을 관련짓는다(즉, 각 도달가능위치(P)에 혼합비율을 할당한다)(스텝 S104).
본 예에 있어서는, 가상구체정보 생성부(16b)는, 가상구체(B)의 내측에 위치하게 되는 도달가능위치(P)에 대응지어진 혼합비율을, 가상구체(B)에 관련지어서 가상구체정보 기억부(12c)에 기억한다.
즉, 가상구체정보 생성부(16b)는, 가상구체와 혼합비율을 관련짓는 것에 의해, 혼합비율에 관련지어진 도달가능위치(P)가 대응지어진 가상구체에 관한 정보인 가상구체정보를 생성하여 가상구체정보 기억부(12c)에 등록한다.
또, 내측에 도달가능위치(P)가 위치하지 않는 가상구체(B)에 대해서는, 혼합비율이 관련지어지지 않고, 후술하는 모션 생성처리(도 7 참조)에 있어서 선택되지 않는 가상구체로 된다. 또한, 1개 가상구체(B)의 내측에 복수의 도달가능위치(P)가 위치하게 되는 경우에는, 예를 들면, 가상구체정보 생성부(16b)는, 복수의 도달가능위치(P)에 대응지어진 혼합비율의 평균값을 산출하여 기억하는 구성으로 하면 된다.
각 가상구체와 혼합비율을 관련지으면, 제어부(11)는, 가상구체정보 생성부(16b)에 의해, 혼합비율을 관련지은 각 가상구체(B)를 특정하는 가상구체정보를 가상구체정보 기억부(12c)에 기억하고(스텝 S105), 여기에서의 처리를 종료한다. 이에 의해, 각 가상구체(B)는 동일 종류의 모션(본 예에 있어서는, 보행 모션)에 대응하는 가상구체군에 속하는 것으로서 기억되게 된다.
또, 본 예에 있어서는 동일 반경의 복수의 가상구체(B)를 도달가능위치(P)의 존재 범위(101)에 채우는 경우를 예로 설명을 하였지만, 가상구체의 배치방법은 이에 한정되지 않고, 예를 들면 각 도달가능위치(P)를 중심으로 하는 소정의 반경을 구비한 구체를 가상구체(B)로 하는 구성으로 해도 좋다.
또한, 가상구체(B)의 배열방법도, 캐릭터(C)의 이동가능영역을 모두 커버할 수 있는 것이면 되고, 예를 들면 복수의 가상구체(B)의 일부가 겹치게 배열되는 구성으로 해도 좋다. 이 경우, 가상구체(B)의 일부가 중복되는 부분에 도달가능위치(P)가 위치할 때에는, 어느 한 가상구체(예를 들면, 도달가능위치(P)에서 가상구체의 중심좌표까지의 거리가 가까운 쪽 등)에만 도달가능위치(P)에 대응한 혼합비율이 관련지어지는 구성으로 해도 좋고, 두 가상구체(B)에 혼합비율이 관련지어지는 구성으로 해도 좋다.
다음으로, 화상처리장치(100)가 실행하는 모션 생성처리에 대해 설명한다. 또, 모션 생성처리에 대해서도, 캐릭터(C)의 보행 모션을 예로 하여 설명한다.
도 7은 화상처리장치(100)가 실행시 계산으로서 실행하는 모션 생성처리의 예를 나타내는 플로차트이다. 모션 생성처리에서는, 제어부(11)가 모션정보에 대응한 처리를 실행하는 것에 의해, 캐릭터(C)의 모션을 생성하기 위한 처리가 실행된다.
여기서, 우선, 본 예에 있어서의 모션 생성처리에서 실행되는 처리의 개념에 대해 설명한다. 도 8, 9는 모션 생성처리에 대해 설명하기 위한 설명도이다. 또, 도 8, 9는 간단함을 위해 2차원 도면으로 나타낸다.
캐릭터의 모션을 생성하기 위하여, 화상처리장치(100)는, 도 8에 나타내는 바와 같이, 가상공간에 있어서 캐릭터(C)의 위치에 대응하여 혼합비율이 관련지어진 복수의 가상구체(B)를 배치한다. 또, 본 예에 있어서는 보행 모션에 관한 혼합비율이 관련지어진 가상구체(B)가 배치되는 경우를 예로 설명을 하지만, 배치되는 가상구체는 이에 한정되지 않고, 사전 계산에서 각종 모션에 대응한 혼합비율이 관련지어진 가상구체군이면 된다.
복수의 가상구체(B)를 출력하면, 화상처리장치(100)는, 가상공간에 있어서 캐릭터(C)가 접촉가능한 물체로서 설정된 접촉허용물체(본 예에 있어서는, 지면(FG))와 가상구체(B)의 접촉판정을 하고, 캐릭터(C)의 발을 접지시키기 위한 혼합비율을 산출한다. 이때, 화상처리장치(100)는, 예를 들면 도 8에 나타내는 바와 같이, 가상공간에 있어서의 지면(FG)과 접촉하고 있는 가상구체(B)를 접지공(BR)으로 변경하는 것에 의해, 다른 가상구체(B)와 식별가능하게 한다.
이때, 접지공(BR)에 관련지어진 모션의 혼합비율을 이용하는 것에 의해, 각 가상구체의 중심위치에 캐릭터(C)의 발이 배치되도록 모션을 생성할 수 있다. 단 이 단계에서는, 가상공간에 있어서의 지면(FG)과 캐릭터의 발끝 위치 사이에는 최대로 접지공(BR)의 반경에 상당하는 오차가 생기고 있다. 이 오차를 보정하기 위해, 화상처리장치(100)는, 예를 들면 크리킹으로 불리는 공간통계학의 수법을 이용하여, 혼합비율을 반해석적으로 수정하는 어프로치를 취한다.
혼합비율을 산출하면, 화상처리장치(100)는, 예를 들면 유저의 조작에 대응한 접지공(RB)을 선택하여, 도 9에 나타내는 바와 같이, 선택된 접지공(BR)에 대응한 모션을 캐릭터(C)에 실행시키는 것에 의해, 캐릭터(C)의 모션을 생성한다. 또, 화상처리장치(100)가, 미리 설정된 선택 조건(예를 들면, 캐릭터(C)에서 가장 가까운 위치에 있을 것)을 만족하는 접지공(RB)을 선택하는 구성으로 해도 좋다.
또, 여기서 "모션을 생성한다"란, 캐릭터(C)의 동작을 나타내는 모션정보를 생성한다는 의미이며, 캐릭터(C)의 동작을 만들어 낸다는 의미이기도 한다.
이어서, 모션 생성처리에 있어서의 화상처리장치(100)의 동작에 대해 설명한다(도 7 참조).
모션 생성처리에 있어서, 제어부(11)는, 가상구체정보 기억부(12c)를 참조하여, 캐릭터(C)의 상태(가상공간에 있어서 캐릭터(C)에 허용된 모션의 종류 등)에 대응한 가상구체를 가상공간에 배치한다(스텝 S201).
가상구체를 배치하면, 제어부(11)는, 접촉판정부(16c)에 의해, 배치한 가상구체(B) 중 지면에 접촉하고 있는 가상구체가 있는지 여부를 판정하여, 접촉하고 있는 가상구체(접지공)를 판별한다(스텝 S202). 또, 본 예에 있어서는, 접촉판정부(16c)는, 가상공간에 있어서 지면을 표시하는 지면 지오메트리와 가상구체(B)가 존재하는 좌표를 비교하는 것에 의해, 접촉판정을 한다. 여기서, 제어부(11)는, 접촉판정에 의해 접지공인 것으로 판정된 가상구체(B)에 대해서는, 가상구체정보에 있어서의 접촉 플래그를 "1"로 설정한다.
접지공을 판별하면, 제어부(11)는, 유저 조작이나 가상공간에 있어서의 캐릭터(C)의 상태(예를 들면, 조작 접수부(15)를 개재한 캐릭터(C)의 속도지시나 방향지시)에 대응하여 접지공을 선택한다(스텝 S203).
접지공을 선택하면, 제어부(11)는, 가상구체정보 기억부(12c)를 참조하여, 선택한 접지공에 관련지어진 혼합비율을 취득한다(스텝 S204).
혼합비율을 취득하면, 제어부(11)는, 모션 블렌드부(16a)에 의해, 취득한 혼합비율에 의해 다음 한걸음에 해당하는 보행 모션을 생성한다(스텝 S205).
또, 본 예에 있어서는, 보행 모션을 생성하기 전에, 제어부(11)는, 캐릭터(C)의 동작 종류와 취득한 혼합비율에 근거하여, 캐릭터(C)가 실행해야 할 모션을 나타내는 모션정보가 이미 모션정보 기억부(12b)에 기억되어 있는지 여부를 판정한다. 그리고, 모션정보가 기억되어 있다고 판정한 경우에는, 제어부(11)는, 모션정보 기억부(12b)에 기억된 모션정보에 근거하여 다음 한걸음에 해당하는 보행 모션을 생성한다(즉, 가상공간에 있어서 캐릭터(C)를 동작시킨다).
즉, 제어부(11)는, 가상구체정보 생성처리에 있어서, 보행 모션에 있어서의 캐릭터(C)의 발의 도달가능위치(P)를 산출할 때(도 3, 스텝 S101 참조), 복수의 모션정보를 이미 생성한 경우에는, 다음 한걸음에 해당하는 보행 모션을 나타내는 모션정보를 생성할 필요는 없고, 취득한 혼합비율에 근거하여 필요한 모션정보를 모션정보 기억부(12b)로부터 독출할 수 있다. 한편, 스텝 S101에 있어서, 캐릭터(C)의 모션의 일부만을 혼합하여 도달가능위치(P)를 산출한 경우(예를 들면, 복수의 샘플 모션에 있어서의 캐릭터(C)의 발부분만을 소정의 혼합비율로 혼합한 경우 등)에는, 제어부(11)는, 스텝 S205에 있어서 새로 모션정보를 생성한다. 여기서는, 새로 모션정보를 생성하는 경우를 예로 하여 설명을 계속한다.
또, 본 예에 있어서는, 제어부(11)는, 모션 생성처리에서 새로 생성한 모션정보를 모션정보 기억부(12b)에 등록하는 것으로 한다.
새로 모션정보를 생성하면, 제어부(11)는, 캐릭터(C)의 발끝이 최대로 가상구체의 반경만큼만 지면에서 떠버리는 것을 방지하기 위해, 혼합비율 보정부(16d)에 의해 혼합비율 보정처리를 실행한다(스텝 S206). 또, 가상구체의 반경을 작게 하는 것에 의해 캐릭터(C)의 발끝 위치와 지면의 오차를 작게 하는 구성으로 해도 좋다.
혼합비율 보정처리를 실행하면, 제어부(11)는, 보정 후의 모션정보에 대응한 처리(즉, 모션정보에 대응하여 가상공간 내에 있어서 캐릭터(C)를 동작시키는 처리)를 실행하는 것에 의해 캐릭터(C)의 모션을 생성하고(스텝 S207), 스텝 S201로 이행한다.
또, 본 예에 있어서는, 제어부(11)는, 혼합비율 보정부(16d)에 의한 혼합비율 보정처리에 의해 특정되는 보정 후의 혼합비율에 대응하여, 보정 후의 모션정보를 특정한다.
본 예에 있어서는, 제어부(11)는, 새로 생성한 모션정보를 구성하는 복수의 샘플 모션을, 혼합비율 보정처리에 의해 특정한 보정 후의 혼합비율로 혼합하는 것에 의해, 보정 후의 모션정보를 생성한다. 또, 제어부(11)가, 혼합비율 보정처리에 의해 특정한 혼합비율에 대응한 모션정보를 모션정보 기억부(12b)로부터 검색하는 구성으로 해도 좋다.
또, 상기 예에서는, 캐릭터의 보행 모션시의 처리에 대해 설명하였지만, 예를 들면, 캐릭터가 벽을 오를 때의 모션에 있어서의 손끝의 접촉에 관한 처리 등에 대해서도, 동일하게 가상구체를 이용하여 접촉판정을 하고 적절한 모션 표현을 할 수 있다. 또한, 수영동작 등 환경과의 명확한 충돌이 발생하지 않는 모션에 관해서도, 예를 들면 가상구체의 크기를 적절히 조정하는 등에 의해, 적용가능하다.
이상으로 설명한 바와 같이, 상술한 실시형태에서는, 가상공간에 있어서 캐릭터의 동작을 제어하는 것에 의해 캐릭터의 모션을 생성하는 화상처리장치(100)가, 캐릭터(C)의 모션의 기초가 되는 샘플 모션을 나타내는 샘플 모션정보를 기억하는 샘플 모션정보 기억부(12a)와; 캐릭터의 동작을 나타내는 모션정보를 기억하는 모션정보 기억부(12b)와; 를 구비하고, 샘플 모션정보 기억부(12a)에 기억된 복수의 샘플 모션정보를 임의의 혼합비율로 혼합하여 모션정보를 생성하고, 생성한 모션정보를 모션정보 기억부(12b)에 등록하고, 생성한 모션정보에 근거하여 캐릭터(C)를 동작시켰을 때 동작 종료시의 캐릭터(C)의 소정의 부위(예를 들면 발끝, 손끝 등)의 도달가능위치(P)를 검출하고, 검출한 도달가능위치(P)를 나타내는 좌표정보와 혼합비율을 관련짓고, 가상공간에 있어서 도달가능위치(P)가 존재하는 범위에 복수의 구체를 배치하고, 배치한 구체인 가상구체(B)와 도달가능위치(P)를 대응짓고, 도달가능위치(P)가 대응지어진 가상구체(B)에 관한 정보인 가상구체정보를, 가상구체정보를 기억하는 가상구체정보 기억부(12c)에 등록하고, 모션정보 기억부(12b)에 기억된 모션정보에 근거하여 가상공간에 있어서의 캐릭터(C)의 동작을 제어하는 캐릭터 제어수단을 포함하고, 가상구체정보 기억부(12c)에 기억된 가상구체정보에 근거하여 가상공간에 있어서의 캐릭터(C)의 상태에 대응한 가상구체를 출력하고, 출력한 가상구체 중 캐릭터(C)가 접촉가능한 물체인 접촉허용물체(예를 들면, 가상공간에 있어서의 지면(FG))과 접촉하는 가상구체(예를 들면, 접지공(BR))이 있는지 판정하고, 접촉허용물체와 접촉하는 것으로 판정된 가상구체의 선택을 접수하고, 선택을 접수한 가상구체에 대응지어진 도달가능위치(P)를 나타내는 좌표정보에 관련지어진 혼합비율(예를 들면, 각 가상구체(B)에 관련지어진 혼합비율)에 대응하는 모션정보에 근거하여 캐릭터(C)의 동작을 제어하는 구성으로 하고 있기 때문에, 캐릭터의 모션을 적절하게 표현할 수 있고, 또한 화상처리에 있어서의 처리부하를 경감할 수 있게 된다.
즉, 캐릭터의 소정 부위의 도달가능위치가 존재하는 범위에 가상적으로 배치한 복수의 구체이고, 그 도달가능위치와 대응지어진 구체인 가상구체 중, 접촉허용물체와 접촉하는 것으로 판정된 가상구체에 대응지어진 도달가능위치에 관련지어진 혼합비율에 대응하는 모션정보(즉, 가상구체에 대응한 모션정보)에 근거하여 캐릭터를 제어하는 구성으로 하고 있기 때문에, 캐릭터의 모션에 있어서 화상처리의 처리부하를 경감시키는 것이 가능해지고, 캐릭터의 소정의 부위가 접촉허용물체에 정확하게 접촉되어 있는 적절한 모션 표현을 할 수 있게 된다. 또, 가상구체의 지름을 적절한 길이로 하는 것에 의해, 접촉허용물체에 정확하게 접촉되어 있는 적절한 모션 표현을 거의 확실하게 시행할 수 있게 된다. 가상구체의 지름이 짧으면 짧을수록 오차가 작아지기 때문에, 처리부하가 허용되는 범위에서 가능한 지름을 짧게 하는 것이 바람직하다.
또, 상술한 실시형태에 있어서는, 캐릭터의 모션을 출력하는 처리를 실행하기 위해 화상처리장치(100)에 걸리는 처리부하가, 종래의 방법에 의해 캐릭터의 모션을 출력하는 경우에 비해 경감된다.
또한, 상술한 실시형태에 있어서, 화상처리장치(100)가, 캐릭터의 소정의 부위가 접촉허용물체(예를 들면, 가상공간에 있어서의 지면(FG))에 접촉하는 것에 의해, 캐릭터의 모션이 종료하도록 모션정보를 보정하는 구성으로 한 경우에는, 캐릭터의 소정의 부위가 접촉허용물체에 정확하게 접촉해 있도록, 즉, 더욱 적절하게 캐릭터의 모션 표현을 할 수 있게 된다.
또한, 샘플 모션을 혼합하는 것에 의해 생성된 모션정보를 이용하여 캐릭터를 제어하기 때문에, 캐릭터가 움직이는 애니메이션의 생성에 관하여, 유저의 조작에 대한 일정 레벨의 즉응성(卽應性), 강건성 및 계산 효율성을 보증할 수 있게 된다. 따라서, 컨슈머(consumer) 게임기 등을 이용하는 경우(즉, 계산 리소스나 메모리 리소스가 크게 제한되는 경우)에 애니메이션의 자연스러움을 향상시키기 위해, 생성 애니메이션의 품질과 계산 코스트의 트레이드 오프를 최적화할 수 있게 된다.
또한, 다수의 모션 데이터를 전환하면서 재생하는 것에 의해 유저 조작이나 환경변화에 반응한 모션을 생성하는 모션 그래프나 무브 트리에 근거하는 기법을 이용한 어프로치에 비해, 풋 슬라이딩(foot sliding) 등의 비주얼 아티팩트(visual artifact)가 적은 모션을 생성할 수 있게 된다. 즉, 화상처리장치(100)를 이용하는 것에 의해, 인터랙티브 어플리케이션의 작성에 있어서의 최저한의 계산량과 메모리 사용량을 이용하여, 주기 모션에 있어서의 외견에 중요한 비주얼 아티팩트를 경감할 수 있게 된다.
또한, 상술한 실시형태에서는, 화상처리장치(100)가, 선택을 접수한 가상구체(예를 들면, 접지공(BR))에 대응한 혼합비율을 특정하고(예를 들면, 모션정보 기억부(12b)로부터 취득), 특정한 혼합비율에 관련지어진(도달가능위치(P)의) 좌표정보와 가상공간에 있어서의 접촉허용물체(예를 들면, 가상공간에 있어서의 지면(FG))의 위치에 근거하여, 혼합비율에 대응한 모션정보가 소정의 조건(예를 들면, 캐릭터(C)의 발끝이 정확하게 지면에 접지될 것)을 만족하도록 혼합비율을 보정하고, 보정한 혼합비율에 대응한 모션정보를 특정하고(예를 들면, 혼합비율 보정처리에 의해 특정한 보정 후의 혼합비율로 혼합하는 것에 의해, 보정 후의 모션정보를 생성하는 것에 의해 모션정보를 특정), 특정한 모션정보에 근거하여 캐릭터(C)의 동작을 제어하는 구성으로 하고 있기 때문에, 가상공간에 있어서의 캐릭터의 동작의 부자연스러움을 효율적으로 해소할 수 있게 된다.
즉, 가상공간에 있어서 캐릭터의 일부가 다른 오브젝트에 접촉하는 장면을 표현하는 경우에, 가상구체를 이용한 모션 제어에 의해 접촉 오차(즉, 계산상으로는 캐릭터의 일부와 다른 오브젝트가 접촉하고 있지만, 캐릭터와 다른 오브젝트가 표시된 가상공간에 있어서는 캐릭터의 일부와 다른 오브젝트가 접촉하지 않고 있는 경우의, 가상공간에 있어서의 캐릭터의 일부와 다른 오브젝트의 거리)가 발생하는 것을 방지할 수 있게 된다.
또, 상술한 실시형태에서는 특히 언급하지 않았지만, 화상처리장치(100)가, 특정한 혼합비율(예를 들면, 선택한 접지공에 대응한 혼합비율)에 관련지어진 좌표정보가 나타내는 도달가능위치(P)로부터 가상공간에 있어서의 접촉허용물체(예를 들면, 가상공간에 있어서의 지면(FG))의 위치까지의 가상거리를 특정하고(예를 들면, 후술하는 발끝위치 수정 벡터(△p)를 특정), 특정한 가상거리에 근거하여 도달가능위치(P)를 접촉허용물체의 위치와 일치시키기 위해 필요한 혼합비율의 보정량을 특정하고(예를 들면, 후술하는 혼합비율 수정량(△w)을 특정), 특정한 보정량에 따라 혼합비율을 보정하는 구성으로 해도 좋다.
이러한 구성으로 하는 것에 의해, 샘플 모션을 증가시켜 화상처리장치에 걸리는 처리부하를 증대시키지 않고, 가상구체를 이용하여 생성하는 캐릭터의 모션의 질을 향상시킬 수 있게 된다. 즉, 가상공간에 있어서의 캐릭터의 모션 오차를 적절하게 보정할 수 있게 된다.
또한, 가상공간에 있어서의 접촉판정(또는, 충돌판정)에 의해 샘플 모션의 혼합비율을 보정하는 경우(즉, 혼합비율의 보정에 의해 캐릭터를 제어하기 위한 모션정보를 보정하는 경우)에, 화상처리장치(100)가, 특정의 조건이 충족되었는지 판정하고(예를 들면, 가상공간에 있어서의 캐릭터(C)의 자세나, 접촉허용물체의 종류 등이 특정의 조건을 만족하는지 판정), 판정 결과에 대응하여, 보정 전의 모션정보에 포함되어 있지 않았던 샘플 모션을 특정하고, 모션정보가 소정의 조건(예를 들면, 캐릭터(C)의 발끝이 정확하게 지면에 접지될 것)을 만족하도록, 특정한 샘플 모션의 비율을 포함하는 혼합비율이 되도록 혼합비율을 보정하는 구성으로 해도 좋다.
즉, 예를 들면, 화상처리장치(100)가, 2종류의 보행 동작을 나타내는 샘플 모션이 혼합되어 있던 모션을 보정하는 경우에, 캐릭터의 일부(예를 들면, 발목에 상당하는 부분)를 움직이는 샘플 모션을 더한 3종류의 샘플 모션의 혼합비율을 나타내도록 혼합비율을 보정하는 것에 의해, 모션정보가 소정의 조건을 만족하도록 하는 구성으로 해도 좋다. 이러한 구성으로 하는 것에 의해, 모션의 미세 조정을 가능하게 할 수 있게 된다.
또, 상술한 실시형태에서는, 가상구체에 혼합비율을 관련짓는 경우에 대해 설명하였지만, 혼합비율을 관련짓는 것은 구체의 경우에 한정되지 않고, 예를 들면 가상입방체 등이어도 좋다.
또, 상술한 실시형태에서는, 화상처리장치(100)가 사전 계산과 실행시 계산을 모두 실행하는 경우를 예로 하여 설명하였지만, 본 발명의 실시형태는 이에 한정되지 않고, 예를 들면, 통신 네트워크를 개재하여 접속되는 서버 클라이언트형의 구성으로 되어 있어도 좋다. 이 경우, 서버가 사전 계산을 하고, 클라이언트(또는, 서버와 클라이언트가 협력하여) 실행시 계산을 하는 구성으로 해도 좋다.
또, 상술한 실시형태에서는, 화상처리장치(100)가, 미리 기억부(12)에 기억된 규칙에 따라 복수의 도달가능위치(P)를 산출하고, 산출한 도달가능위치(P)에 좌표정보를 대응짓고, 그 후에 복수의 가상구체(B)를 균일하게 배치하여, 배치한 가상구체(B)와 도달가능위치(P)의 위치 관계에 근거하여 각 가상구체(B)에 혼합비율을 관련짓는 경우에 대해 설명하였지만, 본 발명의 실시형태의 예는 이에 한정되지 않는다.
즉, 예를 들면, 가상구체(B)가, 캐릭터(C)의 발끝 위치(즉, 도달가능위치(P))를 중심으로 한 일정 범위의 반경을 갖는 구체구조이고, 적절한 방법으로 샘플링된 혼합비율에 의해 작성된 모션에 있어서의 캐릭터(C)의 발끝 위치에 배치되는 구성으로 해도 좋다. 이하, 이 경우에 있어서의 가상구체정보 생성처리(도 3 참조)의 다른 예에 대해 설명한다. 또, 본 예에 있어서도, 인형 캐릭터(C)의 보행 모션을 예로 하여 설명한다.
본 예에 있어서, 가상구체정보 생성부(16b)는, 가상구체(B)를, 콘택트 프레임으로 계산한다. 여기서, 콘택트 프레임이란, 캐릭터(C)의 보행 모션에 있어서 발이 접지하는 프레임을 말한다. 콘택트 프레임의 검출은, 발끝 속도로 관한 템플릿 매칭을 이용한 간단한 알고리즘을 이용하기 때문에, 여기에서의 설명은 생략한다.
가상구체정보 생성처리에 있어서, 제어부(11)는, 모션 블렌드부(16a)에 의해, 다양한 혼합비율에 의해 콘택트 프레임에 있어서의 캐릭터(C)의 자세를 블렌드한다.
이어서, 제어부(11)는, 가상구체정보 생성부(16b)에 의해, 캐릭터(C)의 초기자세(FC)(도 4 참조)의 발끝 위치를 원점으로 하여, 각각의 혼합비율에서의 캐릭터(C)(예를 들면, 도 4에 있어서의, 캐릭터(C)의 자세(AC1) 등)의 상대적인 발끝 위치를 계산한다.
각 발끝 위치의 좌표를 계산하면, 제어부(11)는, 가상구체정보 생성부(16b)에 의해, 계산한 상대적 발끝 위치의 좌표(즉, 도달가능위치(P)의 좌표)에 반경(r)의 가상구체를 생성하고, 혼합비율(w)을 할당한다. 이에 의해, N개의 가상구체 {pi, wi, r}이 생성된다(N은 임의의 양의 정수).
또, 혼합비율의 샘플링 방법에는 여러 개의 방법이 있지만, 가상구체정보 생성부(16b)는, 균일하게 가상공간을 충전하도록 하는 가상구체를 계산하기 위하여, 본 예에 있어서는, 발끝 위치를 샘플링한 후, 불규칙배치 데이터의 보문법(scattered data interpolation)에 의해 혼합비율을 계산하는 어프로치를 취한다. 즉, 가상구체정보 생성부(16b)는, 콘택트 프레임에 있어서의 캐릭터(C)의 자세를, 3차원의 발끝 위치 벡터를 지표로 하여 파라미터화한다. 본 예에 있어서는, 가상구체정보 생성부(16b)는, 크리킹를 간소화한 선형 보간을 이용하여, 샘플링점(pS)을 입력으로 하여 혼합율(wS)을 계산한다(수학식 1 참조).
Figure pct00001
다만, 보간 계산에는 오차가 따르기 때문에, 가상구체는 실제의 발끝 위치(P´i)에 생성하여, 가상구체{p´i, wi, r}를 생성한다.
이상과 같은 구성으로 하는 것에 의해, 균일하게 가상공간을 충전하도록 하는 모션군을 효율적으로 생성할 수 있게 된다.
또, 화상처리장치(100)가, 다양한 혼합비율로 복수의 샘플 모션을 배합하는 것에 의해 복수의 가상구체에 혼합비율을 대응지어 놓고, 모션 생성처리에 있어서, 균일한 배치에 가장 근접한 가상구체군을 선택하여 배치하는 구성으로 해도 좋다.
또, 상술한 실시형태에서는 설명을 생략하였지만, 크리킹법을 이용한 혼합비율의 보정 방법에 대해 간단하게 설명한다.
본 예에 있어서는, 혼합비율 보정부(16d)는, 데이터 구동(data driven)의 반복적인 인버스 키네메틱스(역운동학)(inverse kinematics) 기술을 도입한다. 즉, 우선, 혼합비율 보정부(16d)는, 접지공(BR)의 중심위치로부터 가상공간에 있어서 수직으로 연장되는 레이(ray)와 지면 지오메트리의 교차점을 검출한다. 그리고, 접지공(BR)의 중심위치로부터, 검출한 교차점으로의 벡터를 발끝위치 수정 벡터(△p)로 나타낸다. 이 수정량을 만족하는 혼합비율 수정량(△w)을 크리킹 방정식에 근거하여 계산한다. 또, 상술한 수학식 1의 우측 벡터의 최종요소인 "1"은, 혼합비율의 총합에 대한 제약 조건이다. 즉, 이것을 "0"으로 바꿔 놓는 것에 의해, 이펙터 위치의 이동량(△p)에 대응하는 혼합비율 수정량(△w)을 계산하는 수학식 2가 얻어진다. 또, 일반적인 인버스 키네메틱스를 이용한 오산 해소방법을 이용하는 구성으로 해도 좋다.
Figure pct00002
또, 수학식 2에 의해 산출한 혼합비율 수정량(△w)에도 오차가 포함되는 경우가 있고, 그 경우에는 이펙터와 지면의 차분을 입력해도 여전히 오차가 남는다. 이 경우에는, 화상처리장치(100)가, 이펙터와 지면의 오차 벡터에 1.0 미만의 소정의 계수를 곱하여, 반복 계산에 의해 오차를 수정하는 구성으로 해도 좋다. 이러한 구성으로 하는 것에 의해, 해석 계산에 근거하는 반복을 실행하는 것이 되기 때문에, 매우 강건하면서 적은 회수의 반복으로 결속하는 우수한 특성을 얻을 수 있게 된다.
또, 상술한 실시형태에서는 특히 언급하지 않았지만, 본원에 있어서의 "캐릭터"란 단어의 의의는, 비디오게임에 등장하는 오브젝트로서의 캐릭터에 한정되지 않고, 예를 들면, 물리현상의 시뮬레이션이나 가상공간의 구축시에 등장하는 다양한 오브젝트를 포함한다. 즉, 본 발명은, 화상처리장치(예를 들면, 화상처리장치(100))가 비디오게임의 실현에 이용되는 경우뿐만 아니라, 컴퓨터 그래픽에 관한 기술분야 전반에 있어서 이용되는 경우, 종래의 방법으로 동일한 정도의 화상처리를 실현하고자 하는 경우에 비해 화상처리장치에 걸리는 처리부하를 경감시킬 수 있게 된다.
또, 상술한 실시형태에 있어서는 상세한 설명을 생략하였지만, 본 발명에 따른 모션 블렌딩은, 소수의 유사한 샘플 모션 클립(motion clip)을 블렌딩하는 것에 의해, 중간적인 새로운 모션 클립을 생성하는 기술을 의미한다. 예를 들면, 연속 보행 모션을 생성하기 위해서는, 보간하는 샘플 보행 모션 클립을 선택하여, 그 블렌드율을 계산하는 연속값 최적화문제를 해결할 필요가 있다. 종래 수법에서는, 우선, 주행이나 보행 등의 유사 동작을 클러스터링(clustering)하여 그래프화하는 것에 의해, 샘플 모션의 선택을 간단화한다. 더욱이, 산란 데이터보간(scattered data interpolation) 기술을 이용하여, 소수의 직관적인 파라미터에 의해 보간 계산을 제어하는 기법이 제안되어 있다. 보행 모션에서는, 이동 방향이나 속도, 지면 경사각도 등의 명시적인 소수의 제어 파라미터로부터 블렌드율을 자동산출한다. 이 방법에서는 계산량이 적기 때문에, 인터랙티브하게 보행 애니메이션을 생성할 수 있다. 그러나, 또한, 보간 베이스의 알고리즘은 꼭 고품질 애니메이션을 생성하지 않는다. 예를 들면, 보간 계산에는 오차가 따르기 때문에, 인버스 키네메틱스 등의 후처리에 의해 모션을 수정할 필요가 있다. 또한, 생성 계산에서는 대부분의 경우, 동력학(dynamics)은 고려되지 않는다. 이와 같이, 블렌딩 베이스의 기법은 애니메이션 품질의 다소의 저하를 허용하는 것에 의해, 많은 우수한 특성이 얻어진다. 그러나, 종래 기법에서는 장황한 후처리를 필요로 하기 때문에, 계산 효율성이나 강건성의 여지가 있다.
여기서, 상술한 실시형태에서는, 모션 블렌딩에 근거하는 인터랙티브한 보행 컨트롤러를 제안하고 있다.
본 발명에 의하면, 캐릭터의 모션에 있어서의 화상처리의 처리부하를 경감하고, 캐릭터의 소정의 부위가 접촉허용물체에 정확하게 접촉되어 있는 적절한 모션 표현을 하는데 유용하다.
10: 프로그램 판독부
11: 제어부
12: 기억부
13: 표시부
14: 음성출력부
15: 조작 접수부
16: 모션 처리부
100: 화상처리장치

Claims (5)

  1. 가상공간에 있어서 캐릭터의 동작을 제어하는 것에 의해 캐릭터의 모션을 생성하는 화상처리장치이고,
    상기 캐릭터의 모션의 기초가 되는 샘플 모션을 나타내는 샘플 모션정보를 기억하는 샘플 모션정보 기억부와;
    상기 캐릭터의 동작을 나타내는 모션정보를 기억하는 모션정보 기억부와; 를 구비하고,
    상기 샘플 모션정보 기억부에 기억된 복수의 샘플 모션정보를, 임의의 혼합비율로 혼합하여 모션정보를 생성하는 모션 블렌드 수단과;
    당해 모션 블렌드 수단에 의해 생성된 모션정보를 상기 모션정보 기억부에 등록하는 모션정보 등록수단과;
    상기 모션 블렌드 수단에 의해 생성된 모션정보에 근거하여 상기 캐릭터를 동작시켰을 때 동작 종료시의 캐릭터의 소정 부위의 도달가능위치를 검출하는 도달가능위치 검출수단과;
    당해 도달가능위치 검출수단에 의해 검출된 도달가능위치를 나타내는 좌표정보와 상기 혼합비율을 관련짓는 혼합비율 관련지음수단과;
    상기 가상공간에 있어서 상기 도달가능위치가 존재하는 범위에 복수의 구체를 배치하는 가상구체 배치수단과;
    당해 가상구체 배치수단에 의해 배치된 구체인 가상구체와 상기 도달가능위치를 대응짓는 가상구체 대응지음수단과;
    당해 가상구체 대응지음수단에 의해 상기 도달가능위치가 대응지어진 가상구체에 관한 정보인 가상구체정보를, 가상구체정보를 기억하는 가상구체정보 기억부에 등록하는 가상구체정보 등록수단과;
    상기 모션정보 기억부에 기억된 모션정보에 근거하여 상기 가상공간에 있어서의 상기 캐릭터의 동작을 제어하는 캐릭터 제어수단과; 를 포함하고,
    당해 캐릭터 제어수단은,
    상기 가상구체정보 기억부에 기억된 가상구체정보에 근거하여 상기 가상공간에 있어서의 상기 캐릭터의 상태에 대응한 상기 가상구체를 출력하는 출력수단과;
    당해 출력수단에 의해 출력된 가상구체 중, 상기 캐릭터가 접촉가능한 물체인 접촉허용물체와 접촉하는 가상구체가 있는지 판정하는 접촉판정수단과;
    당해 접촉판정수단에 의해 상기 접촉허용물체와 접촉하는 것으로 판정된 가상구체의 선택을 접수하는 선택접수수단과; 를 구비하고,
    당해 선택접수수단에 의해 선택을 접수한 가상구체에 대응지어진 도달가능위치를 나타내는 좌표정보에 관련지어진 혼합비율에 대응하는 모션정보에 근거하여 상기 캐릭터의 동작을 제어하는 것을 특징으로 하는 화상처리장치.
  2. 제 1항에 있어서,
    상기 캐릭터 제어수단은,
    상기 선택접수수단에 의해 선택을 접수한 가상구체에 대응한 혼합비율을 특정하는 혼합비율 특정수단과;
    당해 혼합비율 특정수단에 의해 특정된 혼합비율에 관련지어진 상기 좌표정보와 상기 가상공간에 있어서의 상기 접촉허용물체의 위치에 근거하여, 당해 혼합비율에 대응한 모션정보가 소정의 조건을 만족하도록 당해 혼합비율을 보정하는 혼합비율 보정수단과;
    당해 혼합비율 보정수단에 의해 보정된 혼합비율에 대응한 모션정보를 특정하는 모션정보 특정수단과; 를 구비하고,
    상기 캐릭터 제어수단은, 상기 모션정보 특정수단에 의해 특정된 모션정보에 근거하여 상기 캐릭터의 동작을 제어하는 화상처리장치.
  3. 제 2항에 있어서,
    상기 캐릭터 제어수단은,
    상기 혼합비율 특정수단에 의해 특정된 혼합비율에 관련지어진 상기 좌표정보가 나타내는 도달가능위치에서 상기 가상공간에 있어서의 상기 접촉허용물체의 위치까지의 가상거리를 특정하는 가상거리 특정수단과;
    당해 가상거리 특정수단에 의해 특정된 가상거리에 근거하여 상기 도달가능위치를 상기 접촉허용물체의 위치와 일치시키기 위해 필요한 상기 혼합비율의 보정량을 특정하는 보정량 특정수단과; 를 구비하고,
    상기 혼합비율 보정수단은, 상기 보정량 특정수단에 의해 특정된 보정량에 따라 상기 혼합비율을 보정하는 화상처리장치.
  4. 가상공간에 있어서 캐릭터의 동작을 제어하는 것에 의해 캐릭터의 모션을 생성하는 화상처리방법이고,
    상기 캐릭터의 모션의 기초가 되는 샘플 모션을 나타내는 샘플 모션정보를 기억하는 샘플 모션정보 기억부에 기억된 복수의 샘플 모션정보를, 임의의 혼합비율로 혼합하여 모션정보를 생성하는 모션 블렌드 처리와;
    당해 모션 블렌드 처리에서 생성된 모션정보를, 상기 캐릭터의 동작을 나타내는 모션정보를 기억하는 모션정보 기억부에 등록하는 모션정보 등록처리와;
    상기 모션 블렌드 처리에서 생성된 모션정보에 근거하여 상기 캐릭터를 동작시켰을 때 동작 종료시의 캐릭터의 소정 부위의 도달가능위치를 검출하는 도달가능위치 검출처리와;
    당해 도달가능위치 검출처리에서 검출된 도달가능위치를 나타내는 좌표정보와 상기 혼합비율을 관련짓는 혼합비율 관련지음처리와;
    상기 가상공간에 있어서 상기 도달가능위치가 존재하는 범위에 복수의 구체를 배치하는 가상구체 배치처리와;
    당해 가상구체 배치처리에서 배치된 구체인 가상구체와 상기 도달가능위치를 대응짓는 가상구체 대응지음처리와;
    당해 가상구체 대응지음처리에서 상기 도달가능위치가 대응지어진 가상구체에 관한 정보인 가상구체정보를, 가상구체정보를 기억하는 가상구체정보 기억부에 등록하는 가상구체정보 등록처리와;
    상기 모션정보 기억부에 기억된 모션정보에 근거하여 상기 가상공간에 있어서의 상기 캐릭터의 동작을 제어하는 캐릭터 제어처리와; 를 포함하고,
    당해 캐릭터 제어처리는,
    상기 가상구체정보 기억부에 기억된 가상구체정보에 근거하여 상기 가상공간에 있어서의 상기 캐릭터의 상태에 대응한 상기 가상구체를 출력하는 출력처리와;
    당해 출력처리에서 출력된 가상구체 중, 상기 캐릭터가 접촉가능한 물체인 접촉허용물체와 접촉하는 가상구체가 있는지 판정하는 접촉판정처리와;
    당해 접촉판정처리에서 상기 접촉허용물체와 접촉하는 것으로 판정된 가상구체의 선택을 접수하는 선택접수처리와; 를 구비하고,
    당해 선택접수처리에서 선택을 접수한 가상구체에 대응지어진 도달가능위치를 나타내는 좌표정보에 관련지어진 혼합비율에 대응하는 모션정보에 근거하여 상기 캐릭터의 동작을 제어하는 것을 특징으로 하는 화상처리방법.
  5. 가상공간에 있어서 캐릭터의 동작을 제어하는 것에 의해 캐릭터의 모션을 생성시키기 위한 화상처리 프로그램이고,
    컴퓨터에,
    상기 캐릭터의 모션의 기초가 되는 샘플 모션을 나타내는 샘플 모션정보를 기억하는 샘플 모션정보 기억부에 기억된 복수의 샘플 모션정보를, 임의의 혼합비율로 혼합하여 모션정보를 생성하는 모션 블렌드 처리와;
    당해 모션 블렌드 처리에서 생성된 모션정보를, 상기 캐릭터의 동작을 나타내는 모션정보를 기억하는 모션정보 기억부에 등록하는 모션정보 등록처리와;
    상기 모션 블렌드 처리에서 생성된 모션정보에 근거하여 상기 캐릭터를 동작시켰을 때 동작 종료시의 캐릭터의 소정 부위의 도달가능위치를 검출하는 도달가능위치 검출처리와;
    당해 도달가능위치 검출처리에서 검출된 도달가능위치를 나타내는 좌표정보와 상기 혼합비율을 관련짓는 혼합비율 관련지음처리와;
    상기 가상공간에 있어서 상기 도달가능위치가 존재하는 범위에 복수의 구체를 배치하는 가상구체 배치처리와;
    당해 가상구체 배치처리에서 배치된 구체인 가상구체와 상기 도달가능위치를 대응짓는 가상구체 대응지음처리와;
    당해 가상구체 대응지음처리에서 상기 도달가능위치가 대응지어진 가상구체에 관한 정보인 가상구체정보를, 가상구체정보를 기억하는 가상구체정보 기억부에 등록하는 가상구체정보 등록처리와;
    상기 모션정보 기억부에 기억된 모션정보에 근거하여 상기 가상공간에 있어서의 상기 캐릭터의 동작을 제어하는 캐릭터 제어처리와; 를 실행시키고,
    당해 캐릭터 제어처리에 있어서,
    상기 가상구체정보 기억부에 기억된 가상구체정보에 근거하여 상기 가상공간에 있어서의 상기 캐릭터의 상태에 대응한 상기 가상구체를 출력하는 출력처리와;
    당해 출력처리에서 출력된 가상구체 중, 상기 캐릭터가 접촉가능한 물체인 접촉허용물체와 접촉하는 가상구체가 있는지 판정하는 접촉판정처리와;
    당해 접촉판정처리에서 상기 접촉허용물체와 접촉하는 것으로 판정된 가상구체의 선택을 접수하는 선택접수처리와; 를 실행시키고,
    당해 선택접수처리에서 선택을 접수한 가상구체에 대응지어진 도달가능위치를 나타내는 좌표정보에 관련지어진 혼합비율에 대응하는 모션정보에 근거하여 상기 캐릭터의 동작을 제어하는 처리를 실행시키기 위한 화상처리 프로그램.
KR1020117015422A 2010-05-10 2011-04-19 화상처리장치, 화상처리방법 및 화상처리 프로그램 KR101247930B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JPJP-P-2010-108844 2010-05-10
JP2010108844 2010-05-10
PCT/JP2011/002280 WO2011142084A1 (ja) 2010-05-10 2011-04-19 画像処理装置、画像処理方法、および画像処理プログラム

Publications (2)

Publication Number Publication Date
KR20110128794A true KR20110128794A (ko) 2011-11-30
KR101247930B1 KR101247930B1 (ko) 2013-03-26

Family

ID=44914145

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117015422A KR101247930B1 (ko) 2010-05-10 2011-04-19 화상처리장치, 화상처리방법 및 화상처리 프로그램

Country Status (8)

Country Link
US (1) US8432401B2 (ko)
EP (1) EP2544151B1 (ko)
JP (1) JP5303068B2 (ko)
KR (1) KR101247930B1 (ko)
CN (1) CN102934145B (ko)
CA (1) CA2798954C (ko)
TW (1) TWI448982B (ko)
WO (1) WO2011142084A1 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5190524B2 (ja) 2011-02-16 2013-04-24 株式会社スクウェア・エニックス オブジェクト動作装置及び方法、並びにプログラム
JP5118220B2 (ja) 2011-02-16 2013-01-16 株式会社スクウェア・エニックス 動作モデリング装置及び方法、並びにプログラム
US9786097B2 (en) * 2012-06-22 2017-10-10 Matterport, Inc. Multi-modal method for interacting with 3D models
US10163261B2 (en) 2014-03-19 2018-12-25 Matterport, Inc. Selecting two-dimensional imagery data for display within a three-dimensional model
JP5734361B2 (ja) 2012-08-01 2015-06-17 株式会社スクウェア・エニックス オブジェクト表示装置
JP5480347B2 (ja) 2012-08-31 2014-04-23 株式会社スクウェア・エニックス ビデオゲーム処理装置、およびビデオゲーム処理プログラム
JP6110704B2 (ja) * 2013-03-29 2017-04-05 任天堂株式会社 プログラム、情報処理装置、情報処理方法及び情報処理システム
JP6576544B2 (ja) * 2015-08-20 2019-09-18 株式会社スクウェア・エニックス 情報処理装置、情報処理方法、コンピュータ読み取り可能な記憶媒体
JP6612090B2 (ja) * 2015-09-02 2019-11-27 株式会社コーエーテクモゲームス 情報処理装置、動作制御方法及び動作制御プログラム
JP6457603B1 (ja) * 2017-09-20 2019-01-23 株式会社スクウェア・エニックス 画像処理プログラム、画像処理装置、及び画像処理方法
CN112930553A (zh) * 2018-09-21 2021-06-08 Mvi医疗保健公司 用于为视觉显示器生成补充数据的系统和方法
CN111291674B (zh) * 2020-02-04 2023-07-14 清华珠三角研究院 一种虚拟人物表情动作的提取方法、系统、装置及介质

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1021419A (ja) * 1996-07-05 1998-01-23 Hudson Soft Co Ltd 仮想の連結動作物体及びその変形方法
US6191798B1 (en) 1997-03-31 2001-02-20 Katrix, Inc. Limb coordination system for interactive computer animation of articulated characters
US6559845B1 (en) * 1999-06-11 2003-05-06 Pulse Entertainment Three dimensional animation system and method
JP3618298B2 (ja) 2000-01-28 2005-02-09 株式会社スクウェア・エニックス モーション表示方法、ゲーム装置及び記録媒体
JP4656622B2 (ja) 2001-08-23 2011-03-23 株式会社バンダイナムコゲームス 画像生成システム、プログラム及び情報記憶媒体
JP4775989B2 (ja) 2001-08-23 2011-09-21 株式会社バンダイナムコゲームス 画像生成システム、プログラム及び情報記憶媒体
EP1365359A1 (en) * 2002-05-24 2003-11-26 BRITISH TELECOMMUNICATIONS public limited company Image processing method and system
JP3974136B2 (ja) * 2005-01-25 2007-09-12 株式会社コナミデジタルエンタテインメント プログラム、ライト配置方法、ならびに、画像生成装置
JP4388004B2 (ja) * 2005-10-04 2009-12-24 株式会社スクウェア・エニックス 画像生成装置及び方法、プログラム、並びに記録媒体
JP4445449B2 (ja) 2005-10-04 2010-04-07 株式会社スクウェア・エニックス 画像生成装置
JP2007143684A (ja) * 2005-11-25 2007-06-14 Konami Digital Entertainment:Kk ゲーム装置、ゲーム用画像処理方法及びプログラム
US8144148B2 (en) * 2007-02-08 2012-03-27 Edge 3 Technologies Llc Method and system for vision-based interaction in a virtual environment
JP4519883B2 (ja) 2007-06-01 2010-08-04 株式会社コナミデジタルエンタテインメント キャラクター表示装置、キャラクター表示方法、ならびに、プログラム
JP4339908B2 (ja) * 2007-11-28 2009-10-07 株式会社コナミデジタルエンタテインメント ゲーム装置、画像生成方法、および、プログラム
US8363057B2 (en) * 2008-05-28 2013-01-29 Autodesk, Inc. Real-time goal-directed performed motion alignment for computer animated characters
US8942428B2 (en) * 2009-05-01 2015-01-27 Microsoft Corporation Isolate extraneous motions
US20120049450A1 (en) * 2010-08-27 2012-03-01 Mosen Agamawi Cube puzzle game

Also Published As

Publication number Publication date
JP5303068B2 (ja) 2013-10-02
CN102934145B (zh) 2015-08-05
TWI448982B (zh) 2014-08-11
WO2011142084A1 (ja) 2011-11-17
US20110316860A1 (en) 2011-12-29
CA2798954A1 (en) 2011-11-17
TW201207766A (en) 2012-02-16
EP2544151A4 (en) 2013-03-13
US8432401B2 (en) 2013-04-30
KR101247930B1 (ko) 2013-03-26
EP2544151B1 (en) 2014-05-21
CN102934145A (zh) 2013-02-13
JPWO2011142084A1 (ja) 2013-07-22
EP2544151A1 (en) 2013-01-09
CA2798954C (en) 2016-05-24

Similar Documents

Publication Publication Date Title
KR101247930B1 (ko) 화상처리장치, 화상처리방법 및 화상처리 프로그램
CN103198169B (zh) 用于模拟材料的装置、系统和方法
US8264488B2 (en) Information processing apparatus, information processing method, and program
US20070229529A1 (en) Texture mapping apparatus, method and program
US7495665B2 (en) Storage medium having game program stored thereon and game apparatus
US10262447B2 (en) Systems and methods for virtual entity animation
CN102221975A (zh) 使用运动捕捉数据的项目导航
CN102915112A (zh) 用于近距离动作跟踪的系统和方法
CN111714885A (zh) 游戏角色模型生成、角色调整方法、装置、设备及介质
US7695367B2 (en) Storage medium having game program stored thereon and game apparatus
CN101784980A (zh) 遥控操作装置及遥控操作方法
CN103984720A (zh) 基于OpenGL的瓦片地图创建方法及装置
US20050195184A1 (en) Game software and game machine
US9229614B2 (en) Storage medium storing information processing program, information processing device, information processing system, and method for calculating specified position
JP2010035978A (ja) ゲームプログラムおよびゲーム装置
US9652879B2 (en) Animation of a virtual object
CN114445555A (zh) 鞋楦建模调整方法、装置、设备及存储介质
CN106485654B (zh) 一种矢量数据的处理方法及装置
JP2009223904A (ja) 画像生成装置及び方法、プログラム、並びに記録媒体
JP4125251B2 (ja) 情報処理方法および装置
JP5920858B1 (ja) プログラム、情報処理装置、深度定義方法及び記録媒体
KR20180088876A (ko) 이미지 처리 방법 및 장치
Wheeler et al. Prop-oriented world rotation: enabling passive haptic feedback by aligning real and virtual objects in virtual reality
JP2013196648A (ja) 情報処理装置、情報処理方法、プログラムおよびコンピュータ読取り可能な記憶媒体
JP7324256B2 (ja) ゲームプログラム、情報処理装置、情報処理システム、および情報処理方法

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
FPAY Annual fee payment

Payment date: 20160317

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170310

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180309

Year of fee payment: 6