KR19990036200A - 게임용 화상 처리 장치 - Google Patents

게임용 화상 처리 장치

Info

Publication number
KR19990036200A
KR19990036200A KR1019980700868A KR19980700868A KR19990036200A KR 19990036200 A KR19990036200 A KR 19990036200A KR 1019980700868 A KR1019980700868 A KR 1019980700868A KR 19980700868 A KR19980700868 A KR 19980700868A KR 19990036200 A KR19990036200 A KR 19990036200A
Authority
KR
South Korea
Prior art keywords
model
virtual space
image processing
texture
motion
Prior art date
Application number
KR1019980700868A
Other languages
English (en)
Other versions
KR100518987B1 (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 KR19990036200A publication Critical patent/KR19990036200A/ko
Application granted granted Critical
Publication of KR100518987B1 publication Critical patent/KR100518987B1/ko

Links

Classifications

    • A63F13/10
    • 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/57Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
    • 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/45Controlling the progress of the video game
    • 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/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • 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
    • 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/80Special adaptations for executing a specific game genre or game mode
    • A63F13/833Hand-to-hand fighting, e.g. martial arts competition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • 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
    • 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/63Methods for processing data by generating or executing the game program for controlling the execution of the game in time
    • 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
    • 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
    • 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
    • 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/6661Methods for processing data by generating or executing the game program for rendering three dimensional images for changing the position of the virtual camera
    • 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/6692Methods for processing data by generating or executing the game program for rendering three dimensional images using special effects, generally involving post-processing, e.g. blooming
    • 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/80Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
    • A63F2300/8029Fighting without shooting

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Abstract

이 게임용 화상 처리 장치는 가상 공간내에 소정수의 모델(캐릭터 등)을 설정하고, 이 모델이 상기 가상 공간내에서 소정 방향으로 이동하도록 제어됨과 동시에 가상 시점에 따라 이 가상 공간의 영상을 표시 수단에 있어서 표시하도록 한 장치이다. 이 장치는 가상 공간에 설정된 모델의 움직임을 보다 리얼하게 표시할 수 있도록 하기 위해, 그의 하나의 구성으로서, 모델에 가상적인 향심력을 주는 화상 처리 수단을 구비한다. 또한, 이 장치는 모델의 움직임을 보다 리얼하게 표시하고 또한 연출 효과를 높이기 위해, 그의 하나의 구성으로서, 모델의 이동 궤적을 잔상으로서 표현하기 위한 잔상 표현 처리 수단을 구비하고, 이 처리 수단은 모델의 현재 모션이전의 모션 데이터를 그대로 기억하는 기억 수단과 이 기억 데이터를 모델의 현재 모션 데이터와 함께 표시하는 표시 제어 수단을 구비한다.

Description

게임용 화상 처리 장치
컴퓨터·그래픽스(CG)기술의 발달에 의해, 가상적으로 설정한 가상 공간(「가상 세계」라고도 함)을 입체적으로 리얼 타임으로 표현할 수 있게 되었다. 최근 개발되고 있는 고속 연산이 가능한 중앙 처리 장치(CPU), 비디오 표시 프로세서(VDP)를 탑재하고, 이 컴퓨터·그래픽스 기술을 고속으로 또한 경제적으로 이용하고 있는 것이 비디오 게임기의 기술 분야이다.
이 비디오 게임기에서는 유저(유희자 또는 플레이어라고 하여도 좋음.)의 조작 내용에 따라 게임 플레이의 내용을 시시각각 변화시키기 위해, 가상 공간내에서 피표시 물체를 고속으로 자유롭게 움직일 필요가 있다. 이를 위해, 통상은 피표시체로서의 모델(예를 들면, 캐릭터(인물))을 삼각형 또는 사각형의 폴리곤이라고 하는 다각형의 작은 조각의 집합으로 구성하고, 각 폴리곤의 공간 위치를 동시에 변화시키면서 이들 모델의 움직임을 표현하고 있다.
또한, 캐릭터의 팔이나 다리등, 피표시체의 특정 부분이나 면이 동일한 움직임을 하는 경우에는 복수의 폴리곤을 모은 폴리곤 데이터군을 단위로 하고, 폴리곤 데이터군마다 공간 위치를 부여하여, 이 특정 부분이나 면을 동시에 움직이게 하고 있었다.
근년, 캐릭터를 폴리곤에 의해 구성하고, 가상 공간내의 캐릭터의 움직임을 소정의 가상 시점에서 잡은 영상을 모니터에 표현하도록 한 소위 3D(3차원) 게임이 시장에서 주목을 모으고, 특히 복수의 투사의 격투를 시뮬레이트한 것이 높은 인기를 얻고 있다(예를 들면, 주식회사 세가·엔터프라이제스제의 「버쳐 파이터」(상표)).
이 격투 시뮬레이션 게임에서는 유희자가 콘트롤러에 붙어 있는 스틱이나 패드 또는 버튼을 재빠르게 조작하여, 화면에 표시되고 있는 투사가 스틱 등의 조작에 의해 정해진 커맨드에 따라 동작하도록 된다. 투사의 움직임은 「모션」으로 지칭되고 있고, 이 모션을 실현하기 위한 데이터는 모션 캡쳐 기술을 사용하여 취득된다. 그리고, 필요에 따라 이 데이터를 가공하고, 최종적인 모션 데이터로서 3D 비디오 게임기에 있어서 이용되고 있다.
이 종류의 비디오 게임에 있어서는 그의 상품 가치를 높이기 위해, 캐릭터의 움직임을 보다 리얼리티를 갖고 표현하는 것이 요망된다. 즉, 예를 들면 실제 격투 동작에 매우 가까우면서, 보다 다채로운 움직임을 부가하는 것이다. 그러나, 예상되는 캐릭터의 움직임은 매우 여러갈래로 이어지므로, 이와 같은 목적을 달성하기 위해서는 아직 개선해야할 것이 다수 있었다. 단지 요망되는 모션 데이터를 미리 모두 작성하여 메모리에 기억시키거나 이와같은 모션을 얻기 위한 특성식을 얻는 것 등도 고려되지만, 이것에서는 데이터량이 팽대하게 되어, 리얼 타임의 처리가 실행되지 않는 문제가 있다.
따라서, 본 발명의 주목적은 화상 처리에 요하는 연산량이나 데이터량을 매우 적게 억제하여, 보다 리얼 타임으로 또한 캐릭터의 화면상의 움직임을 보다 리얼하게 실현할 수 있는 게임용 화상 처리의 수법을 제공하는 것이다.
이 주목적의 관점에서, 종래 비디오 게임기가 갖고 있던 문제의 구체적인 제1 측면은 다음과 같은 것이다.
A1. 3D 비디오 게임에서는 2차원의 화면에 가상 관점으로 부터의 영상이 투영 변환되어 표현되므로, 화면의 깊이 방향으로(가상 공간의 z방향), 유희자가 원하는 투사를 이동시키는 것이 어렵고, 따라서 유희자가 한명의 투사를 다른 투사 주위를 돌도록 하는 것은 하등 배려되지 않았다. 그래서, 이와 같은 캐릭터 주위를 도는 움직임을 개선하는 것을 본 발명의 하나의 구체적인 목적으로 한다.
A2. 종래 3D 비디오 게임기는 가상 시점으로 부터의 영상을 표시하도록 하였으므로, 투사를 가로막는 위치에, 벽 등의 구조물이 가상 공간내에 설정되어 있던 경우, 캐릭터가 가려져 표시되어 버린다고 하는 문제가 있었다. 그래서, 이와 같이 캐릭터가 구조물에 가리게 된다고 하는 사태를 개선한 표시를 실행하는 것을 본 발명의 다른 구체적인 목적으로 한다.
A3. 종래 비디오 게임기에서는 캐릭터의 모션을 예를 들면, 스플라인 함수에 의해 순차 만들어 가는 방법 또는 미리 정해진 패턴을 순차 프레임으로 재현하여 가는 방법이 채용되고 있다. 그러나, 종래 비디오 게임기에서는 이 모션이 고정되어 있고, 상대측 캐릭터의 움직임 등에 맞추어 모션을 보정할 수 없었다. 그래서, 이와 같은 모션 보정을 실행하도록 하는 것을 본 발명의 또 다른 구체적인 목적으로 한다.
또한, 상기 주목적의 관점에서 파생하는 것으로서, 그의 상품 가치를 높이기 위해, 상술한 제1 측면에 부가하여, 캐릭터의 움직임 등에 연출 효과를 높인 화면 표시를 행하는 것이 요망되고 있다. 이 요망을 감안한 종래 비디오 게임기의 문제의 제2 측면은 구체적으로 다음과 같이 설명할 수 있다.
B1. CG 화상의 연출 효과를 높이는 기술로서, 모션·브라가 알려져 있다. 이 모션·브라에 의하면, 하나의 화소에 많은 레이를 발생시키고, 그 평균을 취한 색을 붙이는 것에 의해 핀보케나 움직임이 있는 그림을 만들 수 있다.
한편, 최근 비디오 게임기 등의 CG 영상 분야에서, 더욱 연출 효과를 높이기 위해, 캐릭터의 움직임에 인간의 시각 생리상 흔히 있는 잔상을 동시에 표시하는 것이 행해지고 있다. 예를 들면, 투사가 휘두르는 칼의 궤적에 잔상을 부가하는 경우이다. 그래서, 당업자는 잔상으로서의 폴리곤을 투사의 모션에 맞추어 계산하여 이 잔상을 투사의 가까이에 표시하도록 하였다.
그러나, 예상되는 캐릭터의 움직임은 매우 여러갈래로 이어지므로, 모든 경우에 맞추어, 많은 형태의 잔상용 폴리곤을 작성하여 그것을 메모리에 기억시키는 것은 한정된 컴퓨터 그래픽스 장치의 능력을 제한하게 될뿐만아니라, 캐릭터의 모션에 맞추어 잔상의 폴리곤을 계산하는 것은 컴퓨터 그래픽스 장치에 대한 부하가 크다. 그래서, CG 화상을 형성할 때, 연출 효과를 높이는 것의 배려가 있어도 큰 계산 부하를 주는 일이 없고(보다 상세하게는 이와 같은 부하를 작게 하여), 잔상 영상을 실상 화면과 동시에 표시할 수 있도록 하는 것을 본 발명의 또 다른 구체적인 목적으로 한다.
B2. 종래 화상 처리 장치를 이용한 게임 장치에 있어서, 화면에 모래나 물 비말 등의 날아 다니는 것(이하, 비행체라 함)을 표시하는 것이 행해지고 있다(예를 들면, (주)세가·엔터프라이제스제 「세가 라리」(상표)). 그러나, 이와 같은 물 비말이나 모래 비말은 텍스쳐를 폴리곤에 맵핑할 뿐이므로, 모델(차 등)의 움직임을 정확히 비행체에 반영시킬 수 없었다. 그래서, 모델의 움직임을 보다 정확히 비행체에 반영시키도록 하는 것을 본 발명의 또 다른 구체적인 목적으로 한다.
B3. 종래 화상 처리 장치에서는 가상 공간내를 낙하하는 모델의 운동을 시뮬레이트할 때 품질은 충분하지 않았다. 그래서, 가상 공간내를 자유 낙하하는 운동의 시뮬레이트를 보다 고품질의 것으로 하는 것을 본 발명의 또 다른 구체적인 목적으로 한다.
B4. 종래 화상 처리 장치에 있어서는 가상 공간내의 구획과 이동하는 모델의 닿음을 판정하고, 이 판정이 긍정된 경우에는 모델이 구획을 넘는 일이 없도록 그의 움직임을 제한하였다. 통상, 이 종류의 구획으로서는 사각이나 원형 등의 정형 타잎의 것이 설정되어 있었다. 이 경우는 구획이 일반적인 형상이므로, 캐릭터를 구획에서 추방하는 운동의 계산을 하는 것도 용이하였다. 그러나, 이 구획이 부정형인 경우, 종래 컴퓨터 그래픽스 장치에서는 이것에 용이하게 대응할 수 없다고 하는 문제가 있었다. 그래서, 부정형의 구획이라도, 구획과 모델의 충돌 판정 긍정후의 모델의 움직임(모션)의 계산 처리를 정확하고 또한 용이하게 실행할 수 있도록 하는 것을 본 발명의 또 다른 구체적인 목적으로 한다.
B5. 종래 게임 장치에 적용되는 화상 처리 분야에서는 주기적인 그림의 열(예를 들면, 반복하는 파도의 그림 등)을 실현하는 경우, 이들 그림의 열을 수작업으로 작성하여 텍스쳐열로 하고, 이것을 순차 폴리곤에 맵핑하는 것을 반복하는 것에 의해, 같은 동작을 반복하는 일련의 영상을 실현하였다.
이와 같은, 텍스쳐의 열을 작성하는 것은 많은 수작업을 요하게 되므로, 애플리케이션 소프트웨어를 이용하는 것이 시험되고 있다. 이와 같은 애플리케이션 소프트웨어로서는 예를 들면, 상품명 : Alias/Wavefront(Alias/Wavefront사 (110 Richmond St. East Toront, Ontario Cnanda M5c 1p1)제)가 알려져 있다. 이 소프트웨어를 이용하는 경우, 소정의 파라미터를 소프트웨어에 부여하면, 목적으로 하는 텍스쳐열을 얻을 수 있다.
그러나, 종래 이 종류의 소프트웨어를 이용한 경우, 텍스쳐열의 최초와 최후, 즉 텍스쳐의 줄기(형태)가 유희자에게 잡혀서 연속하지 않는 그림으로 되는 것이 일반적이었다.
따라서, 종래 화상 처리 분야에서는 반복하는 그림의 열을 만듬에 있어서 아직 개량할 여지가 있었다. 그래서, 화상 처리에 의해 이 종류의 텍스쳐열을 작성할 수 있도록 하는 것을 본 발명의 또 다른 구체적인 목적으로 한다.
B6. 종래 화상 처리 장치에서는 재생 화상의 연출감을 높이기 위해, 캐릭터 동작의 재생 속도를 느리게 하여 슬로우 재생을 실행하는 장면을 갖고 있었다. 그러나, 이 슬로우 재생의 연출은 그의 효과가 한정되었다. 그래서, 보다 효과적인 연출감을 자아내면서 재생 속도의 변화를 가능하게 한 게임용 화상 처리의 수법을 제공하는 것을 본 발명의 또 다른 구체적인 목적으로 한다.
본 발명은 가상적으로 설정한 게임 공간(이하, 「가상 공간」이라 함)에 있어서의 화상(이하, 「가상 화상」이라 함)의 처리에 관한 것으로, 특히 가상 공간내에 설정된 가상 모델(예를 들면, 캐릭터로 지칭됨)의 화면상에서의 움직임을 보다 리얼하게 실현할 수 있는 게임용 화상 처리에 관한 것이다. 이 화상 처리의 수법은 특히, 3D 비디오 게임기에 적합하다.
도 1은 본 발명의 실시예에 관한 화상 처리 장치로서의 비디오 게임기의 블록도이다.
도 2는 제1 실시예에 있어서의 메인 처리를 도시한 흐름도이다.
도 3은 원운동 처리에 있어서의 캐릭터의 원운동을 도시한 사시도이다.
도 4는 원운동 처리의 상세 흐름도이다.
도 5는 가상 공간 상에서 원운동을 도시한 모식도이다.
도 6은 원운동의 종료 상태에 상당하는 사시도이다.
도 7은 가상적 마찰 처리의 원리도이다.
도 8은 가상적 마찰 처리의 상세 흐름도이다.
도 9는 투영 표시 처리의 원리도이다.
도 10은 교차 판정 처리의 원리도이다.
도 11은 교차 판정 처리의 상세 흐름도이다.
도 12는 내접원으로 근사된 구조물의 xy 평면도이다.
도 13은 교차 판정 처리의 구체예를 도시한 원리도이다.
도 14는 교차 판정 처리의 다른 구체예를 도시한 원리도이다.
도 15는 벽형상의 구조물을 근사한 형태를 도시한 원리도이다.
도 16은 캐릭터의 모션의 표준 태양을 도시한 사시도이다.
도 17은 캐릭터 모션의 보간된 태양을 도시한 사시도이다.
도 18은 캐릭터의 스플라인 함수에 의해 이동하는 궤적을 도시한 개념도이다.
도 19는 캐릭터의 모션 처리 제어 동작을 도시한 흐름도이다.
도 20은 2개의 캐릭터 사이에 고저차가 있는 상태를 도시한 모식도이다.
도 21은 캐릭터의 고저차 처리를 도시한 흐름도이다.
도 22는 이 처리의 시간 흐름을 설명하기 위한 흐름도이다.
도 23은 고저차 처리가 된 상태를 도시한 모식도이다.
도 24는 인물 유사의 캐릭터의 일예의 정면을 도시한 사진이다.
도 25는 그의 제2 예를 도시한 사진이다.
도 26은 콘트롤 패드가 확대된 정면도이다.
도 27은 혼합 기술의 파일 구성을 도시한 도면이다.
도 28은 혼합기를 전개하기 위한 흐름도이다.
도 29는 혼합 기술 처리 관정에서 표시되는 화면을 표시한 화면 정면도이다.
도 30은 동 처리 과정에서 표시되는 다른 화면을 표시한 정면도이다.
도 31은 동 처리 과정에서 표시되는 다른 화면을 표시한 정면도이다.
도 32는 동 처리 과정에서 표시되는 다른 화면을 표시한 정면도이다.
도 33은 동 처리 과정에서 표시되는 다른 화면을 표시한 정면도이다.
도 34는 제2 실시예에 있어서의 메인 처리를 도시한 흐름도이다.
도 35는 잔상 처리가 된 모델의 정면도이다.
도 36은 잔상 처리의 원리도이다.
도 37은 잔상 처리의 개략 흐름도이다.
도 38은 그의 상세 흐름도이다.
도 39는 도 37의 흐름도의 상세 흐름도이다.
도 40은 튀겨진 비행체의 궤적을 도시한 도면이다.
도 41은 비행체의 착지 발생을 설명하는 도면이다.
도 42는 비행체의 착지 발생을 설명하는 도면이다.
도 43은 비행체의 착지 발생을 설명하는 도면이다.
도 44는 비행체의 착지 발생을 설명하는 도면이다.
도 45는 튀김 발생의 설명도이다.
도 46은 튀김 발생시의 벡터선도이다.
도 47은 튀김 발생시의 벡터선도이다.
도 48은 비행체 운동 처리의 흐름도이다.
도 49는 비행체 운동 처리가 적용된 캐릭터의 배면도이다.
도 50은 이 처리의 개략 흐름도이다.
도 51은 그의 상세 흐름도이다.
도 52는 그의 상세 흐름도이다.
도 53은 그의 상세 흐름도이다.
도 54는 비행체의 운동 형태를 도시한 도면이다.
도 55는 비행체의 운동 형태를 도시한 도면이다.
도 56은 자유 낙하 운동 처리가 된 대상물의 이동 궤적을 도시한 도면이다.
도 57은 부정형 구획과 모델의 충돌 판정 처리의 원리도이다.
도 58은 그 흐름도이다.
도 59은 텍스쳐열의 작성 원리도이다.
도 60은 모델에 의해 비행체의 점프 및 착지 발생이 생긴 상태를 도시한 정면도이다.
도 61은 슬로우 재생 처리의 원리를 설명하기 위한 캐릭터의 동작을 설명하기 위한 측면도이다.
도 62는 도 61을 위쪽에서 본 정면도이다.
도 63은 슬로우 재생 상태에 있는 캐릭터의 동작을 설명하기 위한 측면도.
도 64는 도 63을 위쪽에서 본 평면도이다.
도 65는 본래의 위치로 복귀한 상태의 캐릭터를 도시한 측면도이다.
도 66은 이 처리의 동작 플루우챠트이다.
도 67은 부정형 구획과 모델의 충돌 판정 처리에 의해 표현되는 모델의 모션도이다.
도 68은 도 54의 비행체 운동 처리에 있어서의 나뭇잎이 바람에 의해 나뭇잎의 높이마다 영향을 받는 계수를 설명하는 도면이다.
본 발명에 의해, 그의 주목적인 화상 처리에 요하는 연산량이나 데이터량을 매우 작게 억제하여, 보다 리얼 타임으로 또한 캐릭터의 화면상의 움직임을 보다 리얼하게 표현할 수 있는 게임용 화상 처리의 수법이 여러 가지 관점에서 제공된다. 본 발명에서는 그의 주목적에서 파생하는 여러 가지 구체적인 목적을 달성하기 위해 다음과 같은 여러 가지 구성이 채택된다.
본 발명의 하나의 측면을 이루는 일련의 구성은 다음과 같다. 즉, 본 발명은 가상 공간내에 소정수의 모델을 설정하고, 이 모델이 상기 가상 공간내에서 소정 방향으로 이동하도록 제어됨과 동시에, 가상 시점에 따라 이 가상 공간의 영상을 표시 수단에 있어서 표시하도록 한 화상 처리를 실행하는 게임 장치에 있어서, 상기 모델에 가상적인 인력을 부여하는 화상 처리 수단을 포함하는 것을 특징으로 한다. 또한, 이 게임용 화상 처리 장치를 구비한 게임 장치가 제공된다. 또한, 이 화상 처리 수단을 실행하는 일련의 순서를 포함하는 정보를 기록한 기록 매체가 제공된다.
또한, 본 발명은 이 종류의 게임용 화상 처리 장치에 있어서, 상기 모델이 이동하고 있을 때와 정지하고 있을 때의 마찰량을 바꾸어, 이 모델에 주는 화상 처리 수단을 포함하는 것을 특징으로 한다.
또한, 본 발명은 이 종류의 게임용 화상 처리 장치에 있어서, 상기 모델이 놓여진 스테이지의 표면 형상에 맞추어 상기 모델의 투영상을 표시시키는 화상 처리 수단을 포함하는 것을 특징으로 한다.
또한, 본 발명은 이 종류의 화상 처리 장치에 있어서, 상기 가상 시점이 표시 대상으로서의 상기 모델에 대하여 이루는 시야 영역과 표시 대상으로서 설정되어 있지 않은 다른 모델과의 겹침 판정을 실행하고, 이 판정이 긍정된 경우에 이 다른 모델이 표시되지 않도록 한 화상 처리 수단을 포함하는 것을 특징으로 한다.
또한, 본 발명은 이 종류의 게임용 화상 처리 장치에 있어서, 상기 모델의 예정된 이동 궤적의 종료점에 대하여, 이 종료점과는 다른 목표점이 설정되고, 상기 종료점을 이 목표점에 일치시키도록 이동 궤적이 보간되는 화상 처리 수단을 포함하는 것을 특징으로 한다.
또한, 본 발명은 이 종류의 게임용 화상 처리 장치에 있어서, 상기 모델이 상기 가상 공간내에 놓여져 있는 고저차를 구하고, 이 고저차에 따라 이 모델에 대하여 주어져 있는 동작을 보정하는 화상 처리 수단을 포함하는 것을 특징으로 한다.
이와 같이 구성하는 것에 의해, 캐릭터등 가상 공간에 설정된 모델의 움직임을 보다 현실감이 풍부하게 표시할 수 있다. 구체적으로는 하나의 모델이 다른 모델의 주위를 도는 화상이 용이하게 생성된다. 또한, 모델이 놓여져 있는 스테이지의 상태를 모델의 움직임에 반영시킬 수 있다. 또한, 스테이지의 요철을 모델의 투영상에 정확하고 또한 간단하게 반영시킬 수 있다. 또한, 모델을 막는 위치에 벽 등의 구조물이 가상 공간내에 설정되어 있던 경우라도 이 모델이 가려지는 일없이 표시된다. 또한, 모델의 모션을 상대측 모델의 움직임 등에 맞추어 보정할 수 있으므로, 모델의 다채로운 움직임으로 확실하게 실현할 수 있다. 또한, 모델의 고저차를 고려하고 있으므로, 보다 현실감이 우수한 영상을 생성할 수 있다.
또한, 본 발명의 다른 측면을 이루는 일련의 구성은 다음과 같이 개시된다. 그의 하나의 구체적 구성으로서, 본 발명은 가상 공간내에 소정수의 모델을 설정하고, 이 모델이 상기 가상 공간내에서 소정 방향으로 이동하도록 제어됨과 동시에, 소정 위치의 시점에 따라 이 가상 공간의 영상을 표시 수단에 표시하도록 한 게임용 화상 처리 장치에 있어서, 모델의 이동 궤적을 잔상으로서 표현하기 위한 잔상 표현 처리 수단을 포함하며, 상기 처리 수단은 상기 모델의 현재 모션 이전의 모션 데이터를 그대로 기억하는 기억 수단과 이 기억 데이터를 상기 모델의 현재 모션 데이터와 함께 표시하는 표시 제어 수단을 구비하는 것을 특징으로 한다. 이 표시 제어 수단은 상기 기억 수단의 데이터에 연출을 더하여 표시하기 위한 연출 수단을 구비할 수 있다. 이 연출 수단은 반투명의 화상 처리를 실행할 수 있다.
다른 구체적 구성으로서 본 발명은 가상 공간내에 소정수의 모델을 설정하고, 이 모델이 상기 가상 공간내에서 소정 방향으로 이동하도록 제어됨과 동시에, 소정 위치의 시점에 따라 이 가상 공간의 영상을 표시 수단에 표시하도록 한 게임용 화상 처리 장치에 있어서, 상기 모델의 이동 특성을 산출하는 산출 수단 및 상기 가상 공간내에 비행체를 존재시킴과 동시에 이 비행체의 일련 운동을 상기 산출 수단에 의한 산출 결과에 따라 제어하는 비행체 제어 수단을 포함하는 것을 특징으로 한다. 또 다른 구체적 구성으로서, 본 발명은 가상 공간내에 설정된 모델의 자유 낙하 운동을 시뮬레이트하는 게임용 화상 처리 장치에 있어서, 상기 모델의 전체 운동을 시뮬레이트하는 제1 수단 및 상기 모델에 둘레 회전 운동을 부여하는 제2 수단을 포함하는 것을 특징으로 한다.
또 다른 구체적 구성으로서, 본 발명은 가상 공간내에 소정수의 모델을 설정하고, 이 모델이 상기 가상 공간내에서 소정 방향으로 이동하도록 제어됨과 동시에, 소정 위치의 시점에 따라 이 가상 공간의 영상을 표시 수단에 표시하도록 한 게임용 화상 처리 장치에 있어서, 부정형의 구획을 상기 가상 공간내에 설정하는 구획 설정 수단, 상기 구획과 이 모델 사이에 소정의 벡터를 설정하고, 이 구획을 넘어 이 모델이 이동하는 경우에는 이 벡터를 모델이 구획을 넘지않는 방향으로 설정하는 벡터 설정 수단 및 상기 벡터에 따라 상기 모델의 이동을 제어하는 모델 이동 제어 수단을 포함하는 것을 특징으로 한다.
또 다른 구체적 구성으로서 본 발명은 소정의 파라미터를 주어서 주기적으로 변화하는 텍스쳐를 형성하는 장치에 있어서, 제1 텍스쳐열을 만드는 제1 수단, 제2 텍스쳐열을 만드는 수단을 포함함과 동시에, 제1 텍스쳐열의 최후 또는 최초 텍스쳐와 제2 텍스쳐열의 최초 또는 최후 텍스쳐가 연속하는 형태로 되도록 각각의 수단에 파라미터를 줌과 동시에, 제1 텍스쳐열과 제2 텍스쳐열의 적어도 한쪽 투명도를 점증 또는 점감하여 양쪽 텍스쳐열의 최초의 손 텍스쳐끼리부터 순서대로 겹쳐서 목적으로 하는 텍스쳐열을 형성하는 것을 특징으로 한다.
또한 본 발명은 주기적으로 변화하는 텍스쳐를 형성하는 방법에 있어서, 소정의 방향으로 변화하는 제1 텍스쳐열을 만드는 제1 공정 및 마찬가지로 소정 방향으로 변화하는 제2 텍스쳐열을 만드는 공정을 포함함과 동시에, 제1 텍스쳐열의 최후 또는 최초 텍스쳐와 제2 텍스쳐열의 최초 또는 최후 텍스쳐가 연속하는 형태로 되도록 함과 동시에 제1 텍스쳐열과 제2 텍스쳐열의 적어도 한쪽 투명도를 점증 또는 점감하여 양쪽 텍스쳐열의 최초 텍스쳐끼리부터 순서대로 겹쳐서 목적으로 하는 텍스쳐열을 형성하는 것을 특징으로 한다.
또 다른 구체적 구성으로서, 본 발명은 가상 공간내에 소정수의 모델을 설정하고, 이 모델이 상기 가상 공간내에서 소정 방향으로 이동하도록 제어됨과 동시에, 소정 위치의 시점에 따라 이 가상 공간의 영상을 표시 수단에 표시하도록 한 게임용 화상 처리 장치에 있어서, 2개의 모델 사이에 소정의 조건이 성립하였는가 아닌가를 판정하는 제1 수단, 상기 조건이 성립한 것을 각각의 모델의 운동에 반영시키는 제2 수단 및 상기 조건이 성립하였을 때에 한쪽 모델의 운동 재생 속도를 다른쪽 모델에 대하여 변화시키는 제3 수단을 포함하는 것을 특징으로 한다.
이와 같이 구성하는 것에 의해, 가상 공간에서의 모델의 움직임을 보다 리얼하게 표현할 수 있음과 동시에 연출감 풍부하게 게임 화상을 생성할 수 있다. 보다 상세하게는 그의 하나의 구체적 구성에 의하면, 게임 화상을 형성할 때, 연출 효과를 높이는 것의 배려가 있어도 큰 계산 부하를 부여하는 일없이 게임용 화상 처리 장치를 제공할 수 있다. 또 다른 구체적 구성에 의하면, 이와 같은 부하를 작게 하여, 잔상 영상을 실상 화면과 동시에 표시할 수 있는 게임용 화상 처리 장치를 제공할 수 있다. 또 다른 구체적 구성에 의하면, 모델의 움직임을 정확하게 비행체에 반영시킬 수 있는 게임용 화상 처리 장치를 제공할 수 있다. 또 다른 구체적 구성에 의하면, 가상 공간내를 자유 낙하하는 운동의 시뮬레이트를 보다 고품질의 것으로 할 수 있는 게임용 화상 처리 장치를 제공할 수 있다. 또 다른 구체적 구성에 의하면, 부정형의 구획이라도, 구획과 모델의 충돌 판정 긍정후의 모델의 움직임(모션)의 계산 처리를 정확하고 또한 용이하게 실행할 수 있는 게임용 화상 처리 장치를 제공할 수 있다. 또 다른 구체적 구성에 의하면, 화상 처리를 이용하여도, 반복하여 표시하여도 위화감없이 연속 영상을 재현할 수 있는 일련의 텍스쳐열을 작성할 수 있다. 또한, 다른 구체적 구성에 의하면, 보다 효과적인 연출감을 자아내어, 재생 속도의 변화를 가능하게 한 게임용 화상 처리 장치를 제공할 수 있다.
이하에 본 발명의 적합한 실시예를 화상 처리 장치로서의 비디오 게임기에 대하여 도면을 참조하여 설명한다.
제1 실시예
비디오 게임기의 제1 실시예를 도 1∼도 33에 따라 설명한다.
하드웨어 설명
도 1에 이 비디오 게임기의 블록도를 도시한다. 이 비디오 게임기에 의해, 다음에 설명하는 각 화상 생성·처리1 내지 6이 각각 실행된다.
이 비디오 게임기는 장치 전체의 제어를 실행하는 CPU 블록(10), 게임 화면의 표시 제어를 실행하는 비디오 블록(11), 효과음 등을 생성하는 사운드 블록(12), CD-ROM의 판독을 실행하는 서브 시스템(13) 등에 의해 구성된다.
CPU 블록(10)은 SCU(System Control Unit)(100), 메인 CPU(101), RAM(102), ROM(103), 서브 CPU(104), CPU 버스(105) 등으로 구성되어 있다. 이 블록이 본 발명의 화상 생성 장치의 주체를 담당한다.
메인 CPU(101)는 내부에 DSP(Digital Signal Processor)를 구비하고, 컴퓨터 프로그램을 고속으로 실행할 수 있다. RAM(102)은 CD-ROM을 판독하는 서브 시스템(13)에서 전송된 각종 폴리곤 데이터를 기억하는 외에 메인 CPU(101)의 작업영역으로서도 사용된다.
ROM(103)에는 장치의 초기 상태에서 실행하는 초기 처리를 위한 이니셜 프로그램이 저장된다. SCU(100)는 버스(105, 106, 107)을 거쳐 실행되는 데이터의 전송을 통괄한다. 또한, SCU(100)는 내부에 DMA 컨트롤러를 구비하고, 게임의 실행중에 필요한 화상 데이터를 비디오 블록(11)내의 VRAM으로 전송한다.
컨트롤 패드(2b)는 유저의 정보 입력 수단으로서 기능하고, 조작에 필요한 각종 버튼이 구비되어 있다. 서브 CPU(104)는 SMPC(System Manager & Periphral Controller)로 불리우고, 메인 CPU(101)로 부터의 요구에 따라, 컨트롤러(2b)로부터 주변 데이터를 수집하는 기능을 구비하고 있다.
메인 CPU(101)는 서브 CPU(104)에서 전송된 주변 데이터에 따라, 디스플레이를 표시하는 화면의 이동 등의 처리를 실행한다. 서브 CPU(104)는 커넥터(2a)(본체측 단말)에 접속한 주변 기기의 종류를 판정하고, 판정한 주변 기기의 종류에 따른 통신 방식에 따라, 주변 데이터를 수집한다.
비디오 블록(11)은 도형 생성 수단으로서 동작하고, 폴리곤에 의해 표시하는 화상을 생성하기 위한 VDP(Video Display Processor)(120)와 배경화를 위한 화상 합성, 음면 처리, 클리핑을 실행하는 VDP(130)를 구비한다. VDP(121) 및 프레임 버퍼(122, 123)에 접속된다.
디스플레이에 표시하는 가상 공간의 화상을 생성할 때, 표시에 필요한 폴리곤 데이터가 메인 CPU(101)에서 SCU(100)를 거쳐 VDP(120)로 전송되고, VRAM(121)에 기록된다. VRAM(121)에 기록된 폴리곤 데이터는 1화소당 16 비트 또는 8 비트의 색 정보를 포함하는 묘화용 데이터로서, 묘화용의 프레임 버퍼(122) 또는 (123)에 저장된다. 저장된 묘화용 데이터는 VDP(130)로 전송된다. 메인 CPU(101)는 SCU(100)를 거쳐 묘화를 제어하는 제어 정보를 VDP(130)로 공급한다. VDP(130)는 이 제어 정보에 따라 묘화용 데이터를 처리한다.
VDP(130)는 VRAM(131)에 접속되어 있고, 표시 화면 전체를 상하좌우로 이동시키거나 회전시키거나 하는 스크롤 기능과 폴리곤의 표시 순서를 결정하는 프라이올리티 기능(Z 소트 또는 Z 버퍼)를 구비한다. VDP(130)는 묘화용 데이터를 메모리(132)를 거쳐 인코더(160)로 출력한다. 인코더(160)로 출력된 묘화용 데이터는 비디오 신호의 포맷으로 변환된 후, D/A 변환되어 모니터 장치(5)에 표시된다. 모니터 장치(5)에는 이 비디오 신호에 따라 화상이 표시된다.
사운드 블록(12)은 PCM 방식 또는 FM 방식에 의한 음성 합성을 실행하는 DSP(140)와 DSP(140)를 제어 등하는 CPU(141)에 의해 구성되어 있다. DSP(140)에 의해 생성된 음성 데이터는 D/A 컨버터(170)에 의해 2채널의 신호로 변환된 후에 2개의 스피커(5a) 또는 (5b)로 출력된다.
서브 시스템(13)은 CD-ROM 드라이버 등을 탑재하고, CD-ROM 등의 기록 매체에 의해 공급되는 애플리케이션 소프트의 판독, 동화의 재생등을 실행하는 기능을 구비한다.
이상 설명한 화상 생성 장치에 의해 실행되는 처리에 대하여 설명한다. 도 2는 CPU 블록(10)에 의해 실행되는 메인 처리를 도시한 흐름도이고, 캐릭터를 원운동시키기 위한 원운동 처리(S200), 가상적 마찰 처리(S202), 고저차가 있는 지면으로의 그림자의 표시(S204) ; 즉, 캐릭터의 투영 표시 처리, 교차 판정 처리(S206), 캐릭터의 모션 처리 제어(S208), 캐릭터의 고저차 처리(S210)가 순차 실행된다. 필요가 없는 처리는 실행되지 않고 다음 처리로 이행한다. 각 처리의 내용을 이하에 상세히 설명한다.
원운동 처리:
이 처리는 개략적으로 다음과 같은 내용이다. 이미 설명한 컨트롤 패드(2b)의 십자형으로 형성된 방향 키(26b)(도 26을 참조)를 도시한 좌 또는 우로 조작하면, 이 방향 키에 의해 조작되는 캐릭터(투사(30)(도 3 참조)가 가상 공간내를 상하좌우 방향으로 이동한다. 원운동 처리 모드에서는 유희자가 조작하는 투사(30)와 상대측 투사(32) 사이에 가상적인 향심력(向心力)(상대측 캐릭터로 향하는 힘)이 부여되고, 유희자측의 투사(30)가 상대측 투사의 주위를 자동적으로 회전(원운동)하는 처리(30)가 실행된다.
이 처리 내용을 도 4의 흐름도에 따라 설명한다. 스텝(400)에 있어서, 원운동 처리 모드로 들어갔는가 아닌가가 판정된다(판정1). 유희자(플레이어)가 소정의 조작을 이룬 경우에 원운동 요구가 있던것이 된다. 예를 들면, 컨트롤러(패드(2b))의 소정의 버튼을 누른 경우이다. 다음에, 도 26의 (26b)의 방향 키의 표시 좌우방향 조작량이 판독되는 등하여, 유희자의 투사와 상대측 투사의 위치가 검출되고, 상대측 투사가 유희자측 투사에 대하여 이룬 방향이 계산된다(스텝 402).
이어서, 유희자측 투사(30)에 그 방향의 각도가 부여되고, 또한 이 투사가 상대측 투사로 향하는 가상적인 향심력(구심력)이 부여된다(스텝 404). 이 구심력을 물리적으로 고려하면, 구심력은 2개의 물체간에 작용하는 인력과 같다.
상대측 투사의 x좌표와 z좌표를 각각(exp, ezp)로 하고, 상대측 투사의 x좌표와 z좌표를 각각(mxp, mzp)로 하면, 이미 설명한 바와 같은 상대측 투사(32)의 방향은 arctan(exp-mxp, ezp-mzp)에 의해 계산된다. 또한, 이 계산시에, 양쪽 투사의 높이 방향의 y방향 좌표는 편의상 고려하지 않는다.
이 결과, 구심력과 횡방향 키에 의한 좌우 방향의 속도에 의해, 가상 공간내의 원운동이 만들어진다(스텝 406). 이 원운동에 의해, 유희자의 투사(30)가 상대측 투사(32)를 향하면서 그의 주위를 돌도록 움직인다. 도 5는 이 원운동을 가상 공간의 위쪽에서 본 개념도이고, 투사(30)가 상태1에서 상태2, 상태3을 거쳐 상태4까지의 원운동을 실행한다. 이미 기술한 도 3은 상태1에 관한 가상 공간을 소정의 시점에서 나타낸 영상이고, 이미 기술한 모니터(5)(도 1 참조)에 표시되는 영상이다. 도 6은 상태4에 관한 것이고, 도 3과 마찬가지 영상이다.
따라서, 설명된 원운동 처리에 의하면, 하나의 캐릭터에 가상적인 향심력을 주고 있으므로, 유희자에 의해서는 도 26의 방향 키(26b)를 도시 좌우 방향으로 조작하는 것만으로, 용이하게 캐릭터(30)에게 원운동을 줄 수 있다. 예를 들면, 이미 설명한 바와 같이, 상대측 투사(32) 주위를 자기가 조종하는 투사(30)가 도는 움직임을 간단히 실현할 수 있다.
가상적 마찰 처리:
이 처리는 캐릭터의 움직임에 지면의 기울기에 의한 미끄럼짐과 지면의 성질에 의해 캐릭터에 미치는 마찰력을 바꾸고, 또한 캐릭터가 이동하고 있을 때에는 움직임 마찰을 주고, 캐릭터가 이동하지 않을 때에는 정지 마찰을 주는 것에 의해, 캐릭터의 움직임을 보다 다채롭게 하는 것이 내용이다.
먼저, 도 7은 가상 공간내의 지면의 단면을 도시한 것이다. 도 8에 도시한 바와 같이, 스텝(800)에 있어서, 지면의 기울기에서 미끄러짐량을 다음과 같이 하여 계산한다.
미끄러짐량 (=dv/dt) = ivg
i : 소정의 정수
v : 지면의 기울기를 나타내는 법선 단위 벡터
g : 중력 가속도
여기서, 법선 단위 벡터라함은 도 7(1)에 도시한 바와 같은 벡터의 지면의 직선 방향으로의 벡터이다.
이 법선 단위 벡터가 가상 공간의 좌표축(x축)에 대하여 이루는 각(θ)이 크게 되면, 이 지면상에 있는 캐릭터에 대하여, 기울어진 지면을 따라 내려가게 하는 미끄러짐량(가속도)이 보다 크게 부여된다.
다음 스텝(802)에 있어서는 캐릭터(투사)가 이동하고 있는 가 아닌가가 판정된다. 예를 들면, 유희자측에서 말하면, 투사의 움직임을 제어하기 위한 방향 키가 조작되고 있는가 아닌가가 판정된다(판정1).
캐릭터가 움직이고 있는 경우는 움직임 마찰력이 부여되고, 캐릭터가 움직이지 않을 때는 정지 마찰이 부여된다(스텝 804, 806). 마찰(=dv/dt) 자체는 다음과 같이 하여 계산된다.
M·(dv/dt) = μ·S·M(g·cosθ+(dv`/dt)·sinθ)
dv/dt = T·g·cosθ+T·(dv`/dt)·sinθ)
M : 무게
v : 마찰 속도(계산후의 물체 속도)
v` : 물체의 속도
μ : 마찰 계수
S : 캐릭터의 지면 면적(정수)
g : 중력 가속도(정수)
θ : 지면의 각도
T=μ·S
움직임 마찰 및 정지 마찰은 이식에 의해 얻어진 마찰(또는 마찰 계수)에 소정의 처리가 부여되는 것에 의해 결정된다. 단, 정지 마찰은 움직임 마찰보다 큰 값으로 된다. 이 마찰은 지면의 각도에 의해 변화하는 것으로, 지면의 기울기가 큰만큼 마찰은 작은 값으로 된다.
다음에, 지면의 속성이 결정된다. 즉, 캐릭터가 접지하고 있는 지면이 예를 들면, 물바닥 또는 모래바닥인가가 판정된다. 이들 속성은 미리 지면마다 가상적으로 부여되어 있다. 예를 들면, 모래바닥에서는 계산된 마찰량을 2배로 하고, 물바닥에서는 마찰량을 3배로 한다. 이어서, 앞서 계산된 미끄러짐 양에 이 마찰력을 빼도록 반영시킨다(스텝 810).
이 처리에 의해, 정지 마찰 또는 움직임 마찰이 캐릭터에 항상 부여되므로, 멈추고 있는 캐릭터는 좀처럼 움직이지 않고, 한번 움직이기 시작하면 이동하기 쉽게 된다. 또한, 지면의 속성에 의해 캐릭터의 이동 특성을 바꿀 수 있다. 이것에 의해, 캐릭터의 이동을 보다 현실감 풍부하게 표현하는 것이 가능하게 된다.
고저차가 있는 지면으로의 표시:
도 9에 도시한 바와 같이, 이 처리는 캐릭터(91)가 서 있는 지면(90)에 요철(92)이 있는 경우, 캐릭터의 그림자(투영상)를 이 지면에 요철을 남기면서 보다 간단한 계산에 의해 표시하는 것을 내용으로 한다. 도 9는 이 처리의 개요를 도시한다. 도면중 (94)는 높이 0의 가상적인 기준선이고, 그리고 (96)은 무한원에 있는 평행 광원이다.
이 인물은 머리, 가슴, 배, 발 등의 오브젝트의 집합 구성되어 있다. 각 오브젝트는 복수의 폴리곤에 의해 만들어져 있다. 도면의 yG는 기준선에서 캐릭터가 서 있는 지면까지의 거리이고, y1‥‥yn은 각 오브젝트마다 지면에서 기준선까지의 거리이다.
이 처리는 다음의 계산식에 의해 연산된다.
E` (x`, y`, z`) = Ms·E(x, y, z)
E` (x`, y`, z`) : 그림자의 좌표점
E (x, y, z) : 인물(캐릭터)의 좌표점
Ms : 그림자의 좌표를 월드 좌표계로 변화하기 위한 매트릭스(행렬식)이다.
이 Ms는 다음과 같이 하여 부여된다.
Ms = Mu·(-Tyg)·Pn·Tyn·(-Tsn)·Rn·Tsn
Mu : 인물의 좌표를 도 9의 월드 좌표계로 변환하기 위한 변환 매트릭스
Tyg : 인물이 서 있는 지면에서 기준선까지 평행 이동시키기 위한 평행 이동 매트릭스
Pn : 인물을 기준선에 기울여 투영하기 위한 변환 매트릭스
Tyn : 기울여 투영된 그림자를 각 오브젝트의 접지점(즉, 각 오브젝트가 놓여지는 지면)까지 평행 이동시키기 위한 매트릭스
Tsn : 각 오브젝트를 월드 좌표계의 원점에 대하여 평행 이동시키기 위한 평행 이동 매트릭스
Rn : 지면의 기울기에 맞춰 그림자의 폴리곤을 회전시키기 위한 매트릭스
이 처리는 다음의 과정에 의해 실행된다.
처리 과정1 : 그림자를 만들기 위한 인물 유사의 캐릭터(91)가 지면에서 높이 0의 기준선까지 평행 이동되고, 이어서,
처리 과정2 : 이 인물 유사의 폴리곤 집합체(91)를 상기 평행 광원(96)에 따라 기준선(94)에 기울여 투영하고, 이어서,
처리 과정3 : 기울여 투영된 오브젝트를 각 오브젝트마다 y1‥‥yn의 폭으로 지면까지 각각 평행 이동시키고, 이어서,
처리 과정4 : 각 오브젝트를 월드 좌표계의 위치에서 그 계의 원점까지 평행 이동시키고, 이어서,
처리 과정5 : 각각의 지면의 각도에 따라, 각 오브젝트를 회전시키고, 최후에,
처리 과정6 : 처리 과정4에 의해 원점까지 이동한 오브젝트를 원 좌표계로 되돌리기 위한 평행 이동이 실행된다.
따라서, 이 처리에 의하면, 지면(90)에 요철이 있는 경우, 이 요철에 맞추어 캐릭터의 투영상을 요철을 붙여서 간단히 지면(90)상에 표시할 수 있다.
교차 판정 처리 :
도 10은 2개의 캐릭터, 예를 들면 서로 마주보는 투사(인물1, 인물2)를 잡는 가상 카메라의 시야 영역을 나타내는 xz평면도이다. 이 가상 카메라(시점)에 의해 이미 설명한 도 3에 도시한 바와 같은 영상이 표시된다. 이 처리에 있어서는 이 시야 영역에 투사이외의 벽, 건물 등 시야 영역을 막는 가상의 구조물이 겹친 경우, 이 구조물의 일부 또는 전체를 표시하지 않도록 된다. 도 10에 있어서, 구조물(100, 102)은 시점에서 인물에 이르는 시야 영역을 막는 것에 대하여, 구조물(104)은 시점에 의해 표시되는 영역에 있으므로 전자의 영역을 방해하지 않는다. 여기서는 구조물(102)와 (104)을 소거하는 화상 생성 또는 화상 처리가 실행된다.
도 11은 이 처리를 도시한 흐름도이다. 이 처리시, 이들 구조물이 시야 영역에 겹쳐 있는가 아닌가의 판정을 보다 신속하고 또한 용이하게 실행하기 위해, xz 좌표면에 있어서 판정이 실행되고, 또한 두께를 가진 것은 원에 의해 근사된다. 도 12는 이 구조물을 내접원으로 근사한 상태를 도시한 xz 평면도이다.
도 11에 있어서, 스텝(110)은 이 근사원이 상기 시야의 영역이 겹쳐 있는가 아닌가를 판정하는 처리이다. 도 13은 이 스텝에 있어서의 판정의 개념도이다. 시점에서 인물1, 2에 이르기까지의 시양 영역에 상당하는 삼각형 영역을 구성하는 모든 변에 대하여, 중심점 T의 반경 d를 갖는 어느 근사원이 겹치는가 아닌가의 판정의 이하의 처리에 따라 실행한다. 또한, 이하의 설명에 있어서, 벡터 L, 벡터 R, 벡터 T는 소정의 원점에서, L, R, T에 대허여 이루는 벡터이다. 또한, 삼각형 각변의 각각의 정점에 대하여 시계 방향으로 L점, R점이 순서대로 설정된다.
여기서,
cx : 벡터 c의 x 성분
cy : 벡터 c의 y 성분
rx : 벡터 r의 x 성분
ry : 벡터 r의 y 성분
내적의 정리에 의해
단,
근사원의 중심 T가 직선 TR의 정영역에 있는 경우(삼각형의 내측에서 바깥에 T가 있는 경우),
이면, 원은 삼각형의 내측 영역에 대하여, 독립 즉 이 영역에 겹치는 일은 없고,
일 때는 점 T가 직선 LR의 정역에 있으면, 원은 영역에 대하여 독립으로 된다.
스텝(110)에 있어서, 근사원이 삼각형 영역내에 겹쳐 있는 경우는 이 구조물이 표시되지 않도록 처리되고(스텝 111), 겹치지 않는 경우는 다음 처리(스텝 112)로 진행한다. 다음 처리는 이 구조물이 일정 방향으로 길이를 가진 벽과 같은 것에 대해서의 겹침 판정이 실행되는 것을 내용으로 한다. 이 처리는 도 14에 도시한 바와 같이 다음과 같이 실행된다.
직선 TS로서 근사된 구조물에 대하여, 이 직선과 삼각형 영역의 교차(겹침의 일종)을 판정한다. 삼각형 영역을 구성하는 모든 변에 대하여, 이하의 처리를 실행한다. 직선 LR과 임의의 점 P의 위치 관계를 판정하는 함수를 F1(P)로 하면,
직선 ST와 임의의 점 P의 위치 관계를 판정하는 함수를 F2(P)로 하면,
F1(S)·F1(S) < 0 또한 F2(S)·F2(S) < 0이면, 직선 TS는 직선 LR에 교차하고 있다고 판정된다.
이 교차가 부정되었을 때는 스텝(114)로 이행하여 근사원의 겹침 유무가 판정된다. 이 이유는 다음과 같다. 삼각형 영역내에 이미 설명한 직선 ST가 완전히 들어가 버린 경우, 겹침 판정이 부정되어 벽형상의 구조물이 표시되어 버린다. 그래서, 이 직선 ST에 도 15와 같은 벽의 두께에 상당하는 작은 원(150)을 부여하고, 이 작은 원에 대하여 스텝(110)과 같은 겹침 판정을 실행한다. 이 결과, 직선 ST가 완전히 삼각형 영역내에 들어가 스텝(112)의 판정에 있어서 겹침 없다고 판정된 경우에도, 이 근사원이 삼각형 영역내에 들어 있는 경우, 겹침 있음으로 판정되어 스텝(111)로 이행한다.
이들 처리에 의해, 가상 카메라에서 표시 대상으로 되어 있는 캐릭터를 향한 시야 영역에 벽, 울타리, 담 등의 구조물이 표시되지 않도록 할 수 있다. 그리고, 도 10에 도시한 바와 같이, 이 벽 등의 구조물이 이 시야 영역에서 나와 있는 (104)와 같은 경우는 그대로 이 구조물이 표시된다. 이상의 처리에 의하면, 불필요한 구조물에 의해 캐릭터를 막는 일없이 꼭 알맞게 캐릭터를 표시할 수 있다. 다만, 표시 대상물로서의 캐릭터가 설정되어 있지 않은 경우는 이들 구조물은 그대로 표시된다. 또한, 근사원으로서는 도 12의 경우의 내접원을 대신하여 외접원이라도 좋다.
캐릭터의 모션 처리 제어 :
여기서의 처리는 하나의 모션에서 다른 모션을 이어서 일련으로 표시시키고자 하는 경우로 하나의 모션의 종료 위치를 목표점에 맞추도록 보간하는 것을 내용으로 한다.
도 16은 하나의 캐릭터의 모션의 일련의 과정을 나타내는 것으로, 인물 유사의 캐릭터(투사)(160)가 플레이어에 의한 패드(2b)의 조작에 의해 상대측 투사를 향하여, 팔부(160A)에 의한 구타를 반복하는 과정이 도시되어 있다.
이 팔부의 주먹 움직임은 공지의 스플라인 함수(특히, 3차 스플라인 함수)에 의해 계산되어 모니터에 표시된다. 여기서, 이 팔부(160A)가 상대측 투사의 흉부를 향하여 있는 것으로 하여, 어느 시점에서 상대측 투사가 y방향으로 이동한 경우(예를 들면, 급히 굽힌 경우), 유희자에 의하여 보면, 이동하고 있는 팔의 궤적을 급격히 도 17과 같이 아래쪽으로 변하는 것을 매우 곤란을 수반하고, 또한 이것을 CPU 블록(10) 측에서 단순히 실행한다고 하면 팔의 움직임이 부자연하게 되기 쉽다.
그래서, 현재 실행중인 모션의 스플라인 궤적 변화 과정의 종료 부근에 연결 영역을 마련하고, 이 연결 영역에 당초의 스플라인 궤적의 종료점이 다른 위치의 목표점으로 되도록, 새로운 스플라인 함수를 부여하는 등의 보간을 실행하도록 하였다.
이것은 도면을 사용하여 설명한다. 도 18의 (1)에 도시한 바와 같이, 도 16의 투사의 팔부의 선단에 있는 손등(180A)은 스플라인 함수에 의해 정해진 궤적(180)을 따라 이동한다. 도 18의 (2)는 이 스플라인 함수에 의해 얻어진 궤적(180)을 도시한 것으로, 손등(180A)은 이 궤적의 개시점에서 이동하여 종료점에 이르고, 그후 개시점까지 복귀한다.
지금, 손등(180A)이 스플라인 함수 궤적(180)의 개시점에서 그의 종료점을 향하여 이동하고 있다고 한다. 이 과정에서, 예를 들면 상대측 투사의 주먹 움직임 변화 등에 의해 당초의 종료점을 목표점으로 변경할 필요가 생겼다고 한다.
그래서, CPU 블록(10)은 손등의 위치(180A)가 연결 영역에 있는 시점에서 목표점에 있어서 종료하도록 이 영역내의 함수를 보정한다. 이 보간은 예를 들면, 다음에 설명하는 바와 같이 실행된다. 물론, 연결 영역의 스플라인 함수의 차수나 계수 등을 적의 바꾸는 것에 의해서도 가능하다. 그 결과, 도 16에 도시한 모션이 도 17에 도시한 모션으로 자동적으로 보간되고, 연결 영역에 있어서의 모션도 보다 원활하게 표현된다. 또한, 도시 편의상, 도 18의 (2)에 있어서 종축은 y축 방향의 이동량 만을 나타내고 있다. 3차원 비디오 게임의 일반론에서, x축이라 함은 모니터 화면에 면하여 횡방향으로 부여되고, y축은 그의 높이 방향으로 부여되며, z축은 그의 깊이 방향, 즉 화면과 직교하는 방향으로 부여된다.
연결 영역(연결 시간)은 엔드 프레임을 구비한 복수의 프레임군에 의해 적의 설정된다. 또한, 손등 이외의 상완부 및 하완부의 각 오브젝트에 대해서도 마찬가지 처리가 적용되어 팔 전체의 보간된 모션이 완성된다. 연결 영역에 있어서의 보간된 좌표는 다음 특성식에 의해 설정된다.
현재 좌표 + (현재 좌표 - 목표 좌표)·(현재 시간/연결 시간)
도 19는 이상의 처리를 설명하기 위한 흐름도로서, 스텝(190)에 있어서, 유희자가 패드(26b)를 조작하여 모션 이동의 커맨드가 발생하였는가 아닌가가 판정된다. 스텝(192)에서는 종료점과 다른 좌표에 목표점이 설정되었는가 아닌가가 판정된다. 스텝(194)에서는 선택된 모션이 재현된다. 스텝(196)에서는 이 판정이 긍정된 경우, 연결 시간이 계산됨과 동시에, 스텝(194)으로 이행하여 이 연결 시간 사이 보간된 모션이 재현된다. 스텝(198)에서는 현재의 프레임이 일련의 모션의 엔드 프레임인가 아닌가가 판정되고, 엔드 프레임인 경우에는 메인 루틴으로 리턴하고, 엔드 프레임에 아직 이르지 않은 경우에는 스텝(192)으로 돌아간다.
여기서, 연결 시간을 이루는 연결 프레임은 모션의 최대 프레임수(도 18 (2)의 스타트 프레임에서 엔드 프레임까지의 프레임수)의 0.1이고, 연결 프레임이 10을 넘는 경우는 10으로 고정된다. 연결 프레임은 1이상, 최대 프레임수의 1/2의 범위이면 좋다. 연결 프레임이 너무 길면 모션이 갖고 있는 원래의 움직임이 상실되고, 한편 너무 짧으면 보간이 급준하게 되어 움직임에 원할함이 상실된다.
이 처리에 의하면, 다음과 같은 효과가 달성된다. 비디오 게임 장치와 같이, 게임 화면에 등장하는 투사 등의 캐릭터를 조작하기 위해 컨트롤러가 조작되면, 캐릭터의 다채로운 움직임이 연속적으로 재현된다. 이 때, 일련의 모션이 재현되고 있는 시점에서, 상대측 캐릭터의 급한 동작에 맞추어 그의 모션을 변화시키도록 하여도, 모션 자체가 고정된 것인한 그것은 곤란하다. 그러나, 이미 설명한 바와 같이 모션이 보간되면, 예를 들면 상대측 캐릭터의 움직임에 맞춘 모션을 다채롭게 재현할 수 있게 되어, 모션이 보다 현실감 풍부하게 된다. 통상, 이와 같은 보간을 유저가 실행하는 것은 매우 곤란하고, 무엇보다도 종래 비디오 게임 장치에서는 이와 같은 보간을 실행하도록 구성되어 있지 않다.
또한, 이 처리는 스플라인 함수에 의해 모션이 계산되는 경우를 예로 취하여 설명하였지만, 미리 정해진 패턴이 순차 재현되는 패턴 체인지 방식에 이 처리를 적용하는 것도 가능하다. 이 경우는 연결 영역에 있어서 보정된 패턴을 재현하도록 하면 좋다.
캐릭터의 고저차 처리 :
이 처리는 캐릭터(투사)에 서로 지면으로 부터의 고저차가 있을 때에, 이 고저차를 보정하여 소망 화상을 표시하는 것을 내용으로 한다. 예를 들면, 도 20에 도시한 바와 같이, 서로 마주보는 2명의 투사(200, 202) 사이에 고저차가 존재하는 경우, 투사(200)로부터 펀치를 높은 위치에 있는 투사를 향하여 수평으로 반복하는 것은 현실적이지 않다. 그래서, 이 처리는 이 고저차를 보정하여, 투사(200)로 부터의 구타를 높은 방향을 향하여 반복하도록 시켰다(도 23 참조).
이 처리는 도 21에 도시한 바와 같이, 스텝(2100)에 있어서, 이 고저차를 보정할 필요가 있는가 아닌가가 판정된다. 이 판정에 있어서, 「필요있음」으로 되는 것은 예를 들면, 도시한 바와 같이 서로 마주보는 투사에 대하여, 한쪽 투사로부터 다른쪽 투사에 대하여 손이나 발에 의한 구타의 공격 요구(커맨드)가 발생한 경우이다.
다음에, 이 판정이 부정된 경우는 메인 루틴으로 복귀한다. 한편, 이 판정이 긍정된 경우는 또 스텝(2102)에 있어서, 성대측 투사가 지면상에 서 있는가, 즉 캐릭터와 지면과의 충돌 판정이 실행되고, 이것이 긍정된 경우에는 캐릭터의 고저차 처리를 필요로 하여 다음 스텝으로 이행한다. 이 판정이 부정된 경우는 도시한 루틴을 종료한다.
다음 스텝(2104)에서는 유희자 자신이 조종하는 캐릭터가 서 있는 지면으로 부터의 이 캐릭터까지의 거리를 연산한다. 상대측 캐릭터에 대해서도 같은 연산을 실행한다. 다음에 스텝(2106)에 있어서, 이 결과의 값에 대하여 소정값과 비교하고, 소정값의 범위를 넘는 경우는 스텝(2108)에서 이 범위내에 상기 거리에 관한 차분을 모으는 처리를 실행한다. 즉, 한쪽 유희자가 조종하는 측의 투사의 높이(my)와 다른 유희자가 조종하는 측 또는 화상 처리 장치에 소정의 프로그램에 의해 자동적으로 조종하는 측 투사의 높이를 (ey)로 하면, 양자의 차분(diff1)은 (my-ey)로 되고, 예를 들면, diff1이
-0.15≤diff1≤0.15의 범위내인가 아닌가가 판정되고, diff1이 이 범위를 넘는 경우는 이 범위보다 작은 diff1은 이것을 -0.15로 하고, 이 범위보다 큰 것은 이것을 0.15로 하고, 이 범위내인 경우는 diff1을 그대로 차분 결과(diff2)로서 결정한다. 이와 같이, diff1에 대하여 보정을 실행하는 이유에 대하여 다음에 설명한다.
다음 스텝(2110)에서는 diff2를 공격력이 발생하는 시간(프레임수)로 나누고, 이 결과를 「결과1」로 하고, diff2를 공격력 발생에서 경화가 해소되기 까지의 시간으로 나누어 이 결과를 「결과2」로 한다. 또한, 이것을 도 22를 사용하여 설명한다. 도 22는 공격 기술(투사가 반복하는 차기, 펀치, 점프 등)의 흐름을 도시한 것으로, 1, 2‥‥5의 각 시간마다 프레임의 흐름(시간의 흐름)에 대하여 다음과 같다.
1 : 기술의 개시(0 프레임째)
2 : 공격력의 발생(1부터 3프레임째까지)
3 : 공격력의 소멸(3부터 4프레임째까지
4 : 경화 시간(이것은 다른 공격 기술의 커맨드를 받아들이지 않는 시간, 0부터 4프레임까지)
5 : 기술의 종료(0부터 5프레임째까지)
따라서, 이미 설명한 「결과1」은 (diff2)/2로 되고, 「결과2」는 (diff2)/(4-2)로 된다. 이들 값은 당연한 것이므로, 소정의 워크 RAM 영역에 설정 기억된다. 도 22에 도시한 특성은 각 기술마다 미리 정해져 있다. 결과1은 공격력 발생까지의 프레임마다의 변화율에 상당하는 값이고, 결과2는 경화가 풀리기 까지의 프레임마다의 변화율에 상당하는 값이다.
이어서, 스텝(2112)에서는 요구된 기술마다 기술을 반복할 때의 손이나 다리 등이 이동하는 좌표를 결정한다. 이 좌표값은 상대측 캐릭터에 대하여 높이차가 없는 것을 전제로 미리 정해져 있다. 이 좌표(리프)를 「결과3」으로 한다. 이 리프는 리프를 되돌리기 위한 함수 fat 에 의해 기술을 반복할 때의 손이나 다리의 공간 좌표 위치에 따라 결정된다. 다음 스텝 이후는 공격 기술을 실행할 때의 처리를 설명하는 것이다.
스텝(2114)에 있어서, 기술이 발생하고 나서 현재 표시되는 프레임이 어느 프레임째에 상당하는가가 검출된다. 다음 스텝(2116)에서는 이 프레임이 공격력이 발생하기 이전의 프레임인가 아닌가가 판정된다. 도면에 있어서, 프레임1까지는 공격력이 발생하기 이전의 프레임이라고 판정된다.
다음에 스텝(2116)에 있어서의 판정이 긍정된 경우, 스텝(2118)에 있어서, 상기 「결과1」과 프레임수를 곱하고, 이 연산 결과를 차분으로 하여 상기 스텝(2112)의 리프에 가산한다. 그리고, 이 결과를 사용하여 공지의 인바스키네마틱 기술(예를 들면, 「로보트의 역학과 제어」, 시스템 제어정보학회편, 유본탁저, 조창서점발생, 5.2 유동역학(132페이지∼))를 사용하여, 리스에 이 차분이 더해진 값 등에 따라 투사의 몸 모양을 재계산한다.
이미 설명한 스텝(2116)에 있어서, 공격력이 발생한 이후라고 판정된 경우는 스텝(2200)에 있어서, 경화가 풀리는 프레임수(도면의 「4」에서 현재 프레임수(도면의 「2 또는 3」를 빼고, 결과2에 이 프레임수를 곱하여 스텝으로 이행한다.
이 결과, 스텝(2118)에 의해 도 23에 도시한 바와 같이 자기가 조종하는 투사(200)로부터 상대측 투사(202)를 향하여 투사의 고저차를 보상한 높이로 펀치를 반복하고, 펀치의 명중 또는 펀치가 명중하지 않는다고 하여도, 그후 펀치로서 반복된 팔을 고저차를 보상하면서 원래 위치까지 귀환시킨다.
여기서 설명한 처리에 의하면, 2명의 투사의 고저차를 반영시킨 화상 처리가 실행되므로, 1명의 투사로부터 반복하여 한 공격(펀치, 킥)이 높은 위치에 있는 투사를 향하여 실행되고, 실제 공격 상황에 직면한 영상을 제공하는 것이 가능하게 된다. 따라서, 높은 위치에 있는 투사에 대한 모션을 사전에 메모리에 기억하여 두지 않아도, 하나의 캐릭터와 다른 캐릭터 사이의 화상 처리를 캐릭터 사이의 고저차를 반영한 상태에서 실현할 수 있다.
또한, diff1에 대하여 보정을 실행한 것은 다음의 이유 때문이다. 이와 같은 보정을 실행하지 않으면, 양쪽 투사 사이에 큰 고저차가 있으면, 한쪽 투사로부터 다른쪽 투사를 향한 구타가 극단으로 말하면 지면에 대하여 직각 방향으로 향하여 버려서, 오히려 부자연하게 되기 때문이다.
또한, 이미 설명한 각 처리의 설명에 있어서, 비디오 게임을 예로 하여 설명하였지만, 이것에 한정되는 것은 아니다. 도1에 있어서, CD-ROM을 대신하여 ROM 카세트를 사용하여도 좋다. 이들은 본 발명에 관한 화상 생성 장치의 동작 프로그램이 기억된 기억 매체로서 기능하는 것이다. 또한, 교차 판정 처리에 있어서, 이미 설명한 구조물을 완전히 표시하지 않는 경우외에, 이 구조물을 메쉬 폴리곤 또는 폴리라인 등으로 표시하는 것도, 「표시않음」의 태양에 포함하는 것으로 한다. 또한, 도 24 및 도 25는 본 발명의 모델로서의 인물유사의 캐릭터(투사) 각각 일예이다.
CPU 블록(10)에 의한 그로셰이딩(그밖의 셰이딩에 대해서도 마찬가지임)에 대해서는 캐릭터의 전체 폴리곤에 대하여 실행하는 경우외에, 캐릭터의 일부, 특히 색을 선형 보간하여 입체적으로 보고싶은 부분(예를 들면, 노출하고 있는 피부에 상당하는 폴리곤)에만 대하여 처리를 실행할 수도 있다. 이렇게 하는 것에 의해, CPU 블록(10)에 주는 처리 수행상의 부하를 저감하는 것이 가능하게 된다. 도 24의 캐릭터에서는 의복보다 노출하고 있는 손등, 얼굴 그리고 머리아래의 흉부에 대해서만 그로셰이딩이 실행되고, 도 25의 캐릭터에서는 거의 상반신 및 다리부에 대해서만 그로셰이딩을 실행하도록 하였다.
또한, 각 폴리곤에 대한 Z소트를 거는 경우, 4각형의 폴리곤에서는 종래부터 4정점을 이용하였지만, 이것을 2정점을 각각 연결하는 대각선의 교점(중점)에서만 판정하도록 하여도 좋다. 이 결과, 메인 CPU가 메모리를 액세스하는 빈도를 감소시켜 처리 속도를 향상시킬 수 있다. 또한, 상기 중점에 의해 Z소트를 걸어도 이 중점은 4정점의 평균값이므로, 4정점을 사용한 Z소트의 정도를 그대로 유지할 수 있다. 삼각형의 폴리곤이 경우, 중심을 이용하면 좋다.
다음에, 이미 설명한 화상 생성 장치의 처리 동작의 다른 실시예에 대하여 설명한다. 도 26은 상기 컨트롤 패드(2b)의 상세를 도시한 정면도이고, 이것은 이미 설명한 방향 키(26b)와 A, B, C, X, Y, Z, L, R의 각 버튼을 갖고 있다. 이들 방향 키나 버튼의 누름은 도 24 또는 도 25의 캐릭터(투사)의 움직임에 대응하고 있고, 예를 들면, A 버튼은 「상대 투사로 부터의 공격에 대한 방어 행동」, B버튼은 「상대측 투사에 반복하는 펀치」, C 버튼은 「상대측 투사를 향하여 반복하는 킥」에 상당한다.
유저인 유희자는 이들 키나 버튼을 다채롭게 조작하여 자기가 원하는 캐릭터를 조작하고자 하지만, 매우 신속하고 또한 다채롭게 움직이는 투사를 적절하게 조작하는 것은 매우 숙련을 요한다.
그래서, 여기서 설명하는 처리의 형태에 있어서는 도 27에 도시한 바와 같이, 복수의 버튼을 누르는 것의 조합인 커맨드 기술의 집합을 혼합 기술로 하고, 이것을 파일로 하여 미리 워크 RAM에 설정한다. 그리고, 이것을 이미 설명한 버튼중 하나를 누르는 것에 의해 판독하고, 투사가 커맨드 기술을 순서대로 반복하도록 하고 있다. 도 27에 있어서, PPK와 같이 있는 것은 B 버튼, B 버튼, C 버튼이 순서대로 눌려진 경우와 같고, P+K와 같이 있는 것은 B 버튼과 C 버튼이 동시에 눌려진 경우와 같다. 또한, 각 커맨드 기술에 대하여 그 기술이 점유하는 프레임수를 설정할 수 있도록 되어 있다. 따라서, 유희자는 혼합 기술중의 각 커맨드 기술의 프레임수를 자유롭게 설정할 수 있으므로, 자기가 원하는 혼합기를 다채롭게 만들어낼 수 있다. 이 혼합기의 구체예를 설명하면, 「상대측 투사를 배대되치고, 일어선 부분을 다리로 참」등이다.
더욱 상세히 설명하면, 「P, K, P」는 펀치 버튼, 킥 버튼, 펀치 버튼이 연속해서 눌려진 것을 나타내고, 단 이들이 연속되었다고 판단되었을 때는 배대되치기를 한다고 가정하며, P가 눌려졌을 때에 캐릭터는 펀치 모션으로 들어간다. 이 모션의 시작부터, 예를 들면 모션이 펀치 되돌리기로 되기까지 사이에 K가 눌려졌다고 하면, 반복된 펀치 자세에서 펀치 되돌리기 모션으로 되는 타이밍에서 킥이 시작하고, 킥 모션이 반복되는 사이에 또 P가 입력되었을 때는 연속 기술로 판단하여 배대되치기 모션(명령기)로 연속하여 간다. 이때의 타이밍을 앞서의 킥에서 상대방 캐릭터가 넘어져 있는 타이밍에 맞추도록 하면, 같은 배대되치기에서도 기술이 걸리기 쉬운등, 매우 효과적인 배대되치기를 만들 수 있다.
유희자는 이들 혼합 기술 파일을 복수 만들고, 각 파일에 하나의 버튼을 할당할 수 있다. 단지, 이 혼합 기술 파일이 할당되어 있지 않은 버튼을 누르면 원래 이 버튼에 할당되어 있는 단독기(單獨技)가 나온다. 어느 범위의 버튼에 혼합기를 등록하는 가는 혼합기의 필요성 또는 단독 기술의 필요성에 따라 적절히 결정된다. 각 파일에 할당되는 버튼은 복수라도 좋다.
다음에 이처리의 동작을 도 28에 도시한 흐름도에 따라 설명한다. 먼저 스텝(S280)에 있어서, 이미 설명한 버튼이 눌려졌는가 아닌가가 판정된다. 버튼이 눌려진 경우, 눌려진 버튼에 대하여 혼합 기술이 등록되어 있는 경우(스텝(S282) 긍정), 스텝(284)에 있어서, 워크 RMA에 등록되어 있는 혼합 기술중의 각 커맨드(복수 또는 단독 버튼 누름과 같음)이 순서대로 판독된다. 이어서, 스텝(S286)에 있어서, 파일중의 커맨드가 최후까지 실행되었는가 아닌가가 판정되고, 이것에 긍정된 경우는 이 흐름도가 종료되기까지 반복 실행된다.
한편, 스텝(S280)에 있어서 버트의 누름이 없는 경우는 리턴하고, 또 스텝(S282)에 있어서 눌린 버튼이 혼합기의 파일에 등록되어 있지 않을 때에는 그 버튼에 할당된 단독기가 실행된다.
여기서 설명한 형태에 의하면, 캐릭터(모델)에 대한 동작 커맨드의 조합(예 : 동작 스위치를 누르는 조합 : 하나의 스위치이 누름, 복수의 스위치의 누름, 이들 스위치를 순서대로 누름, 또는 이들 스위치를 동시에 누름)을 미리 메모리에 기억시키고, 이것을 간단한 스위치 조작, 예를 들면 하나의 버튼을 누르는 것에 의해 화상 처리 수단이 판독하고, 판독된 커맨드군에 따라 모델의 움직임(모션)을 연속적으로 제어하도록 하고 있다. 따라서, 이미 설명한 바와 같이, 유저가 복잡한 키 조작을 실행하는 일없이 또한 자기의 기호에 따라 보다 다채로운 모델의 움직임(모션)을 표현할 수 있다.
또한, 도 29는 여기서 설명한 혼합 처리시에, 모니터에 표시되는 모드 셀렉트(모드 선택)을 위한 초기 화면이고, 혼합기의 선택을 위해서는 위쪽 오른쪽의 아이콘이 선택된다. 도 30은 버튼(키)을 기술에 할당(Assign)한 것을 도시한 화면, 도 31은 상기 혼합 기술 파일을 작성하기 위한 화면, 도 32는 서로 투사가 격투 상태에 있는 1상태를 도시한 화면이다. 도 33은 이 1상태의 화면에 그후에 전개되는 화면이고, 투사(「あきら」)가 투사(「らう」)를 쓰러뜨린 상태이다. 또한, 도 33에서 명확한 바와 같이, 한쪽 투사가 다른쪽 투사를 쓰렸뜨렸을 때 (CPU 블록측에서 그렇게 판정하였을 때), 화면중 캐릭터(330)가 그것을 표시하도록 되어 있다. 도 33에 있어서는 「꽃봉오리 식물같은 캐릭터」가 「꽃이 핀 식물같은 캐릭터」로 변경되는 것에 의해 이것을 표시하도록 되어 있다.
제2 실시예
이어서, 화상 처리 장치로서의 비디오 게임기의 제2 실시예를 도 34∼도 68에 따라 설명한다. 또한, 이 제2 실시예에 있어서의 비디오 게임기의 하드웨어 구성은 상술한 제1 실시예의 것과 동일하므로, 그의 설명은 생략한다.
도 34는 CPU 블록(10)에 의해 실행되는 메인 처리를 도시한 흐름도이고, 다음에 설명하는 각 처리가 실행된다. (S200)은 잔상 처리 루틴이고, (S202)는 날려올라감 처리 루틴(비행체의 처리)이고, (S204)는 모델의 자유 낙하 운동 처리, (S206)은 부정형 구획과 모델의 충돌 판정 처리, (S208)은 재생 속도의 변경 처리를 실행한다. 이들 각 처리는 반복 실행된다. 이하, 각 처리에 대하여 설명한다.
잔상 처리
도 35는 모델로서의 투사에 대하여 적용되는 잔상 처리의 원리를 도시한다. 도 35에 있어서, (30)은 투사이고, 투사의 다리(30B)에 대하여 잔상이 표시되어 있다. 즉, 현재 프레임(코마)의 실상이 표시됨과 동시에 이전 프레임의 잔상1 내지 4가 동시에 표시되어 있다.
도 36은 잔상 처리을 원리를 도시한 것이다. 폴리곤 데이터 파일(또는 파라미터 파일)은 이 투사 다리의 「돌려차기」 모션을 규정하는 파라미터를 기억하고 있다. 폴리곤 데이터 파일의 #1 내지 #n은 잔상 개시 시점으로 부터의 코마수를 나타내고 있다.
폴리곤 데이터 파일 #1에는 잔상4에 상당하는 모델 #1이 기억되어 있다. 따라서, 이 시점에서는 화면상에 투사의 모델 #1이 실상으로 하여 표시된다. 다음 시점에서는 폴리곤 데이터 파일 #2에 잔상3에 상당하는 모델 #2가 기억된다. 따라서, 이 시점에서는 화면상에 투사 모델 #2가 실상으로서 표시된다. 이후 마찬가지로 하여, 화면상에 투사의 다리 모델 #3‥‥, #n이 표시된다. 도 4의 4코마째의 경우 (#4)는 다리의 실상 모델로서는 #1 내지 #4까지가 순차 표시된다.
잔상용 버퍼로서 B#1, B#2, B#3 및 B#4가 설정되어 있다. 이들 버퍼에 폴리곤 데이터 파일에 기록된 투사의 모션 데이터가 순차 기록된다. 도 36의 아래쪽란에는 이것이 도시되어 있다. 폴리곤 데이터 파일 #1에 기록되어 있는 모델 #1의 데이터는 잔상 개시후 잔상용 버퍼 #1에 기록되고, 다음 시점에서는 폴리곤 데이터 파일 #2에 기록된 모델 #2의 데이터는 잔상용 버퍼 #1에 기록되고, 잔상용 버퍼 #1의 내용이 잔상용 버퍼 #2로 보내진다. 즉, 잔상용 버퍼의 데이터는 #1→#2→#3→#4의 순서로 보내져서, 잔상용 버퍼 #1에는 폴리곤 데이터 파일부터 하나전의 코마에 있어서의 실상 모션 데이터가 보내진다. 잔상용 버퍼 $4는 순차 그대로 갱신된다.
예를 들면, 5프레임째 시점에서는 폴리곤 데이터 파일에 모델 #5의 모션 데이터가 저장되고, 또 이 모델이 실상으로서 표시되어 있다. 한편, 잔상용 버퍼 #1에는 모델 #4의 모션 데이터가 기억되고, 잔상용 버퍼 #2에는 모델 #3의 모션 데이터가 기억되고, 잔상용 버퍼 #3에는 모델 #2의 모션 데이터가 기억되고, 잔상용 버퍼 #4에는 모델 #1의 모션 데이터가 기억되어 있다.
폴리곤 데이터 파일의 모션 데이터와 잔상용 버퍼의 데이터(과거 계산된 모션 데이터와 같음)은 동시에 표시되므로, 화면상에는 실상과 잔상이 동시에 표시되게 된다. 도 35는 이것을 도시하고 있다. 실상에 대해서는 통상 렌더링이 실시되어 표시되는 것에 대하여, 잔상에 대해서는 연출 효과를 높이기 위해, 바꾸어 말하면 「잔상처럼 보이기」위해 반투명의 처리를 실시하면서 렌더링한다. 이 반투명 정도를 보다 전 시점의 코마수에 있어서의 잔층만큼 높일 수 있다. 전 프레임의 잔상만큼 투명하게 표시된다. 또한, 잔상용 버퍼는 RAM(102)에 설정된다.
다음에, 이 실시예에 있어서의 잔상 처리의 동작에 대하여 설명한다. 도 37은 이 처리를 실행하는 개략 흐름도이다. 먼저, 잔상이 필요한가 아닌가가 판단된다(S500). 이 판단은 예를 들면 모션마다 실행된다. 예를 들면, 투사가 큰 움직임이 따르는 큰 기술(돌려차기, 업어차기 등)에는 잔상이 필요로서 처리된다. 도 35를 참조하기 바란다. 그밖에, 동작량이 소정값이상인 경우도 마찬가지이다.
도 38은 이 잔상 필요성 처리의 상세 흐름도이다. 먼저, 기술의 발생이 체크된다(S600). 이 체크는 이미 설명한 컨트롤러(2b)의 조작 버튼이나 조작 스틱으 조작 상황에 의해 판정된다. 기술이 발생하였다고 판정되면, 기술의 속성 데이터가 판독된다(S602). 기술의 속성 데이터라 함은 각각의 기술에 대하여 주어진 성질에 관한 데이터로서, 예를 들면 「공격 기술인가」, 「다리에 의한 기술인가」, 「손에 의한 기술인가」등이다.
다음에, 이 속성 데이터가 잔상이 발생해야할 데이터인가 또는 그 반대인가가 판정된다(S604). 예를 들면, 「공격 기술」, 또 「다리에 의한 기술」인 경우에는 잔상 표현이 필요한 것으로 하여, 소정의 플래그 "F"를 새워 "1"로 하고(S606), 다른 경우에는 "F"를 "0"로 한다(S608).
개략 흐름도의 다음 스텝에서는 잔상 필요 부위가 특정된다(S502). 이 특정은 상세 흐름도인 도 39에 도시한 처리에 의해 실행된다. 먼저, (S700)에 있어서, 공격 커맨드가 발생하였는가 아닌가가 체크된다. 공격 커맨드라 함은 조작 버튼이나 조작 스틱의 조작이 유희자가 조종하는 투사가 대전 상대 투사에 대하여 공격을 하는 명령 태양에 이른 상태로 발생하는 것이다.
도 39에 있어서, 예를 들면, 돌려차기의 커맨드가 발생한 경우(도 35의 경우가 이것에 해당함.), 공격 부위가 발목 파트(도 35의 30A)인 것이 참조되고(S702), 이어서 다리 전체의 잔상을 형성하기 위해 발목(30A), 종아리(30B), 대퇴부(30A), 즉 좌측 다리 전체(도 35 참조)가 잔상 필요 장소로서 특정된다(S704). 또한, 여기서의 설명과 같이 투사는 복수의 파트로 구성되어 있고, 각 파트는 각각 폴리곤으로 구성되어 있다.
물론, 본 실시예의 경우와 같이, 공격 커맨드가 발생하지 않는 경우에도 잔상을 표시하도록 할 수 있다(S706). 이 경우에는 당연하므로, 도 37의 (S500)에 있어서의 「잔상이 필요한가?」의 판정에 있어서, 「현재 공격중」이 아니라도 잔상 현상이 가능하도록, 잔상의 필요성에 대하여 판정한다. 예를 들면, 투사가 기술을 받아서 넘어지는 과정을 잔상을 수반하면서 표시하는 경우이다. 이 경우는 모션 데이터로부터 (S702, S704)와 같이 잔상이 필요한 부분을 결정한다.
그리고, 도 37의 (S504)에서는 도 35에 이미 설명한 잔상 처리를 실행하여, (S506)에 이르고, 잔상 표시가 종료하였는가 아닌가가 판정된다. 예를 들면, 일련의 모션이 종료하였는가 아닌가가 판정되고, 도 35의 예에서는 돌려차기가 종료하였는가 아닌가가 판정되고, 종료하였다고 판정된 경우는 잔상 표시의 처리가 종료된다.
이 실시 형태에 의하면, 투사의 일련의 움직임 데이터를 갖는 폴리곤 파일의 데이터를 그대로 순차 잔상용 버퍼에 기억하고 있다. 이 폴리곤 파일에는 좌표 변환되어 클리핑된 폴리곤 각 정점의 좌수를 각 점에서의 법선 벡터로 기록하고 있다. 이 폴리곤 파일의 데이터를 그대로 잔상 버퍼에 기록하여, 이것을 현재 실상과 함게 출력할 뿐이므로, 종래 기술과 같이 잔상용 폴리곤을 그의 도도 좌표 변환(모델링)할 필요가 없고, CPU 블록에 주는 계산 부하가 경감된다. 더욱이 파트(다리)의 과거 위치에 잔상이 표시되고, 또한 반투명의 연출이 더해져 있으므로, 잔상 표현을 연출감 풍부하게 표시하는 것이 가능하게 된다. 또한, 반투명 연출 대신에, 다리 폴리곤의 표시를 메쉬 형상 또는 라인에 의해 표현하도록 하여도 좋다. 반투명의 처리에 의해, 다리의 잔상과 배경이 동시에 표시된다.
이 실시 형태에 의하면, 잔상이 붙여지는 큰 기술과 잔상이 붙여지지 않는 중·소 기술을 잔상의 유무에 의해 유희자는 시각을 거쳐 구별할 수 있으므로, 게임의 연출감(게임으로서의 화상 표현의 다양화, 재미 등)이 향상한다
비행체 운동 처리
다음에, 비행체(설치물)의 날아오름 처리에 대하여 설명한다. 이 처리는 다음에 설명하는 바와 같이, 지면의 모래 또는 물, 또 지면으로 떨어지고 있는 나뭇잎을 날려올리는 태양을 구비한다. 먼저, 앞서 2개에 대하여 설명한다. 그의 개요는 다음과 같다.
도 35에 도시한 바와 같이, 투사(30)가 다리를 사용하여 위로차기의 모션을 취한 경우, 또는 투사가 공중에서 착지한 경우, 물, 모래를 날려 올리는 처리가 실행된다. 게임의 연출 효과를 높이기 위해, 이와 같은 처리가 실행된다. 특히 격투용 게임과 같은 유희자가 조작 버튼을 과격하게 조작하여 캐릭터를 신속하게 조작하는 비디오 게임에 있어서는 캐릭터의 움직임이 다채롭고 또한 신속하므로, 이와같은 물 등의 날려올림을 캐릭터의 움직임에 맞추어 신속하고 또한 정확하고 확실하게 계산하여 표현할 필요가 있다. 이하에 설명하는 처리가 이것을 가능하게 한다.
먼저, 모래 또는 물의 점프 처리에 대하여 설명한다. 여기서 점프 처리라 함은 도 40에 도시한 바와 같이, 패턴 체인지하는 폴리곤(모두 32 패턴)이 계산에 의해 구해진 궤도를 순차 운동하는 것이다. 모래 또는 물의 한입자 한입자를 계산하면, 계산 시간이 걸리므로, 몇 개의 입자를 모아서 패턴 체인지하면서 운동시키고 있다.
이 처리에서는 투사의 파트 체크가 실행된다. 상기 투사는 머리, 오른손(위팔뚝, 아래 팔뚝, 손목), 왼손, 가슴, 배, 허리, 왼쪽 다리(대퇴부, 종아리, 발목), 오른쪽 다리의 각 파트로 구성되어 있다. 파트 체크는 다리, 머리, 허리에 대하여 실행된다. 따라서, 예를 들면, 다리에 의해 차올리기, 머리 또는 허리로 부터의 낙하를 시뮬레이트한다. 파트 체크에는 파트의 이용량 체크가 포함된다.
그밖에, 가상 지면의 속성 플래그, 파트 위치 플래그가 체크된다. 가상 지면 속성 플래그(b water)가 "1(물의 속성)" or "0(모래의 속성)" 및 파트 위치 플래그(b air)가 "1(착지 상태)" or "0(공중 상태)"로 설정된다.
(b water)가 "1(물의 속성)"인 경우, 물의 튀김이 실행되고, "0(모래의 속성)"인 경우는 모래 튀김이 실행된다. 물 또는 모래의 튀김에는 다음의 태양이 있다.
착지 발생 : 파트가 지면 또는 수면에 착지(착수)한 경우로서, 발생점으로부터 모래 또는 물이 사방으로 퍼진다.
튀김 발생 : 파트가 지면(수면)에 착지(착수)하고 있는 상태에서 발생하고, 다리의 차올림에 의해 모래 또는 물이 다리(체크하고 있는 파트)의 이동 방향으로 튀긴다. 또한, 튀김 발생 및 착지 발생은 도 60에 모식적으로 도시되어 있다. 도면중 (280)은 캐릭터(투사)이고, 다리를 차올려서 모래 또는 물(282)을 다리의 이동 특성에 따라 튀기고 있다. 또흔 착지하여 물 또는 모래를 착지 동작에 따라 사방으로 튀기고 있다.
이 처리에서는 계속 처리라고 부르는 차기 발생 또는 차올림 발생이 수 인터럽트(수 코마 또는 수 프레임) 사이 계속되는 처리가 실행된다. 통상 이들 발생시에 차올림 수를 결정하여 그의 1/4을 세트한다. 튀김수를 N으로 하면, 1인터럽트마다 다음과 같이 튀김수가 순차 감산되어 실행되게 되어 있다.
튀김수를 N으로 하면,
1회째 1/4N, N` = N-(1/4)·N
2회째 1/4N`, N" = N` - (1/4)N`
3회째 1/4N"
즉, 인터럽트마다 튀김수의 나머지수의 1/4씩 세트하여 간다. 튀김의 형태는 이미 설명한 바와 같이, 패턴 체인지하도록 되어 있다.
착지 발생 경우의 처리에 대하여 설명한다. 체크 파트의 전회(1회전 인터럽트)의 위치를 (0X, 0y, 0Z)로 하고, 금회의 위치를 (PX, Py, PZ)로 한다. 지면 또는 수면의 높이(Y 좌표)를 epos로 한다.
파트의 기본 속도 : SPDX = PX - 0X X 방향
SPDy = 0y - Py Y 방향
SPDZ = PZ - 0Z Z 방향
튀김총수(세트수) : amount = 기본 세트수·파트 이동량
튀김 원점(발생 원점) : 도 41은 가상 공간의 높이 방향(Y 방향)에서 나타낸 모식도이다. 체크 파트가 실선 방향으로 이동하고 있을 때, 도 42에 도시한 바와 같이, 물, 모래의 튀김 발생 원점은 (0X, epos, 0Z)와 같이 설정된다.
모래(물방울)의 발산 처리 : 체크 파트의 기본 속도의 X, Z 성분을 골라낸다. 도 43은 화상 생성 장치내에 가상적으로 설정된 모델 공간의 X-Z 평면이다. 또한, 이 도면은 이 평면을 기울여 위쪽 위치에서 보고 있는 상태를 도시하고 있다. 이 X, Z 성분의 벡터를 XZ 평면상에서 +135°내지 -135°범위에서 랜덤하게 회전시킨다. 도면에 있어서, 원으로 둘러싸인 범위(사선친 부분은 제외)가 모래(또는 물방울)이 확산하여 가는 방향이다.
지금, 랜덤하게 회전시킨 벡터를 A로 한다. 다음에, 이 벡터를 벡터의 방향으로 L이동시켜 L`로 한다. 여기서 「L」은 파트의 반경이다. 예를 들면, 다리인 경우는 10 ㎝, 허리인 경우는 20 ㎝, 머리인 경우는 15 ㎝로 설정되어 있다. 이 A`에 기본 스피드의 Y 성분을 가산하여 최종적으로 모래, 물방울의 튀김 속도가 결정된다. 이 속도가 결정된후, 도 40에 도시한 궤적을 채택하여 모래, 물방울 등이 패턴 체인지되면서 이동된다. 또한, 도 44에 도시한 바와 같이, 파트의 회전(반경 L)에서 모래(물방울)이 사방으로 날아흩어지는 상태가 시뮬레이트된다.
다음에 튀김 발생의 처리에 대하여 설명한다. 도 41에 대응하는 도 45에 도시한 바와 같이, 수중 또는 모래중에 있는 다리가 차올려진다고 한다. 이와같은 동작인 경우, 체크 파트의 기본 스피드를 (PX-0X, PY-0Y, PZ-0Z)로 한다. 이 벡터의 튀김 각도(cosθ)는 도면에 도시한 바와 같이, 벡터의 내적을 사용하여, 도 46에 도시한 바와 같이 계산된다.
여기서, cosθ를 구하는 이유는 튀김의 각도가 큰만큼(90°) 가깝게 튀김량을 감하기 때문이다. 즉, 물, 모래의 세트수를 기본 세트수·이동량·cosθ로 된다.
모래, 물방울의 스피드는 기본 스피드에 난수(0∼255)/2550의 수치를 곱한 값으로 된다. 이것은 앞서의 착지 발생 경우에 있어서도 마찬가지이다. 난수를 곱하는 것에 의해, 랜덤하게 발생하는 모래, 물의 비산을 다채롭게 표시하는 것이 가능하게 된다.
이 스피드에 또 (0X, 0y, 0Z)를 가산한 점이 모래, 물의 비산 발생점으로 된다. 도 47을 참조하면, 난수가 1/10(=255/2550)인 경우, 발생점은 도 47에 도시한 좌표에 의해 표시된다. 또한, 모래, 물이 도 40에 도시한 바와 같이 순차 패턴 체인지(32 패턴)된다.
이미 설명한 게속 처리는 이와 같이 하여 정해진 착지 발생점, 튀김 발생점을 사용하여, 모래, 물의 비산이 계속적으로 표시된다.
도 48은 이상 설명한 이 실시 형태(비행체 운동 처리)의 흐름도이다. (S1600)에 있어서, 체크 파트의 아래가 수면인가 아닌가가 판정된다. 이 판정은 물 또는 모래의 튀김이 예정되어 있는 스테이지(신)에 대하여 실행된다. 바꾸어 말하면, 투사가 서 있는 지면이 바위, 흙 또는 그밖의 고형물인 스테이지에서는 이 판정은 실행되지 않는다. 이렇게 하는 것에 의해, 여러 가지 스테이지가 존재하여도, 이와 같은 비행체의 처리를 필요한 스테이지만 신속히 실행할 수 있다.
파트의 아래가 지면이 아니고 물인 경우는 다음 스텝으로 이행한다. 이 스테이지에서는 이미 설명한 설치면 속성 플래그(b water)가 "1"로 설정되어 있다. 모래위의 스테이지인 경우는 모래 지면의 처리(S1602)로 이행한다. 또한, 이 처리는 수면상의 처리와 같으므로, 그의 설명은 생략한다.
다음의 처리, (S1604)에 있어서는 캐릭터(투사)의 각 파트가 착지(착수)하고 있는가 아닌가가 캐릭터의 금회 포지션의 Y 좌표(Py)와 수면 위치의 Y 좌표(epos)를 비교하는 것에 의해 판정된다. 이 판정에 의해, 체크 파트가 수면 아래에 있는 경우는 착지 발생의 처리로 이행하고, 이것과는 반대 판정인 경우는 튀김 발생의 처리로 이행한다.
(S1606)에서는 전회의 인터럽트에 있어서 착지 상태였는가 아닌가가 착지 판정 플래그를 체크하는 것에 의해 판정된다. 이 플래그(b air)가 「0」인 경우는 수 인터럽트동안 이 착지 상태가 계속된다(S1608). 한편, 이 플래그가 「1」인 경우는 전회의 인터럽트에 있어서 새로 착지가 발생한 것으로 하여, 착지 발생의 처리(S1610)를 함과 동시에, 이 플래그를 「0」로 리셋(S1612)하여 도 34의 메인 루틴으로 리턴한다.
한편, 체크 파트의 Y 좌표가 수면 위치보다 높은 경우는 (S1614)로 이행하여 전회의 인터럽트에 있어서, 착지 상태였는가 아닌가가 착지 판정 플래그를 체크하는 것에 의해 실행된다. 전회 착지 상태였을 때, 즉 체크 파트가 수면 아래에 있었던 경우는 예를 들면, 금회 도면에 도시한 바와 같이 다리의 차올림이 있었다고 하여, 물을 다리의 움직임에 맞추어 위쪽으로 튀기는 패턴이 표시된다(S1616). 그리고, 이 플래그를 「1」로 세트하여(S1617) 리턴한다. 한편, 전회 착지 상태에 없을 때는 튀김의 처리가 계속된다(S1618).
이상 설명한 바와 같이, 이 실시 형태에 의하면, 캐릭터의 이동량, 이동 방향을 캐릭터의 움직임에 맞추어 이동하는 설치물(물, 모래 등)에 반영시키는 것이 가능하게 된다.
다음에, 게임중 캐릭터(투사)의 운동에 의해 바람을 발생시키고, 이 바람에 의해 스테이지로 떨어지고 있는 나뭇잎(비행체중 하나)를 날려 올리는 운동(비행체 운동 처리의 일종)을 시뮬레이트하는 처리에 대하여 설명한다.
도 49를 참조하면, (170)은 운동하는 투사를 도시하고, (172)는 운동하는 투사에 의해 날려 올려진 나뭇잎을 도시한다. 여기서는 말하는 「바람」이라 함은 수 인터럽트(인터럽트라 함은 1화면의 표시를 위한 기간의 것, 이 경우는 1/60초, 바꾸어 말하면, 수직 동기 신호 끼리의 사이) 지속하는 것뿐만아니라, 1인터럽트내에 나뭇잎이 주먹 움직임에 영향을 주는 벡터인 것을 말한다.
이 처리는 도 50에 도시한 개략 흐름도에 의해 실행된다. 이 흐름도는 캐릭터의 운동에 의한 바람이 발생하는가 아닌가의 체크를 실행한다(S1800, S1802). 이어서, 바람이 발생하는 것을 시뮬레이트하는 경우는 나뭇잎이 날려올라감을 체크하는 루틴으로 이행하고(S1804), 이어서 나뭇잎의 운동을 시뮬레이트한다(S1806). 상기 게임기는 최초에 나뭇잎을 공중으로 날려올려서 이것을 낙하시키는 상태를 시뮬레이트하고, 이 나뭇잎이 지면에 도달하기 까지는 이 자유낙하 운동을 계속하고, 이 나뭇잎이 공중에서 지면에 도달한 이후는 나뭇잎이 정지하기 까지 지면상을 기어가는 운동을 시뮬레이트한다. 바람이 발생하지 않는 경우에는 나뭇잎의 날려 올라감 체크를 실행하지 않고, 나뭇잎의 운동을 계속한다(S1806).
먼저, 바람의 발생 체크를 위한 흐름도를 도 51에 따라 설명한다. (S1900)에서는 파트 포지션을 계산한다. 이 계산은 투사가 한쌍 존재하는 경우, 투사1, 2에 대하여 교대로 1인터럽트마다 실행된다. 체크하는 파트는 오른쪽 다리, 왼쪽 다리, 머리의 합계 3장소에 대하여 실행한다. 각각의 파트의 이동량을 체크하여 바람의 발생 유무가 판정된다. 이 판정은 다음과 같다.
도면에 도시한 바와 같이, 체크하는 파트의 전회(1인터럽트점)의 포지션을 (0X, 0y, OZ)로 하고, 금회의 포지션을 (PX, Py, PZ)로 한다. 이때의 이동량 M은 도 51의 (1)식에 도시한 것과 같다. 여기서는 XZ 좌표계에서이 이동량 M`(식(2))를 사용한다.
(S1902)에 있어서, M`가 0.2보다 큰 경우는 파트의 이동량이 바람을 발생시키는 정도로 크다고 하여, 다음 스텝으로 이행한다. M`가 이값보다 작은 경우는 바람이 발생하지 않는 것으로 하여, 이 루틴을 종료한다.
(S1904)에서는 Y 방향의 변화량(Pt-0y)가 (Py-0y)≤-0.8인 경우, 바람의 방향이 극단으로 아래쪽인 것으로 하여 바람을 발생시키지 않는다. (S1906)에서는 바람의 발생 플래그를 「바람 발생있음(=1)」로 세워서, 또한 바람의 발생 포지션 및 바람의 크기(벡터)를 결정한다.
바람의 발생 포지션 및 그의 X, Y, Z방향의 벡터는 도면에 도시한 바와 같다. M`는 0.12≤M`≤1.0으로 수정된다. 이 M`를 바람의 Y방향의 벡터이다. X, Z 방향의 벡터는 X방향, Y방향의 변화량에 0.6을 곱한 값으로 한다. 여기서, 0.6을 곱하고 있는 것은 X, Z 방향의 벡터가 Y 방향의 벡터보다 상대적으로 작은 값으로서, 주로 바람이 모델 공간의 위쪽으로 날려 올리는 상태를 시뮬레이트하기 때문이다.
바람은 하나의 인터럽트 사이 하나의 벡터밖에 발생시키지 않는 것으로 한다. 복수 장소에 있어서, 바람이 발생한 경우에는 그중에서 가장 값이 큰 것을 발생해야할 바람으로 한다.
다음에, 나뭇잎의 불려 올려짐 체크의 흐름도에 대하여 설명한다(도 52). 나뭇잎 하나하나에 대하여, 바람 발생 포지션과 나뭇잎의 포지션으로부터 나뭇잎이 바람의 영향을 받는가 아닌가를 체크하여, 이 영향 범위내이면, 바람의 영향을 받아서 나뭇잎의 운동(스피드, 벡터)이 변화한다.
스텝(2000)에서는 바람의 데이터와 나뭇잎의 데이터가 판독된다. 이들 데이터(X 성분, Y 성분, Z 성분)는 도면에 도시한 바와 같다. (S2002)에서는 나뭇잎의 높이에 관한 연산을 실행한다. 이 연산은 다음과 같다. 지면의 높이를 epos로 하면, 지상 1m의 높이는 epos+1.0(m)로 된다. 이 높이부터 나뭇잎의 높이 1ypos를 뺀 값을 C1로 한다.
C1 = epos + 1.0 - 1 ypos (m)
C1≤0인 때는 나뭇잎의 위치(지상으로부터 1m이상에 있음.)가 캐릭터의 동작에 의해 발생한 바람의 영향을 받지 않는 정도로 높다고 판정되어, 이 처리를 종료한다. 이 때, 나뭇잎은 바람의 영향을 받지 않는다(영향도 0%). 한편, 바람의 영향이 있다고 판정되었을 때(S2004 : No), 즉 C1>0인 때는 C1의 값에 따른 영향 계수를 결정한다(S2006). 예를 들면, 나뭇잎이 지상에 있을 때(1 yos = epos, C1 + 1)는 나뭇잎은 바람의 영향을 100% 받는다. C1=0.5인 때는 50%의 영향을 받는다. C1은 0≤C1≤1.0의 값을 취한다. 이들은 도 68에 설명되어 있다. 이 영향 계수는 나뭇잎의 계수에 의해 나뭇잎이 바람의 몇%의 영향을 받는가 하는 것을 지표하기 위한 것이다.
다음 (S2008)은 바람의 발생 포지션과 나뭇잎의 XZ 평면에 있어서의 거리 L`를 연산한다. 도면에 도시한 L`의 계산식중 w yspd는 이미 설명한 바와 같이 Y축 방향의 벡터이고, 또한 나뭇잎에 대한 영향 거리(반경)도 겸하고 있다.
w yspd-L1가 0이하인 때는 나뭇잎이 바람에 의한 영향범위로 하여, 바람에 의한 영향은 없는 것으로 하여 리턴한다(S2010). 한편, 0을 넘는 경우는 C2(거리에 의한 영향 계수)를 산출한다. 또한, 이 C2를 소정하여 C2`를 산출한다. 이 영향 계수의 예가 도 68에 도시되어 있다.
(S2014)에서는 나뭇잎에 대하여 바람의 영향(벡터 : X 방향, Y 방향, Z 방향), 즉 나뭇잎의 스피드(벡터)를 도면에 도시한 바와 같이 결정하고, 나뭇잎의 현재 포지션에 이 영향을 더하여 나뭇잎의 운동을 시뮬레이트한다(도 50의 (S1806)). 나뭇잎의 운동 처리 루틴은 모두 다음에 설명된다. 나뭇잎의 X 방향, Z 방향 스피드는 항상 새로 설정되고, Y 스피드는 전회(전의 인터럽트)의 스피드에 가산된다.
다음에 나뭇잎의 운동을 시뮬레이트하는 상세 흐름도에 대하여 설명한다(도 53). 나뭇잎의 운동은 도 54에 도시한 바와 같이, 나뭇잎의 중심 포지션의 운동과 나뭇잎 모델의 X, Y rot의 회전 운동 2개의 상태의 것이 부여되어 있다.
(1)은 바람의 영향이나 중력에 의해 나뭇잎의 중심 포지션이 이동하는 운동을 도시한 것이고, (2)는 나뭇잎이 「팔랑팔랑」으로 나는 운동을 Xrot, Yrot에 의해 시뮬레이트(표현)하는 것을 도시하고 있다. 이들 운동은 개략 흐름도로 설명하였지만, 자유 낙하 운동의 일환이다.
전자의 운동(공중에 있는 경우, 그리고 공중에서 착지한 경우)의 특성식은 도면의 (S2100)에 도시한 바와 같다. 나뭇잎이 공중에 있는 경우, X 방향의 속도 (1 xspd)에 0.87을 곱하여 새로운 X 방향의 속도로 하고 있는 이유는 공기 저항을 고려에 넣었기 때문이다. Z 방향에 대해서도 마찬가지이다. Y 방향의 속도는 0.002를 빼서 새로운 Y 방향의 속도로 하고 있다. 이것에 의해, 나뭇잎의 중력 방향의 속도가 서서히 증가하여 하는 것이 시뮬레이트된다. 단, Y 방향의 낙하 속도 (1 yspd)의 최대값은 -0.006으로 한다. 나뭇잎이 착지하고 있는 경우에 대해서는 다음에 설명한다.
한편, 도 55에 도시한 바와 같이, 나뭇잎(230)이 팔랑팔랑으로 날리는 상태는 이미 설명한 X rot와 Y rot에 의해 시뮬레이트된다(S2102). 단, 이 실시 형태에서는 32패턴의 X rot를 준비하여, 순차 패턴 체인지하고 있다. Y rot에 의한 회전은 다음과 같다.
Y 회전 속도 = 1 yspd×1200×256
1회전(360°)을 0×0000∼0×FFFF(0∼65536)으로 표현하고 있다. 1°■182(0xB6)이다. 또한, Y rot도 패턴 체인지하면, 나뭇잎의 움직임이 거칠게 시뮬레이트될 우려가 있으므로, 한쪽 회전 요소(X rot)를 패턴 체인지로 하고, 나머지 요소(Y rot)를 계산에 의해 구하고 있다.
나뭇잎이 지면에 도달한 후의 운동은 도 53에 도시한 바와 같이, 중심 운동 특성식과 회전 운동 특성식에 의해 시뮬레이트된다(S2100, S2102). 중심 운동 특성식은 도 53에 도시되어 있다. 이 운동 특성식에서는 나뭇잎의 Y축 방향의 속도 (1 yspd)는 0으로 설정되어 있으므로, 지면상을 나뭇잎이 회전하면서 움직이는 상태가 시뮬레이트된다. 이 특성식에 있어서, X 방향의 속도와 Y 방향의 속도 각각에 0.5를 곱하고 있는 것은 지면의 마찰을 고려하기 때문으로, 공중에 나뭇잎이 있는 경우보다도 작은 값을 곱하여 공기 저항보다도 지면의 마찰 저항이 큰 것을 시뮬레이트하고 있다. 또한, X축 주위의 나뭇잎의 회전 각도(X rot)가 「0」인가 아닌가가 판정되어 「0」인 경우는 나뭇잎이 지면에 대하여 평행으로 접하였다고 하여 나뭇잎의 움직임을 정지시킨다. 따라서, 캐릭터가 움직이는 것에 의해 발생한 바람에 의해 나뭇잎이 공기중으로 날아간 후, 이 나뭇잎이 지면으로 낙하하여 지면과 평행으로 된 시점에서 나뭇잎의 움직임이 정지된다.
공중에 뜬 나뭇잎이 착지하였는가 아닌가는 지면의 Y 좌표와 나뭇잎의 Y 좌표를 비교하여 판정된다. 나뭇잎의 Y 좌표≤(또는 「=」) 지면의 Y 좌표인 때에 나뭇잎은 착지 상태에 있다고 판정한다. 또한, 나뭇잎은 하나의 폴리곤에 나뭇잎의 모양(텍스쳐)를 붙이는(맵핑)하는 것에 의해 형상 모델링된다.
이상 설명한 비행체(물, 바람, 나뭇잎)은 그의 이동량이나 이동 방향이 캐릭터(모델)의 동작 특성에 의해 정해지므로, 모델의 움직임을 비행체에 정확히 반영시킬 수 있다. 이와 같은 비행체는 본래 모델의 움직임에 의해 날거나 또는 낙하하거나 하는 것으로, 모델의 움직임을 이들에 반영시키는 것에 의해 비행체의 동작을 고품질로 시뮬레이트할 수 있다. 또한, 이상 설명한 비행체의 운동 처리에 의하면, 가상 공간내에 있어서의 모델(비행체)의 (자유) 낙하 운동을 연출감 풍부하게 또한 고품질로 재현할 수 있다. 예를 들면, 나뭇잎이 「팔랑팔랑」으로 날리는 영상이 생성되어 있는 것이다.
자유 낙하 운동 처리
다음에, 가상 공간내를 낙하는 대상물의 운동 처리에 대하여 설명한다. 여기서의 실시예는 대상물을 눈으로 하여 눈에 「흔들림」운동을 주는 연출을 시뮬레이트하는 것에 대하여 설명한다. 여기서 설명하는 「흔들림」이라 함은 눈이 바람에 의해 날리면서 내리고 있는 상태 또는 투사의 움직임에 의해 날려올라간 낙옆이 날려 떨어지는 상태등 비교적 불규칙한 운동을 말한다. 이 실시예는 이 「흔들림」의 상태를 효율좋게 시뮬레이트하도록 하고 있다.
그래서, 눈이 날리는 실시예에 대하여 설명한다. 날려 떨어지는 눈 하나는 하나 또는 복수의 폴리곤에 의해 구성되어 있고, 모델 공간에 설정되어 있는 바람의 벡터(이 벡터는 적절히 변화시키고 있음)의 영향을 받고 있다. 눈의 폴리곤 운동은 중력에 의한 자유 낙하, 바람 벡터에 의한 영향(이상, 청구항의 제1 수단), 가상 공간의 XZ 평면(물 평면, 즉 지표면에 평행한 좌표계)의 원 운동(동항의 제2 수단)에 의해 시뮬레이트된다. 원운동의 각속도, 진폭은 메모리내에 테이블화되어 있고, 그의 하나가 선택되어 사용된다.
눈의 권동에 흐들림을 주고, 이미 설명한 원운동은 다음과 같이 하여 부여된다. 각속도를 ω로 하고, 회전각을 q로 하고, 진폭을 a로 하면, 흔들림 운도의 X 성분(x off)와 Z 성분(z off), 즉 눈의 기본 권동(자유 낙하와 바람에 의한 벡터에 의해 결정됨.)에 대한 오프셋량은 다음과 같다.
x off = sin(q+ω)·a
y off = cos(q+ω)·a
이 오프셋 데이터는 매 인터럽트사이 10회 계산되어 눈의 기본 포지션에 가산된다.
눈의 운동 방정식은 다음과 같다.
x pos : 눈의 포지션 (X 방향),
y pos : 눈의 포지션 (Y 방향),
z pos : 눈의 포지션 (Z 방향)으로 한다.
x pos = s pos + x off + wind x (바람 벡터 스피드의 x 성분)
y pos = y pos + fall (눈의 낙하 속도, 예-1㎝/int)
z pos = z pos + z off + wind z (바람 벡터 스피드의 z 성분)
본 실시예에 의하면, 눈이 바람에 흔들려 날려 떨어지는 권동(도 56 참조)이 상기 운동 방정식에 의해 표현된다. 따라서, 복잡한 눈의 「흔들림」운동이 간단한 계산식에 의해 얻을 수 있고, CPU 블록에 주는 계산 부하도 큰 것으로는 되지 않는다.
도 56은 이 눈의 이동 궤적을 도시한 것으로, 소정 방향으로 크기나 방향이 변하는 벡터를 자유 낙하는 눈에 더해도 「흔들림」의 상태를 정확하고 확실하게 시뮬레이트할 수 없다. 그래서, 이 눈에 원운동(주회 운동의 일종, 그밖의 타원 운동과 같은 것이라도 좋음.)을 더하는 것에 의해, 이 「흔들림」을 재현할 수 있도록 하고 있다.
이 처리에 의하면, 가상 공간내의 모델의 자유 낙하 운동을 시뮬레이트할 때의 품질을 높일 수 있으므로, 낙하 화상 처리의 연출감을 풍부하게 자아내는 것이 가능하게 된다.
부정형 구획에 있어서의 충돌 판정 처리
다음에, 부정형의 구획과 모델의 충돌 처리에 대하여 설명한다. 이 처리는 다음과 같은 내용을 갖고 있다. 여기서, 구획이라 함은 투사의 움직임을 규제하는 영역이고, 예를 들면, 둘레가 부정형의 벽으로 둘러싸인 링을 상상하면 이해하기 쉽다. 투사는 이 링내를 자유롭게 이동할 수 있지만, 벽을 넘어 링밖으로 이동할 수는 없다. 이 벽이 여기서 설명하는 「구획」에 상당한다.
도 57의 (A)에는 부정형의 구획(250)이 도시되어 있다. 이 구획은 가상 공간의 XZ 평면(Y축은 높이 방향)에 설정되어 있다. 이 구획은 7각형으로서 설정되어 있다. 이 구획으로서는 여러 가지 형태의 것을 설정할 수 있다. 이와 같은 구획으로서는 둘레가 바위인 링을 상정한 경우의 그 바위를 말한다.
도 57은 이 처리의 원리를 도시하고 있다. 벽(구획)이 실재로 존재하는 것처럼 보이기 위해서는 캐릭터가 벽을 넘어 이동하지 않도록, 캐릭터의 위치를 보정할 필요가 있다. 이 실시 형태는 크기나 모양을 임으로 설정할 수 있는 투기장의 벽과 캐릭터의 닿음 판정을 실행하고, 위치를 보정하기 위한 벽의 법선 방향으로 추출하는 벡터를 산출한다.
도 57의 (A)는 이 충돌 판정의 모델도이고, (B)는 벡터 계산의 원리도이고, (C)는 캐릭터(모델)와 구획의 충돌 판정 모델도의 일부 확대도이다. 또한, 도 57에는 벡터 계산식도 동시에 기재되어 있다.
(A)에 도시한 바와 같이, 이 닿음 판정에 즈음하여, 캐릭터의 형상을 구에 의해 근사하고, 또 벽 및 이 구체를 지면과 평행한 평면(XZ 평면)으로 평행 투영하여, 구획의 영역을 형성하는 각변과 구가 투영된 결과 얻어진 원(252)의 위치 관계를 조사한다. 여기서, 구의 위치는 캐릭터의 계산상 위치이다. 이 도면에 있어서, L은 이 구획의 임의의 변의 일정점이고, R은 변위 다른 정점이다. 어느 임의의 변에 대하여, 반시계 방향으로 L이 오도록 설정된다.
도면중 T는 캐릭터가 투영된 원의 중심점이다. 벡터 R, 벡터 T, 벡터 L은 이 좌표계의 어느 임의의 일점에서 이들 각점에 대하여 설정된 벡터이다. 또한, 벡터 P는 원의 중심 좌표에서 구획의 각변에 대하여 수직으로 내린 벡터이다. 벡터 V는 이 원에 대한 변 LR에 평행한 접선과 원의 교점에서 변 LR에 대하여 직각으로 내린 벡터이고, 이 처리에 있어서의 추출 벡터에 상당한다.
이 처리에 있어서는 추출 벡터 VR가 산출되는 것이 목적이다. 원의 중심이 직선 RL의 외측(이것을 정영역으로 함.)이 있는 경우는 도면에 도시한 바와 같이, 추출 벡터는 도면의 식(1)에 도시한 바와 같이 설정된다.
한편, 원의 중심이 직선 RL의 내측(이것을 부영역으로 함.)에 있는 경우는 식(2)와 같이 설정된다. 즉, 원의 중심과 직선 RL 사이의 거리가 반경 (d)이상인 경우는 추출 벡터는 설정되지 않는다. 이 거리가 넘는 경우는 추출 벡터가 설정된다. 이때, 벡터는 벽의 방향을 향하고 있으므로, 단위 벡터 Pe를 원의 중심이 직선 RL 외측에 있는 경우와는 반대 방향으로 설정된다.
도 58은 이 실시예의 동작에 대하여 설명하는 플루우챠트이이다. 먼저, 컨트롤러의 버튼 또는 방향 키의 조작량이 판독된다(S2600). 이 조작량에서 계산상의 캐릭터 위치가 결정된다(S2602). 즉, 구획이 없다고 한 경우의 캐릭터의 계산상 위치로서, 컨트로러의 조작에 의해 이 위치가 요구된다.
이어서, (2604)에 있어서, 이 캐릭터의 위치와 어느 변 RL과의 비교가 실행된다. 즉, 도 57의 식(3)의 관계가 체크된다. 이 판정이 부정된 경우(>1)는 다음 변 RL에 대하여 이 관계를 체크한다. 이 경우는 점 T에서 이 변에 직각으로 벡터 P를 내릴 수 없다고 하고(즉, 충돌 판정 대상으로 되는 변으로는 되지 않음.), (S2606)의 벡터 P의 계산 처리를 실행하지 않고 (S2608)로 이행한다.
이 관계가 긍정된 경우는 (S2606)에서 도 57에 도시한 바와 같이, 벡터 P의 값을 산출한다. 이어서, (2608)에서 모든 변에 대하여, (S2604)의 처리가 종료하였는가 판정되고, 부정된 경우는 (S2610)으로 이행하여 다른 변에 대해서의 비교가 실행된다(S2604). 한편, 이것이 긍정된 경우는 (S2612)로 이행하고, 벡터 P의 최소값이 선택된다. 이 벡터 P가 설정된 변이 추출 벡터를 법선 방향으로 설정하기 위한 벽(변, 구획)으로서 결정된다. 즉, 이 벡터가 설정되는 변 쪽에 캐릭터가 접촉하고 있다고 판정된다.
그리고, 다음 스텝(S2614)에서는 원의 중심이 구획내에 있는가 아닌가가 판정되고, 구획밖일 때는 도면의 식(1)에 의해 추출 벡터가 설정되고, 구획내인 때에는 식(2)에 의해 추출 벡터가 설정된다. 식(1)의 경우 및 식(2)에 있어서, 벡터 P의 크기가 원의 반경보다 작은 경우는 벡터와 벽 사이에 닿음(충돌)이 있다고 되어, 이미 설명한 추출 벡터가 설정된다. 이 추출 벡터에 의해 실제 영상에서는 캐릭터가 이 구획(벽)에서 앞서 이동하는 것이 규제되는 화상 처리가 실행된다(S2616).
물론, 이 벽에서 추출 벡터에 의해 모델이 벽에서 변의 법선 방향으로 정의된 벡터 V에 의해 치도록 화상 처리를 실행하도록 하여도 좋다. 도 67은 이때에 있어서의 화상 처리의 일예이고, 부호(350)은 투사이고, 부호(352)는 부정형의 벽이다. 투사(352)가 도면중 구획측(도면중 왼쪽 방향)으로 이동하도록 하여도, 구획에 막혀서 이동할 수 없는 상태를 나타내고 있다(도면의 (1)의 상태). 단, 도면의 (2)에 도시한 바와 같이, 투사(350)의 전체는 구획에 의해 이동할 수 있는 상태이지만, 오른쪽 다리(354)(캐릭터의 일부 파트)가 양방향으로 화살표로 도시한 바와 같이 진퇴하도록 할 수 있다. 이것에 의해, 유희자는 자기가 조종하는 모델이 구획에 막혀서, 그이상 그의 방향으로 이동할 수 없는 것을 알 수 있다.
이 실시 형태에 도시된 처리에 의하면, 각 변마다 추출 벡터를 산출하도록 하고 있으므로, 부정형의 구획이라도 이 구획과 캐릭터의 닿음 판정을 확실하게 실행할 수 있고(즉, 추출 벡터의 값이 부여되었을 때에는 닿음 판정이 긍정됨.), 이 판정 결과를 화상 처리에 반영하는 것이 가능하게 된다.
텍스쳐열의 작성
다음에 반복하는 텍스쳐열을 작성하는 형태에 대하여 설명한다. 도 59는 이것을 도시한 설명도이다. 하단(Bottom)에는 제1 텍스쳐열이 도시되어 있고, 중단(Top)에는 제2 텍스쳐열이 도시되어 있다. 상단(Togeter)에는 제1 텍스쳐열과 제2 텍스쳐열을 겹친 결과의 제3 텍스쳐열이 도시되어 있다.
제3 텍스쳐열은 소정의 주기를 갖고 반복하는 영상 「해상의 반사 패턴」의 영상인 것을 목적으로 형성된 것이다. 제3 텍스쳐열은 0∼29의 30커트(장)의 그림으로 구성되어 있고, 이들 그림을 순차 폴리곤에 맵핑하고, 즉 0∼29번까지의 그림을 맵핑한후, 또 0∼29번까지 맵핑하고, 이들을 반복하는 것에 의해, 이들 텍스쳐열의 연결 부분(예를 들면, 28∼2번)에서의 그림의 변화를 자연적(연속적, 바꾸어 말하면, 그림날림이 없음)이도록 하고 있다. 이것에 의해, 해면상의 반사 패턴이 반복하는 영상을 작성할 수 있다.
여기서, 제1, 2의 텍스쳐열은 이미 설명한 시판 애프리케이션 소프트웨어를 이용하여 작성된다. 텍스쳐열의 발생에 있어서 파라미터의 값은 각각의 열에 따라 다르게 하고 있다. 단, 소프트웨어의 제약 때문에, 각각의 열에 있어서 같지만, 텍스쳐열의 최초 영역과 최후 영역의 텍스쳐군은 연결이 나쁜 그림으로 되어 있다. 즉, 예를 들면, 제1 텍스쳐열의 0번과 29번, 그리고 제2 텍스쳐열의 0번과 59번이다.
그래서, 이 처리에 있어서는 제2 텍스쳐에 순차 변화하는 투명도의 파라미터(0∼100%)를 준다. 제2 텍스쳐열 상에 기재되어 있는 수치가 이 투명도에 관한 값이다. 100%로 있는 것은 투명도가 전혀 없는 상태를 나타내고, 그밖에 7%로 있는 것은 투명도가 보다 진행한 상태(투명도 93%)인 것을 나타내고 있다. 모두 투명하게 하는 경우에는 0%가 부여된다. 제1 텍스쳐는 100%의 파라미터를 부여하고 있다.
제3 텍스쳐열은 제1 텍스쳐열과 제2 텍스쳐열을 도시한 바와 같이 순번으로 겹쳐서 작성된다. 즉, 제1 텍스쳐열의 0번과 제2 텍스쳐열의 30번이 겹쳐서 제3 텍스쳐의 0번이 형성되고, 제1 텍스쳐열의 1번과 제2 텍스쳐열의 31번이 겹쳐서 제3 텍스쳐의 1번이 형성되고, ‥‥, 제1 텍스쳐열의 29번과 제2 텍스쳐열의 59번이 겹쳐서 제3 텍스쳐열의 29번이 형성된다.
이때, 제1 텍스쳐열의 0번과 제2 텍스쳐열의 30번이 겹칠 때, 제2 텍스쳐열의 30번의 투명도는 0이므로(전혀 투명하지 않은 상태), 제1 텍스쳐열의 0번은 제2 텍스쳐열의 30번에 모두 숨겨져, 제3 텍스쳐열의 0번의 영상은 제2 텍스쳐열의 30번의 영상에 같게 된다.
한편, 제1 텍스쳐열의 29번과 제2 텍스쳐열의 59번이 겹칠 때, 제2 텍스쳐열의 30번의 투명도는 97%이므로(거의 투명에 가까운 상태), 제3 텍스쳐열의 29번의 영상은 제1 텍스쳐열의 29번의 영상에 거의 같게 된다(바꾸어 말하면, 제2 텍스쳐열의 59번의 영상은 전혀 보이지 않는 상태).
여기서, 제2 텍스쳐열을 발생시킬 때, 파라미터의 부여 방법은 그의 30번 그림이 제1 텍스쳐열의 29번 그림에 이어지는 그림으로 되도록 하고 있으므로, 제3 텍스쳐열을 본 경우에는 텍스쳐열의 연결 부분에(도 59에서는 28번∼2번)에 있어서, 연결이 이미 설명한 바와 같이 자연스럽게 되는 그림을 발생시킬 수 있다.
제1 텍스쳐열의 마지막 부분(예를 들면, 25번 내지 29번), 제2 텍스쳐의 최초 부분(예를 들면, 30번 내지 34번)의 그림이 이어지도록 각각의 텍스쳐열이 파라미터를 주는 것에 의해(또는 결과적으로 이렇게 되는 것에 의해), 도면의 화살표로 나타낸 바와 같이, 투명도도 감안하면, 제1 텍스쳐열의 29번에서 제2 텍스쳐열의 30번으로 이어지도록 되는 것에 의해, 제3 텍스쳐열이 도시한 바와 같이 자연스럽게 이어지는 형태의 그림으로 된다.
제3 텍스쳐는 메모리의 소정 영역에 기억되어 있고, 해면을 도시한 폴리곤에 순차 맵핑되어 해면의 흰 파도(화면상에서는 휘도가 높은 부분, 도 27에서는 희게 표시되어 있는 부분)의 모양이나 형태가 주기적으로 반복하는 영상을 표현할 수 있다. 도시한 예에서는 1/30초마다 한 장의 그림이 표시된다고 하고, 30장의 그림이라고 하면, 1초마다 해면의 흰 파도 부분의 모양이 주기적으로 반복하는 영상을 재생할 수 있다.
파도의 형태를 재생하는 속도 및 사용하는 텍스쳐수는 적의 변경가능하다. 화면의 중심에 투사가 서 있는 스테이지가 있다고 하면, 스테이지 근방(즉, 화면의 중심 부근)에서는 이미 설명한 재생 속도(일코마당 1/30초, 30코다 재생)로 하고, 이것부터 먼 파도에 대해서는 컴퓨터의 계산 부하를 저감하는 관점에서, 일코마당 재생 속도를 내리고 또한 합계 사용 코마수를 작게 할 수 있다. 예를 들면, 제3 텍스쳐열의 0번, 10번, 20번, 29번의 코마를 사용한다. 이와 같이 한 것은 하면의 주변 근방에 있는 영상의 재생을 다소 거칠게 하여도, 유희자에게 주는 나쁜 인상은 적고, 또한 컴퓨터 그래픽스 장치의 계산 부하를 저감하는 일이 유리하기 때문이다.
이미 설명한 게임 장치의 메모리에는 제3 텍스쳐열이 기억되어 있다. 따라서, 컴퓨터 그래픽스를 사용한 게임기 분야에 이미 설명한 캐릭터열을 이용할 수 있다. 여기서, 설명한 캐릭터열의 발생 방법은 컴퓨터 그래픽스의 기술 분야뿐만아니라, 애니메이션의 동화 작성 기술에도 이용할 수 있다.
슬로우 재생 처리
도 61 내지 도 64는 슬로우 재생 처리(재생 속도 변경 처리)의 원리를 설명하기 위한 캐릭터의 동작도이다. 2명의 투사(290, 292)가 서로 마주보고, 양자의 투기 우열을 겨루고 있는 상태를 도시하고 있다. 도 61에 있어서, (290)은 공격을 받고 있는 투사이고, (292)는 공격측 투사이다. 부호(294)가 투사(290)가 투사(292)로부터 투기(공격 : 펀치)를 받는 공격 부위이다. 도 61과 도 61을 위쪽에서 본 평면도인 도 62는 투사(290)가 공격을 그대로 받고 있는 상태를 도시하고 있다.
한편, 도 63과 그의 평면도인 도 64에 도시한 바와 같이, 투사(290)가 투사(292)로부터 기술을 오른손의 펀치로 후려쳐서(즉, 방어), 그것이 성공하면 투사(292)가 화살표 방향으로 고개가 위로 젖혀지는(빗나가는) 모션이 재생된다. 이때, 투사(292)의 모션 재생 속도를 저하시켜 슬로우 재생을 실행한다.
이와 같이, 한쪽 캐릭터(투사)가 다른 투사에게 기술(「펀치」)을 반복하였다고 한다. 한편, 다른 투사가 이 펀치를 후려치는 기술을 거의 동시에 내었다고 한다. 또한, 이들 펀치나 또는 후려치기 기술(대응기술)은 유희자가 컨트롤 패드의 조작 버튼이나 방향 키를 적의 조작하는 것에 의해 발생한다.
이 펀치의 후려치기가 성공한 때에 공격측 투사가 뒤쪽으로 크게 젖혀지는 모션이 재생된다. 이때, 이 모션 재생 속도를 방어측 투사의 영상 재생 속도보다도 작게 되도록 한다. 그러면, 이 슬로우 재생에 의해, 공격측 투사에게 소위 「틈」이 생겨셔, 방어측 투사로부터 공격 기술을 공격측 투사에게 반복하기 쉽게 된다. 투사(292)는 일단 젖혀진 후, 도 65와 같이 원래의 체형(젖혀지기 전)으로 서서히 복귀한다.
도 66은 이 처리를 도시한 흐름도이다. (S3400)에 있어서, 방어측 투사가 이미 설명한 후려치기 기술을 낸다. (S3402)에서는 상대측 공격 기술(도면의 경우는 「펀치」)이 후려치는 기술에 해당하였는가(즉, 후려치기 기술의 동작 커맨드아래에 있는 손의 파트와 공격측 투사의 손의 파트 충돌 판정)의 판정을 실행한다.
이 판정이 부정된 경우는 슬로우 재생의 처리를 실행하는 일없이 리턴한다. 한편, 이 판정이 긍정된 경우는 공격측 캐릭터가 방어측 캐릭터의 정면에 위치하지 않는 경우에는 리턴하고, 정면인 경우에는 (S3406)으로 이행한다(S3404). (S3406)에서는 공격 기술이 후려칠 수 있는 기술인가 아닌가를 판정한다. 예를 들면, 펀치이면 후려칠 수 있고, 킥이면 후려칠 수 없는 등이다. 이 판정은 기술마다 전용 플래그를 설정하여 플래그 레지스터의 내용을 참조하는 것에 의해 용이하게 실현된다.
후려치기 불가 기술인 경우는 처리를 종료하고, 후려치기 가능 기술인 경우는 (S3408)로 이행한다. 이 스텝에서는 슬로우 재생되어야 할 코마수를 설정하고, 이것을 타이머에 보존한다. 다음 스텝(S3410)에서는 기술에 의해 후려쳐지는 양(도면의 예에서는 공격측 투사가 젖혀지는 모션을 재생하는 경우, 각 파트가 젖혀지는 양)을 설정한다. 코마수 및 후려치기 양은 소정의 특성식에 의해 계산되고, 또는 테이블화되어 있다.
(S3412)에서는 후려치기양을 설정된 코마수로 나누고, 일코마분의 리프량(공간 좌표계에 있어서의 이동량 및 이동 방향)을 산출한다. 그리고, (S3414)에서는 공격측 투사의 재생 속도(표시 속도)를 제어측 투사의 예를 들면 절반으로 한다. 예를 들면, 공격측 캐릭터의 재생 속도를 1/60초의 절반 1/30초로 한다.
이어서, (S3416)에서는 상기 타이머의 값을 판정하고, 「0」인 경우는 슬로우 재생 처리는 종료하였다고 하여, 공격측 투사의 재생 속도를 원래의 속도로 복귀시켜(S3417), 리턴한다. 한편, 「0」가 아닌 경우는 일코마당 리프량에 타이머의 값을 곱하여 공격측 이동량으로 한다. 그리고, (S3420)에서는 이 이동량을 공격측 투사의 좌표값에 가산한다. 즉, 도 51의 공격측 투사(292)의 위치에 도 63의 후려치기 기술이 성립한 경우의 이동량(젖혀짐 양 : 본래 포지션(도 61의 투사(292)의 위치))을 더한다.
이어서, (S3422)에서는 타이머의 값(T)을 1빼서, (S3424)에서는 공격측 투사(292)(도 63)의 모션 위치를 재계산하는 것이 실행된다. 그리고, 메인 루틴으로 리턴한다.
이 처리에 의하면, 후려치기 기술이 성공하였을 때에 공격측 투사가 최초에 크게 젖혀지면서 슬로우 재생 상태에서 또 서서히 젖혀져 가는 영상이 재생된다. 이때, 방어측 투사는 공격 기술을 공격측 투사에 대하여 반복하기 쉽게 된다.
이 처리에 의하면, 한쪽 투사의 모션 재생 속도를 낮게 하면서 다른쪽 투사의 모션 재생을 실행할 수 있으므로, 유희자는 자기가 조종하는 방어측 투사 기술을 보다 유효하게 반복할 수 있게 되어, 이것은 게임 요소로서의 슬로우 재생을 가능하게 한다. 따라서, 슬로우 재생을 연출감 풍부하게 표현하는 것이 가능하게 된다.
또한, 본 발명은 상술한 각종 실시예의 구성에 한정되는 것은 아니고, 당업자라면, 청구의 범위 기재의 구성 범위내에서 더욱 여러 가지 변형이 가능할 것이다.
또한, 게임기의 동작용 프로그램이 기억된 기억(기록) 매체로서는 이미 설명한 카트리지 ROM, CD-ROM 외에 인터넷, 퍼스컴네트상의 통신 매체라도 좋고, 또한 전자 메일의 서버도 포함하는 것이다.

Claims (18)

  1. 가상 공간내에 소정수의 모델을 설정하고, 이 모델이 상기 가상 공간내에서 소정 방향으로 이동하도록 제어됨과 동시에, 가상 시점에 기초하는 이 가상 공간의 영상을 표시 수단에서 표시하도록 한 화상 처리를 실행하는 게임 장치에 있어서,
    대치하는 복수의 모델 사이에 가상적인 인력을 설정한 화상 처리 수단을 포함하는 것을 특징으로 하는 게임 장치.
  2. 가상 공간내에 소정수의 모델을 설정하고, 이 모델이 상기 가상 공간내에서 소정 방향으로 이동하도록 제어됨과 동시에, 가상 시점에 기초하는 이 가상 공간의 영상을 표시 수단에서 표시하도록 한 게임용 화상 처리 장치에 있어서,
    상기 모델에 향심력(向心力;상대측 캐릭터로 향하는 힘)을 주는 화상 처리 수단을 포함하는 것을 특징으로 하는 게임용 화상 처리 장치.
  3. 가상 공간내에 소정수의 모델을 설정하고, 이 모델이 상기 가상 공간내에서 소정 방향으로 이동하도록 제어됨과 동시에, 가상 시점에 기초하는 이 가상 공간의 영상을 표시 수단에서 표시하도록 한 게임용 화상 처리 장치에 있어서,
    상기 모델이 이동하고 있을 때와 정지하고 있을 때의 마찰량을 변화시켜, 이 모델에 부여하는 화상 처리 수단을 포함하는 것을 특징으로 하는 게임용 화상 처리 장치.
  4. 가상 공간내에 소정수의 모델을 설정하고, 이 모델이 상기 가상 공간내에서 소정 방향으로 이동하도록 제어됨과 동시에, 가상 시점에 기초하는 이 가상 공간의 영상을 표시 수단에서 표시하도록 한 게임용 화상 처리 장치에 있어서,
    상기 모델이 놓여지는 스테이지의 표면 형상에 맞추어 상기 모델의 투영상을 표시시키는 화상 처리 수단을 포함하는 것을 특징으로 하는 게임용 화상 처리 장치.
  5. 가상 공간내에 소정수의 모델을 설정하고, 이 모델이 상기 가상 공간내에서 소정 방향으로 이동하도록 제어됨과 동시에, 가상 시점에 기초하는 이 가상 공간의 영상을 표시 수단에서 표시하도록 한 게임용 화상 처리 장치에 있어서,
    상기 가상 시점이 표시 대상으로서의 상기 모델에 대하여 이루는 시야 영역과, 표시 대상으로서 설정되어 있지 않은 다른 모델과의 겹침 판정을 실행하고, 이 판정이 긍정된 경우에 이 다른 모델이 표시되지 않도록 한 화상 처리 수단을 포함하는 것을 특징으로 하는 게임용 화상 처리 장치.
  6. 가상 공간내에 소정수의 모델을 설정하고, 이 모델이 상기 가상 공간내에서 소정 방향으로 이동하도록 제어됨과 동시에, 가상 시점에 기초하는 이 가상 공간의 영상을 표시 수단에서 표시하도록 한 게임용 화상 처리 장치에 있어서,
    상기 모델의 예정된 이동 궤적의 종료점에 대하여, 이 종료점과는 다른 목표점이 설정되고, 상기 종료점을 이 목표점에 일치시키도록 이동 궤적이 보간되는 화상 처리 수단을 포함하는 것을 특징으로 하는 게임용 화상 처리 장치.
  7. 가상 공간내에 소정수의 모델을 설정하고, 이 모델이 상기 가상 공간내에서 소정 방향으로 이동하도록 제어됨과 동시에, 가상 시점에 기초하는 이 가상 공간의 영상을 표시 수단에서 표시하도록 한 게임용 화상 처리 장치에 있어서,
    상기 모델이 상기 가상 공간내에 놓여져 있는 고저차를 구하고, 이 고저차에 따라 이 모델에 대하여 주어지고 있는 동작을 보정하는 화상 처리 수단을 포함하는 것을 특징으로 하는 게임용 화상 처리 장치.
  8. 가상 공간내에 소정수의 모델을 설정하고, 이 모델이 상기 가상 공간내에서 소정 방향으로 이동하도록 제어됨과 동시에, 소정 위치의 시점에 기초하는 이 가상 공간의 영상을 표시 수단에 표시하도록 한 게임용 화상 처리 장치에 있어서,
    모델의 이동 궤적을 잔상으로서 표현하기 위한 잔상 표현 처리 수단을 포함하며,
    상기 처리 수단은 상기 모델의 현재 모션 이전의 모션 데이터를 그대로 기억하는 기억 수단과 이 기억 데이터를 상기 모델의 현재 모션 데이터와 함께 표시하는 표시 제어 수단을 포함하는 것을 특징으로 하는 게임용 화상 처리 장치.
  9. 제8항에 있어서, 상기 표시 제어 수단은 상기 기억 수단의 데이터에 연출을 더하여 표시하기 위한 연출 수단을 포함하는 것을 특징으로 하는 게임용 화상 처리 장치.
  10. 제9항에 있어서, 상기 연출 수단은 반투명의 화상 처리를 실행하는 것을 특징으로 하는 게임용 화상 처리 장치.
  11. 가상 공간내에 소정수의 모델을 설정하고, 이 모델이 상기 가상 공간내에서 소정 방향으로 이동하도록 제어됨과 동시에, 소정 위치의 시점에 기초하는 이 가상 공간의 영상을 표시 수단에 표시하도록 한 게임용 화상 처리 장치에 있어서,
    상기 모델의 이동 특성을 산출하는 산출 수단; 및
    상기 가상 공간내에 비행체를 존재시킴과 동시에 이 비행체의 일련 운동을 상기 산출 수단에 의한 산출 결과에 따라 제어하는 비행체 제어 수단
    을 포함하는 것을 특징으로 하는 게임용 화상 처리 장치.
  12. 가상 공간내에 설정된 모델의 자유 낙하 운동을 시뮬레이트하는 게임용 화상 처리 장치에 있어서,
    상기 모델의 전체 운동을 시뮬레이트하는 제1 수단; 및
    상기 모델에 주변 회전 운동을 부여하는 제2 수단
    을 포함하는 것을 특징으로 하는 게임용 화상 처리 장치.
  13. 가상 공간내에 소정수의 모델을 설정하고, 이 모델이 상기 가상 공간내에서 소정 방향으로 이동하도록 제어됨과 동시에, 소정 위치의 시점에 기초하는 이 가상 공간의 영상을 표시 수단에 표시하도록 한 게임용 화상 처리 장치에 있어서,
    부정형(不定形)의 구획을 상기 가상 공간내에 설정하는 구획 설정 수단;
    상기 구획과 이 모델 사이에 소정의 벡터를 설정하고, 이 구획을 넘어 이 모델이 이동하고자 하는 경우에는, 이 벡터를 모델이 구획을 넘지않는 방향으로 설정하는 벡터 설정 수단; 및
    상기 벡터에 따라 상기 모델의 이동을 제어하는 모델 이동 제어 수단
    을 포함하는 것을 특징으로 하는 게임용 화상 처리 장치.
  14. 소정의 파라미터를 부여하여 주기적으로 변화하는 텍스쳐를 형성하는 장치에 있어서,
    제1 텍스쳐열을 만드는 제1 수단;
    제2 텍스쳐열을 만드는 수단
    을 포함하며, 동시에
    제1 텍스쳐열의 최후 또는 최초 텍스쳐와 제2 텍스쳐열의 최초 또는 최후 텍스쳐가 연속하는 형태로 되도록 각각의 수단에 파라미터를 부여함과 동시에, 제1 텍스쳐열과 제2 텍스쳐열의 적어도 한쪽 투명도를 점증 또는 점감하여 양쪽 텍스쳐열의 최초의 손 텍스쳐끼리부터 순서대로 겹쳐서 목적으로 하는 텍스쳐열을 형성하는 것을 특징으로 텍스쳐 생성 장치.
  15. 주기적으로 변화하는 텍스쳐를 형성하는 방법에 있어서,
    소정의 방향으로 변화하는 제1 텍스쳐열을 만드는 제1 공정과;
    마찬가지로 소정 방향으로 변화하는 제2 텍스쳐열을 만드는 공정
    을 포함하며,
    제1 텍스쳐열의 최후 또는 최초 텍스쳐와 제2 텍스쳐열의 최초 또는 최후 텍스쳐가 연속하는 형태로 되도록 함과 동시에 제1 텍스쳐열과 제2 텍스쳐열의 적어도 한쪽 투명도를 점증 또는 점감하여 양쪽 텍스쳐열의 최초 텍스쳐끼리부터 순서대로 겹쳐서 목적으로 하는 텍스쳐열을 형성하는 것을 특징으로 하는 텍스쳐 생성 방법.
  16. 가상 공간내에 소정수의 모델을 설정하고, 이 모델이 상기 가상 공간내에서 소정 방향으로 이동하도록 제어됨과 동시에, 소정 위치의 시점에 기초하는 이 가상 공간의 영상을 표시 수단에 표시하도록 한 게임용 화상 처리 장치에 있어서,
    2개의 모델 사이에 소정의 조건이 성립하였는가 아닌가를 판정하는 제1 수단;
    상기 조건이 성립한 것을 각각의 모델의 운동에 반영시키는 제2 수단; 및
    상기 조건이 성립하였을 때에 한쪽 모델의 운동 재생 속도를 다른쪽 모델에 대하여 변화시키는 제3 수단
    을 포함하는 것을 특징으로 하는 게임용 화상 처리 장치.
  17. 가상 공간내에 설정된 모델이 상기 가상 공간내에서 소정 방향으로 이동하도록 제어됨과 동시에 가상 시점에 기초하는 이 가상 공간의 영상을 표시하는 화상 처리를 실행하는 게임 장치에 사용할, 상기 화상 처리의 프로그램을 기록한 기록 매체에 있어서, 대치하는 복수의 모델 사이에 가상적인 인력을 설정한 화상 처리를 실행하기 위한 기록 매체.
  18. 가상 공간내에 소정수의 모델을 설정하고, 이 모델이 상기 가상 공간내에서 소정 방향으로 이동하도록 제어됨과 동시에, 가상 시점에 기초하는 이 가상 공간의 영상을 표시 수단에서 표시하도록 한 화상 처리를 실행하는 게임 장치에 있어서,
    상기 모델의 움직임을 제어하기 위한 입력 수단;
    상기 입력 수단에 설치된 당해 모델의 상하좌우로의 동작 방향을 지정하는 방향 키; 및
    대치하는 복수의 모델 사이에 가상적인 인력을 설정하는 화상 처리 수단
    을 포함하며,
    상기 화상 처리 수단은 상기 방향 키의 조작에 의해, 상기 모델이 자동적으로 원운동을 하도록 동작시키는 화상 처리를 실행하는 게임 장치.
KR1019980700868A 1996-06-05 1997-06-04 게임용화상처리장치 KR100518987B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP16522496 1996-06-05
JP96-165224 1996-06-05
JP18666696 1996-06-27
JP96-186666 1996-06-27
PCT/JP1997/001896 WO1997046295A1 (fr) 1996-06-05 1997-06-04 Processeur d'images pour jeux

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR10-2005-7001296A Division KR100517856B1 (ko) 1996-06-05 1997-06-04 게임용 화상 처리 장치

Publications (2)

Publication Number Publication Date
KR19990036200A true KR19990036200A (ko) 1999-05-25
KR100518987B1 KR100518987B1 (ko) 2006-06-22

Family

ID=26490034

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1019980700868A KR100518987B1 (ko) 1996-06-05 1997-06-04 게임용화상처리장치
KR10-2005-7001296A KR100517856B1 (ko) 1996-06-05 1997-06-04 게임용 화상 처리 장치

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR10-2005-7001296A KR100517856B1 (ko) 1996-06-05 1997-06-04 게임용 화상 처리 장치

Country Status (12)

Country Link
US (6) US6322448B1 (ko)
EP (2) EP0842682B9 (ko)
JP (3) JP3919122B2 (ko)
KR (2) KR100518987B1 (ko)
CN (4) CN100349187C (ko)
AU (1) AU2978397A (ko)
BR (1) BR9702282A (ko)
DE (1) DE69732211T2 (ko)
ES (1) ES2239354T3 (ko)
HK (2) HK1013920A1 (ko)
TW (2) TW461821B (ko)
WO (1) WO1997046295A1 (ko)

Families Citing this family (134)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6222525B1 (en) 1992-03-05 2001-04-24 Brad A. Armstrong Image controllers with sheet connected sensors
US8674932B2 (en) 1996-07-05 2014-03-18 Anascape, Ltd. Image controller
JPH11207029A (ja) 1998-01-28 1999-08-03 Konami Co Ltd ビデオゲーム装置、ビデオゲームにおける画面表示方法及び画面表示プログラムが格納された可読記録媒体
JP3123501B2 (ja) * 1998-03-16 2001-01-15 日本電気株式会社 空間視点制御装置
US6717568B1 (en) * 1999-09-10 2004-04-06 Sony Computer Entertainment Inc. Method of controlling the movement of a position indicating item, storage medium on which a program implementing said method is stored, and electronic device
JP3286633B2 (ja) 1999-09-14 2002-05-27 株式会社ソニー・コンピュータエンタテインメント 画像作成方法、記憶媒体およびプログラム実行装置
JP3321570B2 (ja) 1999-09-14 2002-09-03 株式会社ソニー・コンピュータエンタテインメント 動画作成方法、記憶媒体およびプログラム実行装置
JP2001155176A (ja) 1999-09-14 2001-06-08 Sony Computer Entertainment Inc 画像作成方法、記憶媒体およびプログラム実行装置
JP2001149642A (ja) 1999-12-01 2001-06-05 Namco Ltd ゲーム装置及びゲーム装置の残像表示方法
JP3807654B2 (ja) * 1999-12-28 2006-08-09 株式会社スクウェア・エニックス ビデオゲーム用のプログラムを記録したコンピュータ読み取り可能な記録媒体、ビデオゲームにおけるオブジェクト描画方法及びビデオゲーム装置
TW462898B (en) * 2000-01-14 2001-11-11 Sony Computer Entertainment Inc Computer system having a pressure-sensitive controller, setup method for a pressure-sensitive controller and recording medium that records this method
US7154484B2 (en) * 2000-01-14 2006-12-26 Sony Computer Entertainment Inc. Recording medium, computer and method for selecting computer display items
JP3545983B2 (ja) 2000-01-19 2004-07-21 コナミ株式会社 ビデオゲーム装置、ビデオゲームにおける技設定方法及び技設定プログラムが記録されたコンピュータ読み取り可能な記録媒体
JP3822776B2 (ja) * 2000-03-29 2006-09-20 株式会社バンダイナムコゲームス ゲーム装置、及び情報記憶媒体
US6554706B2 (en) * 2000-05-31 2003-04-29 Gerard Jounghyun Kim Methods and apparatus of displaying and evaluating motion data in a motion game apparatus
JP3569201B2 (ja) 2000-06-05 2004-09-22 株式会社スクウェア・エニックス 特定のキャラクタが他のキャラクタに接触するモーションを実行する場面を表示させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体及び方法、並びにゲーム装置
JP4539937B2 (ja) * 2000-07-26 2010-09-08 株式会社バンダイナムコゲームス シューティング型ゲーム装置、およびシューティング型ゲームにおけるヒットチェック方法
JP2002133444A (ja) * 2000-10-20 2002-05-10 Matsushita Electric Ind Co Ltd 映像情報作成装置
JP3495011B2 (ja) * 2000-11-21 2004-02-09 株式会社ソニー・コンピュータエンタテインメント 情報処理方法及びプログラム実行装置、コンピュータに実行させるための情報処理プログラム及びコンピュータに実行させるための情報処理プログラムを記録した記録媒体
US20020084986A1 (en) * 2001-01-04 2002-07-04 Armstrong Brad A. Computer mouse with specialized button(s)
JP4785163B2 (ja) * 2001-05-29 2011-10-05 株式会社バンダイナムコゲームス 画像生成システム、プログラム及び情報記憶媒体
JP4704622B2 (ja) * 2001-07-30 2011-06-15 株式会社バンダイナムコゲームス 画像生成システム、プログラム及び情報記憶媒体
US7012608B1 (en) 2001-08-02 2006-03-14 Iwao Fujisaki Simulation device
JP2003067779A (ja) * 2001-08-23 2003-03-07 Namco Ltd 画像生成システム、プログラム及び情報記憶媒体
JP3621081B2 (ja) * 2001-10-02 2005-02-16 株式会社ソニー・コンピュータエンタテインメント 画像処理システム、画像処理方法、コンピュータプログラム、記録媒体、半導体デバイス
JP3493189B2 (ja) * 2001-10-11 2004-02-03 コナミ株式会社 ゲーム進行制御プログラム、ゲーム進行制御方法及びビデオゲーム装置
US7386429B1 (en) * 2001-12-07 2008-06-10 Iwao Fujisaki Wrinkle simulation software
US6990639B2 (en) 2002-02-07 2006-01-24 Microsoft Corporation System and process for controlling electronic components in a ubiquitous computing environment using multimodal integration
JP4001227B2 (ja) * 2002-05-16 2007-10-31 任天堂株式会社 ゲーム装置及びゲームプログラム
JP4082937B2 (ja) * 2002-06-07 2008-04-30 任天堂株式会社 ゲームシステム及びゲームプログラム
JP3760347B2 (ja) * 2002-07-30 2006-03-29 株式会社光栄 プログラム、記録媒体、ゲームキャラクタ描画方法及びゲーム装置
JP3696216B2 (ja) * 2003-03-05 2005-09-14 株式会社スクウェア・エニックス 3次元ビデオゲーム装置、3次元ビデオゲームにおける仮想カメラの制御方法、並びにプログラム及び記録媒体
JP3813945B2 (ja) * 2003-05-07 2006-08-23 任天堂株式会社 ゲーム装置およびゲームプログラム
JP4048150B2 (ja) * 2003-05-12 2008-02-13 任天堂株式会社 ゲーム装置およびゲームプログラム並びにゲームシステム
US7333112B2 (en) * 2003-05-14 2008-02-19 Pixar Rig baking
US7944449B2 (en) * 2003-05-14 2011-05-17 Pixar Methods and apparatus for export of animation data to non-native articulation schemes
AU2004202188A1 (en) * 2003-05-30 2004-12-16 Universal Entertainment Corporation Gaming machine
JP4474640B2 (ja) * 2004-05-11 2010-06-09 株式会社セガ 画像処理プログラム、ゲーム処理プログラムおよびゲーム情報処理装置
JP4580742B2 (ja) * 2004-11-30 2010-11-17 任天堂株式会社 ゲームプログラムおよびゲーム装置
JP4668655B2 (ja) * 2005-03-24 2011-04-13 株式会社バンダイナムコゲームス プログラム、情報記憶媒体及び画像生成システム
JP2006280731A (ja) * 2005-04-01 2006-10-19 Aruze Corp ゲームプログラム、ゲーム装置及び記録媒体
JP3892883B2 (ja) * 2005-08-01 2007-03-14 株式会社コナミデジタルエンタテインメント ゲーム装置、ゲーム装置の制御方法及びプログラム
JP3892884B2 (ja) * 2005-08-01 2007-03-14 株式会社コナミデジタルエンタテインメント ゲーム装置、ゲーム装置の制御方法及びプログラム
JP4711223B2 (ja) * 2005-08-02 2011-06-29 株式会社セガ 画像生成プログラム、記憶媒体、画像処理方法及び画像処理装置
JP4788950B2 (ja) * 2005-09-08 2011-10-05 株式会社セガ 画像処理プログラム、画像処理方法、及び画像処理装置
JP4646001B2 (ja) * 2005-09-15 2011-03-09 株式会社ソニー・コンピュータエンタテインメント ゲーム制御プログラム
JP5273694B2 (ja) * 2005-10-13 2013-08-28 株式会社バンダイナムコゲームス ゲームシステム、プログラム、情報記憶媒体及びサーバ
JP3919801B1 (ja) * 2005-12-28 2007-05-30 株式会社コナミデジタルエンタテインメント ゲーム装置、ゲーム装置の制御方法及びプログラム
JP4761537B2 (ja) * 2006-03-27 2011-08-31 サミー株式会社 画像生成装置、遊技機、及び画像生成プログラム
US7459624B2 (en) 2006-03-29 2008-12-02 Harmonix Music Systems, Inc. Game controller simulating a musical instrument
JP5330640B2 (ja) * 2006-05-09 2013-10-30 任天堂株式会社 ゲームプログラム、ゲーム装置、ゲームシステム、およびゲーム処理方法
JP4156648B2 (ja) * 2006-12-11 2008-09-24 株式会社スクウェア・エニックス ゲーム装置及びゲームの進行方法、並びにプログラム及び記録媒体
WO2008098419A1 (fr) * 2007-02-15 2008-08-21 Xizhi Li Système et procédé de production et de jeu à un jeu/film 3d en temps réel basé sur le jeu de rôle
JP4861862B2 (ja) * 2007-03-08 2012-01-25 株式会社バンダイナムコゲームス プログラム、情報記憶媒体、及び、画像生成システム
JP4929061B2 (ja) * 2007-06-04 2012-05-09 株式会社コナミデジタルエンタテインメント ゲーム装置、ゲーム装置の制御方法及びプログラム
US20090075711A1 (en) 2007-06-14 2009-03-19 Eric Brosius Systems and methods for providing a vocal experience for a player of a rhythm action game
US8678896B2 (en) 2007-06-14 2014-03-25 Harmonix Music Systems, Inc. Systems and methods for asynchronous band interaction in a rhythm action game
JP4566221B2 (ja) * 2007-07-20 2010-10-20 株式会社スクウェア・エニックス ビデオゲーム処理装置、およびビデオゲーム処理プログラム
JP4892454B2 (ja) * 2007-10-24 2012-03-07 株式会社コナミデジタルエンタテインメント 画像処理装置、画像処理装置の制御方法及びプログラム
US20090186693A1 (en) * 2007-12-26 2009-07-23 Edge Of Reality, Ltd. Interactive video game display method, apparatus, and/or system for object interaction
US8416245B2 (en) * 2008-01-15 2013-04-09 Microsoft Corporation Creation of motion blur in image processing
US20090310027A1 (en) * 2008-06-16 2009-12-17 James Fleming Systems and methods for separate audio and video lag calibration in a video game
WO2010006054A1 (en) * 2008-07-08 2010-01-14 Harmonix Music Systems, Inc. Systems and methods for simulating a rock and band experience
US8577084B2 (en) * 2009-01-30 2013-11-05 Microsoft Corporation Visual target tracking
JP5322717B2 (ja) * 2009-03-17 2013-10-23 東芝電波プロダクツ株式会社 降雪現象表示方法
JP5687826B2 (ja) * 2009-05-29 2015-03-25 任天堂株式会社 ゲームプログラムおよびゲーム装置
US8465366B2 (en) 2009-05-29 2013-06-18 Harmonix Music Systems, Inc. Biasing a musical performance input to a part
KR20100138725A (ko) * 2009-06-25 2010-12-31 삼성전자주식회사 가상 세계 처리 장치 및 방법
KR101021356B1 (ko) * 2009-08-05 2011-03-14 주식회사 엔씨소프트 게임 캐릭터의 움직임 제어장치 및 그 방법
JP4823343B2 (ja) * 2009-08-14 2011-11-24 株式会社ソニー・コンピュータエンタテインメント ゲーム制御プログラム、ゲーム装置、及びゲーム制御方法
CN101635011B (zh) * 2009-08-14 2012-05-23 腾讯科技(深圳)有限公司 一种角色寻路方法及装置
WO2011056657A2 (en) 2009-10-27 2011-05-12 Harmonix Music Systems, Inc. Gesture-based user interface
US9981193B2 (en) 2009-10-27 2018-05-29 Harmonix Music Systems, Inc. Movement based recognition and evaluation
US8550908B2 (en) 2010-03-16 2013-10-08 Harmonix Music Systems, Inc. Simulating musical instruments
US8562403B2 (en) 2010-06-11 2013-10-22 Harmonix Music Systems, Inc. Prompting a player of a dance game
USD667416S1 (en) * 2010-06-11 2012-09-18 Microsoft Corporation Display screen with graphical user interface
EP2579955B1 (en) 2010-06-11 2020-07-08 Harmonix Music Systems, Inc. Dance game and tutorial
US9358456B1 (en) 2010-06-11 2016-06-07 Harmonix Music Systems, Inc. Dance competition game
US9024166B2 (en) 2010-09-09 2015-05-05 Harmonix Music Systems, Inc. Preventing subtractive track separation
JP5234096B2 (ja) * 2010-12-15 2013-07-10 株式会社三洋物産 遊技機
US9560308B2 (en) * 2012-01-25 2017-01-31 Sony Corporation Applying motion blur to only select objects in video
JP5947665B2 (ja) * 2012-08-10 2016-07-06 株式会社ソニー・インタラクティブエンタテインメント ゲーム装置、ゲーム制御方法、及びゲーム制御プログラム
JP6131011B2 (ja) * 2012-08-23 2017-05-17 株式会社タイトー ゲームプログラム
JP6131012B2 (ja) * 2012-08-23 2017-05-17 株式会社タイトー ゲームプログラム
US10220303B1 (en) 2013-03-15 2019-03-05 Harmonix Music Systems, Inc. Gesture-based music game
JP5363669B2 (ja) * 2013-03-25 2013-12-11 株式会社バンダイナムコゲームス 画像生成システム、プログラム及び情報記憶媒体
AU350043S (en) * 2013-04-08 2013-08-01 Samsung Electronics Co Ltd Display screen with icon for an electronic device
CN103679820A (zh) * 2013-12-16 2014-03-26 北京像素软件科技股份有限公司 一种3d虚拟场景中模拟草体扰动效果的方法
CN103714567B (zh) * 2013-12-27 2016-12-07 北京像素软件科技股份有限公司 溅射效果的模拟方法
USD723577S1 (en) * 2014-08-29 2015-03-03 Nike, Inc. Display screen with emoticon
USD723046S1 (en) * 2014-08-29 2015-02-24 Nike, Inc. Display screen with emoticon
USD725131S1 (en) * 2014-08-29 2015-03-24 Nike, Inc. Display screen with emoticon
USD725130S1 (en) * 2014-08-29 2015-03-24 Nike, Inc. Display screen with emoticon
USD723578S1 (en) * 2014-08-29 2015-03-03 Nike, Inc. Display screen with emoticon
USD723579S1 (en) * 2014-08-29 2015-03-03 Nike, Inc. Display screen with emoticon
USD725129S1 (en) * 2014-08-29 2015-03-24 Nike, Inc. Display screen with emoticon
USD724098S1 (en) 2014-08-29 2015-03-10 Nike, Inc. Display screen with emoticon
USD726199S1 (en) 2014-08-29 2015-04-07 Nike, Inc. Display screen with emoticon
USD724606S1 (en) * 2014-08-29 2015-03-17 Nike, Inc. Display screen with emoticon
USD724099S1 (en) * 2014-08-29 2015-03-10 Nike, Inc. Display screen with emoticon
USD735754S1 (en) 2014-09-02 2015-08-04 Apple Inc. Display screen or portion thereof with graphical user interface
JP6301813B2 (ja) * 2014-11-05 2018-03-28 任天堂株式会社 ゲームプログラムおよびゲーム装置
USD786931S1 (en) * 2014-12-30 2017-05-16 Sony Corporation Portion of a display panel or screen with graphical user interface
US9266027B1 (en) * 2015-02-13 2016-02-23 Jumo, Inc. System and method for providing an enhanced marketing, sale, or order fulfillment experience related to action figures or action figure accessories having corresponding virtual counterparts
US9259651B1 (en) 2015-02-13 2016-02-16 Jumo, Inc. System and method for providing relevant notifications via an action figure
US9833695B2 (en) 2015-02-13 2017-12-05 Jumo, Inc. System and method for presenting a virtual counterpart of an action figure based on action figure state information
US9474964B2 (en) 2015-02-13 2016-10-25 Jumo, Inc. System and method for providing state information of an action figure
JP5788117B1 (ja) * 2015-02-13 2015-09-30 グリー株式会社 ゲームの制御方法、情報処理装置、およびプログラム
US9205336B1 (en) 2015-03-02 2015-12-08 Jumo, Inc. System and method for providing secured wireless communication with an action figure or action figure accessory
USD760741S1 (en) * 2015-03-16 2016-07-05 Nike, Inc. Display screen with graphical user interface
JP5967268B2 (ja) * 2015-06-10 2016-08-10 株式会社三洋物産 遊技機
CN106683153B (zh) * 2015-11-05 2019-11-08 网易(杭州)网络有限公司 一种在2d游戏中游戏对象飞行的显示方法及系统
JP6254627B2 (ja) * 2016-03-16 2017-12-27 株式会社スクウェア・エニックス プログラム及びシステム
USD826275S1 (en) * 2016-04-08 2018-08-21 King.Com Limited Display screen with icon
JP2016172137A (ja) * 2016-07-06 2016-09-29 株式会社三洋物産 遊技機
USD834601S1 (en) * 2016-11-30 2018-11-27 Verizon Patent And Licensing Inc. Display screen with an animated graphical user interface
JP6648715B2 (ja) * 2017-02-16 2020-02-14 トヨタ自動車株式会社 バランス訓練装置およびバランス訓練装置の制御方法
CN107274468B (zh) * 2017-05-10 2021-02-02 珠海金山网络游戏科技有限公司 一种应用于三维游戏的受风处理方法及系统
USD870774S1 (en) 2017-09-29 2019-12-24 Apple Inc. Wearable device with animated graphical user interface
CN109683700A (zh) * 2017-10-18 2019-04-26 深圳市掌网科技股份有限公司 基于视觉感知的人机交互实现方法和装置
KR102106349B1 (ko) 2017-12-21 2020-05-04 주식회사 고영테크놀러지 인쇄 회로 기판 검사 장치, 솔더 페이스트 이상 감지 방법 및 컴퓨터 판독 가능한 기록 매체
CA3101984C (en) * 2018-05-29 2023-10-31 Curiouser Products Inc. A reflective video display apparatus for interactive training and demonstration and methods of using same
USD863337S1 (en) 2018-06-03 2019-10-15 Apple Inc. Electronic device with animated graphical user interface
CN109718553A (zh) * 2018-11-07 2019-05-07 苏州蜗牛数字科技股份有限公司 一种角色随机漫游方法
CN109758716B (zh) * 2019-03-26 2020-12-01 林叶蓁 一种基于声音信息的跳绳计数方法
JP6828084B2 (ja) * 2019-05-09 2021-02-10 グリー株式会社 ゲームの制御方法、情報処理装置、及びプログラム
USD917534S1 (en) * 2019-06-10 2021-04-27 Aristocrat Technologies Australia Pty Limited Display screen or portion thereof with transitional graphical user interface
USD905746S1 (en) 2019-06-21 2020-12-22 William P. Head, III Display screen or portion thereof with a graphical user interface for a gaming app
USD954108S1 (en) * 2019-12-24 2022-06-07 Sony Corporation Display screen or portion thereof with an animated graphical user interface
US11648480B2 (en) 2020-04-06 2023-05-16 Electronic Arts Inc. Enhanced pose generation based on generative modeling
USD895027S1 (en) 2020-05-05 2020-09-01 University Of Central Florida Research Foundation, Inc. 3-dimensional character
USD954732S1 (en) * 2020-06-20 2022-06-14 Apple Inc. Display screen or portion thereof with graphical user interface
CN112562050B (zh) * 2020-11-27 2023-07-18 成都完美时空网络技术有限公司 虚拟对象风动画的生成方法及装置、存储介质、终端
US11816772B2 (en) * 2021-12-13 2023-11-14 Electronic Arts Inc. System for customizing in-game character animations by players

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US370237A (en) * 1887-09-20 brock
US4148485A (en) * 1977-09-19 1979-04-10 Atari, Inc. Driving games method for automatically controlled cars
US4342454A (en) * 1979-01-08 1982-08-03 Sanders Associates, Inc. Method and apparatus for instant replay and other capabilities for microprocessor-controlled video games
US4423870A (en) * 1979-04-30 1984-01-03 Atari, Inc. Video game collision detection system
US4905147A (en) * 1986-10-15 1990-02-27 Logg George E Collision detection system for video system
US4930074A (en) * 1986-10-15 1990-05-29 Atari Games Corporation Multiple stamp motion objects in a video game system
US5229756A (en) * 1989-02-07 1993-07-20 Yamaha Corporation Image control apparatus
GB2239810B (en) * 1990-01-10 1994-06-22 Leung Yiu Choi Computer game control apparatus
US5265888A (en) * 1990-06-22 1993-11-30 Nintendo Co., Ltd. Game apparatus and memory cartridge used therefor
US5188567A (en) * 1991-08-13 1993-02-23 Eduard Volkov Racetrack
JP2687989B2 (ja) 1992-06-12 1997-12-08 株式会社セガ・エンタープライゼス 電子遊戯機器
JP2593427B2 (ja) * 1992-10-14 1997-03-26 株式会社ハドソン 画像処理装置
JP2538488B2 (ja) * 1992-10-27 1996-09-25 株式会社バンダイ ゲ−ム装置
US5591104A (en) * 1993-01-27 1997-01-07 Life Fitness Physical exercise video system
US5377100A (en) * 1993-03-08 1994-12-27 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Method of encouraging attention by correlating video game difficulty with attention level
JP2799126B2 (ja) 1993-03-26 1998-09-17 株式会社ナムコ ビデオゲーム装置及びゲーム用入力装置
JP2888723B2 (ja) * 1993-03-26 1999-05-10 株式会社ナムコ 3次元ゲーム装置及び画像合成方法
US5572646A (en) * 1993-08-25 1996-11-05 Casio Computer Co., Ltd. Apparatus for displaying images of living things to show growing and/or moving of the living things
US5625576A (en) * 1993-10-01 1997-04-29 Massachusetts Institute Of Technology Force reflecting haptic interface
JP3332499B2 (ja) * 1993-10-01 2002-10-07 富士通株式会社 テクスチャマッピング方法
JP2857047B2 (ja) * 1993-12-27 1999-02-10 コナミ株式会社 移動オブジェの表示制御方法及び表示制御装置
JP4067138B2 (ja) 1994-06-07 2008-03-26 株式会社セガ ゲーム装置
KR100229375B1 (ko) * 1994-06-28 1999-11-01 이리마지리 쇼우이치로 게임 장치 및 게임의 리플레이 방법
JPH0869274A (ja) * 1994-08-30 1996-03-12 Sega Enterp Ltd 画像処理装置およびその方法
JPH08137378A (ja) * 1994-11-08 1996-05-31 Hitachi Denshi Ltd 降雪模擬視界装置
JP3685829B2 (ja) 1994-12-29 2005-08-24 株式会社ナムコ 3次元ゲーム装置及び画像合成方法
JPH08202342A (ja) * 1995-01-31 1996-08-09 Copcom Co Ltd 画像表示処理装置、画像表示処理方法、およびゲーム機
USD370237S (en) * 1995-03-06 1996-05-28 Sega Enterprises, Ltd. Hand-held game
US5755620A (en) * 1995-04-03 1998-05-26 Kabushiki Kaisha Sega Enterprises Game system and data processing method thereof
JPH08320949A (ja) * 1995-05-24 1996-12-03 Sega Enterp Ltd 画像処理装置及びそれを用いたゲーム装置
US5731819A (en) * 1995-07-18 1998-03-24 Softimage Deformation of a graphic object to emphasize effects of motion
JP2667656B2 (ja) * 1995-09-12 1997-10-27 コナミ株式会社 ドライビングゲーム機
US6308565B1 (en) * 1995-11-06 2001-10-30 Impulse Technology Ltd. System and method for tracking and assessing movement skills in multidimensional space
US5812138A (en) * 1995-12-19 1998-09-22 Cirrus Logic, Inc. Method and apparatus for dynamic object indentification after Z-collision
IL126142A0 (en) * 1996-03-15 1999-05-09 Zapa Digital Art Ltd Programmable computer graphic objects
US5769718A (en) * 1996-05-15 1998-06-23 Rieder; William R. Video game apparatus and medium readable by a computer stored with video game program
US5947819A (en) * 1996-05-22 1999-09-07 Konami Co., Ltd. Object-throwing video game system
US6166718A (en) * 1996-06-18 2000-12-26 Konami Co., Ltd. Video game system with vertical array of cursor images
JP3747449B2 (ja) * 1996-07-25 2006-02-22 株式会社セガ ゲームの処理方法、ゲーム装置、画像処理装置及び画像処理方法並びに記録媒体
US6241610B1 (en) * 1996-09-20 2001-06-05 Nintendo Co., Ltd. Three-dimensional image processing system having dynamically changing character polygon number
JP4105788B2 (ja) * 1997-11-14 2008-06-25 任天堂株式会社 ビデオゲーム装置およびその記憶媒体
CN1073886C (zh) * 1998-03-20 2001-10-31 中国石油化工总公司 一种固体超强酸及其制备方法

Also Published As

Publication number Publication date
EP1580695A2 (en) 2005-09-28
JP3919122B2 (ja) 2007-05-23
HK1013920A1 (en) 1999-09-17
CN100514370C (zh) 2009-07-15
KR20050033616A (ko) 2005-04-12
AU2978397A (en) 1998-01-05
CN1194592A (zh) 1998-09-30
TW452498B (en) 2001-09-01
KR100518987B1 (ko) 2006-06-22
CN1651118A (zh) 2005-08-10
CN1963870A (zh) 2007-05-16
CN1641701A (zh) 2005-07-20
JP2006024236A (ja) 2006-01-26
EP1580695A3 (en) 2007-08-29
US8172678B2 (en) 2012-05-08
WO1997046295A1 (fr) 1997-12-11
HK1080771A1 (en) 2006-05-04
CN1651118B (zh) 2010-05-26
DE69732211T2 (de) 2005-12-22
EP0842682A1 (en) 1998-05-20
ES2239354T3 (es) 2005-09-16
DE69732211D1 (de) 2005-02-17
EP0842682A4 (en) 2000-04-05
US20090054142A1 (en) 2009-02-26
USD503407S1 (en) 2005-03-29
US20050266920A1 (en) 2005-12-01
KR100517856B1 (ko) 2005-09-30
US6322448B1 (en) 2001-11-27
CN1196508C (zh) 2005-04-13
CN100349187C (zh) 2007-11-14
EP0842682B9 (en) 2005-06-08
US20020013172A1 (en) 2002-01-31
JP2007128539A (ja) 2007-05-24
US6949024B2 (en) 2005-09-27
BR9702282A (pt) 1999-07-20
US20050282630A1 (en) 2005-12-22
JP2006065877A (ja) 2006-03-09
TW461821B (en) 2001-11-01
EP0842682B1 (en) 2005-01-12

Similar Documents

Publication Publication Date Title
KR100518987B1 (ko) 게임용화상처리장치
JP2006024236A5 (ko)
JP2006065877A5 (ko)
EP1008959B1 (en) Image processing system and image processing method
EP0844587B1 (en) Image processor, image processing method, game machine and recording medium
EP0901803B1 (en) Device and method for image processing
US8648864B2 (en) System and method for blended animation enabling an animated character to aim at any arbitrary point in a virtual space
JP2004267247A (ja) 3次元ビデオゲーム装置、3次元ビデオゲームにおける仮想カメラの制御方法、並びにプログラム及び記録媒体
KR100281837B1 (ko) 화상 처리 장치 및 이를 구비한 게임 장치
JP3485987B2 (ja) 3次元ゲーム装置及びヒットチェック方法
AU2002301127B2 (en) Fictitious virtual centripetal calculation and simulation system
JP4003794B2 (ja) 画像処理方法及び画像処理装置
JP6945699B2 (ja) プログラム及びゲーム装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
A107 Divisional application of patent
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: 20090923

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee