JP4247856B2 - Image generation system and information storage medium - Google Patents

Image generation system and information storage medium Download PDF

Info

Publication number
JP4247856B2
JP4247856B2 JP16524099A JP16524099A JP4247856B2 JP 4247856 B2 JP4247856 B2 JP 4247856B2 JP 16524099 A JP16524099 A JP 16524099A JP 16524099 A JP16524099 A JP 16524099A JP 4247856 B2 JP4247856 B2 JP 4247856B2
Authority
JP
Japan
Prior art keywords
vertex
plane
vertices
information
shadow
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Lifetime
Application number
JP16524099A
Other languages
Japanese (ja)
Other versions
JP2000353251A5 (en
JP2000353251A (en
Inventor
大英 川上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Namco Ltd
Bandai Namco Entertainment Inc
Original Assignee
Namco Ltd
Namco Bandai Games Inc
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 Namco Ltd, Namco Bandai Games Inc filed Critical Namco Ltd
Priority to JP16524099A priority Critical patent/JP4247856B2/en
Publication of JP2000353251A publication Critical patent/JP2000353251A/en
Publication of JP2000353251A5 publication Critical patent/JP2000353251A5/ja
Application granted granted Critical
Publication of JP4247856B2 publication Critical patent/JP4247856B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • 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/6646Methods 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

Description

【0001】
【発明の属する技術分野】
本発明は、画像生成システム及び情報記憶媒体に関する。
【0002】
【背景技術及び発明が解決しようとする課題】
従来より、仮想的な3次元空間であるオブジェクト空間内の所与の視点から見える画像を生成する画像生成システムが知られており、いわゆる仮想現実を体験できるものとして人気が高い。ガンゲームを楽しむことができる画像生成システムを例にとれば、プレーヤ(操作者)は、銃などを模して作られたガン型コントローラ(シューティングデバイス)を用いて、画面に映し出される標的オブジェクトをシューティングすることで、3次元ゲームを楽しむ。
【0003】
さて、このような画像生成システムでは、プレーヤの仮想現実感の向上のために、よりリアルな画像を生成することが重要な技術的課題になっている。従って、オブジェクトの影についても、よりリアルに表現できることが望まれる。そして、オブジェクトの影を表現する1つの手法として、例えば図1(A)に示す手法が考えられる。即ち、この手法では、影オブジェクト802を用意し、この影オブジェクト802をマップ(地形)オブジェクト800に重ねて配置することで、影を表現する。
【0004】
しかしながら、この手法には、以下のような問題点があることが判明した。
【0005】
即ち、マップオブジェクト800が図1(A)のように平らな場合には不具合は生じないが、マップオブジェクト800の形状が複雑になると、図1(B)、(C)に示すような不具合が生じる。
【0006】
例えば、図1(B)のように階段状のマップオブジェクト800の上段に影オブジェクト802が配置されると、影オブジェクト802が地面から浮いて見えるようになってしまう。
【0007】
一方、図1(C)のようにマップオブジェクトの下段に影オブジェクト802が配置されると、図1(D)のように影オブジェクト802がマップオブジェクト800に潜り込んで見えるようになってしまう。或いは、影オブジェクト802の描画優先順位が面804よりも高い場合には、図1(E)のように、マップオブジェクト800を透けて影オブジェクト802が見えるようになってしまう。
【0008】
以上のように、影オブジェクト802をマップオブジェクト800に単純に配置する図1(A)の手法では、マップオブジェクト800の形状が複雑になった場合に、不自然な画像が生成されてしまい、プレーヤの仮想現実感を今一つ向上できないという課題がある。
【0009】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、影のリアルな表現等を少ない処理負担で実現できる画像生成システム及び情報記憶媒体を提供することにある。
【0010】
【課題を解決するための手段】
上記課題を解決するために、本発明は、画像を生成するための画像生成システムであって、第1のオブジェクトと、第1のオブジェクトと同一形状又はほぼ同一形状であるがレンダリング情報が異なる第2のオブジェクトとを用意し、前記第2のオブジェクトから所与の条件で第3のオブジェクトを切り出す手段と、切り出された前記第3のオブジェクトが前記第1のオブジェクトに重ねて配置される画像を生成する手段とを含むことを特徴とする。また本発明に係る情報記憶媒体は、コンピュータにより使用可能な情報記憶媒体であって、上記手段を実現(実行)するための情報(プログラム或いはデータ等)を含むことを特徴とする。また本発明に係るプログラムは、コンピュータにより使用可能なプログラム(搬送波に具現化されるプログラムを含む)であって、上記手段を実現(実行)するための処理ルーチンを含むことを特徴とする。
【0011】
本発明によれば、第1のオブジェクトと第2のオブジェクトが用意される。ここで、第2のオブジェクトは、第1のオブジェクトと同一形状又はほぼ同一形状であるが(これらのオブジェクトは着目する範囲内で同一又はほぼ同一であればよい)、そのレンダリング情報(陰影づけ情報、半透明情報、屈折率情報、反射率情報、色情報、輝度情報、或いはテクスチャ情報等)が第1のオブジェクトと異なっている。そして本発明では、第2のオブジェクトから、所与の条件で第3のオブジェクトが切り出され、切り出された第3のオブジェクトが第1のオブジェクトに重ねて配置され、表示される。このようにすることで、第3のオブジェクトの部分だけが、それ以外の部分とレンダリング情報が異なって見えるようになり、影等のリアルな表現が可能になる。しかも、第1のオブジェクトと第2のオブジェクトとは、その形状が同一又はほぼ同一であるため、第1のオブジェクトの形状と、第2のオブジェクトから切り出される第3のオブジェクトの形状との間の整合性も保たれるようになる。この結果、第1のオブジェクトが複雑な形状を有していた場合にも、不自然さのないリアルな画像を生成できるようになる。
【0012】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、前記第2のオブジェクトは影切り出し用のオブジェクトであり、第4のオブジェクトの情報と光源情報とに基づいて、影切り出し用の前記第2のオブジェクトから、影となるべき前記第3のオブジェクトが切り出されることを特徴とする。このようにすれば、第4のオブジェクトの情報(位置データ、回転角度データ、形状データ等)や光源情報(光源ベクトル、光源の強さ等)が反映された影を表現できるようになる。また、第1のオブジェクトが複雑な形状を有していても、その形状との整合性が保たれた影を表現できるようになる。
【0013】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、前記第4のオブジェクトが、影を作るべきオブジェクトの形状を簡易化した簡易オブジェクトであることを特徴とする。このようにすれば、第2のオブジェクトから第3のオブジェクトを切り出す処理を簡易化できるようになり、処理負担の軽減化を図れる。
【0014】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、所与の平面を用いて前記第2のオブジェクトから前記第3のオブジェクトが切り出されることを特徴とする。このように平面を用いて第3のオブジェクトを切り出すようにすれば、オブジェクトの切り出し処理を簡素化できるようになる。
【0015】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、第4のオブジェクトの第1、第2の頂点と、該第1、第2の頂点のいずれか一方と所与のベクトルとにより得られる第3のり頂点とに基づき、前記平面が特定されることを特徴とする。このように平面を特定すれば、第4のオブジェクトの位置データや形状データや所与のベクトルの方向を、切り出される第3のオブジェクトの配置や形状に反映させることが可能になる。
【0016】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、前記平面の切断対象となるオブジェクトの頂点リストから、順次2つの頂点が取り出され、取り出された第K、第K+1の頂点が前記平面の表裏のどちらにあるかが、前記平面に関連づけられた表裏情報に基づいて判定され、前記第Kの頂点が表にあり且つ前記第K+1の頂点が裏にあると判定された場合、或いは前記第Kの頂点が裏にあり且つ前記第K+1の頂点が表にあると判定された場合に、前記第K、第K+1の頂点を結ぶ線と前記平面との交点となる第Lの頂点が前記頂点リストに挿入され、前記平面の切断対象となるオブジェクトの頂点の中で前記平面の裏及び表のいずれか一方にあると判定された頂点については、前記頂点リストに残され、他方にあると判定された頂点については、前記頂点リストから削除されることを特徴とする。
【0017】
また本発明は、画像を生成するための画像生成システムであって、平面の切断対象となるオブジェクトの頂点リストから、順次2つの頂点を取り出し、取り出された第K、第K+1の頂点が前記平面の表裏のどちらにあるかを、前記平面に関連づけられた表裏情報に基づいて判定する手段と、前記第Kの頂点が表にあり且つ前記第K+1の頂点が裏にあると判定された場合、或いは前記第Kの頂点が裏にあり且つ前記第K+1の頂点が表にあると判定された場合に、前記第K、第K+1の頂点を結ぶ線と前記平面との交点となる第Lの頂点を前記頂点リストに挿入する手段と、前記平面の切断対象となるオブジェクトの頂点の中で前記平面の裏及び表のいずれか一方にあると判定された頂点については前記頂点リストに残し、他方にあると判定された頂点については、前記頂点リストから削除する手段とを含むことを特徴とする。また本発明に係る情報記憶媒体は、コンピュータにより使用可能な情報記憶媒体であって、上記手段を実現(実行)するための情報(プログラム或いはデータ等)を含むことを特徴とする。また本発明に係るプログラムは、コンピュータにより使用可能なプログラム(搬送波に具現化されるプログラムを含む)であって、上記手段を実現(実行)するための処理ルーチンを含むことを特徴とする。
【0018】
本発明によれば、頂点リスト(頂点リンクリスト。リスト構造のデータ)から取り出された第K、第K+1の頂点が平面の表裏のどちらにあるかが判定される。そして、第Kの頂点が表にあり、第K+1の頂点が裏にあると判定された場合や、第Kの頂点が裏にあり、第K+1の頂点が表にあると判定された場合には、第K、第K+1の頂点を結ぶ線と平面との交点が求められ、頂点リストに挿入される。そして、平面の裏(或いは表)にあると判定された頂点が頂点リストから削除される。このようにすることで、本発明では、平面によりオブジェクトを切断し、切断により分割されたオブジェクトの一方のみを残すことができるようになる。
【0019】
【発明の実施の形態】
以下、本発明の好適な実施形態について図面を用いて説明する。
【0020】
1.構成
図2に、本実施形態のブロック図の一例を示す。なお同図において本実施形態は、少なくとも処理部100を含めばよく(或いは処理部100と記憶部140、或いは処理部100と記憶部140と情報記憶媒体150を含めばよく)、それ以外のブロック(例えば操作部130、画像生成部160、表示部162、音生成部170、音出力部172、通信部174、I/F部176、メモリーカード180等)については、任意の構成要素とすることができる。
【0021】
ここで処理部100は、システム全体の制御、システム内の各ブロックへの命令の指示、ゲーム演算などの各種の処理を行うものであり、その機能は、CPU(CISC型、RISC型)、DSP、或いはASIC(ゲートアレイ等)などのハードウェアや、所与のプログラム(ゲームプログラム)により実現できる。
【0022】
操作部130は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、ガン型コントローラ(シューティングデバイス)などのハードウェアにより実現できる。
【0023】
記憶部140は、処理部100、画像生成部160、音生成部170、通信部174、I/F部176などのワーク領域となるもので、その機能はRAMなどのハードウェアにより実現できる。
【0024】
情報記憶媒体(コンピュータにより使用可能な記憶媒体)150は、プログラムやデータなどの情報を格納するものであり、その機能は、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いは半導体メモリ(ROM)などのハードウェアにより実現できる。処理部100は、この情報記憶媒体150に格納される情報に基づいて本発明(本実施形態)の種々の処理を行う。即ち情報記憶媒体150には、本発明(本実施形態)の手段(特に処理部100に含まれるブロック)を実現(実行)するための種々の情報(プログラム、データ)が格納される。
【0025】
なお、情報記憶媒体150に格納される情報の一部又は全部は、システムへの電源投入時等に記憶部140に転送されることになる。また情報記憶媒体150に記憶される情報は、本発明の処理を行うためのプログラムコード、画像情報、音情報、表示物の形状情報、テーブルデータ、リストデータ、プレーヤ情報や、本発明の処理を指示するための情報、その指示に従って処理を行うための情報等の少なくとも1つを含むものである。
【0026】
画像生成部160は、処理部100からの指示等にしたがって、各種の画像を生成し表示部162に出力するものであり、その機能は、画像生成用ASIC、CPU、或いはDSPなどのハードウェアや、所与のプログラム(画像生成プログラム)、画像情報により実現できる。
【0027】
音生成部170は、処理部100からの指示等にしたがって、各種の音を生成し音出力部172に出力するものであり、その機能は、音生成用ASIC、CPU、或いはDSPなどのハードウェアや、所与のプログラム(音生成プログラム)、音情報(波形データ等)により実現できる。
【0028】
通信部174は、外部装置(例えばホスト装置や他の画像生成システム)との間で通信を行うための各種の制御を行うものであり、その機能は、通信用ASIC、或いはCPUなどのハードウェアや、所与のプログラム(通信プログラム)により実現できる。
【0029】
なお本発明(本実施形態)の処理を実現するための情報は、ホスト装置(サーバー)が有する情報記憶媒体からネットワーク及び通信部174を介して情報記憶媒体150に配信するようにしてもよい。このようなホスト装置(サーバー)の情報記憶媒体の使用も本発明の範囲内に含まれる。
【0030】
また処理部100の機能の一部又は全部を、画像生成部160、音生成部170、又は通信部174の機能により実現するようにしてもよい。或いは、画像生成部160、音生成部170、又は通信部174の機能の一部又は全部を、処理部100の機能により実現するようにしてもよい。
【0031】
I/F部176は、処理部100からの指示等にしたがってメモリーカード(広義には、携帯型ゲーム機などを含む携帯型情報記憶装置)180との間で情報交換を行うためのインターフェースとなるものであり、その機能は、メモリーカードを挿入するためのスロットや、データ書き込み・読み出し用コントローラICなどにより実現できる。なお、メモリーカード180との間の情報交換を赤外線などの無線を用いて実現する場合には、I/F部176の機能は、半導体レーザ、赤外線センサーなどのハードウェアにより実現できる。
【0032】
処理部100は、ゲーム演算部110を含む。
【0033】
ここでゲーム演算部110は、コイン(代価)の受け付け処理、各種モードの設定処理、ゲームの進行処理、選択画面の設定処理、オブジェクトの位置や回転角度(X、Y又はZ軸回り回転角度)を決める処理、視点位置や視線角度を決める処理、オブジェクトのモーションを再生又は生成する処理、オブジェクト空間へオブジェクトを配置する処理、ヒットチェック処理、ゲーム結果(成果、成績)を演算する処理、複数のプレーヤが共通のゲーム空間でプレイするための処理、或いはゲームオーバー処理などの種々のゲーム演算処理を、操作部130からの操作データ、メモリーカード180からのデータ、ゲームプログラムなどに基づいて行う。
【0034】
ゲーム演算部110は、移動体演算部112、オブジェクト切り出し部114、オブジェクト配置部116を含む。
【0035】
ここで移動体演算部112は、戦車やキャラクタなどの移動体の位置や回転角度(方向)を演算するものであり、例えば操作部130から入力される操作データや所与のプログラムに基づき、移動体をオブジェクト空間内で移動させる演算を行う。即ち、プレーヤ(自プレーヤ、他プレーヤ)による操作、或いはコンピュータ(所与の移動制御アルゴリズム)による操作等に基づいて、移動体をオブジェクト空間内で移動させる演算などを行う。
【0036】
より具体的には、移動体演算部112は、移動体の位置や回転角度を例えば1フレーム(1/60秒)毎に求める処理を行う。例えば(k−1)フレームでの移動体の位置をPMk-1、速度をVMk-1、加速度をAMk-1、1フレームの時間を△tとする。するとkフレームでの移動体の位置PMk、速度VMkは例えば下式(1)、(2)のように求められる。
【0037】
PMk=PMk-1+VMk-1×△t (1)
VMk=VMk-1+AMk-1×△t (2)
【0038】
オブジェクト切り出し部114は、まず、第1のオブジェクト(例えばマップオブジェクト)と、第1のオブジェクトと同一形状(或いはほぼ同一形状)であるがレンダリング情報(例えば陰影づけ情報)が異なる第2のオブジェクトとを用意するための処理を行う。即ち、第1、第2のオブジェクトの形状やレンダリングに関する情報を、例えば情報記憶媒体(CD、DVD、ROM等)からオブジェクト情報記憶部142に読み込んでおく。次に、オブジェクト切り出し部114は、この第2のオブジェクトから所与の条件で第3のオブジェクトをリアルタイムに切り出すための処理を行う。
【0039】
より具体的には、例えば、影を作るべきオブジェクト(例えば戦車、キャラクタ)の情報と、光源情報(例えば光源ベクトル)とに基づいて、影切り出し用のオブジェクトから、影オブジェクトをリアルタイムに切り出す(切り取る)。この場合、影オブジェクトは、影を作るべきオブジェクトの情報や光源情報により特定される平面を用いて、影切り出し用オブジェクトから切り出すようにする。また、影を作るべきオブジェクトの情報(戦車やキャラクタの位置、回転角度等)は、移動体演算部112により演算される。
【0040】
オブジェクト配置部116は、切り出された第3のオブジェクトを第1のオブジェクトに重ねて配置するための処理を行う。より具体的には、例えば、影切り出し用オブジェクトから切り出された影オブジェクトを、マップオブジェクトに重ねて配置するようにする。このようにすることで、マップオブジェクトが複雑な形状を有していても、マップオブジェクトの形状との整合性が保たれたリアルな影の表現が可能になる。
【0041】
なお、本実施形態の画像生成システムは、1人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、このようなシングルプレーヤモードのみならず、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。
【0042】
また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、1つの端末を用いて生成してもよいし、ネットワーク(伝送ライン、通信回線)などで接続された複数の端末を用いて生成してもよい。
【0043】
2.本実施形態の特徴
次に、本実施形態の特徴について図3を用いて説明する。
【0044】
本実施形態では図3のE1、E2に示すように、まず、地形などを表すためのマップオブジェクト10(第1のオブジェクト)と影切り出し用オブジェクト20(第2のオブジェクト)を用意する。即ち、マップオブジェクト10、影切り出し用オブジェクト20の形状やレンダリングに関する情報を図2のオブジェクト情報記憶部142に記憶しておく。なお、これらのオブジェクトは例えば1又は複数のポリゴン(広義にはプリミティブ面)により構成される。
【0045】
ここで、図3のE1、E2に示すように、マップオブジェクト10と影切り出し用オブジェクト20は、その形状が同一になっているが、陰影づけ情報(広義にはレンダリング情報)が異なっている。即ち、影切り出し用オブジェクト20の陰影づけ(輝度)はマップオブジェクト10に比べて暗くなっている。
【0046】
なお、影切り出し用オブジェクト20として、マップオブジェクト10の絵柄(テクスチャ)とは無関係の真っ黒なオブジェクトを用意してもよいし、マップオブジェクト10の絵柄の輝度を全体的に暗くしたオブジェクトを用意してもよい。
【0047】
また、影切り出し用オブジェクト20の形状は、マップオブジェクト10と完全同一である必要はなく、ほぼ同一の形状であってもよい。即ち、例えばマップオブジェクト10の複雑な形状を簡略化したオブジェクトを、影切り出し用オブジェクト20として用いてもよい。また、マップオブジェクト10の形状と影切り出し用オブジェクト20の形状とは、全ての範囲で同一又はほぼ同一である必要はなく、着目する狭い範囲内で同一又はほぼ同一であれば十分である。
【0048】
次に、図3のE3に示すように、影切り出し用オブジェクト20を例えば平面22により切断する。同様に、図3のE4、E5、E6に示すように、影切り出し用オブジェクト20を、平面24、26、28により切断する。このようにして、図3のE7に示すように、影切り出し用オブジェクト20(第2のオブジェクト)から影オブジェクト30(第3のオブジェクト)が切り出される。
【0049】
そして最後に、切り出された影オブジェクト30(第3のオブジェクト)をマップオブジェクト10(第1のオブジェクト)に重ねて配置し、画面に表示する。
【0050】
以上のようにすれば、マップオブジェクト10が複雑な形状を有していても、マップオブジェクト10の形状と影オブジェクトの30の形状との間に不整合が生じるのを防止でき、リアルな影を表現できるようになる。即ち、図1(A)〜(E)で説明したような不具合が生じるのを効果的に防止できる。
【0051】
図4(A)、(B)、図5に、本実施形態により生成されるゲーム画像の例を示す。これらの図では、戦車40がマップ上を走行しており、この戦車40の影42がマップ上に投影されている。そして図4(B)、図5では、段差のある階段の上を戦車40が通過している。この場合に本実施形態では、図4(B)のF1、図5のF2、F3に示すように、階段の段差の形状と影42の形状との整合性が保たれるようになり、リアルな影を表現できる。
【0052】
例えば、図4(A)、(B)、図5のようなリアルな影の表現を可能にする1つの手法として、戦車及びマップオブジェクトの3次元形状データと光源ベクトルとに基づいて戦車の影となる領域を光学計算により正確に求める手法が考えられる。この手法によれば、マップオブジェクトの形状との整合性が保たれたリアルな影を表現できるようになる。しかしながら、この手法では、計算の処理負担が過大になってしまい、この種の画像生成システムに要求される処理のリアルタイム性を維持できない。
【0053】
一方、図1(A)〜(E)の手法では、影オブジェクトをマップオブジェクトに配置するだけで影を表現できるため、忠実な光学計算を用いる上記手法に比べて処理負担は軽くなる。しかしながら、図1(A)〜(E)の手法には、マップオブジェクトの形状が複雑になった場合に、マップオブジェクトの形状との整合性が保たれたリアルな影を表現できないという問題点がある。
【0054】
本実施形態によれば、図3に示すように、影切り出し用オブジェクト20から影オブジェクト30を切り出し、マップオブジェクト10に配置するだけという簡素な処理で、図4(A)、(B)、図5に示すようなリアルな影を表現できるようになる。従って、本実施形態によれば、マップオブジェクトとの整合性が保たれたリアルな影を、少ない処理負担で表現できるようになり、忠実な光学計算を用いる手法や図1(A)〜(E)の手法では実現できない特有な効果を奏することになる。
【0055】
さて、本実施形態では、オブジェクト(第4のオブジェクト)の情報と、光源情報とに基づいて、影切り出し用オブジェクトから影オブジェクトを切り出している。
【0056】
例えば図6では、オブジェクト50の形状データ(広義にはオブジェクト情報)と光源ベクトルLV(広義には光源情報)とに基づいて、影オブジェクト30を切り出し、マップオブジェクト10上に配置している。より具体的には、オブジェクト50の形状データと光源ベクトルLVとに基づいて、図3の平面22、24、26、28を特定し、これらの平面22〜28により、影切り出し用オブジェクト20から影オブジェクト30を切り出す。
【0057】
このようにすれば、影オブジェクト30の配置位置や形状に、光源ベクトルLVの方向やオブジェクト50の位置や形状が反映されるようになる。即ち、光源ベクトルLVの方向やオブジェクト50の位置が変われば、影オブジェクト30の配置位置も変化し、オブジェクト50の形状が変われば、影オブジェクト30の形状も変化するようになる。従って、少ない処理負担でリアルな影を表現できるようになる。
【0058】
なお、図7に示すように、オブジェクト50として、影を作るべきオブジェクトである戦車40の形状を簡易化したオブジェクトを用いるようにしてもよい。即ち図7では、戦車40の位置に基づいてオブジェクト50の代表点の位置RPが特定され、戦車40の大きさに基づいてオブジェクト50の長さ及び幅が特定される。そして、このオブジェクト50を用いて、図6に示すように影オブジェクト30が切り出される。
【0059】
このような、戦車40の形状を簡易化したオブジェクト50を用いることで、影オブジェクトを切り出す範囲を求める処理(平面を特定する処理)を簡素化でき、処理負担の軽減化を図れるようになる。
【0060】
なお、図7のオブジェクト50は、影オブジェクトの切り出しのためだけに用いられ、実際には画面上に表示されないオブジェクトである。
【0061】
さて、本実施形態では、図3のE3、E4、E5、E6で説明したように、平面22、24、26、28を用いて影切り出し用オブジェクト20から影オブジェクト30を切り出している。即ち図8に示すように、4つの平面22、24、26、28を用いることで、影切り出しオブジェクトから四角の形状の影オブジェクトを切り出すことができるようになる。
【0062】
このような平面を用いた影オブジェクトの切り出し手法には、処理負担が非常に軽いという利点がある。即ち、この手法によれば後述するように、切断対象となるオブジェクトの頂点が平面の表にあるか裏にあるかを判定する処理と、平面とオブジェクトの交点を求める処理と、裏(或いは表)にある頂点を削除する処理を行うだけで、オブジェクトを切断し、影オブジェクトを切り出すことができるようになるからである。
【0063】
なお影オブジェクトの切り出しに用いる平面は、以下に述べる手法により特定することが望ましい。
【0064】
即ち図9に示すように、まず、オブジェクト50の頂点V0(第1の頂点)と、光源ベクトルLV(所与のベクトル)とに基づいて、頂点VG(第3の頂点)を特定する。より具体的には、光源ベクトルLVの始点を頂点V0に配置した時のLVの終点を頂点VGに設定する。そして、オブジェクトの頂点V0、V1(第1、第2の頂点)と頂点VG(第3の頂点)とに基づいて、これらの頂点V0、V1、VGからなる三角形52を含む第1の平面を特定する。即ち第1の平面のパラメータ(法線ベクトル情報)を求める。そして、同様の処理を頂点V1、V2について行うことで第2の平面を特定し、頂点V2、V3について行うことで第3の平面を特定し、頂点V3、V0について行うことで第4の平面を特定する。そして、これらの特定された第1〜第4の平面のパラメータを用いて、図3で説明したように、影切り出し用オブジェクトから影オブジェクトを切り出す。
【0065】
以上のような手法によれば、第1〜第4の平面のパラメータに、光源ベクトルLVの方向やオブジェクト50の形状が反映されるようになる。この結果、光源ベクトルLVの方向やオブジェクト50の形状が反映された影を少ない処理負担で表現できるようになる。
【0066】
3.本実施形態の処理
次に、本実施形態の詳細な詳細例について、図10、図11、図12のフローチャートを用いて説明する。
【0067】
図10は、本実施形態の全体的な処理の流れを示すフローチャートである。
【0068】
まず、マップオブジェクトと同一形状(或いはほぼ同一形状)の影切り出し用オブジェクトを用意する(ステップS1)。即ち図3のE2に示すような影切り出し用オブジェクト20を用意する。
【0069】
次に、図6、図9で説明したように、影を作るべきオブジェクトの情報と、光源ベクトルとに基づき、影オブジェクトの切り出しに用いる平面のパラメータをセットする(ステップS2)。
【0070】
次に、図3のE3〜E6に示すように、影切り出し用オブジェクトを、ステップS2でパラメータがセットされた平面により切断する処理を行う(ステップS3)。そして、全ての平面についての切り出し処理を終了したか否かを判断し(ステップS4)、終了していない場合にはステップS3に戻る。一方、終了した場合には、図3のE8に示すように、平面により切り出された影オブジェクトをマップオブジェクトの上に重ねて配置する(ステップS5)。
【0071】
図11、図12は、平面によるオブジェクトの切断処理に関するフローチャートである。
【0072】
まず、切断対象となるオブジェクトの頂点リスト(頂点リンクリスト)から最初の頂点を取り出し、取り出した頂点をVAにセットする(ステップT1)。即ち図13(A)に示す頂点リストから最初の頂点V0を取り出し、VAにセットする。
【0073】
次に、VA(=V0)が平面の表裏のどちらにあるかを判定する(ステップT2)。例えば図13(B)では、V0は、平面60の表にあると判断される。
【0074】
なお、表裏の判定は、平面60に関連づけられた表裏情報である法線ベクトルNVの情報(平面のパラメータ。平面方程式の係数のパラメータ)に基づいて行うことになる。即ち、図9に示す手法で平面を特定する際に、平面の法線ベクトルがオブジェクト50の内側に常に向くように、平面のパラメータを求めるようにする。
【0075】
次に、頂点リストから次の頂点を取り出し、取り出した頂点をVBにセットする(ステップT3)。即ち図13(A)に示す頂点リストから次の頂点V1を取り出し、VBにセットする。
【0076】
次に、VB(=V1)が平面の表裏のどちらにあるかを判定する(ステップT4)。例えば図13(B)では、V1は、平面60の裏にあると判断される。
【0077】
次に、VAが表にあり且つVBが裏にある、或いは、VAが裏にあり且つVBが表にあるかを判定し(ステップT5)、そうである場合にはステップT6に移行し、そうでない場合にはステップT8に移行する。例えば図13(B)では、V0が表にありV1が裏にあるため、ステップT6に移行する。
【0078】
ステップT6に移行すると、VA、VBを結ぶ線と平面との交点を求め、求められた交点をVCにセットする。例えば図13(B)では、交点V01がVCにセットされる。そして、VC(V01)を、頂点リストの中のVA(V0)とVB(V1)との間に挿入する(ステップT7)。
【0079】
次に、VBをVAにセットする(ステップT8)。即ち、今までVBにセットされていたV1がVAにセットされる。
【0080】
次に、全ての頂点についての処理が終了したか否かを判断する(ステップT9)。そして、終了していない場合には、ステップT3に戻る。即ち、この場合には、V1、V2がVA、VBにセットされて、ステップT3〜T8の処理が再度行われる。そして、その処理が終わると、今度は、V2、V3がVA、VBにセットされステップT3〜T8の処理が行われ、次は、V3、V4がVA、VBにセットされステップT3〜T8の処理が行われ、その次は、V4、V0がVA、VBにセットされステップT3〜T8の処理が行われる。
【0081】
そして、全ての頂点についての処理が終了したと判断されると、裏(表でもよい)と判定された頂点を頂点リストから削除する(ステップT10)。例えば図13(B)では、V1、V2、V3が頂点リストから削除される。また、平面との交点であるV01、V34が、各々、頂点リストのV0及びV1の間、V3及びV4の間に挿入されることになる。
【0082】
4.ハードウェア構成
次に、本実施形態を実現できるハードウェアの構成の一例について図14を用いて説明する。同図に示すシステムでは、CPU1000、ROM1002、RAM1004、情報記憶媒体1006、音生成IC1008、画像生成IC1010、I/Oポート1012、1014が、システムバス1016により相互にデータ送受信可能に接続されている。そして前記画像生成IC1010にはディスプレイ1018が接続され、音生成IC1008にはスピーカ1020が接続され、I/Oポート1012にはコントロール装置1022が接続され、I/Oポート1014には通信装置1024が接続されている。
【0083】
情報記憶媒体1006は、プログラム、表示物を表現するための画像データ、音データ等が主に格納されるものである。例えば家庭用ゲームシステムではゲームプログラム等を格納する情報記憶媒体としてDVD、ゲームカセット、CDROM等が用いられる。また業務用ゲームシステムではROM等のメモリが用いられ、この場合には情報記憶媒体1006はROM1002になる。
【0084】
コントロール装置1022はゲームコントローラ、操作パネル等に相当するものであり、プレーヤがゲーム進行に応じて行う判断の結果をシステム本体に入力するための装置である。
【0085】
情報記憶媒体1006に格納されるプログラム、ROM1002に格納されるシステムプログラム(システム本体の初期化情報等)、コントロール装置1022によって入力される信号等に従って、CPU1000はシステム全体の制御や各種データ処理を行う。RAM1004はこのCPU1000の作業領域等として用いられる記憶手段であり、情報記憶媒体1006やROM1002の所与の内容、あるいはCPU1000の演算結果等が格納される。また本実施形態を実現するための論理的な構成を持つデータ構造は、このRAM又は情報記憶媒体上に構築されることになる。
【0086】
更に、この種のシステムには音生成IC1008と画像生成IC1010とが設けられていてゲーム音やゲーム画像の好適な出力が行えるようになっている。音生成IC1008は情報記憶媒体1006やROM1002に記憶される情報に基づいて効果音やバックグラウンド音楽等のゲーム音を生成する集積回路であり、生成されたゲーム音はスピーカ1020によって出力される。また、画像生成IC1010は、RAM1004、ROM1002、情報記憶媒体1006等から送られる画像情報に基づいてディスプレイ1018に出力するための画素情報を生成する集積回路である。なおディスプレイ1018として、いわゆるヘッドマウントディスプレイ(HMD)と呼ばれるものを使用することもできる。
【0087】
また、通信装置1024は画像生成システム内部で利用される各種の情報を外部とやりとりするものであり、他の画像生成システムと接続されてゲームプログラムに応じた所与の情報を送受したり、通信回線を介してゲームプログラム等の情報を送受することなどに利用される。
【0088】
そして図1〜図13(B)で説明した種々の処理は、プログラムやデータなどの情報を格納した情報記憶媒体1006、この情報記憶媒体1006からの情報等に基づいて動作するCPU1000、画像生成IC1010或いは音生成IC1008等によって実現される。なお画像生成IC1010、音生成IC1008等で行われる処理は、CPU1000あるいは汎用のDSP等によりソフトウェア的に行ってもよい。
【0089】
図15(A)に、本実施形態を業務用ゲームシステムに適用した場合の例を示す。プレーヤは、ディスプレイ1100上に映し出されたゲーム画像を見ながら、レバー1102、ボタン1104等を操作してゲームを楽しむ。内蔵されるシステムボード(サーキットボード)1106には、CPU、画像生成IC、音生成IC等が実装される。そして、本実施形態の処理(本発明の手段)を実行(実現)するための情報は、システムボード1106上の情報記憶媒体である半導体メモリ1108に格納される。以下、この情報を格納情報と呼ぶ。
【0090】
図15(B)に、本実施形態を家庭用のゲームシステムに適用した場合の例を示す。プレーヤはディスプレイ1200に映し出されたゲーム画像を見ながら、ゲームコントローラ1202、1204を操作してゲームを楽しむ。この場合、上記格納情報は、本体システムに着脱自在な情報記憶媒体であるDVD1206、メモリーカード1208、1209等に格納されている。
【0091】
図15(C)に、ホスト装置1300と、このホスト装置1300と通信回線(LANのような小規模ネットワークや、インターネットのような広域ネットワーク)1302を介して接続される端末1304-1〜1304-nとを含む画像生成システムに本実施形態を適用した場合の例を示す。この場合、上記格納情報は、例えばホスト装置1300が制御可能な磁気ディスク装置、磁気テープ装置、半導体メモリ等の情報記憶媒体1306に格納されている。端末1304-1〜1304-nが、CPU、画像生成IC、音処理ICを有し、スタンドアロンでゲーム画像、ゲーム音を生成できるものである場合には、ホスト装置1300からは、ゲーム画像、ゲーム音を生成するためのゲームプログラム等が端末1304-1〜1304-nに配送される。一方、スタンドアロンで生成できない場合には、ホスト装置1300がゲーム画像、ゲーム音を生成し、これを端末1304-1〜1304-nに伝送し端末において出力することになる。
【0092】
なお、図15(C)の構成の場合に、本発明の処理を、ホスト装置(サーバー)と端末とで分散して処理するようにしてもよい。また、本発明を実現するための上記格納情報を、ホスト装置(サーバー)の情報記憶媒体と端末の情報記憶媒体に分散して格納するようにしてもよい。
【0093】
また通信回線に接続する端末は、家庭用ゲームシステムであってもよいし業務用ゲームシステムであってもよい。そして、業務用ゲームシステムを通信回線に接続する場合には、業務用ゲームシステムとの間で情報のやり取りが可能であると共に家庭用ゲームシステムとの間でも情報のやり取りが可能な携帯型情報記憶装置(メモリーカード、携帯型ゲーム機)を用いることが望ましい。
【0094】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。
【0095】
例えば、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の1の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。
【0096】
また、本発明では、第1、第2のオブジェクト間で異なるレンダリング情報が陰影づけ情報である場合について説明した。リアルな影の表現のためには、レンダリング情報は本実施形態のように陰影づけ情報であることが特に望ましいが、本発明のレンダリング情報は、陰影づけ情報に限定されない。例えば本発明のレンダリング情報としては、半透明(透明)情報、反射率情報、屈折率情報、テクスチャ情報、色情報、輝度情報、或いは表面形状情報等、種々のものを考えることができる。このように、陰影づけ情報以外のレンダリング情報を用いることで、オブジェクト上で動く水たまりやアメーバなどの表現も可能になる。
【0097】
また、本実施形態では、図7に示すように、影を作るべきオブジェクト(戦車)の形状を簡易化したオブジェクトを用いて、オブジェクトを切り出しているが、影を作るべきオブジェクトそのものを用いて、オブジェクトを切り出すようにしてもよい。
【0098】
また、本実施形態では、平面を用いてオブジェクトを切り出しているが、平面以外の図形を用いてオブジェクトを切り出すようにしてもよい。
【0099】
また本発明は、ガンゲーム、シューティングゲーム、格闘ゲーム、ロボット対戦ゲーム、スポーツゲーム、競争ゲーム、ロールプレイングゲーム、音楽演奏ゲーム、ダンスゲーム等、種々のゲームに適用できる。
【0100】
また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、画像生成システム、ゲーム画像を生成するシステムボード等の種々の画像生成システムに適用できる。
【図面の簡単な説明】
【図1】図1(A)〜(E)は、影オブジェクトをマップオブジェクト上に単純に配置して影を表現する手法の問題点について説明するための図である。
【図2】本実施形態の画像生成システムのブロック図の例である。
【図3】本実施形態のオブジェクトの切り出し手法について説明するための図である。
【図4】図4(A)、(B)は、本実施形態により生成されるゲーム画像の例である。
【図5】本実施形態により生成されるゲーム画像の例である。
【図6】光源ベクトルとオブジェクトの形状データに基づいて影オブジェクトを切り出す手法について説明するための図である。
【図7】影を作るべきオブジェクトの形状を簡易化したオブジェクトを用いる手法について説明するための図である。
【図8】平面を用いて影オブジェクトを切り出す手法について説明するための図である。
【図9】光源ベクトルとオブジェクトの形状データに基づいて平面を特定する手法について説明するための図である。
【図10】本実施形態の処理の詳細例について示すフローチャートである。
【図11】本実施形態の処理の詳細例について示すフローチャートである。
【図12】本実施形態の処理の詳細例について示すフローチャートである。
【図13】図13(A)は頂点リストの例を示す図であり、図13(B)は、オブジェクトの切断手法について説明するための図である。
【図14】本実施形態を実現できるハードウェアの構成の一例を示す図である。
【図15】図15(A)、(B)、(C)は、本実施形態が適用される種々の形態のシステムの例を示す図である。
【符号の説明】
10 マップオブジェクト(第1のオブジェクト)
20 影切り出し用オブジェクト(第2のオブジェクト)
22、24、26、28 平面
30 影オブジェクト(第3のオブジェクト)
40 戦車
42 影
50 オブジェクト(第4のオブジェクト)
52 三角形
LV 光源ベクトル(光源情報)
100 処理部
110 ゲーム演算部
112 移動体演算部
114 オブジェクト切り出し部
116 オブジェクト配置部
130 操作部
140 記憶部
142 オブジェクト情報記憶部
150 情報記憶媒体
160 画像生成部
162 表示部
170 音生成部
172 音出力部
174 通信部
176 I/F部
180 メモリーカード
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an image generation system and an information storage medium.
[0002]
[Background Art and Problems to be Solved by the Invention]
2. Description of the Related Art Conventionally, an image generation system that generates an image that can be seen from a given viewpoint in an object space that is a virtual three-dimensional space is known, and is popular as being able to experience so-called virtual reality. Taking an image generation system that can enjoy a gun game as an example, a player (operator) uses a gun-type controller (shooting device) that mimics a gun or the like to select a target object displayed on the screen. Enjoy 3D games by shooting.
[0003]
In such an image generation system, it is an important technical problem to generate a more realistic image in order to improve the player's virtual reality. Therefore, it is desirable that the shadow of the object can be expressed more realistically. As one method for expressing the shadow of the object, for example, the method shown in FIG. That is, in this method, a shadow object 802 is prepared, and this shadow object 802 is placed on the map (terrain) object 800 so as to express a shadow.
[0004]
However, it has been found that this method has the following problems.
[0005]
That is, when the map object 800 is flat as shown in FIG. 1A, no problem occurs. However, when the map object 800 has a complicated shape, the problem as shown in FIGS. 1B and 1C occurs. Arise.
[0006]
For example, when the shadow object 802 is arranged on the upper stage of the staircase-like map object 800 as shown in FIG. 1B, the shadow object 802 appears to float from the ground.
[0007]
On the other hand, when the shadow object 802 is arranged at the lower stage of the map object as shown in FIG. 1C, the shadow object 802 appears to be embedded in the map object 800 as shown in FIG. Alternatively, when the drawing priority order of the shadow object 802 is higher than that of the surface 804, the shadow object 802 can be seen through the map object 800 as shown in FIG.
[0008]
As described above, in the method of FIG. 1A in which the shadow object 802 is simply arranged on the map object 800, when the shape of the map object 800 becomes complicated, an unnatural image is generated, and the player There is a problem that the virtual reality cannot be improved.
[0009]
The present invention has been made in view of the above problems, and an object of the present invention is to provide an image generation system and an information storage medium that can realize realistic representation of shadows with a small processing load. is there.
[0010]
[Means for Solving the Problems]
In order to solve the above problems, the present invention is an image generation system for generating an image, wherein the first object and the first object have the same shape or substantially the same shape but different rendering information. A second object, a means for cutting out a third object from the second object under a given condition, and an image in which the cut out third object is placed on the first object. Generating means. The information storage medium according to the present invention is an information storage medium that can be used by a computer, and includes information (program or data) for realizing (executing) the above means. A program according to the present invention is a program (including a program embodied in a carrier wave) usable by a computer, and includes a processing routine for realizing (executing) the above means.
[0011]
According to the present invention, a first object and a second object are prepared. Here, the second object has the same shape or almost the same shape as the first object (these objects may be the same or almost the same within the range of interest), but the rendering information (shading information) , Semi-transparency information, refractive index information, reflectance information, color information, luminance information, texture information, etc.) are different from the first object. In the present invention, the third object is cut out from the second object under a given condition, and the cut out third object is placed on the first object and displayed. By doing so, only the portion of the third object appears to be different in rendering information from the other portions, and realistic expression such as a shadow becomes possible. Moreover, since the first object and the second object have the same or almost the same shape, the shape between the shape of the first object and the shape of the third object cut out from the second object. Consistency is also maintained. As a result, even when the first object has a complicated shape, it is possible to generate a realistic image without unnaturalness.
[0012]
In the image generation system, the information storage medium, and the program according to the present invention, the second object is an object for shadow extraction, and the second object for shadow extraction is based on information of the fourth object and light source information. The third object to be a shadow is cut out from the second object. In this way, it is possible to express a shadow reflecting information (position data, rotation angle data, shape data, etc.) and light source information (light source vector, light source intensity, etc.) of the fourth object. Further, even when the first object has a complicated shape, it is possible to express a shadow that is consistent with the shape.
[0013]
The image generation system, the information storage medium, and the program according to the present invention are characterized in that the fourth object is a simple object that simplifies the shape of the object to be shaded. In this way, the process of cutting out the third object from the second object can be simplified, and the processing burden can be reduced.
[0014]
The image generation system, information storage medium, and program according to the present invention are characterized in that the third object is cut out from the second object using a given plane. If the third object is cut out using a plane in this way, the object cut-out process can be simplified.
[0015]
The image generation system, information storage medium, and program according to the present invention are obtained by the first and second vertices of the fourth object, one of the first and second vertices, and a given vector. The plane is specified based on a third glue vertex. If the plane is specified in this way, the position data and shape data of the fourth object and the direction of the given vector can be reflected in the arrangement and shape of the third object to be cut out.
[0016]
In the image generation system, information storage medium, and program according to the present invention, two vertices are sequentially extracted from the vertex list of the object to be cut of the plane, and the extracted Kth and K + 1th vertices are the plane. Is determined based on the front and back information associated with the plane, and it is determined that the Kth vertex is in the front and the K + 1 vertex is in the back, or When it is determined that the Kth vertex is on the back and the K + 1th vertex is in the front, the Lth vertex that is the intersection of the line connecting the Kth and (K + 1) th vertex and the plane is Among the vertices of the object that is inserted into the vertex list and is to be cut in the plane, the vertices determined to be on either the back or the front of the plane are left in the vertex list and are on the other For constant vertex, characterized in that it is removed from the vertex list.
[0017]
The present invention is also an image generation system for generating an image, in which two vertices are sequentially extracted from a vertex list of an object to be cut in a plane, and the extracted Kth and K + 1th vertices are the plane. A means for determining which of the front and back is based on the front and back information associated with the plane, and when it is determined that the Kth vertex is on the front and the K + 1th vertex is on the back, Alternatively, when it is determined that the Kth vertex is on the back and the K + 1th vertex is in the table, the Lth vertex that is the intersection of the line connecting the Kth and (K + 1) th vertex and the plane And a vertex that is determined to be on either the back or front of the plane among the vertices of the object to be cut of the plane is left in the vertex list, and the other I think there is The vertices, characterized in that it comprises a means for deleting from the vertex list. The information storage medium according to the present invention is an information storage medium that can be used by a computer, and includes information (program or data) for realizing (executing) the above means. A program according to the present invention is a program (including a program embodied in a carrier wave) usable by a computer, and includes a processing routine for realizing (executing) the above means.
[0018]
According to the present invention, it is determined whether the Kth and K + 1th vertices extracted from the vertex list (vertex link list; list structure data) are on the front or back of the plane. When it is determined that the Kth vertex is on the front and the (K + 1) th vertex is on the back, or when the Kth vertex is on the back and the (K + 1) th vertex is on the front , The intersection of the line connecting the Kth and (K + 1) th vertices and the plane is determined and inserted into the vertex list. Then, the vertex determined to be behind the plane (or front) is deleted from the vertex list. By doing in this way, in this invention, it becomes possible to cut | disconnect an object by a plane and to leave only one side of the object divided | segmented by cutting | disconnection.
[0019]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, preferred embodiments of the present invention will be described with reference to the drawings.
[0020]
1. Constitution
FIG. 2 shows an example of a block diagram of the present embodiment. In this figure, the present embodiment may include at least the processing unit 100 (or may include the processing unit 100 and the storage unit 140, or the processing unit 100, the storage unit 140, and the information storage medium 150), and other blocks. (For example, the operation unit 130, the image generation unit 160, the display unit 162, the sound generation unit 170, the sound output unit 172, the communication unit 174, the I / F unit 176, the memory card 180, etc.) are optional components. Can do.
[0021]
Here, the processing unit 100 performs various processes such as control of the entire system, instruction instruction to each block in the system, and game calculation, and functions thereof are a CPU (CISC type, RISC type), DSP. Alternatively, it can be realized by hardware such as an ASIC (gate array or the like) or a given program (game program).
[0022]
The operation unit 130 is for a player to input operation data, and the function can be realized by hardware such as a lever, a button, a gun-type controller (shooting device), and the like.
[0023]
The storage unit 140 serves as a work area such as the processing unit 100, the image generation unit 160, the sound generation unit 170, the communication unit 174, and the I / F unit 176, and its functions can be realized by hardware such as a RAM.
[0024]
An information storage medium (storage medium usable by a computer) 150 stores information such as programs and data, and functions thereof are an optical disk (CD, DVD), a magneto-optical disk (MO), a magnetic disk, and a hard disk. It can be realized by hardware such as a magnetic tape or a semiconductor memory (ROM). The processing unit 100 performs various processes of the present invention (this embodiment) based on information stored in the information storage medium 150. That is, the information storage medium 150 stores various information (programs, data) for realizing (executing) the means (particularly, the blocks included in the processing unit 100) of the present invention (this embodiment).
[0025]
Part or all of the information stored in the information storage medium 150 is transferred to the storage unit 140 when the system is powered on. Information stored in the information storage medium 150 includes program code, image information, sound information, shape information of display objects, table data, list data, player information, and processing of the present invention. It includes at least one of information for instructing, information for performing processing in accordance with the instruction, and the like.
[0026]
The image generation unit 160 generates various images in accordance with instructions from the processing unit 100 and outputs them to the display unit 162. The function of the image generation unit 160 is hardware such as an image generation ASIC, CPU, or DSP, It can be realized by a given program (image generation program) and image information.
[0027]
The sound generation unit 170 generates various sounds in accordance with instructions from the processing unit 100 and outputs them to the sound output unit 172. The function of the sound generation unit 170 is a hardware such as a sound generation ASIC, CPU, or DSP. Or a given program (sound generation program) and sound information (waveform data, etc.).
[0028]
The communication unit 174 performs various controls for communicating with an external device (for example, a host device or other image generation system), and functions as a hardware such as a communication ASIC or a CPU. Alternatively, it can be realized by a given program (communication program).
[0029]
Note that information for realizing the processing of the present invention (this embodiment) may be distributed from the information storage medium of the host device (server) to the information storage medium 150 via the network and the communication unit 174. Use of such an information storage medium of the host device (server) is also included in the scope of the present invention.
[0030]
Further, part or all of the functions of the processing unit 100 may be realized by the functions of the image generation unit 160, the sound generation unit 170, or the communication unit 174. Alternatively, part or all of the functions of the image generation unit 160, the sound generation unit 170, or the communication unit 174 may be realized by the function of the processing unit 100.
[0031]
The I / F unit 176 serves as an interface for exchanging information with a memory card 180 (in a broad sense, a portable information storage device including a portable game machine) according to an instruction from the processing unit 100. This function can be realized by a slot for inserting a memory card, a controller IC for data writing / reading, and the like. In the case where information exchange with the memory card 180 is realized using radio waves such as infrared rays, the function of the I / F unit 176 can be realized by hardware such as a semiconductor laser and an infrared sensor.
[0032]
The processing unit 100 includes a game calculation unit 110.
[0033]
Here, the game calculation unit 110 receives coins (price), processing for various modes, game progress, selection screen setting, object position and rotation angle (X, Y, or Z axis rotation angle). Processing to determine the viewpoint position and line-of-sight angle, processing to reproduce or generate the motion of the object, processing to place the object in the object space, hit check processing, processing to calculate the game results (results, results), multiple Various game calculation processes such as a process for players to play in a common game space or a game over process are performed based on operation data from the operation unit 130, data from the memory card 180, game programs, and the like.
[0034]
The game calculation unit 110 includes a moving body calculation unit 112, an object cutout unit 114, and an object placement unit 116.
[0035]
Here, the moving object calculation unit 112 calculates the position and rotation angle (direction) of a moving object such as a tank or a character. For example, the moving object calculation unit 112 moves based on operation data input from the operation unit 130 or a given program. Performs operations that move the body in the object space. In other words, based on an operation by a player (self player, other player) or an operation by a computer (a given movement control algorithm), an operation for moving the moving body in the object space is performed.
[0036]
More specifically, the moving body computing unit 112 performs a process of obtaining the position and rotation angle of the moving body every frame (1/60 seconds), for example. For example, assume that the position of the moving body in the (k-1) frame is PMk-1, the speed is VMk-1, the acceleration is AMk-1, and the time of one frame is Δt. Then, the position PMk and the speed VMk of the moving body in k frames are obtained, for example, by the following equations (1) and (2).
[0037]
PMk = PMk-1 + VMk-1 * .DELTA.t (1)
VMk = VMk-1 + AMk-1 * .DELTA.t (2)
[0038]
The object cutout unit 114 first has a first object (for example, a map object) and a second object that has the same shape (or almost the same shape) as the first object but has different rendering information (for example, shading information). Process to prepare. That is, information on the shape and rendering of the first and second objects is read into the object information storage unit 142 from, for example, an information storage medium (CD, DVD, ROM, etc.). Next, the object cutout unit 114 performs processing for cutting out the third object from the second object under a given condition in real time.
[0039]
More specifically, for example, a shadow object is cut out (cut out) in real time from an object for shadow extraction based on information on an object (for example, a tank or a character) that should make a shadow and light source information (eg, a light source vector). ). In this case, the shadow object is cut out from the shadow cutout object using a plane specified by the information on the object to be made a shadow and the light source information. In addition, information on an object to be cast a shadow (tank and character position, rotation angle, etc.) is calculated by the moving object calculation unit 112.
[0040]
The object placement unit 116 performs a process for placing the clipped third object on the first object. More specifically, for example, the shadow object cut out from the shadow cut-out object is arranged so as to overlap the map object. In this way, even if the map object has a complicated shape, it is possible to express a realistic shadow that is consistent with the shape of the map object.
[0041]
Note that the image generation system of the present embodiment may be a system dedicated to the single player mode in which only one player can play, or not only the single player mode but also a multiplayer mode in which a plurality of players can play. The system may also be provided.
[0042]
Further, when a plurality of players play, game images and game sounds to be provided to the plurality of players may be generated using one terminal, or connected via a network (transmission line, communication line) or the like. Alternatively, it may be generated using a plurality of terminals.
[0043]
2. Features of this embodiment
Next, features of the present embodiment will be described with reference to FIG.
[0044]
In this embodiment, as shown by E1 and E2 in FIG. 3, first, a map object 10 (first object) and a shadow extraction object 20 (second object) for representing the terrain and the like are prepared. That is, information regarding the shape and rendering of the map object 10 and the shadow cutout object 20 is stored in the object information storage unit 142 of FIG. These objects are composed of, for example, one or a plurality of polygons (primitive surfaces in a broad sense).
[0045]
Here, as shown by E1 and E2 in FIG. 3, the map object 10 and the shadow cutout object 20 have the same shape, but different shading information (rendering information in a broad sense). That is, the shadowing (brightness) of the shadow cutout object 20 is darker than that of the map object 10.
[0046]
As the shadow cutout object 20, a black object unrelated to the pattern (texture) of the map object 10 may be prepared, or an object in which the brightness of the pattern of the map object 10 is totally darkened is prepared. Also good.
[0047]
Further, the shape of the shadow cutout object 20 does not have to be completely the same as that of the map object 10, and may be substantially the same shape. That is, for example, an object obtained by simplifying the complex shape of the map object 10 may be used as the shadow cutout object 20. Further, the shape of the map object 10 and the shape of the shadow cutout object 20 do not have to be the same or substantially the same in the entire range, and are sufficient if they are the same or almost the same in the narrow range of interest.
[0048]
Next, as shown by E <b> 3 in FIG. 3, the shadow cutout object 20 is cut by, for example, a plane 22. Similarly, as shown by E4, E5, and E6 in FIG. 3, the shadow cutout object 20 is cut along the planes 24, 26, and 28. In this way, the shadow object 30 (third object) is cut out from the shadow cutout object 20 (second object), as indicated by E7 in FIG.
[0049]
Finally, the extracted shadow object 30 (third object) is placed over the map object 10 (first object) and displayed on the screen.
[0050]
As described above, even if the map object 10 has a complicated shape, it is possible to prevent inconsistency between the shape of the map object 10 and the shape of the shadow object 30, and to create a realistic shadow. It becomes possible to express. That is, it is possible to effectively prevent the problem described with reference to FIGS.
[0051]
4A, 4B, and 5 show examples of game images generated by the present embodiment. In these drawings, the tank 40 is traveling on the map, and a shadow 42 of the tank 40 is projected on the map. In FIG. 4B and FIG. 5, the tank 40 passes over the steps with steps. In this case, in this embodiment, as shown by F1 in FIG. 4B and F2 and F3 in FIG. 5, the consistency between the shape of the stepped portion of the staircase and the shape of the shadow 42 is maintained. Can express a simple shadow.
[0052]
For example, as one technique that enables the expression of realistic shadows as shown in FIGS. 4A, 4B, and 5, the shadow of the tank is based on the three-dimensional shape data of the tank and the map object and the light source vector. It is conceivable to obtain an accurate region by optical calculation. According to this method, it is possible to express a realistic shadow that is consistent with the shape of the map object. However, with this method, the processing load of calculation becomes excessive, and the real-time property of processing required for this type of image generation system cannot be maintained.
[0053]
On the other hand, in the method of FIGS. 1A to 1E, since a shadow can be expressed simply by placing a shadow object on a map object, the processing load is reduced compared to the above method using faithful optical calculation. However, the method shown in FIGS. 1A to 1E has a problem in that when the shape of the map object becomes complicated, it is not possible to express a real shadow that is consistent with the shape of the map object. is there.
[0054]
According to the present embodiment, as shown in FIG. 3, a simple process of cutting out the shadow object 30 from the shadow cutting object 20 and placing it on the map object 10, FIG. 4 (A), FIG. 4 (B), FIG. A realistic shadow as shown in FIG. 5 can be expressed. Therefore, according to the present embodiment, a real shadow that is consistent with the map object can be expressed with a small processing load, and a method using faithful optical calculation and FIGS. ) Produces a unique effect that cannot be realized by the method of ().
[0055]
In the present embodiment, a shadow object is cut out from the shadow cutout object based on the object (fourth object) information and the light source information.
[0056]
For example, in FIG. 6, the shadow object 30 is cut out and arranged on the map object 10 based on the shape data (object information in a broad sense) of the object 50 and the light source vector LV (light source information in a broad sense). More specifically, the planes 22, 24, 26, and 28 in FIG. 3 are specified based on the shape data of the object 50 and the light source vector LV, and the shadow clipping object 20 is shadowed by these planes 22 to 28. The object 30 is cut out.
[0057]
In this way, the direction of the light source vector LV and the position and shape of the object 50 are reflected in the arrangement position and shape of the shadow object 30. That is, if the direction of the light source vector LV or the position of the object 50 changes, the arrangement position of the shadow object 30 also changes. If the shape of the object 50 changes, the shape of the shadow object 30 also changes. Accordingly, a realistic shadow can be expressed with a small processing load.
[0058]
As shown in FIG. 7, as the object 50, an object obtained by simplifying the shape of the tank 40 that is an object to be shaded may be used. That is, in FIG. 7, the position RP of the representative point of the object 50 is specified based on the position of the tank 40, and the length and width of the object 50 are specified based on the size of the tank 40. Then, using this object 50, the shadow object 30 is cut out as shown in FIG.
[0059]
By using the object 50 in which the shape of the tank 40 is simplified as described above, it is possible to simplify the process for determining the range for extracting the shadow object (process for specifying the plane), and to reduce the processing load.
[0060]
Note that the object 50 in FIG. 7 is an object that is used only for clipping a shadow object and is not actually displayed on the screen.
[0061]
In the present embodiment, as described in E3, E4, E5, and E6 in FIG. 3, the shadow object 30 is cut out from the shadow cutout object 20 using the planes 22, 24, 26, and 28. That is, as shown in FIG. 8, by using the four planes 22, 24, 26, and 28, a shadow object having a square shape can be cut out from the shadow cutout object.
[0062]
Such a shadow object clipping method using a plane has an advantage that the processing load is very light. That is, according to this method, as will be described later, a process for determining whether the vertex of an object to be cut is on the front or the back of the plane, a process for obtaining the intersection of the plane and the object, and a back (or front) This is because the object can be cut and the shadow object can be cut out simply by performing the process of deleting the vertex at ().
[0063]
It should be noted that it is desirable to specify the plane used for extracting the shadow object by the method described below.
[0064]
That is, as shown in FIG. 9, first, the vertex VG (third vertex) is specified based on the vertex V0 (first vertex) of the object 50 and the light source vector LV (given vector). More specifically, the end point of the LV when the start point of the light source vector LV is arranged at the vertex V0 is set as the vertex VG. Then, based on the vertices V0, V1 (first and second vertices) and the vertex VG (third vertex) of the object, the first plane including the triangle 52 composed of these vertices V0, V1, and VG is obtained. Identify. That is, the first plane parameter (normal vector information) is obtained. Then, the second plane is identified by performing the same processing for the vertices V1 and V2, the third plane is identified by performing for the vertices V2 and V3, and the fourth plane is performed by performing for the vertices V3 and V0. Is identified. Then, as described with reference to FIG. 3, the shadow object is cut out from the shadow cutout object using the parameters of the identified first to fourth planes.
[0065]
According to the above method, the direction of the light source vector LV and the shape of the object 50 are reflected in the parameters of the first to fourth planes. As a result, the shadow reflecting the direction of the light source vector LV and the shape of the object 50 can be expressed with a small processing load.
[0066]
3. Processing of this embodiment
Next, detailed detailed examples of the present embodiment will be described with reference to the flowcharts of FIGS. 10, 11, and 12.
[0067]
FIG. 10 is a flowchart showing the overall processing flow of this embodiment.
[0068]
First, a shadow cutout object having the same shape (or almost the same shape) as the map object is prepared (step S1). That is, a shadow cutout object 20 as shown by E2 in FIG. 3 is prepared.
[0069]
Next, as described with reference to FIGS. 6 and 9, the plane parameters used for extracting the shadow object are set based on the information on the object to be made a shadow and the light source vector (step S2).
[0070]
Next, as shown by E3 to E6 in FIG. 3, a process of cutting the shadow cutout object along the plane in which the parameters are set in step S2 is performed (step S3). Then, it is determined whether or not the cut-out process for all the planes has been completed (step S4), and if not, the process returns to step S3. On the other hand, when the process is completed, as shown at E8 in FIG. 3, the shadow object cut out by the plane is placed on the map object so as to overlap (step S5).
[0071]
FIG. 11 and FIG. 12 are flowcharts related to the object cutting processing by a plane.
[0072]
First, the first vertex is extracted from the vertex list (vertex link list) of the object to be cut, and the extracted vertex is set to VA (step T1). That is, the first vertex V0 is extracted from the vertex list shown in FIG. 13A and set to VA.
[0073]
Next, it is determined whether VA (= V0) is on the front or back of the plane (step T2). For example, in FIG. 13B, it is determined that V0 is in the table of the plane 60.
[0074]
The front / back determination is performed based on information on the normal vector NV (plane parameter; parameter parameter of plane equation) which is front / back information associated with the plane 60. That is, when the plane is specified by the method shown in FIG. 9, the plane parameters are obtained so that the normal vector of the plane always faces the inside of the object 50.
[0075]
Next, the next vertex is extracted from the vertex list, and the extracted vertex is set to VB (step T3). That is, the next vertex V1 is extracted from the vertex list shown in FIG. 13A and set to VB.
[0076]
Next, it is determined whether VB (= V1) is on the front or back of the plane (step T4). For example, in FIG. 13B, it is determined that V1 is behind the plane 60.
[0077]
Next, it is determined whether VA is on the front and VB is on the back, or VA is on the back and VB is on the front (step T5). If so, the process proceeds to step T6, so If not, the process proceeds to step T8. For example, in FIG. 13B, since V0 is on the front and V1 is on the back, the process proceeds to step T6.
[0078]
In step T6, the intersection of the line connecting VA and VB and the plane is obtained, and the obtained intersection is set to VC. For example, in FIG. 13B, the intersection point V01 is set to VC. Then, VC (V01) is inserted between VA (V0) and VB (V1) in the vertex list (step T7).
[0079]
Next, VB is set to VA (step T8). That is, V1 that has been set to VB until now is set to VA.
[0080]
Next, it is determined whether or not the processing for all vertices has been completed (step T9). And when not complete | finished, it returns to step T3. That is, in this case, V1 and V2 are set to VA and VB, and the processes in steps T3 to T8 are performed again. When the processing is completed, V2 and V3 are set to VA and VB, and the processing of steps T3 to T8 is performed. Next, V3 and V4 are set to VA and VB, and the processing of steps T3 to T8 is performed. Next, V4 and V0 are set to VA and VB, and the processing of steps T3 to T8 is performed.
[0081]
When it is determined that the processing for all the vertices has been completed, vertices determined to be back (or front) may be deleted from the vertex list (step T10). For example, in FIG. 13B, V1, V2, and V3 are deleted from the vertex list. Further, V01 and V34, which are intersections with the plane, are inserted between the vertex lists V0 and V1 and between V3 and V4, respectively.
[0082]
4). Hardware configuration
Next, an example of a hardware configuration capable of realizing the present embodiment will be described with reference to FIG. In the system shown in the figure, a CPU 1000, a ROM 1002, a RAM 1004, an information storage medium 1006, a sound generation IC 1008, an image generation IC 1010, and I / O ports 1012, 1014 are connected to each other via a system bus 1016 so that data can be transmitted and received. A display 1018 is connected to the image generation IC 1010, a speaker 1020 is connected to the sound generation IC 1008, a control device 1022 is connected to the I / O port 1012, and a communication device 1024 is connected to the I / O port 1014. Has been.
[0083]
The information storage medium 1006 mainly stores programs, image data for expressing display objects, sound data, and the like. For example, in a home game system, a DVD, a game cassette, a CDROM, or the like is used as an information storage medium for storing a game program or the like. In the arcade game system, a memory such as a ROM is used. In this case, the information storage medium 1006 is a ROM 1002.
[0084]
The control device 1022 corresponds to a game controller, an operation panel, and the like, and is a device for inputting a result of determination made by the player in accordance with the progress of the game to the system main body.
[0085]
In accordance with a program stored in the information storage medium 1006, a system program stored in the ROM 1002 (system body initialization information, etc.), a signal input by the control device 1022, the CPU 1000 controls the entire system and performs various data processing. . The RAM 1004 is a storage means used as a work area of the CPU 1000 and stores the given contents of the information storage medium 1006 and the ROM 1002 or the calculation result of the CPU 1000. A data structure having a logical configuration for realizing the present embodiment is constructed on the RAM or the information storage medium.
[0086]
Furthermore, this type of system is provided with a sound generation IC 1008 and an image generation IC 1010 so that game sounds and game images can be suitably output. The sound generation IC 1008 is an integrated circuit that generates game sounds such as sound effects and background music based on information stored in the information storage medium 1006 and the ROM 1002, and the generated game sounds are output by the speaker 1020. The image generation IC 1010 is an integrated circuit that generates pixel information to be output to the display 1018 based on image information sent from the RAM 1004, the ROM 1002, the information storage medium 1006, and the like. As the display 1018, a so-called head mounted display (HMD) can be used.
[0087]
The communication device 1024 exchanges various types of information used inside the image generation system with the outside, and is connected to other image generation systems to send and receive given information according to the game program, It is used to send and receive information such as game programs via a line.
[0088]
Various processes described with reference to FIGS. 1 to 13B include an information storage medium 1006 that stores information such as programs and data, a CPU 1000 that operates based on information from the information storage medium 1006, and an image generation IC 1010. Alternatively, it is realized by a sound generation IC 1008 or the like. The processing performed by the image generation IC 1010, the sound generation IC 1008, and the like may be performed by software using the CPU 1000 or a general-purpose DSP.
[0089]
FIG. 15A shows an example in which the present embodiment is applied to an arcade game system. The player enjoys the game by operating the lever 1102, the button 1104, and the like while viewing the game image displayed on the display 1100. The built-in system board (circuit board) 1106 is mounted with a CPU, an image generation IC, a sound generation IC, and the like. Information for executing (implementing) the processing (means of the present invention) of this embodiment is stored in a semiconductor memory 1108 that is an information storage medium on the system board 1106. Hereinafter, this information is referred to as storage information.
[0090]
FIG. 15B shows an example in which the present embodiment is applied to a home game system. The player enjoys the game by operating the game controllers 1202 and 1204 while viewing the game image displayed on the display 1200. In this case, the stored information is stored in a DVD 1206, a memory card 1208, 1209, or the like, which is an information storage medium detachable from the main system.
[0091]
FIG. 15C shows a host device 1300 and terminals 1304-1 to 1304- connected to the host device 1300 via a communication line (small network such as a LAN or wide area network such as the Internet) 1302. An example in which the present embodiment is applied to an image generation system including n will be described. In this case, the stored information is stored in an information storage medium 1306 such as a magnetic disk device, a magnetic tape device, or a semiconductor memory that can be controlled by the host device 1300, for example. When the terminals 1304-1 to 1304-n have a CPU, an image generation IC, and a sound processing IC and can generate game images and game sounds stand-alone, the host device 1300 receives game images and games. A game program or the like for generating sound is delivered to the terminals 1304-1 to 1304-n. On the other hand, if it cannot be generated stand-alone, the host device 1300 generates a game image and a game sound, which is transmitted to the terminals 1304-1 to 1304-n and output at the terminal.
[0092]
In the case of the configuration shown in FIG. 15C, the processing of the present invention may be distributed between the host device (server) and the terminal. The storage information for realizing the present invention may be distributed and stored in the information storage medium of the host device (server) and the information storage medium of the terminal.
[0093]
The terminal connected to the communication line may be a home game system or an arcade game system. And, when the arcade game system is connected to a communication line, portable information storage that can exchange information with the arcade game system and exchange information with the home game system. It is desirable to use a device (memory card, portable game machine).
[0094]
The present invention is not limited to that described in the above embodiment, and various modifications can be made.
[0095]
For example, in the invention according to the dependent claims of the present invention, a part of the constituent features of the dependent claims can be omitted. Moreover, the principal part of the invention according to one independent claim of the present invention can be made dependent on another independent claim.
[0096]
In the present invention, a case has been described in which rendering information that differs between the first and second objects is shading information. For real shadow expression, it is particularly desirable that the rendering information is shading information as in the present embodiment, but the rendering information of the present invention is not limited to shading information. For example, various information such as translucent (transparent) information, reflectance information, refractive index information, texture information, color information, luminance information, or surface shape information can be considered as rendering information of the present invention. Thus, by using rendering information other than shading information, it is possible to express a puddle or amoeba that moves on the object.
[0097]
Further, in the present embodiment, as shown in FIG. 7, the object is cut out using an object that simplifies the shape of the object (tank) that should make a shadow, but the object itself that should make a shadow is used, You may make it cut out an object.
[0098]
In the present embodiment, the object is cut out using a plane, but the object may be cut out using a figure other than the plane.
[0099]
Further, the present invention can be applied to various games such as a gun game, a shooting game, a fighting game, a robot battle game, a sports game, a competition game, a role playing game, a music performance game, and a dance game.
[0100]
The present invention also relates to various image generation systems such as a business game system, a home game system, a large attraction system in which a large number of players participate, a simulator, a multimedia terminal, an image generation system, and a system board for generating game images. Applicable.
[Brief description of the drawings]
FIGS. 1A to 1E are diagrams for explaining problems of a technique for expressing a shadow by simply arranging a shadow object on a map object.
FIG. 2 is an example of a block diagram of an image generation system according to the present embodiment.
FIG. 3 is a diagram for explaining an object clipping method according to the present embodiment;
FIGS. 4A and 4B are examples of game images generated according to the present embodiment.
FIG. 5 is an example of a game image generated according to the present embodiment.
FIG. 6 is a diagram for explaining a method of cutting out a shadow object based on a light source vector and object shape data.
FIG. 7 is a diagram for explaining a method using an object in which the shape of an object to be shaded is simplified.
FIG. 8 is a diagram for explaining a method of cutting out a shadow object using a plane.
FIG. 9 is a diagram for explaining a method for specifying a plane based on a light source vector and object shape data;
FIG. 10 is a flowchart illustrating a detailed example of processing according to the embodiment.
FIG. 11 is a flowchart illustrating a detailed example of processing according to the present exemplary embodiment.
FIG. 12 is a flowchart illustrating a detailed example of processing according to the present exemplary embodiment.
FIG. 13A is a diagram showing an example of a vertex list, and FIG. 13B is a diagram for explaining an object cutting method.
FIG. 14 is a diagram illustrating an example of a hardware configuration capable of realizing the present embodiment.
FIGS. 15A, 15B, and 15C are diagrams illustrating examples of various types of systems to which the present embodiment is applied.
[Explanation of symbols]
10 Map object (first object)
20 Shadow extraction object (second object)
22, 24, 26, 28 plane
30 Shadow object (third object)
40 tanks
42 Shadow
50 objects (fourth object)
52 triangle
LV light source vector (light source information)
100 processor
110 Game calculation part
112 Mobile object calculation unit
114 Object cutout part
116 Object placement part
130 Operation unit
140 Storage unit
142 Object Information Storage Unit
150 Information storage medium
160 Image generator
162 Display section
170 Sound generator
172 sound output unit
174 Communication Department
176 I / F section
180 memory card

