KR100647861B1 - 화상 작성장치, 화상 작성방법 및 화상 작성 프로그램이 기록된 - Google Patents
화상 작성장치, 화상 작성방법 및 화상 작성 프로그램이 기록된 Download PDFInfo
- Publication number
- KR100647861B1 KR100647861B1 KR1019990004788A KR19990004788A KR100647861B1 KR 100647861 B1 KR100647861 B1 KR 100647861B1 KR 1019990004788 A KR1019990004788 A KR 1019990004788A KR 19990004788 A KR19990004788 A KR 19990004788A KR 100647861 B1 KR100647861 B1 KR 100647861B1
- Authority
- KR
- South Korea
- Prior art keywords
- polygon
- character
- model
- coordinates
- projection
- Prior art date
Links
Images
Classifications
-
- A63F13/10—
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/45—Controlling the progress of the video game
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/60—Shadow generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/30—Polynomial surface description
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features 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/60—Methods for processing data by generating or executing the game program
- A63F2300/66—Methods for processing data by generating or executing the game program for rendering three dimensional images
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features 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/60—Methods for processing data by generating or executing the game program
- A63F2300/66—Methods for processing data by generating or executing the game program for rendering three dimensional images
- A63F2300/6646—Methods for processing data by generating or executing the game program for rendering three dimensional images for the computation and display of the shadow of an object or character
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Multimedia (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Algebra (AREA)
- Pure & Applied Mathematics (AREA)
- Geometry (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Architecture (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
Abstract
본 발명은 3차원적으로 표현된 배경모델 위에 캐릭터의 그림자를 표시하는 화상 작성장치, 화상 작성방법 및 화상 작성 프로그램이 기록된 판독 가능한 기록매체에 관한 것으로, 좌표변환수단(71)에 의해 모델폴리곤을 캐릭터폴리곤이 포함된 평면에 투영한다. 폴리곤 연산수단(72)으로 투영한 폴리곤과 캐릭터폴리곤이 상기 평면에서 겹쳐지는 부분으로 이루어지는 공통폴리곤 좌표를 구한다. 텍스처 연산수단(73)에 의해 캐릭터폴리곤 좌표에 대한 각각의 공통폴리곤 좌표의 상위량을 구하고, 이 상위량을 토대로 해당 공통폴리곤이 갖는 텍스처 좌표를 구한다. 좌표 역변환수단(75)에 의해 공통폴리곤의 각 좌표를 모델폴리곤이 포함된 평면에 투영한 역 투영폴리곤의 좌표를 구한다. 그리고, 색 테이터 설정수단(62)에 의해 역 투영폴리곤의 색 데이터를 그림자 표시 색 데이터로 설정한다.
Description
도 1은 본 발명의 일실시예로서의 게임 시스템을 나타내는 구성도,
도 2는 비디오게임의 한 화면을 나타내는 도면,
도 3은 비디오게임의 한 화면을 나타내는 도면,
도 4는 CPU의 기능 블록도 및 도 1의 구성요소의 일부를 나타내는 블록도,
도 5는 좌표변환을 설명하는 도면,
도 6은 폴리곤의 중첩판정을 설명하기 위한 도면,
도 7은 캐릭터폴리곤과 투영폴리곤의 중첩상태를 나타내는 도면,
도 8은 캐릭터폴리곤과 투영폴리곤의 중첩상태를 나타내는 도면,
도 9는 그림자 표시수순의 일예를 나타내는 플로우차트,
도 10은 그림자 표시수순의 일예를 나타내는 플로우차트,
도 11은 그림자 표시수순의 일예를 나타내는 플로우차트.
♣도면의 주요부분에 대한 부호의 설명♣
2:모니터 5:기록매체
6:CPU 61:투영처리수단
62:색 데이터 설정수단 71:좌표변환수단
72:중첩판정수단 73:폴리곤 연산수단
74:텍스처 연산수단 75:좌표 역변환수단
8:RAM 11:신호처리 프로세서
12:화상처리 프로세서
본 발명은 프로그램 데이터가 기록된 광디스크, 자기 디스크, 반도체 메모리를 이용한 가령, 카세트식 기록매체 등을 이용하는 비디오게임장치에 적용되는 화상 작성장치, 화상 작성방법 및 화상 작성 프로그램이 기록된 판독 가능한 기록매체에 관한 것이다.
종래부터 게임시스템은 무수히 많이 제안되어 왔다. 여기에는 가정용 전용기와 텔레비전 모니터로 이루어진 시스템, 업무용 전용기, 퍼스널 컴퓨터 또는 워크 스테이션과 디스플레이 및 음성 출력기로 이루어진 시스템 등이 있다.
이들 시스템은 어느 것이나, 게임자가 조작하기 위한 컨트롤러와, 게임 프로그램 데이터가 기록된 기록매체와, 게임 프로그램 데이터를 토대로 음성이나 화상을 생성하기 위해 제어하는 CPU와, 화상을 생성하기 위한 프로세서와, 음성을 생성 하기 위한 프로세서와, 화상을 표시하기 위한 모니터와, 음성을 출력하기 위한 스피커로 구성된다. 상기 기록매체로서는 CD-ROM, 반도체 메모리, 반도체 메모리가 내장된 카세트 등이 있다.
이와 같은 게임 시스템에서는 일반적으로, 화면에 표시되는 개개의 물체인 3차원 모델을 다수의 3각형 또는 4각형의 2차원 가상도형인 폴리곤(polygon)으로 구성하고, 2차원 화상 데이터인 텍스처(texture)가 각 폴리곤에 붙여져 모니터에 표시되고 있다. 통상, 각 폴리곤에 붙여지는 텍스처는 각각, 개별적으로 설정되어 미리 메모리에 격납되어 있다.
상기 종래의 게임시스템에 있어서, 캐릭터가 2차원적으로 구성되고, 그 캐릭터의 후방에 배경모델이 설정되어 있는 경우에, 그늘면 처리를 행하면 캐릭터가 배경모델 위에 배치되어 있는지 또는 배경모델의 앞쪽에 배치되어 있는지를 판별하기가 상당히 곤란하다.
그래서, 캐릭터가 배경모델보다 앞쪽에 배치되어 있는 점을 명료하게 나타내기 위해서 캐릭터에 의해 배경모델 위에 형성되는 그림자를 표시하는 것이 바람직하였다.
본 발명은 이러한 문제점을 감안하여 안출한 것으로, 배경모델 위에 2차원적으로 형성된 캐릭터의 그림자를 표시할 수 있는 화상 작성장치, 화상 작성방법 및 화상작성 프로그램이 기록된 판독 가능한 기록매체를 제공하는 것을 목적으로 한다.
또, 본 발명은 연산부하의 증대 없이도 캐릭터의 그림자를 표시할 수 있는 것이 가능한 화상 작성장치, 화상 작성방법 및 화상작성 프로그램이 기록된 판독 가능한 기록매체를 제공하는 것을 목적으로 한다.
청구항 1의 발명은, 가상 3차원 공간 내에서 시점을 기준으로 하여 캐릭터 화상을 작성함과 동시에, 그 후방에 모델 화상을 작성하여 표시수단에 표시하는 화상 작성장치에 있어서, 상기 모델을 구성하는 모델용 폴리곤 좌표를 기억하는 모델용 폴리곤 기억수단과, 상기 캐릭터를 2차원적으로 구성하는 1개의 캐릭터용 폴리곤 좌표를 기억하는 캐릭터용 폴리곤 기억수단과, 상기 모델 표시 텍스처를 기억하는 모델용 텍스처 기억수단과, 상기 캐릭터 표시 텍스처를 기억하는 캐릭터용 텍스처 기억수단과, 상기 공간 내에 설정되는 가상광원 좌표를 기억하는 광원 기억수단과, 상기 캐릭터용 폴리곤의 상기 가상광원에 의한 상기 모델 상에 투영형상을 구하는 투영처리수단과, 구해진 상기 투영형상의 색 데이터를 상기 캐릭터의 그림자를 나타내는 색 데이터로 설정하는 색 데이터 설정수단을 갖고, 상기 투영처리수단은, 상기 모델용 폴리곤의 각 좌표와 상기 가상광원을 잇는 각 직선과 상기 캐릭터용 폴리곤을 포함하는 평면과의 각 교점으로 이루어지는 투영폴리곤 좌표를 구하는 좌표변환수단과, 상기 평면에서 상기 투영폴리곤과 상기 캐릭터용 폴리곤이 겹치는 부분으로 이루어지는 공통폴리곤 좌표를 구하는 폴리곤 연산수단과, 상기 캐릭터용 폴리곤 좌표에 대한 상기 공통폴리곤 각 좌표의 상위량을 토대로 하여 해당 공통폴리곤이 갖는 텍스처 좌표를 구하는 텍스처 연산수단과, 상기 공통폴리곤의 각 좌표와 상기 가상광원을 잇는 각 직선과 상기 모델용 폴리곤을 포함하는 평면과의 각 교점으로 이루어지는 역 투영 폴리곤 좌표를 구하는 좌표 역변환수단을 구비하며, 상기 색 데이터 설정수단은 상기 역 투영폴리곤의 색 데이터를 상기 그림자 표시 색 데이터로 설정하는 것임을 특징으로 하고 있다.
이 구성에 의하면, 가상 3차원 공간 내에서 시점을 기준으로 하여 캐릭터 화상이 작성됨과 동시에, 그 후방에 모델의 화상이 작성되어 표시수단에 표시된다. 이 때, 모델용 폴리곤의 각 좌표와 가상광원을 잇는 각 직선과, 캐릭터용 폴리곤을 포함하는 평면과의 각 교점으로 이루어지는 투영폴리곤 좌표가 구해지고, 투영 폴리곤과 캐릭터용 폴리곤이 상기 평면에 있어서, 겹치는 부분으로 이루어지는 공통폴리곤 좌표가 구해진다. 그리고, 캐릭터용 폴리곤 좌표에 대한 공통폴리곤 각 좌표의 상위량을 토대로 하여 해당 공통폴리곤이 갖는 텍스처 좌표가 구해진다. 또, 공통폴리곤의 각 좌표와 가상광원을 잇는 각 직선과, 모델용 폴리곤을 포함하는 평면과의 각 교점으로 이루어지는 역 투영 폴리곤 좌표가 구해지고, 역 투영 폴리곤의 색 데이터가 그림자를 나타내는 색 데이터로 설정된다. 그에 따라, 가상 3차원 공간 내에 설정되는 가상광원에 의한 캐릭터의 그림자가 모델 위에 해당하는 부분에만 그림자를 표시할 수 있어, 캐릭터의 그림자를 실감나게 표시할 수 있고, 캐릭터가 모델보다 앞쪽에 배치되어 있는 점이 명료하게 나타나게 된다. 또, 평면 상에서 공통폴리곤 좌표를 구하고 있으므로, 연산부하의 증대를 방지할 수 있다.
도 1은 본 발명의 일실시예로서의 게임 시스템(1)을 나타내는 구성도이다.
이 시스템(1)은 게임기 본체와, 게임 화상을 출력하기 위한 텔레비전 모니터(2)와, 게임 음성을 출력하기 위한 증폭회로(3) 및 스피커(4)와, 화상, 음성 및 프로그램 데이터로 이루어진 게임 데이터가 기록된 기록매체(5)로 구성된다. 여기에서, 기록매체(5)의 예로서는 상기 게임 데이터나 오퍼레이팅 시스템의 프로그램 데이터가 기록된 ROM등이 플라스틱 케이스에 수납된 소위, ROM 카세트나, 플렉시블 디스크 등이 있다.
게임기 본체의 구성을 보면, CPU(6)에 어드레스 버스, 데이터 버스 및 컨트롤러 버스로 이루어진 버스(7)가 접속되고, 이 버스(7)에 RAM(8), 인터페이스 회로(9), 인터페이스 회로(10), 신호처리 프로세서(11), 화상처리 프로세서(12), 인터페이스 회로(13), 인터페이스 회로(14)가 각각 접속되며, 인터페이스 회로(10)에 조작정보 인터페이스 회로(15)를 개재하여 컨트롤러(16)가 접속되고, 인터페이스 회로(13)에 D/A 컨버터(17)가 접속되며, 인터페이스 회로(14)에 D/A 컨버터(18)가 접속되어 있는 구조를 지닌다.
여기에서, 상기 RAM(8), 인터페이스 회로(9) 및 기록매체(5)로 메모리부(19)가 구성되고, 상기 CPU(6), 신호처리 프로세서(11) 및 화상처리 프로세서(12)로 게임의 진행을 제어하기 위한 제어부(20)가 구성되며, 상기 인터페이스 회로(10), 조작정보 인터페이스 회로(15) 및 컨트롤러(16)로 조작 입력부(21)가 구성되고, 상기 텔레비전 모니터(2), 인터페이스 회로(13) 및 D/A 컨버터(17)로 화상 표시부(22)가 구성되며, 상기 증폭회로(3), 스피커(4), 인터페이스 회로(14) 및 D/A 컨버터(18)로 음성출력부(23)가 구성된다.
신호처리 프로세서(11)는 주로, 3차원 공간상에서의 계산, 3차원 공간상의 위치로부터 의사 3차원 공간상의 위치로 변환하기 위한 계산, 광원 계산처리 및 음성 데이터의 생성, 가공처리를 행한다.
화상처리 프로세서(12)는 신호처리 프로세서(11)에서의 계산결과를 토대로 RAM(8)의 표시영역에 묘화하여야 하는 화상 데이터의 기입처리, 가령, 폴리곤으로 지정되는 RAM(8) 영역에 대한 텍스처 데이터의 기입처리를 행한다. 이 텍스처 데이터의 기입처리에 대해서는 후술한다.
컨트롤러(16)는 스타트 버튼(16a), A버튼(16b), B버튼(16c), +자 키이(16d), 스위치형 컨트롤러(16e), 좌측 트리거 버튼(16f), 우측 트리거 버튼(16g), C1버튼(16h), C2버튼(16i), C3버튼(16j), C4버튼(16k), 커넥터(16m) 및 길이 트리거 버튼(16n)을 갖는다.
커넥터(16m)에는 가령, 게임의 진행상태 등을 일시적으로 기억하기 위한 카드형 메모리 등이 탈착 가능하게 결합된다.
스틱형 컨트롤러(16e)는 조이스틱과 거의 동일한 구성으로 되어 있다. 즉, 직립 스틱을 지니며 이 스틱의 소정 위치를 지점으로 하여 전후좌우를 포함한 360°방향으로 기울일 수 있는 구성으로, 스틱의 기울어짐 방향 및 기울어짐 각도에 따라서 직립위치를 정점으로 하는 좌우방향의 X좌표 및 전후방향의 Y좌표 값이 인터페이스 회로(15, 10)를 개재하여 CPU(6)로 송출되도록 되어 있다.
스틱형 컨트롤러(16e)는 조이스틱과 거의 동일한 구성으로 되어 있다. 즉, 직립 스틱을 지니며 이 스틱의 소정 위치를 지점으로 하여 전후좌우를 포함한 360°방향으로 기울일 수 있는 구성으로, 스틱의 기울어짐 방향 및 기울어짐 각도에 따라서 직립위치를 정점으로 하는 좌우방향의 X좌표 및 전후방향의 Y좌표 값이 인터페이스 회로(15, 10)를 개재하여 CPU(6)로 송출되도록 되어 있다.
상기 게임 시스템(1)은 용도에 따라서 그 형태가 다르다.
즉, 게임 시스템(1)이 가정용으로 구성되어 있는 경우에 있어서, 텔레비전 모니터(2), 증폭회로(3) 및 스피커(4)는 게임기 본체와는 별개의 물체로 된다. 또, 게임 시스템(1)이 업무용으로 구성되어 있는 경우에 있어서, 도 1에 도시되어 있는 구성요소는 모두 일체형으로 되어 있는 1개의 몸체 내에 수납된다.
또, 게임 시스템(1)이 퍼스널 컴퓨터나 워크 스테이션을 중심으로 구성되어 있는 경우에 있어서, 텔레비전 모니터(2)는 상기 컴퓨터용 디스플레이에 대응하고, 화상처리 프로세서(12)는 기록매체(5)에 기록되어 있는 게임 프로그램 데이터의 일부 또는 컴퓨터의 확장슬롯에 탑재되는 확장보드 상의 하드웨어에 대응하며, 인터페이스 회로(9, 10, 13, 14), D/A 컨버터(17, 18), 조작정보 인터페이스 회로(15)는 컴퓨터의 확장슬롯에 탑재되는 확장보드 상의 하드웨어에 대응한다. 또, RAM(8)은 컴퓨터 상의 메인 메모리 또는 확장 메모리의 각 영역에 대응한다.
본 실시예에서는 가정용으로 구성되어 있는 게임 시스템(1)의 경우를 일예로 설명한다.
다음에, 이 게임 시스템(1)의 개략적인 동작에 대해서 설명한다.
전원 스위치(도시생략)가 온으로 되고, 게임 시스템(1)에 전원이 인가되면, CPU(6)는 기록매체(5)에 기억되어 있는 오퍼레이팅 시스템을 토대로 하여, 기록매체(5)로부터 화상, 음성 및 게임 프로그램 데이터를 읽어낸다. 읽어낸 화상, 음성 및 게임 프로그램 데이터의 일부 또는 전부는 RAM(8)에 격납된다.
이후, CPU(6)는 RAM(8)에 기억되어 있는 게임 프로그램 데이터 및 게임자가 컨트롤러(16)를 통해서 지시하는 내용을 토대로 하여 게임을 진행한다. 즉, CPU(6)는 컨트롤러(16)를 통해서 게임자가 지시하는 내용을 토대로 하여 최적의 화상이나 음성을 출력하기 위한 타스크(task)로서의 명령을 생성한다.
신호처리 프로세서(11)는 상기 명령을 토대로 3차원 공간상(물론, 2차원 공 간상에서도 마찬가지임)에서의 캐릭터 위치 등의 계산, 광원계산 이나 음성 데이터의 생성, 가공처리를 행한다.
다음에, 화상처리 프로세서(12)는 상기 계산결과를 토대로, RAM(8)의 표시영역 상에 묘화하여야 하는 화상 데이터의 기입처리 등을 행한다. RAM(8)에 기입된 화상 데이터는 인터페이스 회로(13)를 개재하여 D/A 컨버터(17)로 공급되고, 여기에서 아날로그 영상신호로 변환된 후에, 텔레비전 모니터(2)로 공급되어 그 브라운관면 상에 화상으로써 표시된다.
한편, 신호처리 프로세서(11)에서 출력된 음성 데이터는 인터페이스 회로(14)를 개재하여 D/A 컨버터(18)로 공급되고, 여기에서 아날로그 음성신호로 변환된 후에, 증폭회로(3)를 개재하여 스피커(4)로부터 음성으로써 출력된다.
다음에, 도 1을 이용하여 화상처리 프로세서(12)에 의한 텍스처 데이터의 기입처리에 대해서 설명한다.
상술한 바와 같이, CPU(6)의 명령을 토대로 신호처리 프로세서(11)가 계산처리를 행하고, 이 계산결과를 토대로 화상처리 프로세서(12)가 RAM(8)의 표시영역 상에 묘화하여야 하는 화상 데이터의 기입처리를 행한다.
RAM(8)은 비표시영역과 표시영역(프레임 버퍼)을 지니며, 비표시영역에는 기록매체(5)에 기록되어 있는 폴리곤 데이터, 텍스처 지시데이터나 색 데이터(텍스처 데이터)등이 격납된다.
여기에서, 폴리곤은 게임공간 내에 설정되는 물체, 즉, 모델이나 캐릭터를 구성하는 다각형의 2차원 가상도형이며, 본 실시예에서는 3각형이나 4각형이 사용 되고 있다. 텍스처는 폴리곤에 붙여져서 화상을 구성하기 위한 2차원 화상이며, 색 데이터는 텍스처의 색을 지정하기 위한 데이터이다.
폴리곤을 구성하는 정점의 좌표데이터인 폴리곤 데이터와, 폴리곤에 대응하는 텍스처를 지시하는 텍스처 지시데이터는 일체적으로 격납되어 있다.
CPU(6)에 의해 생성되는 묘화를 위한 명령으로는 폴리곤을 이용하여 입체적인 화상을 묘화하기 위한 명령이나, 통상의 2차원 화상을 묘화하기 위한 명령이 있다.
폴리곤을 사용하여 입체적인 화상을 묘화하기 위한 명령은 RAM(8)의 비표시영역 상에서의 폴리곤 정점 어드레스 데이터, 폴리곤에 붙여진 텍스처 데이터에 대한 RAM(8) 상에서의 기억위치를 나타내는 텍스처 어드레스 데이터, 텍스처의 색을 나타내는 색 데이터에 대한 RAM(8) 표시영역 상에서의 기억위치를 나타내는 색 어드레스 및 텍스처의 휘도를 나타내는 휘도 데이터로 구성된다.
이들 데이터 중, RAM(8)의 비표시영역 상의 폴리곤 정점 어드레스 데이터는 신호처리 프로세서(11)에 의해 CPU(6)로부터의 3차원 공간상에서의 폴리곤 정점 표준데이터를 화면자체(시점)의 이동량 데이터 및 회전량 데이터를 토대로 좌표변환 및 투시 투영변환을 통해서, 2차원 상에서의 폴리곤 정점의 좌표데이터로 변환된다.
상기 2차원 상에서의 폴리곤 정점의 좌표데이터는 RAM(8)의 표시영역 상의 어드레스를 나타내고, 화상처리 프로세서(12)는 3개 또는 4개의 폴리곤 정점 어드레스 데이터로서 표시되는 RAM(8)의 표시영역 범위에 미리 할당되어 있는 텍스처 어드레스 데이터가 나타내는 텍스처 데이터를 기입한다. 그에 따라, 텔레비전 모니터(2)의 표시면 상에는 각 폴리곤에 텍스처를 붙여 나타낸 물체가 표시된다.
상기 도 2, 3을 사용하여 본 게임 시스템에서 실행되는 비디오게임의 개요에 대해서 설명한다. 도 2와 도 3은 비디오게임의 한 화면을 나타내는 도면이다.
본 비디오게임은 도 2에 도시한 바와 같이, 주인공 캐릭터(31)가 돌면서 이동하는 게임으로, 이 주인공 캐릭터(31)는 버스(32)의 차체에 낙서되어 있는 그림이 차체로부터 빠져나온 것이며, 1장의 폴리곤에 의해 2차원적으로 구성되어 있다.
한편, 주인공 캐릭터(31)보다 시점(視點)으로부터 떨어져 설정된 배경모델, 즉 도 2에 도시한 버스(32)나 도 3에 도시한 판벽(板璧; 33, 34) 및 지면(35)등은 복수의 폴리곤에 의해 3차원적으로 구성되어 있다.
그리고, 시점측의 소정 거리에 설정된 가상광원으로부터의 빛에 의해 생긴 주인공 캐릭터(31)의 그림자(36)가 표시되어 있다.
일예로서 도 2에는 주인공 캐릭터(31)의 그림자(36)가 버스(32)의 표면을 따라 그 일부가 생략된 상태로 표시되어 있다. 또, 도 3에는 주인공 캐릭터(31)의 그림자(36)로서, 배경판벽(33)에 그려진 그림자(36a), 판벽(33)과 직교하여 배치되는 판벽(34)에 그려진 그림자(36b) 및 지면(35)에 그려진 그림자(36c)가 표시되어 있다.
도 4는 CPU(6)의 기능블록 및 도 1의 구성요소 중 일부를 나타내는 블록도이고, 도 5는 좌표변환을 설명하는 도면이다. 도 4에서는 각부와 버스(7)간의 구성요소에 대해서는 도시하지 않았다.
도 4에 있어서, 기록매체(5)에는 게임공간(가상 3차원공간)내에 설정된 게임 프로그램이 기록되어 있다. 그리고, 이 게임 프로그램으로서 주인공 캐릭터(도 2의 31)를 2차원적으로 구성하는 1개의 폴리곤 좌표, 버스(도 2의 32)나 판벽(도 3의 33, 34 및 35)등의 배경모델을 각각 3차원적으로 구성하는 복수의 폴리곤 좌표, 가상광원 좌표가 기록되어 있다(3차원 폴리곤 기억수단, 2차원 폴리곤 기억수단, 광원 기억수단).
또, 예를 들어 도 2나 도 3에 도시한 바와 같은 주인공 캐릭터(31)의 여러 가지 자세형태를 나타내는 텍스처, 상기 각 배경모델을 나타내는 텍스처가 기록되어 있다(캐릭터용 텍스처 기억수단, 모델용 텍스처 기억수단).
또, 텍스처의 색을 지정하는 데이터로서 그림자를 나타내는 색 데이터(가령, 농도를 나타내는 데이터)가 기록되어 있다(색 데이터 기억수단).
CPU(6)는 투영처리수단(61)과 색 데이터 설정수단(62)을 구비하고 있다.
투영처리수단(61)은 좌표변환수단(71), 중첩판정수단(72), 폴리곤 연산수단(73), 텍스처 연산수단(74) 및 좌표변환수단(75)을 지니며, 주인공 캐릭터의 그림자를 표시하기 위한 처리를 행하는 것이다.
캐릭터의 그림자를 표시할 때에는 배경모델과 겹치는 부분에만 표시하고, 겹치지 않은 부분에는 표시하지 않도록 할 필요가 있다. 그래서, 투영처리수단(61)에 의해 이 중첩부분을 구하고 있다.
좌표변환수단(71)은 배경모델을 구성하는 폴리곤(이하, 「모델폴리곤」이라고 함)의 각 정점을 주인공 캐릭터를 구성하는 폴리곤(이하, 「캐릭터폴리곤」이라 함)을 포함하는 평면상에 투영하는 것이다.
이 투영은 도 5에 도시한 바와 같이, 모델폴리곤(41)의 각 정점과 가상광원(42)을 잇는 각 직선과, 캐릭터폴리곤(43)을 포함하는 평면(44)과의 각 교점좌표를 구하는 방식에 의해 실행된다. 이 각 교점으로 이루어지는 폴리곤(45)을 이하, 「투영폴리곤」이라 한다.
도 4로 돌아가서, 중첩판정수단(72)은 캐릭터폴리곤(도 5의 43)과 투영폴리곤(도 5의 45)이 겹치는지의 여부를 판정하는 것이다.
폴리곤 연산수단(73)은 상기 판정결과, 겹치는 경우에, 캐릭터폴리곤(도 5의 43)과 투영폴리곤(도 5의 45)이 겹치는 부분으로 이루어지는 공통폴리곤의 정점리스트를 구하는 것이다.
이 정점리스트는 폴리곤에서의 각 정점의 좌표데이터와, 그 순번에 관한 데이터를 갖는 것이다. 폴리곤을 작성할 때에는 각 정점의 좌표데이터를 구하는 것만으로는 불가능하며, 각 정점이 어떠한 순번으로 놓여지는가를 알고 있을 필요가 있다. 여기에서, 공통폴리곤은 정점리스트를 구하는 방식으로 작성하고 있다. 또, 본 실시예에서는 폴리곤 정점의 순번을 시계방향으로 진행되도록 설정하고 있다.
텍스터 연산수단(74)은 캐릭터폴리곤 좌표에 대한 공통폴리곤 각각의 좌표 상위량을 구하고, 이 상위량을 토대로 하여 해당 공통폴리곤이 갖는 텍스처 좌표를 구하는 것이다.
이것은 주인공 캐릭터를 나타내는 텍스처 중에서, 공통폴리곤에 대응하는 범위만을 후술하는 역 투영폴리곤에 붙이기 위해 실행하는 것으로, 이것에 의해서 도 2에 도시한 바와 같이, 버스(32)의 형상에 따라 일부 생략된 그림자(36)를 나타낼 수 있다.
좌표 역변환수단(75)은 구해진 공통폴리곤을 본래의 모델폴리곤의 평면상에 투영하여 역 투영폴리곤을 구하는 것이다.
이 투영은 좌표변환수단(71)에 의한 투영의 경우와 마찬가지로, 도 5에서 공통폴리곤의 각 정점과 가상광원(42)을 잇는 각 직선과, 모델폴리곤(41)을 포함하는 평면과의 각 교점좌표를 구하는 방식의 의해 실행된다.
색 데이터 설정수단(62)은 공통폴리곤에 붙여지는 텍스처의 색 데이터로서, 기록매체(5)에 기록되어 있는 그림자를 나타내는 색 데이터를 설정하는 것이다.
화상처리 프로세서(12)는 공통폴리곤이 본래의 모델폴리곤의 평면상에 투영된 역 투영폴리곤에 대해서, 세트화 된 텍스처 좌표의 텍스처를 붙이는 것이다. 이 때, 텍스처의 색 데이터로 설정된 그림자를 나타내는 색 데이터를 RAM(8)의 표시영역에 기입한다.
또, 텍스처의 색 데이터로 설정된 그림자를 나타내는 색 데이터와 배경모델의 색 데이터를 소정비율로 혼합하고, 이것에 의해 얻어지는 색 데이터를 RAM(8)의 표시영역에 기입하도록 함으로써, 더 한층 그림자답게 보이도록 할 수 있다.
다음에, 도 6∼도 8을 참조하면서 도 9∼도 11의 플로우차트를 따라서 그림자 표시처리의 수순에 대해서 설명한다.
도 6은 폴리곤의 중첩판정을 설명하기 위한 도면이고, 도 7과 도 8은 캐릭터폴리곤(43)과 투영폴리곤(45)의 중첩상태를 나타내는 도면이며, 도 9는 그림자 표 시처리 수순의 일례를 나타내는 플로우차트이다.
도 9에 있어서, 기록매체(5)에 기록되어 있는 모델폴리곤 좌표가 RAM(8)에 판독되고(스텝 ST100), 설정위치를 시점으로 하였을 때에 해당 폴리곤이 모니터(2) 화면 내에 존재하는지의 여부가 판정되며(스텝 ST110), 화면 내에 없다면(스텝 ST110에서 아니오), 스텝 ST100으로 되돌아가 다음 모델을 구성하는 폴리곤 좌표가 판독된다.
그리고, 판독된 폴리곤 좌표가 화면 내에 존재한다면(스텝 ST110에서 예), 그 폴리곤의 각 정점이 캐릭터폴리곤을 포함하는 평면상에 투영되어, 그 각 교점의 좌표가 구해진다(스텝 ST120).
다음에, 그 투영폴리곤의 x, y좌표의 최대값 및 최소값이 산출된다(스텝 ST130).
이것은 일예로서, 도 6에 도시한 바와 같이 정점(A0, A1, A2, A3)으로 이루어지는 폴리곤의 경우에,
x좌표의 최대값은 xmax,
x좌표의 최소값은 xmin,
y좌표의 최대값은 ymax,
y좌표의 최소값은 ymin,
으로 된다.
도 9로 되돌아가서, 다음에 투영폴리곤이 캐릭터폴리곤과 겹치는지의 여부가 판별된다(스텝 ST140). 이 판별은 투영폴리곤 및 캐릭터폴리곤의 x, y좌표의 최대값 및 최소값을 이용함으로써, 양 폴리곤이 서로 겹쳐질 가능성의 유무를 판별할 수 있다.
여기에서, 예를 들어 투영폴리곤의
x좌표의 최대값을 mxmax,
x좌표의 최소값을 mxmin,
y좌표의 최대값을 mymax,
y좌표의 최소값을 mymin으로 하고,
캐릭터폴리곤의
x좌표의 최대값을 cxmax,
x좌표의 최소값을 cxmin,
y좌표의 최대값을 cymax,
y좌표의 최소값을 cymin으로 하였을 때,
cxmax<mxmin
cxmin>mxmax
cymax<mymin
cymin>mymax
중 어느 하나의 부등식을 만족하면, 양 폴리곤이 겹쳐질 가능성은 없다고 판정된다.
그리고, 겹치지 않으면(스텝 ST140에서 아니오), 스텝 ST100으로 되돌아간다.
한편, 투영폴리곤과 캐릭터폴리곤이 겹쳐질 가능성이 있다면(스텝 ST140에서 예), 캐릭터폴리곤의 정점리스트 및 투영폴리곤의 정점리스트가 작성된다(스텝 ST150).
예를 들어, 도 7에 도시한 캐릭터폴리곤(43)의 정점리스트는,
이다. 또, 도 7에 도시한 투영폴리곤(45)의 정점리스트는,
이다.
단, Cvtx0, Cvtx1, Cvtx2, Cvtx3는 각 정점 C0, C1, C2, C3의 좌표 데이터로 하고, Mvtx0, Mvtx1, Mvtx2, Mvtx3는 각 정점 MO, M1, M2, M3의 좌표 데이터로 한다.
도 9로 되돌아가서, 다음에 투영폴리곤(45)의 한변을 구성하는 하나의 선분(이하, 「모델선분」이라 함)이 선별된다(스텝 ST160).
다음에 도 10에 있어서, 이 모델선분과 캐릭터폴리곤(43)을 구성하는 각 선 분(이하, 「캐릭터선분」이라 함)이 교차하는지의 여부가 가령, 공지의 플러그 상태 판별수법에 의해 판별된다(스텝 ST170).
그리고, 교차하지 않으면(스텝 ST170에서 아니오), 스텝 ST180으로 진행하고, 교차하면(스텝 ST170에서 예), 교차정점의 좌표가 산출된다(스텝 ST190).
다음에, 모델선분의 시점이 캐릭터폴리곤의 외측에 존재하는지의 여부가 판별되고(스텝 ST200), 외측에 존재하지 않으면(스텝 ST200에서 아니오), 스텝 ST230으로 진행한다.
그리고, 스텝 ST200에서, 모델선분의 시점이 캐릭터폴리곤의 외측에 존재하면(스텝 ST200에서 예), 투영폴리곤의 정점리스트에 있어서 교차가 있는 모델선분 시점의 좌표데이터가 교차정점의 좌표데이터로 치환됨과 동시에, 캐릭터폴리곤의 정점리스트에 결합되고(스텝 ST220), 스텝 ST170으로 되돌아가서 다른 캐릭터선분과 교차하는지의 여부가 판별된다.
스텝 ST230에서, 캐릭터폴리곤의 정점리스트에 있어서 교차가 있는 캐릭터선분 시점의 좌표데이터가 교차정점의 좌표데이터로 치환됨과 동시에, 투영폴리곤의 정점리스트에 결합되고(스텝 ST230), 스텝 ST170으로 되돌아가서 다른 캐릭터선분과 교차하는지의 여부가 판별된다.
다음에, 스텝 ST180에서, 선별되는 모델선분이 없는지의 여부가 판별되어, 모델선분이 있다면(스텝 ST180에서 아니오), 다음 모델선분이 선별되고(스텝 ST240), 스텝 ST170으로 되돌아가며, 선분이 없다면(스텝 ST180에서 예), 도 11의 스텝 ST250으로 진행한다.
여기에서, 도 7을 이용하여 스텝 ST160∼ST240에 대해서 구체적으로 설명한다. 또, 도 7에 있어서, 교차정점(P0)의 좌표 데이터를 Pvtx0, 교차정점(P1)의 좌표데이터를 Pvtx1로 한다.
스텝 ST160에서, 먼저, 모델선분(MOM1)이 선별되면, 이것은 캐릭터선분(C1C2)과 교차되므로, 스텝 ST190에서 교차정점(P0)의 좌표데이터(Pvtx)가 산출된다. 모델선분(M0M1)의 종점(M1)이 외측에 있으므로, 스텝 ST210으로부터 스텝 ST230으로 진행한다.
그리고, 스텝 ST230에서 캐릭터폴리곤(43)의 정점리스트
에 있어서, 교차가 있는 캐릭터선분(C1C2)의 시점(C1)의 좌표데이터가 교차정점(P0)의 좌표데이터로 치환된다. 그에 따라, 캐릭터폴리곤(43)의 정점리스트는,
로 된다.
또한, 투영폴리곤(45)의 정점리스트
에 있어서, 교차가 있는 모델선분(M0M1)의 시점(M0)에, 캐릭터폴리곤(43)의 정점리스트에서의 교차정점(P0)의 좌표데이터(Pvtx0)이후의 리스트가 결합된다.
그에 따라, 구하는 정점리스트로서 일단,
이 얻어진다.
다음에, 스텝 ST240에서, 순차 모델선분(M1M2, M2M3)이 선별되지만, 각각 캐릭터선분과 교차하고 있지 않으므로(스텝 ST170에서 아니오), 구하는 정점리스트는 변화되지 않는다.
다음에, 스텝 ST240에서, 모델선분(M3M0)이 선별되면, 이것은 캐릭터선분(C2C3)과 교차하므로, 스텝 ST190에서 교차정점(P1)의 좌표데이터 (Pvt1)가 산출된다. 모델선분(M3M0)의 시점(M3)이 외측에 있으므로 스텝 ST200으로부터 스텝 ST220으로 진행한다.
그리고, 스텝 ST220에서 투영폴리곤(45)의 정점리스트에 있어서, 교차가 있는 모델선분(M3MO)의 외측에 있는 시점(M3)의 좌표데이터가 교차정점(P1)의 좌표데이터로 치환된다.
또한, 상기 일단 구해서 얻은 정점리스트에 있어서, 교차가 있는 캐릭터선분(C2C3)의 시점(C2)에, 투영폴리곤(45)의 정점리스트에 대한 교차정점(P1)의 좌표데이터를 갖는 정점, 즉 정점(M3)이 결합된다.
그에 따라, 구하는 정점리스트로서 최종적으로,
이 얻어진다.
이 정점리스트는 캐릭터폴리곤(43)과 투영폴리곤(45)이 겹치는 부분으로 이루어지는 공통폴리곤(도 7중의 사선부분)에서의 각 정점의 좌표데이터와 그 순번에 관한 데이터를 갖는 것으로 되어 있다.
다음에, 도 8을 이용하여 캐릭터폴리곤(43)과 투영폴리곤(45)의 중첩방법이 다른 경우, 스텝 ST160∼ST240에 대해서 설명한다. 도 8에 있어서, 교차정점(Q0)의 좌표데이터를 Qvtx0, 교차정점(Q1)의 좌표데이터를 Qvtx1로 한다.
스텝 ST160에서, 우선 모델선분(M0M1)이 선별되면, 캐릭터폴리곤과 교차하지 않으므로 스텝 ST170에서 아니오가 되며, 다음 모델선분(M1M2)이 선별된다. 이것은 캐릭터 선분(COC1)과 교차하므로, 스텝 ST190에서 교차정점(Q0)의 좌표데이터(Qvtx0)가 산출된다. 모델선분(M1M2)의 시점(M1)이 외측에 있으므로 스텝 ST200으로부터 스텝 ST220으로 진행한다.
그리고 스텝 ST220에서 투영폴리곤(45)의 정점리스트
에 있어서, 교차가 있는 모델선분(M1M2)의 시점(M1)의 좌표데이터가 교차정점(Q0)의 좌표데이터로 치환된다. 그에 따라, 투영폴리곤(45)의 정점리스트는,
로 된다.
또한, 캐릭터폴리곤(43)의 정점리스트
에 있어서, 교차가 있는 캐릭터선분(C0C1)의 시점(C0)에서, 투영폴리곤(45) 정점리스트에서의 교차정점(Q0)의 좌표데이터(Qvtx0) 정점이 결합된다.
그에 따라 구하는 정점리스트로서, 일단,
이 얻어진다.
다음에, 스텝 ST240에서 모델선분(M2M3)이 선별되면, 이것은 캐릭터 선분(C3C0)과 교차하므로, 스텝 ST190에서 교차정점(Q1)의 좌표데이터(Qvtx1)가 산출된다. 모델선분(M2M3)의 시점(M3)이 외측에 있으므로, 스텝 ST210으로부터 스텝 ST230으로 진행한다.
그리고, 스텝 ST230에서 캐릭터폴리곤(43)의 정점리스트에 있어서, 교차가 있는 캐릭터선분(C3C0)의 외측에 있는 시점(C3)의 좌표데이터가 교차정점(Q1)의 좌표데이터로 치환된다.
또한, 상기 일단 구해서 얻은 정점리스트에 있어서, 교차가 있는 모델선분(M2M3)의 시점(M2)에서, 캐릭터폴리곤(43) 교차정점(Q1)의 좌표데이터를 갖는 정점, 즉 정점(C3)이 결합된다.
그에 따라, 구하는 정점리스트로서 최종적으로,
이 정점리스트는 캐릭터폴리곤(43)과 투영폴리곤(45)이 겹치는 부분으로 이루어지는 공통폴리곤(도 8중의 사선부분)에서의 각 정점의 좌표데이터와 그 순번에 관한 데이터를 갖는 것으로 되어 있다.
다음에, 도 11로 돌아가서, 스텝 ST250이후에 대하여 설명한다.
구해진 정점리스트로부터 정점(도 7에서는 가령, 정점 M0)이 선별되면(스텝 ST250), 캐릭터폴리곤(43)의 기준정점(도 7에서는 가령, 정점 C0)과의 상위량이 구해지며, 이 상위량을 토대로 하여 현재 선별되어 있는 정점이 갖는 텍스처좌표가 구해진다(스텝 ST260).
다음에, 이 정점이 캐릭터폴리곤이 포함된 평면으로부터 스텝 ST120의 본래의 폴리곤 평면에 투영되어, 그 교점좌표가 구해진다(스텝 ST270).
다음에, 선별된 정점이 없는지의 여부가 판별되고(스텝 ST280), 정점이 있다면(스텝 ST282에서 아니오), 정점 리스트 중의 다음 정점(도 7에서는 가령, 정점 P0)이 선별되고(스텝 ST290), 스텝 ST260으로 되돌아간다.
한편, 정점이 없다면(스텝 ST280에서 예), 구해진 정점리스트의 데이터 및 캐릭터의 좌표데이터가 CPU(6)로부터 화상처리 프로세서(12)로 송출된다(스텝 ST300).
다음에, 모델폴리곤이 없는지의 여부가 판별되고(스텝 ST310), 있다면(스텝 ST310에서 아니오), 도 9의 스텝 ST100으로 되돌아가고, 모델폴리곤이 없다면(스텝 ST310에서 예) 종료한다.
그에 따라, 버스(도 2의 32), 판벽(도 3의 33, 34, 35)등의 모든 배경모델에 대한 처리가 실행된다.
이와 같이, 본 실시예에 의하면, 2차원적으로 구성된 주인공 캐릭터(31)의 그림자(36)를 배경모델 위에 표시하도록 하였으므로, 주인공 캐릭터(31)가 배경모델, 즉, 버스(도 2의 32)나 판벽(도 3의 33. 34)보다 시점(앞쪽)측으로 떨어져 있는 것을 명료하게 나타내 보일 수 있다.
또, 3차원적으로 구성된 배경모델 위에 그림자(36)를 표시하므로, 그림자(36)를 실감나게 표현할 수 있다.
또, 모델폴리곤을 캐릭터폴리곤이 포함된 평면에 투영하여 투영폴리곤을 구하고, 캐릭터폴리곤과 투영폴리곤이 겹치는지의 여부를 2차원 좌표계로 판정하도록 하였으므로, 연산부하가 증대되지 않으며, 공통폴리곤을 용이하게 구할 수 있다.
또한, 본 발명은 상기 실시예에 한정되지 않고 이하의 (1)∼(3)에 나타낸 변형예를 채용할 수 있다.
(1) 배경모델을 구성하는 폴리곤의 좌표데이터로서, 실제로 모니터의 묘화에 사용하고 있는 좌표데이터가 아니라, 필요로 하는 최소한의 형상데이터를 갖는 간이 좌표데이터를 사용해도 좋다. 그것에 의해서 공통폴리곤을 구할 때의 연산부하를 더욱 저감시킬 수 있다.
(2) 가상광원의 위치를 주인공 캐릭터로부터 떨어진 위치, 가령, 거의 무한 원점에 설정하는 것도 좋다. 이 경우에는 태양광에 의한 그림자가 표현되어 있는 듯한 효과를 얻을 수 있다.
(3) 투영처리수단(61)의 각 기능블록은 이하에 나타낸 기능을 갖는 것으로 하여도 좋다. 즉, 좌표변환수단(71)은 캐릭터폴리곤의 각 좌표와 가상광원을 잇는 각 직선과 모델폴리곤과의 각 교점으로 이루어지는 3차원 변환폴리곤의 각 좌표를 구한다. 중첩판정수단(72)은 3차원 변환폴리곤과 모델폴리곤이 겹치는지의 여부를 판정한다. 폴리곤 연산수단(74)은 3차원 변환폴리곤과 모델폴리곤이 겹치는 부분으로 이루어지는 중첩폴리곤 좌표를 구한다.
캐릭터 연산수단(74)은 상기 실시예의 좌표변환수단(71)에 의한 투영과 마찬가지로, 상기 중첩폴리곤을 캐릭터폴리곤이 포함된 평면에 투영하고, 캐릭터폴리곤 좌표에 대한 각 좌표의 상위량을 구해, 이 상위량을 토대로 하여 상기 중첩폴리곤이 갖는 텍스처 좌표를 구한다.
이 실시예에 의해서도 상기 실시예와 마찬가지로, 그림자를 표시할 수 있다. 또, 이 실시예의 경우에는 투영처리수단(61)의 기능블록으로서, 좌표 역변환수단(75)은 불필요하다.
이상으로 설명한 바와 같이, 청구항 1의 발명은, 가상 3차원 공간 내에서 시점을 기준으로 하여 캐릭터 화상을 작성함과 동시에, 그 후방에 모델 화상을 작성하여 표시수단에 표시하는 화상 작성장치에 있어서, 상기 모델을 구성하는 모델용 폴리곤 좌표를 기억하는 모델용 폴리곤 기억수단과, 상기 캐릭터를 2차원적으로 구성하는 1개의 캐릭터용 폴리곤 좌표를 기억하는 캐릭터용 폴리곤 기억수단과, 상기 모델 표시 텍스처를 기억하는 모델용 텍스처 기억수단과, 상기 캐릭터 표시 텍스처를 기억하는 캐릭터용 텍스처 기억수단과, 상기 공간내에 설정되는 가상광원 좌표를 기억하는 광원 기억수단과, 상기 캐릭터용 폴리곤의 상기 가상광원에 의한 상기 모델 상에 투영형상을 구하는 투영처리수단과, 구해진 상기 투영형상의 색 데이터를 상기 캐릭터의 그림자를 나타내는 색 데이터로 설정하는 색 데이터 설정수단을 갖고, 상기 투영처리수단은, 상기 모델용 폴리곤의 각 좌표와 상기 가상광원을 잇는 각 직선과 상기 캐릭터용 폴리곤을 포함하는 평면과의 각 교점으로 이루어지는 투영폴리곤 좌표를 구하는 좌표변환수단과, 상기 평면에서 상기 투영폴리곤과 상기 캐릭터용 폴리곤이 겹치는 부분으로 이루어지는 공통폴리곤 좌표를 구하는 폴리곤 연산수단과, 상기 캐릭터용 폴리곤 좌표에 대한 상기 공통폴리곤 각 좌표의 상위량을 토대로 하여 해당 공통폴리곤이 갖는 텍스처 좌표를 구하는 텍스처 연산수단과, 상기 공통폴리곤의 각 좌표와 상기 가상광원을 잇는 각 직선과 상기 모델용 폴리곤을 포함하는 평면과의 각 교점으로 이루어지는 역 투영 폴리곤 좌표를 구하는 좌표 역변환수단을 구비하며, 상기 색 데이터 설정수단은 상기 역 투영폴리곤의 색 데이터를 상기 그림자 표시 색 데이터로 설정하는 것이다.
삭제
삭제
삭제
삭제
이 구성에 의하면,모델용 폴리곤의 각 좌표와 가상광원을 잇는 각 직선과, 캐릭터용 폴리곤을 포함하는 평면과의 각 교점으로 이루어지는 투영폴리곤 좌표가 구해지고, 투영 폴리곤과 캐릭터용 폴리곤이 상기 평면에 있어서, 겹치는 부분으로 이루어지는 공통폴리곤 좌표가 구해진다. 그리고, 캐릭터용 폴리곤 좌표에 대한 공통폴리곤 각 좌표의 상위량을 토대로 하여 해당 공통폴리곤이 갖는 텍스처 좌표가 구해진다. 또, 공통폴리곤의 각 좌표와 가상광원을 잇는 각 직선과, 모델용 폴리곤을 포함하는 평면과의 각 교점으로 이루어지는 역 투영 폴리곤 좌표가 구해지고, 역 투영 폴리곤의 색 데이터가 그림자를 나타내는 색 데이터로 설정된다. 그에 따라, 가상 3차원 공간 내에 설정되는 가상광원에 의한 캐릭터의 그림자가 모델 위에 해당하는 부분에만 그림자를 표시할 수 있어, 캐릭터의 그림자를 실감나게 표시할 수 있고, 캐릭터가 모델보다 앞쪽에 배치되어 있는 점을 명료하게 나타낼 수 있다. 또, 평면 상에서 공통폴리곤 좌표를 구하고 있으므로, 연산부하의 증대를 방지할 수 있다.
또, 청구항 1의 발명에 있어서, 상기 모델용 폴리곤 기억수단에 기억되어 있는 모델은 복수의 모델용 폴리곤에 의해 3차원적으로 구성되어 있는 것으로 해도 좋다.
이 구성에 의해서, 3차원적으로 구성된 모델 상에 캐릭터의 그림자를 표시할 수 있고, 그것에 의해서 캐릭터의 그림자를 한층 실감나게 표시할 수 있다.
또, 청구항 1의 발명에 있어서, 상기 모델용 폴리곤 기억수단에 기억되어 있는 모델은 복수의 모델용 폴리곤에 의해 3차원적으로 구성되어 있는 것으로 해도 좋다.
이 구성에 의해서, 3차원적으로 구성된 모델 상에 캐릭터의 그림자를 표시할 수 있고, 그것에 의해서 캐릭터의 그림자를 한층 실감나게 표시할 수 있다.
또, 청구항 1 또는 2의 발명에 있어서, 상기 색 데이터 설정수단은 상기 캐릭터의 그림자를 나타내는 색 데이터로서, 상기 모델용 텍스처 기억수단에 기억되어 있는 텍스처의 색 데이터 농도를 상승시킨 것을 이용하는 것으로 해도 좋다.
이 구성에 의하면, 캐릭터의 그림자를 나타내는 색 데이터로서 모델용 텍스 처 기억수단에 기억되어 있는 텍스처의 색 데이터 농도를 상승시킨 것이 사용됨으로써, 모델을 나타내는 색 데이터가 남게 되며, 캐릭터의 그림자를 한층 실감나게 표시할 수 있다.
청구항 1, 4, 5의 발명에 의하면, 가상 3차원 공간 내에서 시점을 기준으로 하여 캐릭터 화상을 작성함과 동시에, 그 후방에 모델 화상을 작성하여 표시수단에 표시할 때에, 상기 모델을 구성하는 모델용 폴리곤 좌표를 기억하고, 상기 캐릭터를 2차원적으로 구성하는 1개의 캐릭터용 폴리곤 좌표를 기억하고, 상기 모델을 나타내는 텍스처를 기억하고, 상기 캐릭터를 나타내는 텍스처를 기억하고, 상기 공간내에 설정되는 가상광원 좌표를 기억해 두고, 모델용 폴리곤의 각 좌표와 가상광원을 잇는 각 직선과, 캐릭터용 폴리곤을 포함하는 평면과의 각 교점으로 이루어지는 투영 폴리곤의 좌표를 구하고, 투영 폴리곤과 캐릭터용 폴리곤이 상기 평면에 있어서 겹치는 부분으로 이루어지는 공통 폴리곤의 좌표를 구하며, 캐릭터용 폴리곤의 좌표에 대한 공통 폴리곤의 각 좌표의 상위량을 토대로 하여 해당 공통 폴리곤이 갖는 텍스처 좌표를 구하고, 공통 폴리곤의 각 좌표와 가상광원을 잇는 각 직선과, 모델용 폴리곤을 포함하는 평면과의 각 교점으로 이루어지는 역 투영 폴리곤의 좌표를 구하고, 역 투영 폴리곤의 색 데이터를 그림자를 나타내는 색 데이터로 설정함으로써, 가상광원에 의한 캐릭터의 그림자가 모델 위에 해당하는 부분에만 그림자를 표시할 수 있으며, 그것에 의해서 캐릭터가 모델보다 앞쪽에 배치되어 있는 점을 명료하게 나타내 보일 수 있다. 또, 평면 상에 있어서 공통 폴리곤의 좌표를 구하고 있으므로, 연산부하의 증대를 방지할 수 있다.
또, 청구항 2의 발명에 의하면, 상기 모델용 폴리곤 기억수단에 기억되어 있는 모델은 복수의 모델용 폴리곤에 의해 3차원적으로 구성되어 있으므로, 3차원적으로 구성된 모델 위에 캐릭터의 그림자를 표시할 수 있으며, 그에 따라, 캐릭터의 그림자를 한층 실감나게 표시할 수 있다.
또, 청구항 3의 발명에 의하면, 상기 색 데이터 설정수단은 상기 캐릭터의 그림자를 나타내는 색 데이터로서, 상기 모델용 텍스처 기억수단에 기억되어 있는 텍스처의 색 데이터 농도를 상승시킨 것을 이용함으로써, 모델을 나타내는 색 데이터가 남게 되며, 캐릭터의 그림자를 한층 실감나게 표시할 수 있다.
또, 청구항 6의 발명에 의하면, 청구항 1 내지 3의 어느 한 항에 기재된 화상 작성장치와, 게임자에 의해 조작되는 조작 입력부와, 게임 프로그램이 기록된 메모리부와, 상기 조작입력부로의 조작 및 상기 게임 프로그램을 토대로 하여 게임의 진행을 제어하는 제어부를 구비하도록 하였으므로, 게임에 등장하는 캐릭터의 가상광원에 의한 그림자가 모델 위에 해당하는 부분에만 캐릭터의 그림자를 표시할 수 있어, 캐릭터의 그림자를 실감나게 표시할 수 있으며, 게임 중에 캐릭터가 모델보다 앞쪽에 배치되어 있는 점을 명료하게 나타낼 수 있다. 또, 평면 상에서 공통폴리곤 좌표를 구하고 있으므로, 연산부하의 증대를 방지할 수 있다.
Claims (7)
- 가상 3차원 공간 내에서 시점을 기준으로 하여 캐릭터 화상을 작성함과 동시에, 그 후방에 모델 화상을 작성하여 표시수단에 표시하는 화상 작성장치에 있어서,상기 모델을 구성하는 모델용 폴리곤 좌표를 기억하는 모델용 폴리곤 기억수단과,상기 캐릭터를 2차원적으로 구성하는 1개의 캐릭터용 폴리곤 좌표를 기억하는 캐릭터용 폴리곤 기억수단과,상기 모델 표시 텍스처를 기억하는 모델용 텍스처 기억수단과,상기 캐릭터 표시 텍스처를 기억하는 캐릭터용 텍스처 기억수단과,상기 공간내에 설정되는 가상광원 좌표를 기억하는 광원 기억수단과,상기 캐릭터용 폴리곤의 상기 가상광원에 의한 상기 모델 상에 투영형상을 구하는 투영처리수단과,구해진 상기 투영형상의 색 데이터를 상기 캐릭터의 그림자를 나타내는 색 데이터로 설정하는 색 데이터 설정수단을 갖고,상기 투영처리수단은,상기 모델용 폴리곤의 각 좌표와 상기 가상광원을 잇는 각 직선과 상기 캐릭터용 폴리곤을 포함하는 평면과의 각 교점으로 이루어지는 투영폴리곤 좌표를 구하는 좌표변환수단과,상기 평면에서 상기 투영폴리곤과 상기 캐릭터용 폴리곤이 겹치는 부분으로 이루어지는 공통폴리곤 좌표를 구하는 폴리곤 연산수단과,상기 캐릭터용 폴리곤 좌표에 대한 상기 공통폴리곤 각 좌표의 상위량을 토대로 하여 해당 공통폴리곤이 갖는 텍스처 좌표를 구하는 텍스처 연산수단과,상기 공통폴리곤의 각 좌표와 상기 가상광원을 잇는 각 직선과 상기 모델용 폴리곤을 포함하는 평면과의 각 교점으로 이루어지는 역 투영 폴리곤 좌표를 구하는 좌표 역변환수단을 구비하며,상기 색 데이터 설정수단은 상기 역 투영폴리곤의 색 데이터를 상기 그림자 표시 색 데이터로 설정하는 것임을 특징으로 하는 화상 작성장치.
- 제 1항에 있어서,상기 모델용 폴리곤 기억수단에 기억되어 있는 모델은 복수의 모델용 폴리곤에 의해 3차원적으로 구성되어 있는 것을 특징으로 하는 화상 작성장치.
- 삭제
- 제 1항 또는 2항에 있어서,상기 색 데이터 설정수단은 상기 캐릭터의 그림자를 나타내는 색 데이터로서, 상기 모델용 텍스처 기억수단에 기억되어 있는 텍스처의 색 데이터 농도를 상승시킨 것을 이용하는 것을 특징으로 하는 화상 작성장치.
- 가상 3차원 공간 내에서 시점을 기준으로 하여 캐릭터 화상을 작성함과 동시에, 그 후방에 모델 화상을 작성하여 표시수단에 표시하는 화상작성방법에 있어서,상기 모델을 구성하는 모델용 폴리곤 좌표, 상기 캐릭터를 2차원적으로 구성하는 1개의 캐릭터용 폴리곤 좌표, 상기 모델을 나타내는 텍스처, 상기 캐릭터를 나타내는 텍스처, 및 상기 공간 내에 설정되는 가상광원의 좌표를 기억해 두고,상기 모델용 폴리곤의 각 좌표와 상기 가상광원을 잇는 각 직선과 상기 캐릭터용 폴리곤을 포함하는 평면과의 각 교점으로 이루어지는 투영 폴리곤의 좌표를 구하고, 상기 투영 폴리곤과 상기 캐릭터용 폴리곤이 상기 평면에 있어서 겹치는 부분으로 이루어지는 공통 폴리곤의 좌표를 구하며, 상기 캐릭터용 폴리곤의 좌표에 대한 상기 공통 폴리곤의 각 좌표의 상위량을 토대로 하여 해당 공통 폴리곤이 갖는 텍스처 좌표를 구하고,상기 공통 폴리곤의 각 좌표와 상기 가상광원을 잇는 각 직선과 상기 모델용 폴리곤을 포함하는 평면과의 각 교점으로 이루어지는 역 투영 폴리곤의 좌표를, 상기 캐릭터용 폴리곤의 상기 가상광원에 의한 상기 모델 위로의 투영형상을 나타내는 것으로서 구하고,상기 투영형상을 나타내는 상기 역 투영 폴리곤의 색 데이터를 상기 캐릭터의 그림자를 나타내는 색 데이터로 설정하도록 한 것을 특징으로 하는 화상 작성방법.
- 상기 3차원 공간 내에서 시점을 기준으로 하여 캐릭터 화상을 작성함과 동시에, 그 후방에 모델 화상을 작성하여 표시수단에 표시하는 화상작성 프로그램에 있어서,상기 모델을 구성하는 모델용 폴리곤 좌표, 상기 캐릭터를 2차원적으로 구성하는 1개의 캐릭터용 폴리곤 좌표, 상기 모델을 나타내는 텍스처, 상기 캐릭터를 나타내는 텍스처, 및 상기 공간 내에 설정되는 가상광원의 좌표를 구비함과 동시에,상기 모델용 폴리곤의 각 좌표와 상기 가상광원을 잇는 각 직선과 상기 캐릭터용 폴리곤을 포함하는 평면과의 각 교점으로 이루어지는 투영 폴리곤의 좌표를 구하는 제 1스텝과,상기 투영 폴리곤과 상기 캐릭터용 폴리곤이 상기 평면에 있어서 겹치는 부분으로 이루어지는 공통 폴리곤의 좌표를 구하는 제 2스텝과,상기 캐릭터용 폴리곤의 좌표에 대한 상기 공통 폴리곤의 각 좌표의 상위량을 토대로 하여 해당 공통 폴리곤이 갖는 텍스처 좌표를 구하는 제 3스텝과,상기 공통 폴리곤의 각 좌표와 상기 가상광원을 잇는 각 직선과 상기 모델용 폴리곤을 포함하는 평면과의 각 교점으로 이루어지는 역 투영 폴리곤의 좌표를, 상기 캐릭터용 폴리곤의 상기 가상광원에 의한 상기 모델 위로의 투영형상을 나타내는 것으로서 구하는 제 4스텝과,상기 투영형상을 나타내는 상기 역 투영 폴리곤의 색 데이터를 상기 캐릭터의 그림자를 나타내는 색 데이터로 설정하는 제 5스텝을 지닌 것을 특징으로 하는 화상작성 프로그램이 기록된 판독 가능한 기록매체.
- 제 1항 또는 제 2항에 기재된 화상 작성장치와, 게임자에 의해 조작되는 조작 입력부와, 게임 프로그램이 기록된 메모리부와, 상기 조작입력부로의 조작 및 상기 게임 프로그램을 토대로 하여 게임의 진행을 제어하는 제어부를 구비한 것을 특징으로 하는 비디오 게임장치.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10071063A JP2976963B2 (ja) | 1998-03-19 | 1998-03-19 | 画像作成装置、画像作成方法、画像作成プログラムが記録された可読記録媒体およびビデオゲーム装置 |
JP??10-071063 | 1998-03-19 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19990077421A KR19990077421A (ko) | 1999-10-25 |
KR100647861B1 true KR100647861B1 (ko) | 2006-11-24 |
Family
ID=13449705
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019990004788A KR100647861B1 (ko) | 1998-03-19 | 1999-02-11 | 화상 작성장치, 화상 작성방법 및 화상 작성 프로그램이 기록된 |
Country Status (7)
Country | Link |
---|---|
EP (1) | EP0948978B1 (ko) |
JP (1) | JP2976963B2 (ko) |
KR (1) | KR100647861B1 (ko) |
CN (1) | CN1129872C (ko) |
DE (1) | DE69933406T2 (ko) |
HK (1) | HK1022443A1 (ko) |
TW (1) | TW457110B (ko) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3599268B2 (ja) | 1999-03-08 | 2004-12-08 | 株式会社ソニー・コンピュータエンタテインメント | 画像処理方法、画像処理装置及び記録媒体 |
JP3369159B2 (ja) | 2000-02-17 | 2003-01-20 | 株式会社ソニー・コンピュータエンタテインメント | 画像描画方法、画像描画装置、記録媒体及びプログラム |
JP3641578B2 (ja) | 2000-08-31 | 2005-04-20 | コナミ株式会社 | ゲーム用3次元画像処理方法、装置、ゲーム用3次元画像処理プログラムを記録したコンピュータ読み取り可能な記録媒体及びビデオゲーム装置 |
JP2002222436A (ja) * | 2000-11-22 | 2002-08-09 | Sony Computer Entertainment Inc | オブジェクト制御方法、コンピュータに実行させるためのオブジェクト制御処理プログラム、コンピュータに実行させるためのオブジェクト制御処理プログラムを記録したコンピュータ読み取り可能な記録媒体、オブジェクト制御処理プログラムを実行するプログラム実行装置 |
US6924798B2 (en) * | 2001-05-22 | 2005-08-02 | Intel Corporation | Real-time multi-resolution shadows |
JP4065507B2 (ja) * | 2002-07-31 | 2008-03-26 | キヤノン株式会社 | 情報提示装置および情報処理方法 |
JP2004246877A (ja) * | 2003-01-24 | 2004-09-02 | Sega Corp | ゲームのキャラクタに画像を投影するプログラム、そのプログラムが組み込まれたゲーム機、及びそのプログラムが格納された記録媒体 |
EP1962980A1 (en) * | 2005-12-16 | 2008-09-03 | Koninklijke Philips Electronics N.V. | Shadow generation apparatus and method |
JP4612031B2 (ja) * | 2007-09-28 | 2011-01-12 | 株式会社コナミデジタルエンタテインメント | 画像生成装置、画像生成方法、ならびに、プログラム |
JP4852555B2 (ja) * | 2008-01-11 | 2012-01-11 | 株式会社コナミデジタルエンタテインメント | 画像処理装置、画像処理方法、ならびに、プログラム |
KR101800981B1 (ko) | 2013-08-22 | 2017-11-23 | 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. | 투사 컴퓨팅 시스템 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4600200A (en) * | 1982-01-14 | 1986-07-15 | Ikegami Tsushinki Co., Ltd. | Three-dimensional image display system |
JPH08215432A (ja) * | 1995-02-17 | 1996-08-27 | Namco Ltd | 3次元ゲーム装置及び画像合成方法 |
JPH0947576A (ja) * | 1995-08-04 | 1997-02-18 | Namco Ltd | 3次元ゲーム装置及び画像合成方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5415549A (en) * | 1991-03-21 | 1995-05-16 | Atari Games Corporation | Method for coloring a polygon on a video display |
US6157733A (en) * | 1997-04-18 | 2000-12-05 | At&T Corp. | Integration of monocular cues to improve depth perception |
-
1998
- 1998-03-19 JP JP10071063A patent/JP2976963B2/ja not_active Expired - Fee Related
-
1999
- 1999-02-11 KR KR1019990004788A patent/KR100647861B1/ko not_active IP Right Cessation
- 1999-03-16 TW TW088104037A patent/TW457110B/zh not_active IP Right Cessation
- 1999-03-18 DE DE69933406T patent/DE69933406T2/de not_active Expired - Lifetime
- 1999-03-18 EP EP99104074A patent/EP0948978B1/en not_active Expired - Lifetime
- 1999-03-19 CN CN99103069A patent/CN1129872C/zh not_active Expired - Fee Related
-
2000
- 2000-03-02 HK HK00101343A patent/HK1022443A1/xx not_active IP Right Cessation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4600200A (en) * | 1982-01-14 | 1986-07-15 | Ikegami Tsushinki Co., Ltd. | Three-dimensional image display system |
JPH08215432A (ja) * | 1995-02-17 | 1996-08-27 | Namco Ltd | 3次元ゲーム装置及び画像合成方法 |
JPH0947576A (ja) * | 1995-08-04 | 1997-02-18 | Namco Ltd | 3次元ゲーム装置及び画像合成方法 |
Also Published As
Publication number | Publication date |
---|---|
JPH11272882A (ja) | 1999-10-08 |
EP0948978B1 (en) | 2006-10-04 |
CN1231460A (zh) | 1999-10-13 |
JP2976963B2 (ja) | 1999-11-10 |
DE69933406T2 (de) | 2007-08-16 |
TW457110B (en) | 2001-10-01 |
KR19990077421A (ko) | 1999-10-25 |
HK1022443A1 (en) | 2000-08-11 |
EP0948978A2 (en) | 1999-10-13 |
CN1129872C (zh) | 2003-12-03 |
DE69933406D1 (de) | 2006-11-16 |
EP0948978A3 (en) | 2001-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3824788B2 (ja) | ビデオゲーム装置、ビデオゲームにおけるゲーム画面の視点切替方法及びビデオゲームにおけるゲーム画面の視点切替プログラムが記録されたコンピュータ読み取り可能な記録媒体 | |
JP3877077B2 (ja) | ゲーム装置および画像処理プログラム | |
US20040110561A1 (en) | Game apparatus storing game sound control program and game sound control thereof | |
KR100647861B1 (ko) | 화상 작성장치, 화상 작성방법 및 화상 작성 프로그램이 기록된 | |
US6897865B2 (en) | Three-dimensional image processing method and apparatus, readable storage medium storing three-dimensional image processing program and video game system | |
EP1213044B1 (en) | Video game system, character action control method, and readable storage medium storing character action control program | |
US6781592B2 (en) | Image generating device, image generating method, readable storage medium storing image generating program, and video game device | |
JP4343207B2 (ja) | ゲーム装置および画像処理プログラム | |
KR100569700B1 (ko) | 화상 작성장치, 화상 작성방법 및 화상 작성 프로그램이 기록된 | |
JP3001538B1 (ja) | ビデオゲーム装置、ビデオゲームにおけるモデル表示方法及びビデオゲームにおけるモデル表示プログラムが記録された可読記録媒体 | |
JP3602835B2 (ja) | ビデオゲーム装置およびその制御方法ならびにゲームプログラム | |
JP3005581B1 (ja) | 画像作成装置、画像作成方法、画像作成プログラムが記録された可読記録媒体およびビデオゲ―ム装置 | |
US7245298B2 (en) | Game system, image drawing method for game system, and computer-readable storage medium storing game program | |
JP4231684B2 (ja) | ゲーム装置及びゲームプログラム | |
JP4425589B2 (ja) | 画像生成プログラム、画像生成方法及び画像生成装置 | |
JP3971003B2 (ja) | 画像作成装置 | |
JP4219766B2 (ja) | 画像生成プログラムおよび画像生成装置 | |
JP4233598B1 (ja) | 画像処理プログラム、画像処理装置、および画像処理方法 | |
JP2006204957A (ja) | ビデオゲーム装置、ビデオゲームにおけるゲーム画面の視点切替方法及びビデオゲームにおけるゲーム画面の視点切替プログラムが記録された可読記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
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: 20111109 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20121105 Year of fee payment: 7 |
|
LAPS | Lapse due to unpaid annual fee |