Claims (14)

画像を生成するための画像生成システムであって、
第1のオブジェクトと、第1のオブジェクトと同一形状又はほぼ同一形状であるがレンダリング情報が異なる第2のオブジェクトとを用意し、前記第2のオブジェクトから所与の条件で第3のオブジェクトを切り出す手段と、
切り出された前記第3のオブジェクトが前記第1のオブジェクトに重ねて配置される画像を生成する手段と、
を含むことを特徴とする画像生成システム。
An image generation system for generating an image,
A first object and a second object having the same shape or substantially the same shape as the first object but different in rendering information are prepared, and a third object is cut out from the second object under a given condition Means,
Means for generating an image in which the cut out third object is arranged to overlap the first object;
An image generation system comprising:
請求項1において、
前記第2のオブジェクトは影切り出し用のオブジェクトであり、
第4のオブジェクトの情報と光源情報とに基づいて、影切り出し用の前記第2のオブジェクトから、影となるべき前記第3のオブジェクトが切り出されることを特徴とする画像生成システム。
In claim 1,
The second object is an object for shadow extraction,
An image generation system, wherein the third object to be a shadow is cut out from the second object for shadow extraction based on information on the fourth object and light source information.
請求項2において、
前記第4のオブジェクトが、影を作るべきオブジェクトの形状を簡易化した簡易オブジェクトであることを特徴とする画像生成システム。
In claim 2,
The image generation system, wherein the fourth object is a simple object that simplifies the shape of an object to be shaded.
請求項1乃至3のいずれかにおいて、
所与の平面を用いて前記第2のオブジェクトから前記第3のオブジェクトが切り出されることを特徴とする画像生成システム。
In any one of Claims 1 thru | or 3,
The image generation system, wherein the third object is cut out from the second object using a given plane.
請求項4において、
第4のオブジェクトの第1、第2の頂点と、該第1、第2の頂点のいずれか一方と所与のベクトルとにより得られる第3の頂点とに基づき、前記平面が特定されることを特徴とする画像生成システム。
In claim 4,
The plane is specified based on the first and second vertices of the fourth object, and the third vertex obtained from one of the first and second vertices and a given vector. An image generation system characterized by the above.
請求項4又は5において、
前記平面の切断対象となるオブジェクトの頂点リストから、順次2つの頂点が取り出され、取り出された第K、第K+1の頂点が前記平面の表裏のどちらにあるかが、前記平面に関連づけられた表裏情報に基づいて判定され、
前記第Kの頂点が表にあり且つ前記第K+1の頂点が裏にあると判定された場合、或いは前記第Kの頂点が裏にあり且つ前記第K+1の頂点が表にあると判定された場合に、前記第K、第K+1の頂点を結ぶ線と前記平面との交点となる第Lの頂点が前記頂点リストに挿入され、
前記平面の切断対象となるオブジェクトの頂点の中で前記平面の裏及び表のいずれか一方にあると判定された頂点については、前記頂点リストに残され、他方にあると判定された頂点については、前記頂点リストから削除されることを特徴とする画像生成システム。
In claim 4 or 5,
Two vertices are sequentially extracted from the vertex list of the object to be cut of the plane, and whether the extracted Kth and K + 1 vertices are on the front or back of the plane is the front and back associated with the plane. Determined based on information,
When it is determined that the Kth vertex is in the front and the K + 1th vertex is in the back, or when it is determined that the Kth vertex is in the back and the K + 1 vertex is in the front In addition, the Lth vertex that is the intersection of the line connecting the Kth and (K + 1) th vertex and the plane is inserted into the vertex list,
Among the vertices of the object to be cut of the plane, the vertices determined to be on either the back or the front of the plane are left in the vertex list and the vertices determined to be on the other side The image generation system is deleted from the vertex list.
画像を生成するための画像生成システムであって、
平面の切断対象となるオブジェクトの頂点リストから、順次2つの頂点を取り出し、取り出された第K、第K+1の頂点が前記平面の表裏のどちらにあるかを、前記平面に関連づけられた表裏情報に基づいて判定する手段と、
前記第Kの頂点が表にあり且つ前記第K+1の頂点が裏にあると判定された場合、或いは前記第Kの頂点が裏にあり且つ前記第K+1の頂点が表にあると判定された場合に、前記第K、第K+1の頂点を結ぶ線と前記平面との交点となる第Lの頂点を前記頂点リストに挿入する手段と、
前記平面の切断対象となるオブジェクトの頂点の中で前記平面の裏及び表のいずれか一方にあると判定された頂点については前記頂点リストに残し、他方にあると判定された頂点については、前記頂点リストから削除する手段と、
を含むことを特徴とする画像生成システム。
An image generation system for generating an image,
Two vertices are sequentially extracted from the vertex list of the object to be cut of the plane, and whether the extracted K-th and K + 1-th vertices are on the front or back of the plane is the front-back information associated with the plane. Means for determining based on;
When it is determined that the Kth vertex is in the front and the K + 1th vertex is in the back, or when it is determined that the Kth vertex is in the back and the K + 1 vertex is in the front Means for inserting an Lth vertex, which is an intersection of the line connecting the Kth and (K + 1) th vertices, with the plane, into the vertex list;
Among the vertices of the object to be cut of the plane, the vertices determined to be in either the back or the front of the plane are left in the vertex list, and the vertices determined to be in the other are Means to remove from the vertex list;
An image generation system comprising:
コンピュータが使用可能な情報記憶媒体であって、
第1のオブジェクトと、第1のオブジェクトと同一形状又はほぼ同一形状であるがレンダリング情報が異なる第2のオブジェクトとを用意し、前記第2のオブジェクトから所与の条件で第3のオブジェクトを切り出す手段と、
切り出された前記第3のオブジェクトが前記第1のオブジェクトに重ねて配置される画像を生成する手段としてコンピュータを機能させるためのプログラムを記憶することを特徴とする情報記憶媒体。
An information storage medium usable by a computer,
A first object and a second object having the same shape or substantially the same shape as the first object but different in rendering information are prepared, and a third object is cut out from the second object under a given condition Means,
Information storage medium, wherein the cut-out third object and to store a program for causing a computer to function as a means for generating an image to be arranged to overlap the said first object.
請求項8において、
前記第2のオブジェクトは影切り出し用のオブジェクトであり、
第4のオブジェクトの情報と光源情報とに基づいて、影切り出し用の前記第2のオブジェクトから、影となるべき前記第3のオブジェクトが切り出されることを特徴とする情報記憶媒体。
In claim 8,
The second object is an object for shadow extraction,
An information storage medium characterized in that, based on information on a fourth object and light source information, the third object to be a shadow is cut out from the second object for shadow cutting.
請求項9において、
前記第4のオブジェクトが、影を作るべきオブジェクトの形状を簡易化した簡易オブジェクトであることを特徴とする情報記憶媒体。
In claim 9,
The information storage medium characterized in that the fourth object is a simple object that simplifies the shape of an object to be shaded.
請求項8乃至10のいずれかにおいて、
所与の平面を用いて前記第2のオブジェクトから前記第3のオブジェクトが切り出されることを特徴とする情報記憶媒体。
In any one of Claims 8 thru | or 10.
An information storage medium, wherein the third object is cut out from the second object using a given plane.
請求項11において、
第4のオブジェクトの第1、第2の頂点と、該第1、第2の頂点のいずれか一方と所与のベクトルとにより得られる第3の頂点とに基づき、前記平面が特定されることを特徴とする情報記憶媒体。
In claim 11,
The plane is specified based on the first and second vertices of the fourth object, and the third vertex obtained from one of the first and second vertices and a given vector. An information storage medium characterized by the above.
請求項11又は12において、
前記平面の切断対象となるオブジェクトの頂点リストから、順次2つの頂点が取り出され、取り出された第K、第K+1の頂点が前記平面の表裏のどちらにあるかが、前記平面に関連づけられた表裏情報に基づいて判定され、
前記第Kの頂点が表にあり且つ前記第K+1の頂点が裏にあると判定された場合、或いは前記第Kの頂点が裏にあり且つ前記第K+1の頂点が表にあると判定された場合に、前記第K、第K+1の頂点を結ぶ線と前記平面との交点となる第Lの頂点が前記頂点リストに挿入され、
前記平面の切断対象となるオブジェクトの頂点の中で前記平面の裏及び表のいずれか一方にあると判定された頂点については、前記頂点リストに残され、他方にあると判定された頂点については、前記頂点リストから削除されることを特徴とする情報記憶媒体。
In claim 11 or 12,
Two vertices are sequentially extracted from the vertex list of the object to be cut of the plane, and whether the extracted Kth and K + 1 vertices are on the front or back of the plane is the front and back associated with the plane. Determined based on information,
When it is determined that the Kth vertex is in the front and the K + 1th vertex is in the back, or when it is determined that the Kth vertex is in the back and the K + 1 vertex is in the front In addition, the Lth vertex that is the intersection of the line connecting the Kth and (K + 1) th vertex and the plane is inserted into the vertex list,
Among the vertices of the object to be cut of the plane, the vertices determined to be on either the back or the front of the plane are left in the vertex list and the vertices determined to be on the other side The information storage medium is deleted from the vertex list.
コンピュータが使用可能な情報記憶媒体であって、
平面の切断対象となるオブジェクトの頂点リストから、順次2つの頂点を取り出し、取り出された第K、第K+1の頂点が前記平面の表裏のどちらにあるかを、前記平面に関連づけられた表裏情報に基づいて判定する手段と、
前記第Kの頂点が表にあり且つ前記第K+1の頂点が裏にあると判定された場合、或いは前記第Kの頂点が裏にあり且つ前記第K+1の頂点が表にあると判定された場合に、前記第K、第K+1の頂点を結ぶ線と前記平面との交点となる第Lの頂点を前記頂点リストに挿入する手段と、
前記平面の切断対象となるオブジェクトの頂点の中で前記平面の裏及び表のいずれか一方にあると判定された頂点については前記頂点リストに残し、他方にあると判定された頂点については、前記頂点リストから削除する手段としてコンピュータを機能させるためのプログラムを記憶することを特徴とする情報記憶媒体。
An information storage medium usable by a computer,
Two vertices are sequentially extracted from the vertex list of the object to be cut of the plane, and whether the extracted K-th and K + 1-th vertices are on the front or back of the plane is the front-back information associated with the plane. Means for determining based on;
When it is determined that the Kth vertex is in the front and the K + 1th vertex is in the back, or when it is determined that the Kth vertex is in the back and the K + 1 vertex is in the front Means for inserting an Lth vertex, which is an intersection of the line connecting the Kth and (K + 1) th vertices, with the plane, into the vertex list;
Among the vertices of the object to be cut of the plane, the vertices determined to be in either the back or the front of the plane are left in the vertex list, and the vertices determined to be in the other are information storage medium characterized by storing a program for causing a computer to function as a means for deleting from the vertex list.
JP16524099A 1999-06-11 1999-06-11 Image generation system and information storage medium Expired - Lifetime JP4247856B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP16524099A JP4247856B2 (en) 1999-06-11 1999-06-11 Image generation system and information storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP16524099A JP4247856B2 (en) 1999-06-11 1999-06-11 Image generation system and information storage medium

Publications (3)

Publication Number Publication Date
JP2000353251A JP2000353251A (en) 2000-12-19
JP2000353251A5 JP2000353251A5 (en) 2006-06-22
JP4247856B2 true JP4247856B2 (en) 2009-04-02

Family

ID=15808545

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16524099A Expired - Lifetime JP4247856B2 (en) 1999-06-11 1999-06-11 Image generation system and information storage medium

Country Status (1)

Country Link
JP (1) JP4247856B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004246877A (en) * 2003-01-24 2004-09-02 Sega Corp Program projecting image onto game character, game machine incorporating program, storage medium storing program
CN109701275B (en) * 2018-12-11 2022-04-22 北京像素软件科技股份有限公司 Operation interaction method and device based on network game shadow role
CN111773710A (en) * 2020-08-20 2020-10-16 网易(杭州)网络有限公司 Texture image processing method and device, electronic equipment and storage medium

Also Published As

Publication number Publication date
JP2000353251A (en) 2000-12-19

Similar Documents

Publication Publication Date Title
JP3661167B2 (en) Apparatus and method for performing refraction mapping
JP4527853B2 (en) GAME SYSTEM AND INFORMATION STORAGE MEDIUM
JP3249955B2 (en) Image generation system and information storage medium
JP3777288B2 (en) GAME SYSTEM AND INFORMATION STORAGE MEDIUM
JP3280355B2 (en) Image generation system and information storage medium
JP4167358B2 (en) Image generation system and information storage medium
JP3442344B2 (en) GAME SYSTEM AND INFORMATION STORAGE MEDIUM
JP4247856B2 (en) Image generation system and information storage medium
JP4512240B2 (en) GAME SYSTEM AND INFORMATION STORAGE MEDIUM
JP3583995B2 (en) Entertainment device, storage medium, and object display method
US20020193161A1 (en) Game system, program and image generation method
JP4651204B2 (en) Image generation system, program, and information storage medium
JP2003079942A (en) Game information, information storage medium, and game device
JP4245356B2 (en) GAME SYSTEM AND INFORMATION STORAGE MEDIUM
JP4266121B2 (en) Image generation system, program, and information storage medium
JP2005209217A (en) Game system and information storage medium
JP4497690B2 (en) GAME SYSTEM AND INFORMATION STORAGE MEDIUM
JP4114826B2 (en) Image generating apparatus and information storage medium
JP3269813B2 (en) Image generation system and information storage medium
JP4001435B2 (en) Game device, image data creation tool, and information storage medium
US20010041618A1 (en) Game apparatus, storage medium and computer program
JP4803909B2 (en) Image generation system, program, and information storage medium
JP4610729B2 (en) GAME SYSTEM, PROGRAM, AND INFORMATION STORAGE MEDIUM
JP3583994B2 (en) Entertainment device, storage medium, and object display method
JP4391633B2 (en) Image generation system and information storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060327

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060427

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081225

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090107

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090108

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120123

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4247856

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120123

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120123

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120123

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130123

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130123

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140123

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term