JP2001126086A - ビデオゲームにおける立体モデル表示方法及び装置、ゲーム装置並びにビデオゲーム用立体モデル表示プログラムを格納したコンピュータ読み取り可能な記録媒体 - Google Patents

ビデオゲームにおける立体モデル表示方法及び装置、ゲーム装置並びにビデオゲーム用立体モデル表示プログラムを格納したコンピュータ読み取り可能な記録媒体

Info

Publication number
JP2001126086A
JP2001126086A JP31038399A JP31038399A JP2001126086A JP 2001126086 A JP2001126086 A JP 2001126086A JP 31038399 A JP31038399 A JP 31038399A JP 31038399 A JP31038399 A JP 31038399A JP 2001126086 A JP2001126086 A JP 2001126086A
Authority
JP
Japan
Prior art keywords
model
dimensional model
contour drawing
contour
game
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.)
Granted
Application number
JP31038399A
Other languages
English (en)
Other versions
JP3502796B2 (ja
Inventor
Hitoshi Imai
仁 今井
Takeshi Hasegawa
豪 長谷川
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.)
Square Enix Co Ltd
Original Assignee
Square Co Ltd
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 Square Co Ltd filed Critical Square Co Ltd
Priority to JP31038399A priority Critical patent/JP3502796B2/ja
Priority to US09/694,784 priority patent/US6712700B1/en
Publication of JP2001126086A publication Critical patent/JP2001126086A/ja
Application granted granted Critical
Publication of JP3502796B2 publication Critical patent/JP3502796B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • A63F13/10
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/45Controlling the progress of the video game
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/40Filling a planar surface by adding surface attributes, e.g. colour or texture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/802D [Two Dimensional] animation, e.g. using sprites
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/80Special adaptations for executing a specific game genre or game mode
    • A63F13/833Hand-to-hand fighting, e.g. martial arts competition
    • 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/65Methods for processing data by generating or executing the game program for computing the condition of a game character
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/80Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
    • A63F2300/8029Fighting without shooting

Abstract

(57)【要約】 【課題】非写実的なゲーム画像をコンピュータグラフィ
ックスの技術を用いてリアルタイムに生成する。 【解決手段】非写実的なゲーム画像の一例として輪郭線
付きのセルアニメ調の画像を生成するために、輪郭描画
用モデル及びキャラクタを表現する立体モデルのデータ
取得を行う(ステップS2)。次に、ゲームのプレイヤは入
力装置のボタン等を操作する(ステップS3)。プレイヤの
操作に従ってゲームをどのように進行させるか決定し、
キャラクタの位置・方向等のゲーム進行状況を設定する
(ステップS4-5)。この設定に従って、立体モデルとそれ
を包含するように配置された輪郭描画用モデルとが描画
される(ステップS6-7)。輪郭描画用モデルの立体モデ
ルからはみ出た部分が実際に輪郭線となる。立体モデル
はそのポリゴン内の所定の明度範囲毎に描画用の色が設
定されて、各ポリゴンにつき2又は3色で塗られる。こ
の処理がゲームオーバーまで繰り返される。

Description

【発明の詳細な説明】
【0001】
【発明が属する技術分野】本発明は、仮想三次元空間内
における、複数のポリゴンで構成された立体モデルを描
画する、ビデオゲームにおける立体モデル表示方法及び
装置、ゲーム装置並びにビデオゲーム用立体モデル表示
プログラムを格納したコンピュータ読み取り可能な記録
媒体に関する。
【0002】
【従来の技術】近年、表示関連技術、特にコンピュータ
・グラフィックス(CG)技術の進歩により、より写実
的に表現された三次元画像のゲームが、以前より多く制
作されるようになってきている。しかしその一方で、非
写実的(non-photorealistic)、すなわち手書き調に表
現された画像によるゲームが見直され、需要も高まりつ
つある。このような非写実的な画像の例として、セル画
で作成されたアニメーション(cel animation)の画像に
似ていることからセルアニメ調と呼ばれているものがあ
る。
【0003】従来、非写実的なゲーム画像をセルアニメ
調で表現するには、キャラクタや背景画像を、手書きで
作成する必要があった。特にゲーム中でキャラクタを表
示させる方向が変化する場合には、表示させる方向のそ
れぞれに応じた画像を手書きで用意していた。このよう
にセルアニメ調のキャラクタ画像は人的労力によって作
成されているため、限られた方向からのキャラクタ画像
のみが用意されていた。
【0004】
【発明が解決しようとする課題】しかし今日、所望の方
向からのセルアニメ調のキャラクタ画像を表示できるビ
デオゲームが望まれている。更にこの種のビデオゲーム
は一般的なCGとは異なり、プレイヤからの操作入力に
応じてリアルタイムに処理を行い画像を表示することが
要求される。
【0005】よって、本発明の目的は、セルアニメ調の
キャラクタを任意の方向にリアルタイムで表示させるこ
とができるビデオゲームにおける立体モデル表示方法及
び装置、ゲーム装置並びにビデオゲーム用立体モデル表
示プログラムを格納したコンピュータ読み取り可能な記
録媒体を提供することである。
【0006】
【課題を解決するための手段】本発明の第1の態様に係
る、仮想三次元空間内における、複数のポリゴンで構成
された立体モデルを描画する、ビデオゲームにおける立
体モデル表示方法は、操作入力に応答して、立体モデル
を表示させる方向を決定する第1ステップと、第1ステ
ップにおいて決定された方向に倣って、立体モデルと、
当該立体モデルを包含する形状を有する、複数のポリゴ
ンで構成された輪郭描画用モデルとを、輪郭描画用モデ
ルが立体モデルを包含する位置関係となるように配置す
る第2ステップと、立体モデルに対して予め与えられた
明度の階調数を減少させて立体モデルを描画すると共
に、第1ステップにおいて決定された方向に対して逆方
向に表面を向けている、輪郭描画用モデルのポリゴンの
みを描画する第3ステップとを含む。ここで、「立体モ
デルを表示させる方向」とは、例えば立体モデルから視
点への方向である。また、上で述べた「表面(ひょうめ
ん)」とは、外側に向いている立体モデルの面である。
このような方法を実施することにより、セルアニメ調の
立体モデルが描画される。
【0007】上で述べた第3ステップを、立体モデルに
対して予め与えられた明度の階調数を減少させて立体モ
デルを描画すると共に、第1ステップにおいて決定され
た方向に対して逆方向に表面を向けている、輪郭描画用
モデルのポリゴンのみを、所定の色を用いて描画するス
テップとすることも可能である。
【0008】また、上で述べた第1ステップを、操作入
力に応答して立体モデルを動かし、立体モデルを表示さ
せる方向を決定するステップとすることも可能である。
一方、操作入力に応答して視点を切り換え、立体モデル
を表示させる方向を決定するステップとすることも可能
である。
【0009】なお、立体モデルを、ゲーム等におけるキ
ャラクタとすることも可能である。
【0010】本発明の第2の態様に係る、仮想三次元空
間内における、複数のポリゴンで構成された立体モデル
を描画するビデオゲーム用立体モデル表示プログラム
は、コンピュータに、操作入力に応答して、立体モデル
を表示させる方向を決定する第1ステップと、第1ステ
ップにおいて決定された方向に倣って、立体モデルと、
当該立体モデルを包含する形状を有する、複数のポリゴ
ンで構成された輪郭描画用モデルとを、輪郭描画用モデ
ルが立体モデルを包含する位置関係となるように配置す
る第2ステップと、立体モデルに対して予め与えられた
明度の階調数を減少させて立体モデルを描画すると共
に、第1ステップにおいて決定された方向に対して逆方
向に表面を向けている、輪郭描画用モデルのポリゴンの
みを描画する第3ステップと、を実行させるためのプロ
グラムである。
【0011】本発明の第1の態様に関して上で説明した
変形等した事項については、本発明の第2の態様に適用
することができる。
【0012】なお、本発明の第2の態様に係るプログラ
ムは、例えばCD−ROM、フロッピーディスク、メモ
リカートリッジ、メモリ、ハードディスクなどの記録媒
体又は記憶装置に格納される。このように記録媒体又は
記憶装置に格納されるプログラムをコンピュータに読み
込ませることで以下で述べる立体モデル表示装置及びゲ
ーム装置を実現できる。また、記録媒体によってこれを
ソフトウエア製品として装置と独立して容易に配布、販
売することができるようになる。さらに、コンピュータ
などのハードウエアを用いてこのプログラムを実行する
ことにより、これらのハードウエアで本発明のグラフィ
ックス技術が容易に実施できるようになる。
【0013】本発明の第3の態様に係る、仮想三次元空
間内における、複数のポリゴンで構成された立体モデル
を描画する、ビデオゲームにおける立体モデル表示装置
は、操作入力に応答して、立体モデルを表示させる方向
を決定する決定手段と、決定手段により決定された方向
に倣って、立体モデルと、当該立体モデルを包含する形
状を有する、複数のポリゴンで構成された輪郭描画用モ
デルとを、輪郭描画用モデルが立体モデルを包含する位
置関係となるように配置する配置手段と、立体モデルに
対して予め与えられた明度の階調数を減少させて立体モ
デルを描画すると共に、決定手段により決定された方向
に対して逆方向に表面を向けている、輪郭描画用モデル
のポリゴンのみを描画する描画手段とを有する。
【0014】本発明の第1の態様に係る立体モデル表示
方法における各ステップをコンピュータに実行させるこ
とにより、上で述べた立体モデル表示方法と同様の効果
を得ることが可能となる。従って、記載された処理ステ
ップをコンピュータ等のハードウエアを用いて実行する
ことにより、これらのハードウエアで本発明の立体モデ
ル表示技術が容易に実施できるようになる。
【0015】本発明の第4の態様に係る、仮想三次元空
間内における、複数のポリゴンで構成された立体モデル
を描画するゲーム装置は、コンピュータと、コンピュー
タに実行させるプログラムを格納した、コンピュータ読
み取り可能な記録媒体とを有し、当該プログラムは、コ
ンピュータに、操作入力に応答して、立体モデルを表示
させる方向を決定する決定処理と、決定処理により決定
された方向に倣って、立体モデルと、当該立体モデルを
包含する形状を有する、複数のポリゴンで構成された輪
郭描画用モデルとを、輪郭描画用モデルが立体モデルを
包含する位置関係となるように配置する配置処理と、立
体モデルに対して予め与えられた明度の階調数を減少さ
せて立体モデルを描画すると共に、決定処理により決定
された方向の逆方向に表面を向けている、輪郭描画用モ
デルのポリゴンのみを描画する描画処理とを実行させ
る。
【0016】
【発明の実施の形態】最初に本発明の実施の形態の概要
を説明する。本発明の実施の形態に係るゲーム装置は、
立体モデルを表示させる方向を決定する手段と、立体モ
デルと輪郭描画用モデルを配置する配置手段と、両モデ
ルを描画する描画手段とを含む。
【0017】立体モデルを表示させる方向を決定する手
段は、例えばプレイヤの操作に応じて、例えばゲームの
キャラクタである立体モデルを動かして、立体モデルを
表示させる方向を決定する。配置手段は、立体モデル
と、立体モデルを包含できる形状の輪郭描画用モデルと
を、操作入力により決定された方向に従って、例えば同
じ方向、更に同じ位置に配置する。これにより輪郭描画
用モデルが立体モデルを包含する位置関係となる。
【0018】描画手段は、立体モデルに対して、明度の
階調数を減少させて描画することで、セルアニメ調の彩
色を施す。一方、輪郭描画用モデルに対しては、輪郭描
画用モデルを構成するポリゴンのうち、視点に対して外
側を逆方向に向けているポリゴンのみを例えば黒で描画
する。この描画処理において隠面消去処理を行うと、輪
郭描画用モデルの、視点から見て立体モデルからはみ出
した部分のみが描画されるので、結果として輪郭描画処
理が実施される。
【0019】これらにより、リアルタイムにセルアニメ
調に描画された立体モデルを表示することができるよう
になる。本願発明に係る実施の形態の説明に先立ち、以
下ではまず、本願発明に必要なセルアニメ調彩色処理及
び二種類の輪郭描画処理を詳細に説明する。
【0020】(1)セルアニメ調彩色処理 セルアニメ調彩色処理では、ゲームのキャラクタ等を表
現する立体モデルにセルアニメ調の彩色を施す。すなわ
ち、写実的なゲーム画像を生成した場合に得られる明度
の階調数より低い階調数で立体モデルを彩色する。
【0021】セルアニメ調彩色処理の概略を図1の機能
ブロック図を用いて説明する。セルアニメ調彩色処理に
係るゲーム装置は、操作入力部300と、キャラクタ行
動決定部313を含むゲーム進行部310と、キャラク
タ方向設定部317及び視軸方向設定部318を含むゲ
ーム状況設定部315、立体モデル描画部320及び画
像表示制御部340を含む。なお、立体モデル描画部3
20は、頂点変換及び光源計算部322、明度計算部3
24、描画用色供給部326、明度範囲テーブル32
8、明度範囲設定部332及びピクセル処理部334を
含む。ピクセル処理部334は明度比較部336を含
む。
【0022】操作入力部300は、ゲームのプレイヤに
より操作される操作入力部300のボタンやレバー等の
操作情報を、ゲーム進行部310へ出力する。
【0023】ゲーム進行部310は、操作入力部300
からの情報に基づいて、例えばキャラクタの行動、視点
位置の変更、視軸の方向の変更、あるいは光源の位置の
移動、光線の方向の変更等、ゲームを進行させる内容を
判断し、ゲーム進行状況設定部315に指示を行う。ゲ
ーム進行部310内のキャラクタ行動決定部313は、
操作入力部300からの情報に基づいて特にキャラクタ
の行動を決定する機能を有する。
【0024】ゲーム進行状況設定部315は、ゲーム進
行部310に指示されたゲームの進行内容に応じて、キ
ャラクタ位置、方向及び形状、視点の位置や視軸の方
向、光源の位置、光線の方向、更にはキャラクタの行動
に応じた体力の増減等を計算し、設定する。ゲーム進行
状況設定部315内のキャラクタ方向設定部317は、
ゲーム進行部310に指示されたゲームの進行内容に応
じて、特にキャラクタの視点に対する方向を決定する機
能を有する。一方、ゲーム進行状況設定部315内の視
軸方向設定部318は、ゲーム進行部310に指示され
たゲームの進行内容に応じて、特に視軸の方向を設定す
る機能を有している。
【0025】なお、キャラクタの体力は、当該キャラク
タに与えられた1つの能力値であって、敵キャラクタと
の戦闘において攻撃を受けると、敵キャラクタの攻撃力
と当該キャラクタの防御力とに基づき計算された値だけ
減少する。また、キャラクタがゲームの世界における所
定の休憩所で休むことにより、キャラクタの体力は当該
キャラクタの最大体力の値まで増加する。
【0026】配置用マトリックス設定部319は、ゲー
ム進行状況設定部315により設定されたキャラクタ位
置座標及び方向並びに視点の位置に従って、キャラクタ
を表現する立体モデルの配置用マトリックスの決定処理
を行う。配置用マトリックスは、立体モデルの平行移動
・回転・透視変換を行うためのマトリックスである。
【0027】立体モデル描画部320は、これに含まれ
る機能によりセルアニメ調の彩色を立体モデルに施すた
めの処理を実施する。
【0028】立体モデル描画部320の頂点変換及び光
源計算部322は、仮想三次元空間に配置される立体モ
デルを構成する三角形ポリゴンの各頂点について頂点変
換(拡大・縮小・回転・平行移動・透視変換)を実施
し、頂点変換された三角形ポリゴンの各頂点について光
源計算を行う。ここで配置用マトリックス設定部319
が設定した立体モデルの配置用マトリックスが用いられ
る。
【0029】また、立体モデル描画部320の頂点変換
及び光源計算部322は、立体モデルの各三角形ポリゴ
ンの表裏判定も行う。視点に対しておもてを向けている
面のみが描画対象となる。表裏判定については(2)輪
郭描画処理で詳しく述べる。
【0030】立体モデル描画部320の明度計算部32
4は、頂点変換及び光源計算部322が計算した三角形
ポリゴンの各頂点における色から明度を計算する。通常
頂点変換及び光源計算部322はRGB系における色を
計算するので、明度計算部324はこのRGBをYIQ
変換して明度Yを求める。この三角形ポリゴンの各頂点
における明度は、ピクセル処理部334に出力される。
【0031】明度範囲テーブル328は、例えば図2の
ようなテーブルである。すなわち、しきい値と基準明度
が対となったテーブルで、ここではしきい値0.75に
対して基準明度0.75、しきい値0.5に対して基準
明度0.50、しきい値0.00に対して基準明度0.
25と三段階(レベル)に設定されている。なお、ここ
では明度は0から1までの実数値をとるものとする。し
きい値ではなく、上限及び下限による範囲の指定でも良
い(例えば図3参照)。
【0032】この明度範囲テーブル328を参照して、
描画用色供給部326は各しきい値に対応する描画用色
を計算する。各しきい値に対応する描画用色は、しきい
値に対応する基準明度と立体モデルの各三角形ポリゴン
に予め設定されている色の情報とで計算される。計算さ
れた描画用色を描画用色供給部326はピクセル処理部
334に出力する。
【0033】なお、描画用色供給部326は、実行時に
描画用色を計算するようにしても良いし、予め計算して
おきそのデータを格納しておいても良い。例えば図2の
ような明度範囲テーブルを使用する場合には、各ポリゴ
ンにつき3つの描画用色データを保管しておく必要があ
る。
【0034】明度範囲設定部332は、明度範囲テーブ
ル328の1つのしきい値を選択して、ピクセル処理部
334に設定する。明度範囲設定部332は、図2のよ
うな明度範囲テーブル328をそのまま使用する場合に
は上から順番に一つずつ設定していく。しきい値ではな
く上限及び下限による範囲が指定されている場合には、
ランダムに選択・設定可能である。
【0035】ピクセル処理部334は、明度計算部32
4から出力された三角形ポリゴンの各頂点における明度
を補間して、ポリゴン内部の各画素における明度(ポリ
ゴンにおける明度分布)を計算する。補間の方式は、グ
ーロー・シェーディングのアルゴリズムでも、フォン・
シェーディングのアルゴリズムでも良い。
【0036】そして、この各画素における明度と明度範
囲設定部332が設定したしきい値とを明度比較部33
6が比較し、もし画素における明度がしきい値以上であ
れば、このしきい値に対応する基準明度に基づく描画用
色が当該画素の色として描画される。もし画素における
明度がしきい値未満であれば、この画素の色はこの段階
では描画されない。明度範囲設定部332が明度範囲テ
ーブル328の全てのしきい値について設定し、それに
対応してピクセル処理部334がポリゴン内の全ての画
素について処理を行えば、ポリゴン内部が図2の例では
3段階に塗り分けられる。
【0037】なお、図2のような明度範囲テーブル43
0をそのまま使用する場合には、さらにZバッファ法に
よる隠面消去が利用される。例えば図2に従えば、0.
75以上という明度は0.5以上でも0.0以上でもあ
るから、重ねて描画用色が塗られないように明度範囲の
上限値を設定するためである。もしある画素の明度が
0.75以上であれば、このしきい値0.75に対応す
る描画用色がこの画素の色として描画され、その画素の
Z値がZバッファに記憶される。
【0038】しきい値が0.5になった場合には、当該
画素のZ値がZバッファから読み出され、書き込もうと
する同じ画素のZ値と比較されるが、当然それらは同じ
であるから、しきい値0.5に対応する描画用色はその
画素については描画されない。しきい値0.0について
も同じである。
【0039】また、ポリゴンの頂点及びポリゴン内部の
画素における明度は、通常は透明度として使われるαと
いう色(RGB)の属性値として取り扱われる。通常α
値は0−255の範囲で定義されるので、実際のα値に
は明度を255倍したものが使用される。よって、明度
範囲テーブル430のしきい値(上限及び下限値)は0
−255の範囲の値であっても良い。
【0040】最後に、画像表示制御部340は、ピクセ
ル処理部334が描画した表示画面に表示するための描
画領域を指定する。描画領域は通常2つに分けられてお
り、1つは表示用として、もう一つは書き込み用として
用いられる。そして、書き込み用領域への書き込みが完
了すると、書き込み用領域を表示用領域として、また表
示用領域を書き込み用領域として切り換えて使用する。
画像表示制御部340はこの切り換えを制御するもので
ある。
【0041】次に、セルアニメ調彩色処理についての処
理フローを説明する。
【0042】[全体の処理フロー]図4にセルアニメ調
彩色処理の全体の処理フローを示す。ゲームが開始する
と、初期設定が行われる(ステップS2)。この初期設
定の処理には、描画すべきキャラクタを表現する立体モ
デルのデータ取得処理が含まれる。次に、ゲームのプレ
イヤにより、操作入力部300のボタンやレバー等の操
作が行われる(ステップS3)。そして、ステップS3
における操作入力の情報に基づき、例えばキャラクタが
左に動く、又はキャラクタが攻撃する等のキャラクタの
行動、視点位置の変更、視軸の方向の変更、あるいは光
源位置の移動、光線の方向の変更等のゲームを進行させ
る内容を判断するゲーム進行処理が行われる(ステップ
S4)。
【0043】その後ステップS4にて決定されたゲーム
の進行内容に応じて、キャラクタの位置、方向及び形
状、視点の位置や視軸の方向、光源の位置や光線の方
向、更にキャラクタの行動に応じた体力の増減等のゲー
ム進行状況を設定するゲーム進行状況設定処理が行われ
る(ステップS5)。次に、ゲーム進行状況に応じたゲ
ーム画像を描画するゲーム画像描画処理が行われる(ス
テップS6)。このゲーム画像描画処理については後に
詳しく述べる。
【0044】そして、ステップS6のゲーム画像描画処
理にて描画されたゲーム画像を表示するゲーム画像表示
処理が行われる(ステップS7)。通常描画領域は書き
込み用領域と表示用領域の2つの領域に分けられてお
り、ここではステップS6にて行われたゲーム画像描画
処理によりデータが書き込まれた書き込み用領域を表示
用領域に切り換え、表示用領域を次の書き込み用領域に
切り換える処理が実施される。
【0045】次に、ゲームオーバーかどうか判断される
(ステップS8)。ステップS3の操作入力に応じて行
われるゲーム進行状況設定処理(ステップS5)におい
て、ゲームのプレイヤが操作している自キャラクタの体
力が減少され0に設定されると、ゲームオーバーの条件
を満たすことになる。ステップS8では、ゲームのプレ
イヤが操作している自キャラクタの体力が検査され、ゲ
ームオーバーかどうか判断される。もし、自キャラクタ
の体力が0でなければ、ステップS3に戻り次の操作入
力を待つ。一方、ゲームオーバーである場合には、ゲー
ムを終了する。なお、ゲーム終了でもステップS7にて
その結果が表示画面に表示されているので、プレイヤは
ゲーム最後の状況を表示画面から把握することができ
る。
【0046】図5にステップS6(図4)のゲーム画像
描画処理の概要を表す処理フローを示す。まず、ゲーム
画像中の背景部分を表現するための背景モデルを描画す
る背景モデル描画処理が実施される(ステップS1
1)。この描画処理は従来と同じ描画処理であるからこ
こでは詳しく述べない。そして、以下のステップS13
乃至S15が、全てのキャラクタを描画するまで繰り返
される(ステップS12)。
【0047】繰り返される最初のステップは、1つの未
処理キャラクタを変形する変形処理を実施するステップ
である(ステップS13)。図4のステップS3にて行
われる操作入力に応じて当該未処理キャラクタのモーシ
ョンがステップS4のゲーム進行処理で決定される。そ
してそれに応じてさらに実施されるステップS6のゲー
ム進行状況設定処理にて設定された、当該未処理キャラ
クタを表現する立体モデルの変形処理が実施される。
【0048】繰り返される第2のステップは、当該未処
理キャラクタの配置用マトリックスを設定するステップ
である(ステップS14)。配置用マトリックスは、未
処理キャラクタを表現する立体モデルの平行移動・回転
・透視変換のためのマトリックスであり、ステップS5
のゲーム進行状況設定処理にて設定されたキャラクタの
位置座標及び方向並びに視点の位置に基づき生成され
る。そして、繰り返される第3のステップは、当該未処
理キャラクタを表現する立体モデルを描画する立体モデ
ル描画処理を実施するステップである(ステップS1
5)。この立体モデル描画処理については後に詳しく述
べる。
【0049】全てのキャラクタが描画された後には、キ
ャラクタの能力等をユーザに表示するためのウインドウ
を描画するウインドウ描画処理を実施する(ステップS
16)。このウインドウ描画処理についても従来と同じ
描画処理であるからここでは詳しく述べない。
【0050】次にゲームのプレイヤの操作入力に従うゲ
ーム・ストーリーの進行について簡単な例(図7及び図
8)を説明するが、その前に、セルアニメ調彩色処理に
おいて使用されるキャラクタのデータについて図6を用
いて説明する。キャラクタ・データは、最大体力10の
数値(例えば300)、現在の体力12の数値(例えば
300)、攻撃力14の数値(例えば123)、防御力
16の数値(例えば51)、基準位置18の座標(x,
y,z)(例えば(15.0,0.0,3.2))、キャラクタの
方向20であるX・Y・Z軸まわりの回転角(例えば
(0,−90,0))、モーション・データへのポイン
タ22、及び立体モデルのモデル・データへのポインタ
24を含む。
【0051】図7には、ゲームのプレイヤが自キャラク
タC101を操作し、仮想三次元空間内において自キャ
ラクタを敵キャラクタと戦わせながらストーリーを進展
させるゲームの画像が表示された表示画面120の例が
示されている。ここには、自キャラクタC101の右前
方からの画像が表示されている。すなわち、自キャラク
タを表示させる方向は右前方であり、キャラクタの方向
20として、対応するX・Y・Z軸まわりの回転角が記
憶されている。表示画面の左には敵キャラクタ1(C1
11)及び敵キャラクタ2(C113)が出現してい
る。
【0052】ここで視点の位置は、自キャラクタと敵キ
ャラクタとの位置関係及び自キャラクタの方向に応じて
ゲーム進行状況設定処理(ステップS5)にて決定され
る。そして、これらの各キャラクタについて当該視点の
位置からセルアニメ調の彩色を施された画像が生成さ
れ、表示画面に表示される。
【0053】ウインドウW105には自キャラクタC1
01のステータスが、ウインドウW115には敵キャラ
クタC111及びC113のステータスが表示される。
図6では体力(図6の体力12の数値)と最大体力(図
6の最大体力10の数値)が表示されている。
【0054】操作入力部300からのプレイヤの操作入
力に応じて、自キャラクタは敵キャラクタを攻撃する。
一方、敵キャラクタは所定のアルゴリズムに従って自キ
ャラクタを攻撃する。各キャラクタは、戦闘で攻撃を受
けると攻撃を行うキャラクタの攻撃力(図6の攻撃力1
4の数値)と、攻撃を受けるキャラクタの防御力(図6
の防御力16の数値)とに基づいて計算された値だけ、
攻撃を受けるキャラクタの体力が減少する。
【0055】敵キャラクタの体力が0以下になると当該
敵キャラクタはゲーム画面から消え、ゲームのストーリ
ーが進展する。一方、自キャラクタの体力が0以下にな
った場合には、ステップS8(図4)でゲームオーバー
であると判断され、ゲームは終了する。なお、戦闘で減
少した各キャラクタの体力は、ゲーム内に設置される所
定の休憩所で各キャラクタが休むことにより各キャラク
タの最大体力(図6の最大体力10)の値まで回復させ
ることができる。
【0056】図8には、図7に示された表示画面の状態
から、ゲームのプレイヤが操作入力部300を操作して
自キャラクタC101を表示画面の左方向に動かした場
合の表示画面120が示されている。
【0057】操作入力に応答して「表示画面の左方向に
動く」というキャラクタの行動がゲーム進行処理(図4
ステップS4)にて決定される。このキャラクタの行動
に応じて、キャラクタの方向、位置及び形状が、ゲーム
進行状況設定処理(図4ステップS5)にて決定され
る。この図8の例では、キャラクタの方向が表示画面に
対して左方向に決定され、キャラクタの位置が同じく表
示画面に対して左方向に移動される。また、キャラクタ
の形状には走る動作を表現するための形状が設定され
る。
【0058】なお、キャラクタの基準位置(図6の基準
位置18の座標)が例えばキャラクタの足元に設定され
ており、キャラクタの方向を変更する場合は、キャラク
タの基準位置を通り且つX・Y・Zの各軸に平行な軸ま
わりの各回転角(図6の方向20)を変更する。移動は
仮想三次元空間内におけるキャラクタの基準位置の座標
(図6の基準位置18の座標)を変更することで行う。
また、走る形状への変形は、キャラクタのモーション
(図6のモーション・データ)に走りのモーションのデ
ータを設定することで行う。実際には、図6のモーショ
ン・データのポインタ22に、走りのモーションのデー
タへのポインタを設定する。
【0059】このように、キャラクタの方向や位置等の
ゲーム進行状況が変化した場合でも、当該キャラクタは
セルアニメ調の画像として描画される。
【0060】[立体モデル描画処理]図9にセルアニメ
調彩色処理における立体モデルの描画処理のフローを示
す。まず、初期設定が行われる(ステップS603)。
この初期設定では、立体モデルに対応する明度範囲テー
ブル(例えば図2又は図3)が取得される。次に、一つ
の頂点についての頂点変換(拡大・縮小・回転・平行移
動・透視変換)及び光源計算が行われる(ステップS6
05)。
【0061】頂点変換は、図5のステップS14におい
て設定された配置用マトリックスを使用して行われる。
ここで透視変換は、世界座標系のポリゴンの各頂点の座
標値をスクリーン座標系における座標値に変換するもの
である。また光源計算は、光源から発せられた仮想的な
光線により生じる陰影(輝度)を計算するものである。
【0062】なお、セルアニメ調彩色処理の立体モデル
描画処理における光源計算には2つの手法がある。
(A)ポリゴンに定義されたマテリアルの色を考慮した
手法及び(B)マテリアルの色を考慮しない手法であ
る。(A)の場合には、以下の式で計算する。
【数1】
【0063】但し、Pn0,Pn1,Pn2,Nnx,Nny,N
nz,Pnr,Png,Pnb,Cnr,Cng,Cnbのnはn番目
の頂点を示している。Nnxはn番目の頂点における法線
のx成分、Nnyはn番目の頂点における法線のy成分、
Nnzはn番目の頂点における法線のz成分である。Ligh
tMatrixは正規化光源ベクトルにより作られる行列であ
る。これが3つまで平行光源を定義できる場合を以下に
示す。また、LColorMatrixは光源から発せられる光線の
色を成分として有しており、3つまで光源を定義できる
場合を以下に示す。Mはポリゴンのマテリアルの色を意
味し、rgbはその成分を示す。(A)の場合の出力
は、Cnr、Cng、Cnbである。
【数2】
【0064】但し、L0x,L0y,L0zは正規化光源ベク
トル0の成分であり、L1x,L1y,L1zは正規化光源ベ
クトル1の成分であり、L2x,L2y,L2zは正規化光源
ベクトル2の成分である。また、光源ベクトル0の光線
の色は、LC0r,LC0g,LC0bが成分であり、光源ベ
クトル1の光線の色は、LC1r,LC1g,LC1bが成分
であり、光線ベクトル2の光線の色は、LC2r,L
2g,LC2bが成分である。なお、色の各成分は0.0
から1.0の間の値をとる。例えば、光源0のみ存在
し、XYZ軸に対して45度の角度で白色光を使用する
場合には、以下のような行列となる。
【数3】
【0065】また(B)の場合には以下の式で計算す
る。
【数4】
【0066】2つの計算式の結果は当然異なっており、
(A)の計算結果が正しい。但し、(B)は(A)に比
し計算量が少ないので処理を高速化できる。なお、通常
画像の質は変わらない。
【0067】次に、当該頂点を含むポリゴン(面)はお
もて面か否かが判断される(ステップS607)。この
判断は、三角形ポリゴンの場合この頂点とその前に処理
された2つの頂点から構成される三角形ポリゴンがいず
れの方向を向いているかで実施される。より詳細な表裏
判定法については(2)輪郭描画処理で説明する。な
お、最初の2つの頂点についてはステップS605及び
S609以外の処理は行われない。また、本立体モデル
描画処理ではこの段階において表裏判定が行われるが、
この段階より前に表裏判定が行われるようにすることも
可能である。
【0068】もし、当該頂点を含むポリゴン(面)がう
ら面であった場合にはステップS605に戻る。当該頂
点を含むポリゴン(面)がおもて面であった場合には、
頂点変換及び光源計算が行われた頂点における明度が計
算される(ステップS609)。明度の計算ではYIQ
変換が行われる。頂点における色を上で述べた(A)の
手法にて求めた場合には、以下のような式で計算され
る。
【数5】
【0069】頂点における色を上で述べた(B)の手法
にて求めた場合には、以下のような式で計算される。
【数6】
【0070】なお、数値の入っている行列は、RGBか
らYIQへの変換のための3×3行列の第1行目であ
る。念のため3×3行列(変換行列)を以下に示してお
く。
【数7】
【0071】図10に透視変換前の立体モデルのデータ
構造について示す。立体モデルのモデル・データの先頭
アドレスは、図6に示した立体モデルのモデル・データ
へのポインタ24に格納されている。図10(a)は立
体モデルのデータ構造で、三角形ポリゴンは全部でN個
ある。各三角形ポリゴンは、図10(b)に示すよう
に、マテリアルの色(YIQ)と、頂点データ・インデ
ックス(IDX)を3つ有する。ここではマテリアルの
色をYIQ系で有することにしているが、RGB系で有
していても良い。頂点データIDXを用いれば、図10
(c)に示す頂点データ・テーブルから頂点に関する情
報を得ることができる。
【0072】頂点データ・テーブルには、各頂点データ
IDX毎に、当該頂点の三次元座標(Pnx,Pny
nz)と、法線ベクトル(Nnx,Nny,Nnz)が記憶さ
れている(nは頂点番号)。透視変換を行うと、三角形
ポリゴンのデータ構造は変化する。図10(b)に対応
するものを図11に示す。各頂点毎に、スクリーン座標
系における座標値(x,y,z)及び当該頂点における
色(r,g,b)及びα値が記憶されることになる。こ
のα値を記憶する領域にステップS609で計算した明
度が記憶される。また、以下で詳細に説明するが、三角
形描画処理部205が処理を行う場合には、3つの頂点
共色(r,g,b)には明度範囲に対応する描画用色が
格納される。なお、明度は0.0から1.0の範囲であ
るが、α値は0から255の整数であるから、α値とし
ては明度を255倍したものが使用される。
【0073】図9に戻って処理フローを説明する。ステ
ップS609の後に、頂点変換及び光源計算された頂点
を含むポリゴンの描画用色が計算される(ステップS6
11)。ポリゴンの描画用色は、明度範囲テーブルに格
納された各明度範囲に対応する基準明度と当該ポリゴン
の色とから計算される。例えばポリゴンの色をYIQ系
の色として保持している場合には、YIQのうちIQの
みを使用し、各基準明度Tnを使用して以下の式で計算
される。
【数8】
【0074】基準明度Tnが3つあれば(T1,T2,T
3)、描画用色は3つ求まる。なお、ポリゴンの色をY
IQ系の色として保持していない場合、すなわちRGB
系の色として保持している場合には、上で示した変換行
列でRGBからYIQへ変換する計算が行われる。ま
た、計算結果は異なるが、高速に描画用色を計算する必
要がある場合には、以下のような計算が行われる。
【数9】
【0075】Mはポリゴンのマテリアルの色という意味
である。上の2式では計算結果が異なり、画質も少し異
なるが、二番目の方がほぼ同様の画像を高速に得ること
ができる。
【0076】次に明度範囲テーブルの明度範囲が一つ選
択される(ステップS613)。なおセルアニメ調彩色
処理の形態では図2に示した明度範囲テーブルを用いて
いるが、図3のような明度範囲テーブルを用いることも
できる。図3は上限及び下限により明度範囲が指定され
たテーブルの例を示している。すなわち、明度範囲の上
限1.00と下限0.75に対して基準明度0.75、
明度範囲の上限0.74と下限0.50に対して基準明
度0.50、明度範囲の上限0.49と下限0.00に
対して基準明度0.25が設定されている。このような
明度範囲テーブルを使用する場合には上限及び下限を含
む明度範囲をランダムに選択し、設定することができ
る。但し図3は少数第2位まで有効なコンピュータの場
合を示している。以下で説明する明度比較処理において
各画素の明度と上限及び下限の2つの明度値との比較が
簡単に行えない場合には、明度範囲が例えば図3の上か
ら順番に選択される。そしてこの場合下限値のみで処理
が行われる。
【0077】この後、このポリゴンの頂点における明度
が補間され、当該ポリゴン内部の各画素における明度
(ポリゴンにおける明度分布)が計算される。頂点の色
も補間されるが、3頂点共同じ描画用色なので補間して
も結果は同じである。そして、当該画素における明度
が、選択された明度範囲内であれば、当該選択された明
度範囲に対応する描画用色で当該画素が描画される(ス
テップS615)。このステップS613及びS615
は、全ての明度範囲について処理するまで繰り返される
(ステップS617)。
【0078】明度の比較処理は、Zバッファを併用して
行うこともできる。Zバッファは隠面消去に使われる
が、セルアニメ調彩色処理ではZバッファの併用が明度
の上限値と比較した場合と同様の効果を奏する。
【0079】例えば図2のような明度範囲テーブルがあ
った場合には、しきい値0.75が選択される。ピクセ
ル処理部334は、ポリゴンの各頂点の明度及び座標
(Z値を含む)を補間して、各画素の明度及び座標(Z
値を含む)を計算して行く。なお、3頂点とも色をしき
い値0.75に対応する描画用色に設定しておくと、補
間を行っても各画素の色は描画用色になる。
【0080】ピクセル処理部334は、画素の明度とし
きい値0.75とを比較し且つ補間により求められたそ
の画素のZ値とZバッファに格納されたその画素のZ値
を比較する。もし画素の明度がしきい値0.75以上で
且つ補間により求められたその画素のZ値がZバッファ
に格納されたその画素のZ値より小さければ、ピクセル
処理部334はその画素の色として、しきい値0.75
に対応する描画用色で描画する。
【0081】このポリゴンの描画が初めてで、明度が
0.75以上であれば描画用色が書き込まれる。図12
(a)及び(b)に、三角形ポリゴン1011及び三角
形ポリゴン1012の2つの例を示している。三角形ポ
リゴン1011の頂点P11、P12、P13のそれぞ
れの明度は0.0、1.0、1.0に設定されている。
また三角形ポリゴン1012の頂点P21、P22、P
23のそれぞれの明度は0.0、0.5、1.0に設定
されている。上で述べた処理を実施すると、各三角形ポ
リゴン内の塗られている部分が描画用色で彩色される。
【0082】次に、しきい値0.5を選択する。ピクセ
ル処理部334は、ポリゴン内部の各画素の明度及び座
標(Z値を含む)を計算する。ピクセル処理部334
は、画素の明度としきい値0.5とを比較し且つ計算に
より求められたその画素のZ値とZバッファに格納され
たその画素のZ値を比較する。もし画素の明度がしきい
値0.5以上で且つ計算により求められたその画素のZ
値がZバッファに格納されたその画素のZ値より小さけ
れば、ピクセル処理部334はその画素の色として、し
きい値0.5に対応する描画用色で描画する。
【0083】もし、Zバッファを使用しないと、図12
(c)及び(d)のように、明度1.0から0.5の領
域がしきい値0.5に対応する描画用色で彩色されてし
まう。明度0.75以上の領域については、Zバッファ
に格納されたZ値と計算により求められたZ値とは同じ
であるから、明度0.75以上の領域についてはしきい
値0.5に対応する描画用色では描画されない。すなわ
ち、図12(e)及び(f)に示したように、明度0.
5から0.74の領域と明度0.75以上の領域には異
なる描画用色が彩色される。
【0084】図2の例で、しきい値0.0について同じ
ように処理を行った結果を図13(a)及び(b)に示
す。図13(a)における三角形ポリゴン1011の頂
点P11、P12、P13(a)のそれぞれの明度は
0.0、1.0、1.0に設定されている。また図13
(b)の三角形ポリゴン1012の頂点P21、P2
2、P23のそれぞれの明度は0.0、0.5、1.0
に設定されている。点線で囲まれた数字すなわち0.5
及び0.75は明度のしきい値を示している。このよう
に各三角形ポリゴンは3つの領域に分けられて描画用色
が彩色されることになる。
【0085】図14(a)及び(b)にグーローシェー
ディングの結果を示す。図14(a)における三角形ポ
リゴン1021の頂点P31、P32、P33のそれぞ
れの明度は0.0、1.0、1.0に設定されている。
また図14(b)における三角形ポリゴン1022の頂
点P41、P42、P43のそれぞれの明度は0.0、
0.5、1.0に設定されている。すなわち各頂点の明
度はそれぞれ図13(a)及び(b)に示した三角形ポ
リゴン1011及び1012と同じである。しかし、グ
ーローシェーディングでは補間により滑らかに明度が変
化しているのに対し、図13(a)及び(b)では区分
けされた領域の境界のみ明度が変化する。すなわち、明
度がフラットである領域が3つ存在しており、セルアニ
メ調になっていることがわかる。
【0086】なお、明度範囲テーブルの最も小さい下限
値の値が0.0でない場合もある。ポリゴン内で何も色
が付されていない部分を無くすため、図9ステップS6
17の繰り返しにおいては、最後の繰り返しで下限値を
0.0にしてステップS615を実施する。
【0087】以上ステップS605乃至S617まで
が、立体モデルの全ての頂点について処理するまで繰り
返され、結果として全てのポリゴンについて処理するま
で繰り返される(ステップS619)。
【0088】上で述べた明度範囲テーブルは立体モデル
ごとに最適なものを作成する方がよい。但し、立体モデ
ルをいくつかのカテゴリに分けて、そのカテゴリ毎に明
度範囲テーブルを用意するようにしても良い。明度範囲
テーブルに含まれる明度範囲数は、現実のセルアニメに
合わせて、2又は3にすることが考えられる。但し、以
上述べたような処理では図9のステップS617におけ
る繰り返し回数が増えるだけであるから、2以上のいず
れの数にすることも容易に可能である。但し、繰り返し
回数が増えるので数が増えれば処理は遅くなって行く。
【0089】以上のような処理を実施すると、ゲームの
キャラクタ等を表現する立体モデルの全てのポリゴンが
所定の段階の明度で塗り分けられ、立体モデルについて
セルアニメ調の彩色を施された画像を得ることができる
ようになる。操作入力に応じてセルアニメ調の彩色が施
された画像が逐次生成されるようになるので、予め手書
きのゲーム画像を用意する必要も無く、操作入力に滑ら
かに従うゲームが制作できる。
【0090】[立体モデル描画処理(その2)]図15
に第2の立体モデル描画処理のフローを示す。図15と
図9との主な差異は、図9のステップS611が図15
のステップS641と置き換わった点にある。すなわ
ち、図9ではその都度描画用色が計算されていたが、こ
の立体モデル描画処理(その2)では予め計算且つ格納
されているので、ステップS641においてポリゴンの
描画用色を読み出す処理が必要となる。なお、ステップ
S641をステップS635及びS639の前に行って
も、ステップS643の後に行っても、それらのステッ
プと並行して行っても良い。予め計算且つ格納されてい
るので、実際に使用するまでに読み出されれば良い。
【0091】例えば図2のような明度範囲テーブルを使
用する場合には、各ポリゴンにつき3つの描画用色デー
タを予め保管しておく。図16に示すように、各ポリゴ
ンにつき、第1の明度範囲に対応する描画用色(r、
g、b)と、第2の明度範囲に対応する描画用色(r,
g,b)と、第3の明度範囲に対応する描画用色(r,
g,b)と、当該ポリゴンを構成する頂点0の頂点デー
タIDXと、同じく頂点1の頂点データIDXと、頂点
2の頂点データIDXとが、先に述べた図10(b)の
代わりに格納される。これらのデータが立体モデルのポ
リゴンの数だけ用意される。
【0092】図15では最初に、初期設定が行われる
(ステップS633)。この初期設定では、立体モデル
に対応する明度範囲テーブル(例えば図2又は図3)が
取得される。また、立体モデルのデータが取得される。
次に、一つの頂点についての頂点変換(拡大・縮小・回
転・平行移動・透視変換)及び光源計算が行われる(ス
テップS635)。拡大・縮小・回転・平行移動・透視
変換は、図5のステップS14において設定された配置
用マトリックスを使用して行われる。
【0093】なお、最初の立体モデル描画処理で述べた
光源計算の2つの手法は立体モデル描画処理(その2)
でもそのまま適用することができる。
【0094】次に、当該頂点を含むポリゴン(面)はお
もて面か否かが判断される(ステップS637)。この
判断は、三角形ポリゴンの場合この頂点の前に処理され
た2つの頂点から構成される三角形ポリゴンがいずれの
方向を向いているかで実施される。表裏判定の手法につ
いては(2)輪郭描画処理に詳しく述べる。なお、最初
の2つの頂点に対しては、ステップS635及びS63
9以外の処理は行われない。また、立体モデル描画処理
(その2)ではこの段階において表裏判定が行われる
が、この段階より前に表裏判定が行われるようにするこ
とも可能である。
【0095】もし、当該頂点を含むポリゴン(面)がう
ら面であった場合にはステップS635に戻る。当該頂
点を含むポリゴン(面)がおもて面であった場合には、
頂点変換及び光源計算が行われた頂点における明度が計
算される(ステップS639)。明度の計算ではYIQ
変換が行われる。
【0096】そして、頂点変換及び光源計算された頂点
を含むポリゴンの描画用色が読み出される(ステップS
641)。読み出される描画用色のデータは予め計算さ
れるわけであるが、この予め計算する際の計算方法は、
最初の立体モデル描画処理で説明した2つの方法のいず
れでもよいし、又別の方法であってもよい。さらに、描
画用色を一つ一つ定義していってもよい。立体モデル描
画処理(その2)では描画用色を予め用意しておくの
で、実行速度は速くなるが、用意されている描画用色以
外の色に変更することは簡単にはできない。これに対
し、最初の立体モデル描画処理のように明度範囲テーブ
ルに定義されている基準明度を使用して実行時に計算す
る場合には、明度範囲テーブルを変更する又は基準明度
を変更するだけで描画用色を適宜変更することができ
る。
【0097】次に明度範囲テーブルの明度範囲が一つ選
択される(ステップS643)。なお本実施の形態では
図2に示した明度範囲テーブルを用いているが、図3の
ような明度範囲テーブルを用いることもできる。このよ
うな明度範囲テーブルを使用する場合には上限及び下限
を含む明度範囲をランダムに選択し、設定することがで
きる。以下で説明する明度比較処理において各画素の明
度と上限及び下限の2つの明度値との比較が簡単に行え
ない場合には、明度範囲が例えば図3の上から順番に選
択される。そしてこの場合下限値のみで処理していくこ
とになる。
【0098】この後、このポリゴンの頂点における明度
が補間され、当該ポリゴン内部の各画素における明度
(ポリゴンにおける明度分布)が計算される。頂点の色
も補間されるが、3頂点共同じ描画用色なので補間して
も結果は同じである。そして、当該画素における明度
が、選択された明度範囲内であれば、当該選択された明
度範囲に対応する描画用色で当該画素が描画される(ス
テップS645)。このステップS643及びS645
は、全ての明度範囲について処理するまで繰り返される
(ステップS647)。
【0099】明度の比較処理は、Zバッファを併用して
行うこともできる。Zバッファは隠面消去に使われる
が、セルアニメ調彩色処理ではZバッファの併用が明度
の上限値と比較した場合と同様の効果を奏する。
【0100】なお、明度範囲テーブルの最も小さい下限
値の値が0.0でない場合もある。ポリゴン内で何も色
が付されていない部分を無くすため、図15のステップ
S647の繰り返しにおいては、最後の繰り返しで下限
値を0.0にしてステップS645が実施される。
【0101】以上ステップS635乃至S647まで
が、立体モデルの全ての頂点について処理するまで繰り
返され、結果として全てのポリゴンについて処理される
まで繰り返される(ステップS649)。
【0102】以上のような処理を実施すると、ゲームの
キャラクタ等を表現する立体モデルの全てのポリゴンが
所定の段階の明度で塗り分けられ、立体モデルについて
はセルアニメ調の彩色が施された画像を得ることができ
るようになる。特に、立体モデル描画処理(その2)は
最初の立体モデル描画処理より更に高速化されている。
操作入力に応じてセルアニメ調の彩色が施された画像が
逐次生成されるようになるので、予め手書きのゲーム画
像を用意する必要も無く、操作入力に滑らかに従うゲー
ムが制作できる。
【0103】(2)輪郭描画処理 本輪郭描画処理では、ゲームのキャラクタ等を表現する
立体モデルに輪郭線を付す。
【0104】本輪郭描画処理の概略を図17の機能ブロ
ック図を用いて説明する。本輪郭描画処理に係るゲーム
装置は、操作入力部410と、キャラクタ行動決定部4
35を含むゲーム進行部430と、キャラクタ方向設定
部443及び視軸方向設定部447を含むゲーム進行状
況設定部440と、配置用マトリックス設定部360
と、立体モデル処理部400と、輪郭描画用モデル取得
部350と、配置用マトリックス設定部360から配置
用マトリックスを受け取る輪郭描画用モデル処理部37
0と、かすれ表現テクスチャマッピング部380と、か
すれ表現テクスチャマッピング部380、立体モデル処
理部400からデータを受け取り且つ隠面消去処理部3
95を含むピクセル処理部390と、画像表示制御部4
20とを含む。
【0105】操作入力部410は、ゲームのプレイヤに
より操作される操作入力部410のボタンやレバー等の
操作情報を、ゲーム進行部430へ出力する。
【0106】ゲーム進行部430は、操作入力部410
からの情報に基づいて、例えばキャラクタの行動、視点
位置の変更、視軸の方向の変更、あるいは光源の位置の
移動、光線の方向の変更等、ゲームを進行させる内容を
判断し、ゲーム進行状況設定部440に指示を行う。ゲ
ーム進行部430内のキャラクタ行動決定部435は、
操作入力部410からの情報に基づいて特にキャラクタ
の行動を決定する機能を有する。
【0107】ゲーム進行状況設定部440は、ゲーム進
行部430に指示されたゲームの進行内容に応じて、キ
ャラクタ位置、方向及び形状、視点の位置や視軸の方
向、光源の位置、光線の方向、更にはキャラクタの行動
に応じた体力の増減等を計算し、設定する。ゲーム進行
状況設定部440内のキャラクタ方向設定部443は、
ゲーム進行部430に指示されたゲームの進行内容に応
じて、特にキャラクタの視点に対する方向を決定する機
能を有する。一方、ゲーム進行状況設定部440内の視
軸方向設定部447は、ゲーム進行部430に指示され
たゲームの進行内容に応じて、特に視軸の方向を設定す
る機能を有している。
【0108】配置用マトリックス設定部360は、ゲー
ム進行状況設定部440により設定されたキャラクタ位
置座標及び方向並びに視点の位置に従って、キャラクタ
を表現する立体モデルの配置用マトリックスの決定処理
を行う。配置用マトリックスは、立体モデルの平行移動
・回転・透視変換を行うためのマトリックスである。
【0109】後に詳しく述べるが、立体モデルに比して
相対的に大きい輪郭描画用モデルが取得され、輪郭描画
用モデルの基準位置が立体モデルの基準位置に対応する
位置に存在する場合には、この配置用マトリックス設定
部360で決定された配置用マトリックスは、立体モデ
ル処理部400及び輪郭描画用モデル処理部370で共
用できる。共用できれば、配置用マトリックスのための
記憶領域を各キャラクタにつき1つ用意すればよいので
効率的である。
【0110】但し、共用しない又は共用できない場合も
ある。その場合には、立体モデルの配置用マトリックス
と、輪郭描画用モデルの配置用マトリックスとが生成さ
れ、各々記憶領域に格納される。また後に述べる共用で
きない場合には、配置用マトリックスの記憶領域が一つ
用意され、立体モデル処理部400及び輪郭描画用モデ
ル処理部370で配置用マトリックスが使用される直前
に、立体モデルの配置用マトリックスに縮小変換を含む
よう、又は輪郭描画用モデルの配置用マトリックスに拡
大変換を含むように設定がなされる場合もある。
【0111】輪郭描画用モデル取得部350は、例えば
三角形ポリゴンで構成された立体モデルに対応する輪郭
描画用モデルを生成する。なお、輪郭描画用モデルが予
め生成してある場合には、輪郭描画用モデル取得部35
0は当該予め生成されている、三角形ポリゴンで構成さ
れた輪郭描画用モデルを読み出す。なお、取得される輪
郭描画用モデルの各ポリゴンは、立体モデルの対応する
ポリゴンとは表裏が逆になっている。また、輪郭描画用
モデルは立体モデルより大きく、輪郭線用の所定の配色
にて定義される。なお、輪郭描画用モデルは、最終的に
は対応する立体モデルより相対的に大きくなければなら
ないが、この段階における輪郭描画用モデルの大きさは
立体モデルと同じ場合もある。この場合は、輪郭描画用
モデル及び立体モデルが描画されるまでに、輪郭描画用
モデルが立体モデルより相対的に大きく描画されるよう
処理される。また、この場合は、立体モデルと輪郭描画
用モデルの配置用マトリックスを共用できない。
【0112】輪郭描画用モデルの色は、対応する立体モ
デルのマテリアルの色をそのまま引き継ぐ場合もある。
この場合、描画用の色は別に指定される。
【0113】この輪郭描画用モデルの基準位置は、通常
対応する立体モデルの基準位置と同じ又はその近傍に位
置するように定義される。立体モデルの基準位置と輪郭
描画用モデルの基準位置が大きく異なる場合には、配置
用マトリックスを共用できない。例えば図18に輪郭描
画用モデル510のサイズが立体モデル500のサイズ
よりひとまわり大きく定義されている場合を示す。この
図18では、各面の矢印方向がおもて面を示している。
立体モデル500は六角形の各面の外側がおもて面であ
り、輪郭描画用モデル510は六角形の各面の内側がお
もて面となっている。
【0114】立体モデル500の基準位置である立体モ
デル基準位置520と、輪郭描画用モデル510の基準
位置である輪郭描画用モデル基準位置530は共に各モ
デルの中心に定義される。また輪郭描画用モデル510
は輪郭描画用モデル基準位置530を中心に、立体モデ
ル500よりひとまわり大きく定義される。
【0115】輪郭描画用モデル処理部370は、輪郭描
画用モデルの各頂点につき、配置用マトリックス設定部
360による配置用マトリックスを使用して頂点変換
(拡大・縮小・回転・平行移動・透視変換)を実施し、
且つ輪郭描画用モデルの各ポリゴンの表裏判定を実施す
る。なお、ここで光源計算は実施されない。輪郭描画用
モデル取得部350において立体モデルと同じ大きさの
輪郭描画用モデルを取得した場合には、輪郭描画用モデ
ル処理部370は、輪郭線描画用モデルのサイズの拡大
を行うための頂点変換を実施する。ここで拡大した場合
も立体モデルと輪郭描画用モデルの関係は図18のよう
になる。
【0116】また、面の表裏判定は、カメラ550から
の視線540の方向と同じ方向がおもて面の方向である
面を描画の対象から外すために行われる。図18の例で
は、輪郭描画用モデル510のカメラ550に近い面5
11及び512が描画対象から外れる。このようにする
と、立体モデル500の外側にあり且つカメラ550に
近い面は描画対象から外れるので、立体モデル500は
通常どおり描画される。一方、輪郭描画用モデル510
は、立体モデル500より後ろの面513、514、5
15及び516のみが描画対象となる。なお、立体モデ
ル500からカメラ550への方向を正とすると、輪郭
描画用モデル510の描画対象となる面は、その外側
(おもで面の向きではない)が負の方向を向いている面
であることがわかる。但し、ピクセル処理部390の隠
面消去処理部395にて隠面消去が行われるので、描画
対象となってもその面の全てが描画されるわけではな
い。
【0117】かすれ表現テクスチャマッピング部380
は、結果的に描画される輪郭線がかすれているような線
になるように、輪郭描画用モデルにかすれ表現用テクス
チャをマッピングするための処理を実施するものであ
る。このかすれ表現用テクスチャは、明度又は透明度の
変化を含む図柄を有するテクスチャで後に例を示す。な
お、必ずしも輪郭線がかすれている必要は無いので、か
すれ表現テクスチャマッピング部380の処理は選択的
に実施される。
【0118】立体モデル処理部400は、立体モデルの
処理を行うものである。すなわち、立体モデル処理部4
00は、立体モデルの各頂点に対し、配置用マトリック
ス設定部360による配置用マトリックスを使用して頂
点変換(拡大・縮小・回転・平行移動・透視変換)及び
光源計算を実施し、立体モデルの各ポリゴンの表裏判定
を行う。輪郭描画用モデル処理部370で処理された後
の輪郭描画用モデルが立体モデルと同じ大きさである場
合には、立体モデル処理部400は、立体モデルが輪郭
描画用モデルに対して相対的に小さくなるように立体モ
デルのサイズを縮小するための頂点変換を実施する。
【0119】立体モデル処理部400が縮小処理を行っ
た場合も立体モデル500と輪郭描画用モデル510の
関係は図18のようになる。また、面の表裏判定は、輪
郭描画用モデル処理部370と同じで、立体モデルの面
のうちカメラの視線方向と同じ方向がおもて面の方向で
ある面を描画対象から除外する。図18の例では、カメ
ラから見て後ろの方の面503、504、505及び5
06が描画対象から除外される。
【0120】ピクセル処理部390は、各ピクセルの描
画処理を行う。例えば、ピクセル処理部390は、面内
の各ピクセルの色を面の頂点の色から補間して求め、隠
面消去処理部395によりZバッファを使用した隠面消
去処理を実施しつつ、各ピクセルの色を決定し、描画す
る。ピクセル処理部390は、当該処理を、輪郭描画用
モデル処理部370及び立体モデル処理部400におい
て描画対象とされた面について行う。
【0121】例えば図18の場合には、立体モデル50
0のカメラ550に最も近い2つの面501及び502
が描画され、輪郭描画用モデルのカメラ550から遠い
4つの面513、514、515及び516が描画され
る。輪郭描画用モデル510のこの4つの面は、カメラ
550から見ると立体モデル500から左右にはみ出し
ているので、はみ出している部分のみが隠面消去されず
に描画される。このはみ出している部分が輪郭線とな
る。なお、ピクセル処理部390は、輪郭描画用モデル
のマテリアルの色を考慮して色を決定する。なお、この
マテリアルの色を全く無視して輪郭線の色(黒又は暗い
輪郭線用の色)を輪郭描画用モデルの色とする場合もあ
る。
【0122】最後に、画像表示制御部420は、ピクセ
ル処理部390がデータを書き込んだ、表示画面に表示
するための描画領域を指定する。描画領域は通常2つに
分けられており、1つは表示用として、もう一つは書き
込み用として用いられる。そして、書き込み用領域への
書き込みが完了すると、書き込み用領域を表示用領域と
して、また表示用領域を書き込み用領域として切り換え
て使用する。画像表示制御部420はこの切り換えを制
御するものである。
【0123】[前提]図19には、CD−ROM131
に書き込まれたデータの例が模式的に示されている。本
輪郭描画処理では、輪郭描画用モデルのデータを予め作
成してCD−ROM131に格納しておき、ゲーム実行
時に当該データをCD−ROM131から読み出す場合
がある。
【0124】プログラム領域132には、コンピュータ
に本発明を実施させるためのプログラムが格納される。
このプログラムの内容については後に詳しく述べる。
【0125】システムデータ領域133には、上で述べ
たプログラム領域132に格納されるプログラムによっ
て処理される各種データが格納される。画像データ領域
134には、立体モデル・データ137及び輪郭描画用
モデル・データ135を含むデータが格納される。但
し、後述する輪郭描画用モデル取得処理において輪郭描
画用モデルを生成する場合には、輪郭描画用モデル・デ
ータ135が格納される必要は無い。なお、かすれを表
現するテクスチャ等のデータも画像データ領域134に
格納される。
【0126】輪郭描画用モデル・データ135は、立体
モデル・データ137から予め生成され、以下のような
特徴を有する。
【0127】すなわち、輪郭描画用モデルのサイズは立
体モデルよりひとまわり大きくなるように定義されてい
る。例えば、輪郭描画用モデルは、対応する立体モデル
の各頂点の法線方向に、当該立体モデルの全長の2パー
セントの長さだけ当該頂点が移動されており、全体とし
て2パーセント程度拡大されるように定義される。この
拡大率がより大きい場合は輪郭線はより太く描画され、
拡大率がより小さく、わずかに拡大されただけである場
合には輪郭線はより細く描画される。更に、均一でなく
一部がより拡大されるように定義されれば、より拡大さ
れた部分の輪郭線のみが太く描画される。このサイズの
調整は、通常立体モデルの製作者により行われるので、
当該製作者の意図を反映した輪郭線を描画することがで
きる。
【0128】また、輪郭描画用モデルの各ポリゴンのマ
テリアルの色は、立体モデルと彩度は同じで明度を低く
した色に設定されている。なお、各ポリゴンがすべて黒
などの単一色に設定されている場合もある。また、かす
れ表現用テクスチャをマッピングするための設定がされ
ている場合もある。マテリアルの色は製作者により調整
されるので、当該製作者の意図した色で輪郭線を描画す
ることができる。
【0129】さらに、輪郭描画用モデルの各ポリゴンの
表裏は反転されている。具体的には、輪郭描画用モデル
を構成する各三角形の頂点が定義されている順番が一ヶ
所入れ替えられている。
【0130】なお、輪郭描画用モデルのサイズは、対応
する立体モデルのサイズと同じ大きさで定義されるとし
てもよい。この場合には、後述する輪郭描画用モデル取
得処理で輪郭描画用モデルが取得された後に、後述する
輪郭描画用モデル配置処理で輪郭描画用モデルの配置用
マトリックスが設定されるまでの間に輪郭描画用モデル
が拡大される。あるいは、輪郭描画用モデル配置処理で
輪郭描画用モデルの配置用マトリックスが設定される際
に、当該配置用マトリックスが拡大変換を含むように当
該配置用マトリックスが決定されるとしてもよい。逆
に、立体モデルを配置する際に、立体モデルの配置用マ
トリックスが縮小変換を含むように立体モデルの配置用
マトリックスが決定されるとしてもよい。
【0131】また、輪郭描画用モデルの各ポリゴンのマ
テリアルの色は、対応する立体モデルの各ポリゴンのマ
テリアルの色と同一であっても良い。この場合、後述さ
れる輪郭描画用モデルの描画処理の際に、例えば、黒な
どの別途定義された色で輪郭描画用モデルが描画され
る。
【0132】サウンドデータ領域136には、サウンド
を出力させるためのデータが格納される。なお、サウン
ド処理は本発明と直接関係は無いので、サウンドデータ
領域136にデータが格納されている必要は無い。
【0133】次に、本輪郭描画処理の処理フローを説明
する。
【0134】[全体の処理フロー]図4に示したレベル
の処理フローは、本輪郭描画処理でも同じである。ゲー
ムが開始すると、初期設定が行われる(ステップS
2)。この初期設定の処理には、描画すべきキャラクタ
を表現する立体モデルのデータ取得処理が含まれる。さ
らに、本輪郭描画処理では輪郭描画用モデルのデータ取
得処理も含まれる。次に、ゲームのプレイヤにより、操
作入力部410のボタンやレバー等の操作が行われる
(ステップS3)。そして、ステップS3における操作
入力の情報に基づき、例えばキャラクタが左に動く、又
はキャラクタが攻撃する等のキャラクタの行動、視点位
置の変更、視軸の方向の変更、あるいは光源位置の移
動、光線の方向の変更等のゲームを進行させる内容を判
断するゲーム進行処理が行われる(ステップS4)。
【0135】その後ステップS4にて決定されたゲーム
の進行内容に応じて、キャラクタの位置、方向及び形
状、視点の位置や視軸の方向、光源の位置や光線の方
向、更にキャラクタの行動に応じた体力の増減等のゲー
ム進行状況を設定するゲーム進行状況設定処理が行われ
る(ステップS5)。次に、ゲーム進行状況に応じたゲ
ーム画像を描画するゲーム画像描画処理が行われる(ス
テップS6)。このゲーム画像描画処理については後に
詳しく述べる。
【0136】そして、ステップS6のゲーム画像描画処
理にて描画されたゲーム画像を表示するゲーム画像表示
処理が行われる(ステップS7)。
【0137】次に、ゲームオーバーかどうか判断される
(ステップS8)。ステップS3の操作入力に応じて行
われるゲーム進行状況設定処理(ステップS5)におい
て、ゲームのプレイヤが操作している自キャラクタの体
力が減少され0に設定されると、ゲームオーバーの条件
を満たすことになる。ステップS8では、ゲームのプレ
イヤが操作している自キャラクタの体力が検査され、ゲ
ームオーバーかどうか判断される。もし、自キャラクタ
の体力が0でなければ、ステップS3に戻り次の操作入
力を待つ。一方、ゲームオーバーである場合には、ゲー
ムを終了する。なお、ゲーム終了でもステップS7にて
その結果が表示画面に表示されているので、プレイヤは
ゲーム最後の状況を表示画面から把握することができ
る。
【0138】図20にステップS6(図4)のゲーム画
像描画処理の概要を表す処理フローを示す。最初に、ゲ
ーム画像中の背景部分を表現するための背景モデルを描
画する背景モデル描画処理が実施される(ステップS2
2)。この描画処理は従来と同じ描画処理であるからこ
こでは詳しく述べない。そして、以下のステップS24
乃至S27が、全てのキャラクタを描画するまで繰り返
される(ステップS23)。
【0139】繰り返される最初のステップは、1つの未
処理キャラクタを変形する変形処理を実施するステップ
である(ステップS24)。図4のステップS3にて行
われる操作入力に応じて当該未処理キャラクタのモーシ
ョンがステップS4のゲーム進行処理で決定される。そ
してそれに応じてさらに実施されるステップS6のゲー
ム進行状況設定処理にて設定された、当該未処理キャラ
クタを表現する立体モデルの変形処理が実施される。さ
らに、本輪郭描画処理では立体モデルの変形処理に従っ
て輪郭描画用モデルの変形処理も実施される。
【0140】繰り返される第2のステップは、当該未処
理キャラクタの配置用マトリックスを設定するステップ
である(ステップS25)。配置用マトリックスは、未
処理キャラクタを表現する立体モデルの平行移動・回転
・透視変換のためのマトリックスであり、ステップS5
のゲーム進行状況設定処理にて設定されたキャラクタの
位置座標及び方向並びに視点の位置に基づき生成され
る。上で述べたように、輪郭描画用モデルが既に立体モ
デルより相対的に大きく定義されており且つ輪郭描画用
モデルの基準位置が立体モデルの基準位置と同じであれ
ば、立体モデルの配置用マトリックスを輪郭描画用モデ
ルにも使用することができる。この条件が満たされない
場合には、立体モデル及び輪郭描画用モデルの各々に対
して配置用マトリックスを設定してもよい。また、後に
述べる輪郭描画用モデル描画処理において輪郭描画用モ
デルに対する、拡大変換を含む配置用マトリックスを設
定する場合もある。また、立体モデル描画処理において
立体モデルに対する、縮小変換を含む配置用マトリック
スを設定する場合もある。
【0141】そして、繰り返される第3のステップは、
輪郭描画用モデルを描画する輪郭描画用モデル描画処理
を実施するステップである(ステップS26)。この輪
郭描画用モデル描画処理については後に詳しく述べる。
【0142】繰り返される第4のステップは、当該未処
理キャラクタを表現する立体モデルを描画する立体モデ
ル描画処理を実施するステップである(ステップS2
7)。この立体モデル描画処理については後に詳しく述
べる。
【0143】全てのキャラクタが描画された後には、キ
ャラクタの能力等をユーザに表示するためのウインドウ
を描画するウインドウ描画処理を実施する(ステップS
28)。このウインドウ描画処理についても従来と同じ
描画処理であるからここでは詳しく述べない。なお、こ
のように各キャラクタ毎に順次描画処理が行われると、
配置用マトリックスの記憶領域を全キャラクタに対して
1つ(共用できない場合には2つ)用意すれば良いので
効率的である。
【0144】次にゲームのプレイヤの操作入力に従うゲ
ーム・ストーリーの進行について簡単な例(図7及び図
8)を説明するが、その前に、本輪郭描画処理において
使用されるキャラクタのデータについて図21を用いて
説明する。キャラクタ・データは、最大体力10の数値
(例えば300)、現在の体力12の数値(例えば30
0)、攻撃力14の数値(例えば123)、防御力16
の数値(例えば51)、基準位置18の座標(x,y,
z)(例えば(15.0,0.0,3.2))、キャラクタの方向
20であるX・Y・Z軸まわりの回転角(例えば(0,
−90,0))、モーション・データへのポインタ2
2、立体モデルのモデル・データへのポインタ24、及
び輪郭描画用モデルのモデル・データへのポインタ26
を含む。
【0145】図7には、ゲームのプレイヤが自キャラク
タC101を操作し、仮想三次元空間内において自キャ
ラクタを敵キャラクタと戦わせながらストーリーを進展
させるゲームの画像が表示された表示画面120の例が
示されている。ここには、自キャラクタC101の右前
方からの画像が表示されている。表示画面の左には敵キ
ャラクタ1(C111)及び敵キャラクタ2(C11
3)が出現している。
【0146】ここで視点の位置は、自キャラクタと敵キ
ャラクタとの位置関係及び自キャラクタの方向に応じて
ゲーム進行状況設定処理(ステップS5)にて決定され
る。そして、これらの各キャラクタについて当該視点の
位置から、キャラクタに輪郭線の付された非写実的な画
像が生成され、表示画面に表示される。
【0147】操作入力部410からのプレイヤの操作入
力に応じて、自キャラクタは敵キャラクタを攻撃する。
一方、敵キャラクタは所定のアルゴリズムに従って自キ
ャラクタを攻撃する。
【0148】図8には、図7に示された表示画面の状態
から、ゲームのプレイヤが操作入力部410を操作して
自キャラクタC101を表示画面の左方向に動かした場
合の表示画面が示されている。
【0149】操作入力に応答して「表示画面の左方向に
動く」というキャラクタの行動がゲーム進行処理(図4
ステップS4)にて決定される。このキャラクタの行動
に応じて、キャラクタの方向、位置及び形状が、ゲーム
進行状況設定処理(図4ステップS5)にて決定され
る。この図8の例では、キャラクタの方向が表示画面に
対して左方向に決定され、キャラクタの位置が同じく表
示画面に対して左方向に移動される。また、キャラクタ
の形状には走る動作を表現するための形状が設定され
る。
【0150】このように、キャラクタの方向や位置等の
ゲーム進行状況が変化した場合でも、当該キャラクタに
は輪郭線が描画される。
【0151】[輪郭描画用モデル取得処理]図22に
は、図4の初期設定(ステップS2)に含まれる、輪郭
描画用モデルの取得処理が示されている。ここでは最初
に、輪郭描画用モデルが生成されるか否かが判断される
(ステップS203)。輪郭描画用モデルを予め用意し
ておく場合と輪郭描画用モデルをこの段階にて生成する
場合が存在するためである。この判断は、例えば立体モ
デルに対応した輪郭描画用モデルがCD−ROM131
に格納されているか否かを判定する事により実施され
る。格納されていると判断されれば輪郭描画用モデルは
生成されないと判断され、格納されていないと判断され
れば、輪郭描画用モデルは生成されると判断される。
【0152】輪郭描画用モデルが生成されないと判断さ
れた場合には、CD−ROM131に格納されている輪
郭描画用モデルのデータが読み出される(ステップS2
07)。この輪郭描画用モデルの各ポリゴンは、上で図
18を用いて説明されたように、立体モデルの対応する
ポリゴンとは表裏が反転されたものである。また読み出
される輪郭描画用モデルのサイズは、対応する立体モデ
ルより一回り大きく定義される。更に、輪郭描画用モデ
ルの色は、対応する立体モデルより暗い色で定義され
る。
【0153】もし輪郭描画用モデルが生成されると判断
された場合には、輪郭描画用モデルを生成する処理が行
われる(ステップS205)。ステップS207と同じ
ように、この段階において輪郭描画用モデルが生成され
る場合においても、輪郭描画用モデルの各ポリゴンは、
上で図13を用いて説明されたように、立体モデルの対
応するポリゴンとは表裏反転したものにする。
【0154】輪郭描画用モデルのサイズは、対応する立
体モデルより一回り大きく生成される。例えば立体モデ
ルの各頂点の法線方向に当該頂点を移動させて拡大され
た輪郭描画用モデルが生成される。輪郭描画用モデルが
立体モデルに比してより大きい場合は輪郭線はより太く
描画され、輪郭描画用モデルが立体モデルよりわずかに
大きいだけである場合は輪郭線はより細く描画される。
【0155】また、立体モデルの各面の法線方向に当該
面を移動させて拡大された輪郭描画用モデルが生成され
るとしてもよい。さらに、通常立体モデルに定義されて
いる基準位置を中心に、その立体モデルの各頂点を移動
させて拡大された輪郭描画用モデルが生成されるとして
もよい。
【0156】なお、この時点では、輪郭描画用モデルの
サイズは、対応する立体モデルのサイズと同じ大きさで
生成されるとしてもよい。この場合には本輪郭描画用モ
デル取得処理で輪郭描画用モデルが取得された後、後述
する輪郭描画用モデル配置処理で輪郭描画用モデルの配
置マトリックスが設定されるまでの間に輪郭描画用モデ
ルは拡大される。あるいは、輪郭描画用モデル配置処理
で輪郭描画用モデルの配置用マトリックスが設定される
際に、当該配置用マトリックスが拡大変換を含むように
当該配置用マトリックスが決定されるとしてもよい。逆
に、立体モデルを配置する際に、立体モデルの配置用マ
トリックスが縮小変換を含むように立体モデルの配置用
マトリックスが決定されるとしてもよい。
【0157】一方、輪郭描画用モデルの各ポリゴンのマ
テリアルの色は、対応する立体モデルの各ポリゴンのマ
テリアルの色をより暗くした色で生成される。なお、こ
の時点では、生成される輪郭描画用モデルの色は定義さ
れていなくてもよい。あるいは、輪郭描画用モデルの各
ポリゴンのマテリアルの色が、対応する立体モデルの各
ポリゴンのマテリアルの色と同一であっても良い。この
場合、輪郭描画用モデルの描画処理の際に、輪郭描画用
モデルの色は考慮されず、例えば黒などの別途定義され
た色か、かすれを表現するテクスチャの色で輪郭描画用
モデルが描画される。
【0158】次に、輪郭描画用モデルにかすれを表現す
るテクスチャがマッピングされるか否かが判断される
(ステップS209)。ステップS205で輪郭描画用
モデルが生成された場合には、対応する立体モデルのデ
ータに基づいて当該判断が実施される。一方、ステップ
S207で輪郭描画用モデルが読み出された場合には、
読み出された輪郭描画用モデルのデータに基づいて当該
判断が実施される。かすれを表現するテクスチャがマッ
ピングされると判断された場合には、ステップS211
にて輪郭描画用モデルにかすれを表現するテクスチャが
マッピングされる。すなわち、ポリゴンの各頂点にテク
スチャ座標(U,V)が設定される。
【0159】なお、上でも述べたように、かすれを表現
するテクスチャは、明度又は透明度の変化を含む図柄を
有する。図23には明度の変化を含むテクスチャの一例
が示されている。これは黒地に白の斜線が細かく入った
図柄を有するテクスチャである。黒部分の明度は低く、
白部分の明度は高いので、図23に示されたテクスチャ
は明度の変化を含んでいる。
【0160】本発明において輪郭線は、輪郭描画用モデ
ルの一部が線として切り出されて描画される。すなわ
ち、図23のテクスチャがマッピングされた輪郭描画用
モデルが輪郭線として描画される場合、輪郭描画用モデ
ルから輪郭線として切り出される線に対応する線が当該
テクスチャから切り出されて描画される。このとき、当
該テクスチャから略縦方向又は略横方向に線が切り出さ
れれば、いずれの線も明度の変化を含むことになる。こ
のような線が輪郭線として描画されることで、明度の変
化を含む輪郭線が描画される。すなわち、輪郭線のかす
れが表現され、より手書き調の輪郭線が描画される。
【0161】図23に示されたテクスチャであれば、い
ずれの方向に線が切り出されてもその線は明度の変化を
含む。しかし切り出される方向によってはほとんど明度
が変化しない場合もある。輪郭描画用モデルのどの部分
がどの方向に輪郭線として描画されるかは調整できるの
で、かすれを表現するテクスチャは、主に切り出される
方向に応じてその図柄が調整される。
【0162】なお、透明度の変化を含む図柄を含む図柄
を有するテクスチャがマッピングされた輪郭描画用モデ
ルにより輪郭線が描画される場合には、当該輪郭線は透
明度の変化を含む。透明度の高い部分にはその割合に応
じて背景の色に近い色が描画され、低い部分には例えば
黒等の当該テクスチャの色に近い色が描画される。これ
により濃淡の変化を含む輪郭線が描画され、輪郭線のか
すれが表現される。
【0163】かすれを表現するテクスチャがマッピング
されないと判断された場合と、テクスチャをマッピング
する処理が終了した場合は、輪郭描画用モデル取得処理
を終了する。
【0164】[輪郭描画用モデル配置処理]図20のス
テップS25において未処理キャラクタを表現する立体
モデル及び輪郭描画用モデルの配置用マトリックスが設
定され、その配置用マトリックスにより輪郭描画用モデ
ルの配置処理が行われる。通常輪郭描画用モデルの基準
位置は、立体モデルの基準位置に対応する位置に設けら
れる。そしてその輪郭描画用モデルの基準位置が、立体
モデルの基準位置と同一又は近傍に配置されるように、
輪郭描画用モデルの配置用マトリックスが設定される。
【0165】ここで立体モデルの方向が変化する場合に
は、輪郭描画用モデルもそれに対応するよう回転変換を
含む配置用マトリックスが設定される。立体モデルの形
状が変化する場合には、輪郭描画用モデルがそれに対応
するように変形処理が行われる。
【0166】この段階において輪郭描画用モデルが対応
する立体モデルと同じ大きさである場合には、輪郭描画
用モデルが拡大される。具体的には、輪郭描画用モデル
の基準位置を中心として輪郭描画用モデルの各頂点が所
定の拡大率に従って拡大変換されるように、輪郭描画用
モデルの配置用マトリックスが設定される。あるいは逆
に、立体モデルが縮小されるとしてもよい。すなわちこ
の場合には、立体モデルの基準位置を中心として立体モ
デルの各頂点が所定の縮小率に従って縮小変換されるよ
うに、立体モデルの配置用マトリックスが設定される。
【0167】このようにすると、最終的には、相対的に
大きい輪郭描画用モデルが立体モデルを包含するように
配置される。両モデルの配置位置、方向、形状等の関係
により、輪郭描画用モデルは完全には立体モデルを包含
しない場合も生じ得る。但し、このような場合であって
も、包含している部分については輪郭線が描画される。
【0168】なお、この段階では必ずしも配置用マトリ
ックスが設定されている必要は無く、配置される座標、
方向及び拡大・縮小率等の頂点変換に必要な各要素が確
定していればよい。この場合も、実際の頂点変換は各モ
デルの描画処理の段階で行われる。
【0169】[輪郭描画用モデル描画処理]輪郭描画用
モデルの描画処理フローを示す図24では、輪郭描画用
モデルの全ての頂点について処理するまで、以下に説明
する処理が繰り返し行われる(ステップS503)。繰
り返し行われる最初の処理は、1つの頂点についての頂
点変換(拡大・縮小・回転・平行移動・透視変換)処理
である(ステップS505)。ここではステップS25
(図20)で求められた配置用マトリックスが頂点変換
で用いられる。なお、最初の2つの頂点については、ス
テップS505及びS509及びS511以外のステッ
プは実施されない。
【0170】ここで注意したいのは輪郭描画用モデルに
対しては光源計算を実施しない点である。これは輪郭線
は光源の位置等によらず描画され、光源計算をするのが
無駄だからである。例えば輪郭描画用モデルのマテリア
ルの色は無視される場合もある。もし輪郭描画用モデル
の大きさが立体モデルと同じである場合には、配置処理
で設定された配置用マトリックスに従って、この段階に
おいて輪郭描画用モデルが拡大変換される場合もある。
【0171】そして、当該頂点を含むポリゴン(面)は
おもて面か否かの判断処理が行われる(ステップS50
7)。この判断は、三角形ポリゴンの場合この頂点の前
に処理された2つの頂点から構成される三角形ポリゴン
がいずれの方向を向いているかで判断される。図25に
は、表裏判定法について説明するための、立体モデルを
構成する三角形ポリゴンの例が示されている。この例で
は、図中上部の頂点の頂点番号が0、下部左側の頂点の
頂点番号が1、下部右側の頂点の頂点番号が2である。
すなわち、上部の頂点から反時計回りに、頂点番号が付
与されている。
【0172】本輪郭描画処理では、三角形ポリゴンの各
頂点の頂点番号が反時計回りに付与されているように見
える面が、おもて面と定義されている(いわゆる右手
系)。従って、図25の三角形ポリゴンは、紙面手前方
向がおもて面である。おもて面の方向に法線ベクトルが
あるとすると、その法線ベクトルと視線ベクトルとの内
積の符号によって、三角形ポリゴンの表裏が判定でき
る。すなわち、内積の符号が負であれば、視点位置に対
しておもて面を向けていることになり、内積の符号が正
であれば、視点位置に対してうら面を向けていることと
なる。
【0173】実際には図26に示されているように、ス
クリーンに投影された頂点0から頂点1へのベクトルa
とスクリーンに投影された頂点0から頂点2へのベクト
ルbの外積a×bが計算され、この外積の結果であるベ
クトルnの方向にておもて面か否かが判断される。ベク
トルnはz軸に平行であり、ベクトルnのz成分の符号
を検査すればおもて面か否かが判定される。すなわち、
正ならおもてで、負ならうらである。図26左側は三角
形の頂点の番号は反時計回りであり、外積の結果である
ベクトルnはz軸の正の方向に向いているのでおもてで
ある。一方図26右側は三角形の頂点の番号は時計回り
であり、外積の結果であるベクトルnはz軸の負の方向
を向いておりうらである。
【0174】本輪郭描画処理における輪郭描画用モデル
の場合、輪郭描画用モデルの面は立体モデルの対応する
ポリゴンとは表裏が逆になっている。図27には図25
のポリゴンに対応し、表裏が反転されたポリゴンが示さ
れている。図27に示す三角形ポリゴンの各頂点には、
図中上方、右下、左下の順で0,1,2の頂点番号が付
与されている。すなわち、対応する三角形ポリゴンには
図27とは逆の順番で頂点番号が付されている。よっ
て、図27では紙面手前がうら面と判定される。なお、
本輪郭描画処理ではこの段階において表裏判定を行う
が、この段階より前に表裏判定を行うようにすることも
可能である。
【0175】もし、当該頂点を含むポリゴン(面)がう
ら面であった場合にはステップS503に戻る。当該頂
点を含むポリゴン(面)がおもて面であった場合には、
かすれを表現するテクスチャをマッピングするか否かが
判断される(ステップS509)。
【0176】これはポリゴンに対するテクスチャ・マッ
ピングを意味している。もし、かすれを表現するテクス
チャをマッピングする場合には、その頂点に対する、か
すれを表現するためのテクスチャのテクスチャ座標が計
算される(ステップS511)。テクスチャ・マッピン
グを行う場合、既にポリゴンの頂点にはテクスチャ座標
(U,V)が指定してあるが、当該ポリゴンがスクリー
ンに対して斜めに配置されている場合にはテクスチャが
スクリーン上で歪んで表示されることがある。この歪み
を避けるために、テクスチャ・パースペクティブ処理と
して、ここでは、Q=1/w(wはスクリーンからの奥
行き)を用いて、S=U×Q、T=V×Qの計算が行わ
れる。もし、かすれを表現するテクスチャをマッピング
しない場合にはステップS513に移行する。
【0177】そして、例えば図17に示したピクセル処
理部390が駆動される(ステップS513)。上で述
べたようにピクセル処理部390は、三角形ポリゴンの
各頂点のデータを補間して、三角形ポリゴン内部の各ピ
クセルにおけるデータを生成する。各頂点のデータは、
マテリアルの色、スクリーン座標値、及びステップS5
11を実施すればテクスチャ座標値である。各ピクセル
におけるデータは、マテリアルの色及びステップS51
1を実施すればテクセル・カラーである。
【0178】但し、この時点でマテリアルの色を無視し
て、各頂点に輪郭線の色を設定することも可能である。
またマテリアルの色を考慮して、各頂点の色を設定する
ことも可能である。ピクセル処理部390は、更に、生
成された三角形ポリゴン内部の各ピクセルにおけるデー
タを使用して、表示画像を描画する。この際、Zバッフ
ァを使用して隠面消去を行う。
【0179】隠面消去にはZバッファを使用する例を示
しているが、図18に示すような簡単なモデルについて
はZバッファを使用しない、例えばZソート法のような
隠面消去処理を実施しても良い。但し、もっと複雑なモ
デル、例えば人物の手などが胴体より前に配置されてい
る場合等には、Zバッファを使用した隠面消去を行わな
いと、正確に輪郭線を描画することは困難である。
【0180】[立体モデル描画処理]図28に本輪郭描
画処理及び後に述べる(3)輪郭描画処理(その2)に
共通する立体モデルの描画処理のフローを示す。ここで
は、立体モデルの全ての頂点を処理するまで以下の処理
が繰り返し行われる(ステップS553)。繰り返され
る第1の処理は、一つの頂点についての頂点変換(拡大
・縮小・回転・平行移動・透視変換)及び光源計算であ
る(ステップS555)。なお、最初の2つの頂点につ
いてはステップS555及びS559以外の処理は行わ
れない。
【0181】この頂点変換にはステップS25(図2
0)で設定された配置用マトリックスが使用される。但
し、輪郭描画用モデルが立体モデルと同じ大きさである
場合には、立体モデルのサイズを縮小することにより輪
郭描画用モデルを相対的に大きくする場合もある。この
場合には、ステップS555において縮小変換が実施さ
れる。なお、立体モデルの中心に向かって各頂点をその
法線に沿って移動させると簡単に縮小できる。
【0182】次に、当該頂点を含むポリゴン(面)はお
もて面か否かが判断される(ステップS557)。この
判断は、三角形ポリゴンの場合この頂点の前に処理され
た2つの頂点から構成される三角形ポリゴンがいずれの
方向を向いているかで判断する。この判断は輪郭描画用
モデルの描画処理で説明した方法を用いることができ
る。なお、本輪郭描画処理ではこの段階において表裏判
定が行われるが、この段階より前に表裏判定が行われる
ようにすることも可能である。
【0183】もし、当該頂点を含むポリゴン(面)がう
ら面であった場合にはステップS553に戻る。当該頂
点を含むポリゴン(面)がおもて面であった場合にはそ
の頂点のテクスチャ座標の計算処理が行われる(ステッ
プS559)。テクスチャ・マッピング処理が行われる
場合、既にポリゴンの頂点にはテクスチャ座標(U,
V)が指定してあるが、テクスチャ・パースペクティブ
処理として、ここでは、Q=1/w(wはスクリーンか
らの奥行き)を用いて、S=U×Q、T=V×Qの計算
が行われる。但し、テクスチャ・マッピングを行うか否
かは任意である。
【0184】そして、例えば図17に示したピクセル処
理部390が駆動される(ステップS561)。上で述
べたようにピクセル処理部390は、三角形ポリゴンの
各頂点のデータを補間して、三角形ポリゴン内部の各ピ
クセルにおけるデータを生成する。各頂点のデータは、
マテリアルの色、スクリーン座標値、及びテクスチャ座
標値である。また、各ピクセルにおけるデータは、マテ
リアルの色及びテクセル・カラーである。ピクセル処理
部390は、更に、生成された三角形ポリゴン内部の各
ピクセルにおけるデータを使用して、表示画像を描画す
る。この際、Zバッファを使用して隠面消去を行う。
【0185】以上のような処理を実施すると、ゲームの
キャラクタ等を表現する立体モデルは通常どおりレンダ
リングされ、本輪郭描画処理で導入された輪郭描画用モ
デルは、立体モデルの後ろの面のうち立体モデルに隠れ
ない部分が描画されるので、その部分が輪郭線としてレ
ンダリングされる。本輪郭描画処理では、輪郭描画用モ
デルを導入するだけで通常の立体モデルとほぼ同様の処
理を行うことにより簡単に輪郭線を描画できるようにな
る。このように本輪郭描画処理では操作入力に応じて輪
郭線の付されたゲーム画像がリアルタイムに生成でき
る。
【0186】(3)輪郭描画処理(その2) 第2の輪郭描画処理でも、ゲームのキャラクタ等を表現
する立体モデルに輪郭線を付する。
【0187】第2の輪郭描画処理の概略を図29の機能
ブロック図を用いて説明する。第2の輪郭描画処理に係
るゲーム装置は、操作入力部700と、キャラクタ行動
決定部775を含むゲーム進行部770と、キャラクタ
方向設定部783及び視軸方向設定部787を含むゲー
ム進行状況設定部780と、配置用マトリックス設定部
720と、立体モデル処理部740と、輪郭描画用モデ
ル取得部710と、配置用マトリックス設定部720か
ら配置用マトリックスを受け取り且つ逆転表裏判定部7
35を含む輪郭描画用モデル処理部730と、かすれ表
現テクスチャマッピング部750と、かすれ表現テクス
チャマッピング部750と、立体モデル処理部740か
らデータを受け取り且つ隠面消去処理部765を含むピ
クセル処理部760と、画像表示制御部790とを含
む。
【0188】操作入力部700は、ゲームのプレイヤに
より操作される操作入力部700のボタンやレバー等の
操作情報を、ゲーム進行部770へ出力する。
【0189】ゲーム進行部770は、操作入力部700
からの情報に基づいて、例えばキャラクタの行動、視点
位置の変更、視軸の方向の変更、あるいは光源の位置の
移動、光線の方向の変更等、ゲームを進行させる内容を
判断し、ゲーム進行状況設定部780に指示を行う。ゲ
ーム進行部770内のキャラクタ行動決定部775は、
操作入力部700からの情報に基づいて特にキャラクタ
の行動を決定する機能を有する。
【0190】ゲーム進行状況設定部780は、ゲーム進
行部770に指示されたゲームの進行内容に応じて、キ
ャラクタ位置、方向及び形状、視点の位置や視軸の方
向、光源の位置、光線の方向、更にはキャラクタの行動
に応じた体力の増減等を計算し、設定する。ゲーム進行
状況設定部780内のキャラクタ方向設定部783は、
ゲーム進行部770に指示されたゲームの進行内容に応
じて、特にキャラクタの視点に対する方向を決定する機
能を有する。一方、ゲーム進行状況設定部780内の視
軸方向設定部787は、ゲーム進行部770に指示され
たゲームの進行内容に応じて、特に視軸の方向を設定す
る機能を有している。
【0191】配置用マトリックス設定部720は、ゲー
ム進行状況設定部780により設定されたキャラクタ位
置座標及び方向並びに視点の位置に従って、キャラクタ
を表現する立体モデルの配置用マトリックスの決定処理
を行う。配置用マトリックスは、立体モデルの平行移動
・回転・透視変換を行うためのマトリックスである。
【0192】立体モデルに比して相対的に大きい輪郭描
画用モデルが取得され、輪郭描画用モデルの基準位置が
立体モデルの基準位置に対応する位置に存在する場合に
は、この配置用マトリックス設定部720で決定された
配置用マトリックスを、立体モデル処理部740及び輪
郭描画用モデル処理部730で共用できる。共用できれ
ば、配置用マトリックスのための記憶領域を各キャラク
タにつき1つ用意すればよいので効率的である。
【0193】但し、共用しない又は共用できない場合も
ある。その場合には、立体モデルの配置用マトリックス
と、輪郭描画用モデルの配置用マトリックスとが生成さ
れ、各々記憶領域に格納される。また後に述べる共用で
きない場合には、配置用マトリックスの記憶領域が一つ
用意され、立体モデル処理部740及び輪郭描画用モデ
ル処理部730で配置用マトリックスが使用される直前
に、立体モデルの配置用マトリックスに縮小変換を含む
よう、又は輪郭描画用モデルの配置用マトリックスに拡
大変換を含むように設定がなされる場合もある。
【0194】輪郭描画用モデル取得部710は、例えば
三角形ポリゴンで構成された立体モデルに対応する輪郭
描画用モデルを生成する。なお、輪郭描画用モデルが予
め生成してある場合には、輪郭描画用モデル取得部71
0は、当該予め生成されている、三角形ポリゴンで構成
された輪郭描画用モデルを読み出す。第2の輪郭描画処
理は前に述べた輪郭描画処理(以下、第1の輪郭描画処
理と呼ばれる場合がある)とは異なり、取得される輪郭
描画用モデルの各ポリゴンは、立体モデルの対応するポ
リゴンと表裏が同じである。また輪郭描画用モデルは立
体モデルより大きく、輪郭線用の所定の配色にて定義さ
れる。なお、輪郭描画用モデルは、最終的には対応する
立体モデルより相対的に大きくなければならないが、こ
の段階における輪郭描画用オブジェクトの大きさは立体
モデルと同じ場合もある。この場合には、輪郭描画用モ
デルと立体モデルが描画されるまでに、輪郭描画用モデ
ルが立体モデルより相対的に大きく描画されるよう処理
される。
【0195】また、輪郭描画用モデルの色は、対応する
立体モデルのマテリアルの色をそのまま引き継ぐ場合も
ある。この場合は描画用の色は別に指定される。この輪
郭描画用モデルの基準位置は、通常対応する立体モデル
の基準位置と同じ又はその近傍に位置するように定義さ
れる。例えば図30には、輪郭描画用モデル610が立
体モデル600よりひとまわり大きく定義されている場
合が示されている。この図30では、各面の矢印方向が
おもて面を示している。立体モデル600も輪郭描画用
モデル610も六角形の各面の外側がおもて面となって
いる。
【0196】立体モデル600の基準位置である立体モ
デル基準位置620と、輪郭描画用モデル610の基準
位置である輪郭描画用モデル基準位置630は共に各モ
デルの中心に定義される。また輪郭描画用モデル610
は輪郭描画用モデル基準位置630を中心に立体モデル
600よりひとまわり大きく定義される。
【0197】輪郭描画用モデル処理部730は、輪郭描
画用モデルの各頂点につき、配置用マトリックス設定部
720による配置用マトリックスを使用して頂点変換
(拡大・縮小・回転・平行移動・透視変換)を実施し、
且つ輪郭描画用モデルの各ポリゴンの表裏判定を実施す
る。但し、前に述べた輪郭描画処理とは異なり、この表
裏判定は逆転表裏判定部735で行われる。またここで
は光源計算を実施しない。例えば、輪郭描画用モデル取
得部710において立体モデルと同じ大きさの輪郭描画
用モデルを取得した場合には、輪郭描画用モデル処理部
720は、輪郭線描画用モデルの拡大を行うための頂点
変換を実施することになる。ここで拡大した場合も立体
モデルと輪郭描画用モデルの関係は図30のようにな
る。
【0198】また、第2の輪郭描画処理の輪郭描画用モ
デルの場合には、おもて面をうらと判断し、うら面をお
もてと判断する。よって、図30の例ではカメラ650
からの視線640の方向と同じ方向に矢印が向いている
面613,614,615及び616のみを描画対象と
する。この面は通常であればうら面であるから描画対象
から外れるが、第2の輪郭描画処理では描画対象として
取り扱う。このようにすると、立体モデル600の外側
にあり且つカメラ650に近い面611及び612は描
画対象から外れるので、立体モデル600は通常どおり
描画される。なお、立体モデル600からカメラ650
の方向を正とすると、輪郭描画用モデルの描画対象とな
る面は、その外側(おもて面の方向)が負の方向に向い
ている面であることがわかる。また、ピクセル処理部7
60の隠面消去処理部765にて隠面消去が行われるの
で、描画対象となってもそれらの面の全てが描画される
わけではない。
【0199】かすれ表現テクスチャマッピング部750
は、結果的に描画される輪郭線がかすれているような線
になるように、輪郭描画用モデルにかすれ表現用テクス
チャをマッピングするための処理を実施する。なお、必
ずしも輪郭線がかすれている必要は無いので、かすれ表
現テクスチャマッピング部750の処理は選択的に実施
される。
【0200】立体モデル処理部740は、立体モデルの
処理を行うものである。すなわち、立体モデル処理部7
40は、立体モデルの各頂点に対し、配置用マトリック
ス設定部720による配置用マトリックスを使用して頂
点変換(拡大・縮小・回転・平行移動・透視変換)及び
光源計算を実施し、立体モデルの各ポリゴンの表裏判定
を行う。輪郭描画用モデル処理部740で処理された後
の輪郭描画用モデルが立体モデルと同じ大きさである場
合には、立体モデル処理部740は、立体モデルが輪郭
描画用モデルに対して相対的に小さくなるように立体モ
デルのサイズを縮小するための頂点変換を実施する。こ
こで縮小した場合も立体モデルと輪郭描画用モデルの関
係は図30のようになる。
【0201】また、面の表裏判定は、通常と同じで、す
なわち輪郭描画用モデルの場合とは逆で、立体モデル6
00の面のうちカメラ650の視線640の方向と同じ
方向に矢印が向いている面を描画対象から除外する。図
30の例では、カメラ650から見て後ろの方の面60
3,604,605及び606が描画対象から除外され
る。ここでは、必要に応じて立体モデルのテクスチャ・
マッピングのための処理も行う。
【0202】ピクセル処理部760は、各ピクセルの描
画処理を行う。例えば、ピクセル処理部760は、ポリ
ゴン内の各ピクセルの色をポリゴンの頂点の色から補間
して求め、Zバッファ法を使用した隠面消去処理を実施
しつつ、各ピクセルの色を決定する。ピクセル処理部7
60は、当該処理を、輪郭描画用モデル処理部720及
び立体モデル処理部740において描画対象とされた面
について行う。
【0203】例えば図30の場合には、立体モデル60
0のカメラ650に最も近い2つの面601及び602
が描画され、輪郭描画用モデルのカメラ650に遠い4
つの面613,614,615及び616が描画され
る。輪郭描画用モデル610のこの4つの面は、カメラ
650から見ると立体モデル600から左右にはみ出し
ているので、はみ出している部分のみが隠面消去されず
に描画される。このはみ出している部分が輪郭線とな
る。なお、ピクセル処理部760は、輪郭描画用モデル
のマテリアルの色を考慮して色を決定する。なお、マテ
リアルの色を全く無視して輪郭線の色(黒又は暗い輪郭
線用の色)を輪郭描画用モデルの色とする場合もある。
【0204】最後に、画像表示制御部790は、ピクセ
ル処理部760がデータを書き込んだ、表示画面に表示
するための描画領域を指定する。描画領域は通常2つに
分けられており、1つは表示用として、もう一つは書き
込み用として用いられる。そして、書き込み用領域への
書き込みが完了すると、書き込み用領域を表示用領域と
して、また表示用領域を書き込み用領域として切り換え
て使用する。画像表示制御部790はこの切り換えを制
御するものである。
【0205】[前提]第2の輪郭描画処理でも、輪郭描
画用モデルのデータを予め作成してCD−ROM131
に格納しておき、ゲーム実行時に当該データをCD−R
OM131から読み出す場合がある。図19に示された
CD−ROM131に書き込まれたデータの例は、図1
9に示されているレベルにおいて第2の輪郭描画処理で
も同じである。
【0206】プログラム領域132には、コンピュータ
に本発明を実施させるためのプログラムが格納される。
このプログラムの内容については後に詳しく述べる。
【0207】システムデータ領域133には、上で述べ
たプログラム領域132に格納されるプログラムによっ
て処理される各種データが格納される。画像データ領域
134には、立体モデル・データ137及び輪郭描画用
モデル・データ135を含むデータが格納される。但
し、後述する輪郭描画用モデル取得処理において輪郭描
画用モデルを生成する場合には、輪郭描画用モデル・デ
ータ135が格納される必要は無い。なお、かすれを表
現するテクスチャ等のデータも画像データ領域134に
格納される。
【0208】輪郭描画用モデル・データ135は、立体
モデル・データ137から予め生成され、以下のような
特徴を有する。
【0209】すなわち、輪郭描画用モデルのサイズは立
体モデルよりひとまわり大きくなるように定義されてい
る。例えば、輪郭描画用モデルは、対応する立体モデル
の各頂点の法線方向に、当該立体モデルの全長の2パー
セントの長さだけ当該頂点が移動されており、全体とし
て2パーセント程度拡大されるように定義される。この
拡大率がより大きい場合は輪郭線はより太く描画され、
拡大率がより小さく、わずかに拡大されただけである場
合には輪郭線はより細く描画される。更に、均一でなく
一部がより拡大されるように定義されれば、より拡大さ
れた部分の輪郭線のみが太く描画される。このサイズの
調整は、通常立体モデルの製作者により行われるので、
当該製作者の意図を反映した輪郭線を描画することがで
きる。
【0210】また、輪郭描画用モデルの各ポリゴンのマ
テリアルの色は、立体モデルと彩度は同じで明度を低く
した色に設定されている。なお、各ポリゴンがすべて黒
などの単一色に設定されている場合もある。また、かす
れ表現用テクスチャをマッピングするための設定がされ
ている場合もある。マテリアルの色は製作者により調整
されるので、当該製作者の意図した色で輪郭線を描画す
ることができる。なお、第2の輪郭描画処理における輪
郭描画用モデルの各ポリゴンの表裏は反転されていな
い。前に述べた輪郭描画処理と異なる点である。
【0211】なお、輪郭描画用モデルのサイズは、対応
する立体モデルのサイズと同じ大きさで定義されるとし
てもよい。この場合には、後述する輪郭描画用モデル取
得処理で輪郭描画用モデルが取得された後に、後述する
輪郭描画用モデル配置処理で輪郭描画用モデルの配置用
マトリックスが設定されるまでの間に輪郭描画用モデル
が拡大される。あるいは、輪郭描画用モデル配置処理で
輪郭描画用モデルの配置用マトリックスが設定される際
に、当該配置用マトリックスが拡大変換を含むように当
該配置用マトリックスが決定されるとしてもよい。逆
に、立体モデルを配置する際に、立体モデルの配置用マ
トリックスが縮小変換を含むように立体モデルの配置用
マトリックスが決定されるとしてもよい。
【0212】また、輪郭描画用モデルの各ポリゴンのマ
テリアルの色は、対応する立体モデルの各ポリゴンのマ
テリアルの色と同一であっても良い。この場合、後述さ
れる輪郭描画用モデルの描画処理の際に、例えば、黒な
どの別途定義された色で輪郭描画用モデルが描画され
る。
【0213】サウンドデータ領域136には、サウンド
を出力させるためのデータが格納される。なお、サウン
ド処理は本発明と直接関係は無いので、サウンドデータ
領域136にデータが格納されている必要は無い。
【0214】次に、第2の輪郭描画処理の処理フローを
説明する。
【0215】[全体の処理フロー]図4に示したレベル
の処理フローは、第2の輪郭描画処理でも同じである。
ゲームが開始すると、初期設定が行われる(ステップS
2)。この初期設定の処理には、描画すべきキャラクタ
を表現する立体モデルのデータ取得処理が含まれる。さ
らに、輪郭描画用モデルのデータ取得処理も含まれる。
次に、ゲームのプレイヤにより、操作入力部700のボ
タンやレバー等の操作が行われる(ステップS3)。そ
して、ステップS3における操作入力の情報に基づき、
例えばキャラクタが左に動く、又はキャラクタが攻撃す
る等のキャラクタの行動、視点位置の変更、視軸の方向
の変更、あるいは光源位置の移動、光線の方向の変更等
のゲームを進行させる内容を判断するゲーム進行処理が
行われる(ステップS4)。
【0216】その後ステップS4にて決定されたゲーム
の進行内容に応じて、キャラクタの位置、方向及び形
状、視点の位置や視軸の方向、光源の位置や光線の方
向、更にキャラクタの行動に応じた体力の増減等のゲー
ム進行状況を設定するゲーム進行状況設定処理が行われ
る(ステップS5)。次に、ゲーム進行状況に応じたゲ
ーム画像を描画するゲーム画像描画処理が行われる(ス
テップS6)。このゲーム画像描画処理については後に
詳しく述べる。
【0217】そして、ステップS6のゲーム画像描画処
理にて描画されたゲーム画像を表示するゲーム画像表示
処理が行われる(ステップS7)。
【0218】次に、ゲームオーバーかどうか判断される
(ステップS8)。ステップS3の操作入力に応じて行
われるゲーム進行状況設定処理(ステップS5)におい
て、ゲームのプレイヤが操作している自キャラクタの体
力が減少され0に設定されると、ゲームオーバーの条件
を満たすことになる。ステップS8では、ゲームのプレ
イヤが操作している自キャラクタの体力が検査され、ゲ
ームオーバーかどうか判断される。もし、自キャラクタ
の体力が0でなければ、ステップS3に戻り次の操作入
力を待つ。一方、ゲームオーバーである場合には、ゲー
ムを終了する。なお、ゲーム終了でもステップS7にて
その結果が表示画面に表示されているので、プレイヤは
ゲーム最後の状況を表示画面から把握することができ
る。
【0219】また、図20に示された、ゲーム画像描画
処理(ステップS6(図4))の概要を表す処理フロー
も、図20に示されたレベルにおいて第2の輪郭描画処
理でも同じである。ゲーム画像中の背景部分を表現する
ための背景モデルを描画する背景モデル描画処理が実施
される(ステップS22)。この描画処理は従来と同じ
描画処理であるからここでは詳しく述べない。そして、
以下のステップS24乃至S27が、全てのキャラクタ
を描画するまで繰り返される(ステップS23)。
【0220】繰り返される最初のステップは、1つの未
処理キャラクタを変形する変形処理を実施するステップ
である(ステップS24)。図4のステップS3にて行
われる操作入力に応じて当該未処理キャラクタのモーシ
ョンがステップS4のゲーム進行処理で決定される。そ
してそれに応じてさらに実施されるステップS6のゲー
ム進行状況設定処理にて設定された、当該未処理キャラ
クタを表現する立体モデルの変形処理が実施される。さ
らに、第2の輪郭描画処理では立体モデルの変形処理に
従って輪郭描画用モデルの変形処理も実施される。
【0221】繰り返される第2のステップは、当該未処
理キャラクタの配置用マトリックスを設定するステップ
である(ステップS25)。配置用マトリックスは、未
処理キャラクタを表現する立体モデルの平行移動・回転
・透視変換のためのマトリックスであり、ステップS5
のゲーム進行状況設定処理にて設定されたキャラクタの
位置座標及び方向並びに視点の位置に基づき生成され
る。上で述べたように、輪郭描画用モデルが既に立体モ
デルより相対的に大きく定義されており且つ輪郭描画用
モデルの基準位置が立体モデルの基準位置と同じであれ
ば、立体モデルの配置用マトリックスを輪郭描画用モデ
ルにも使用することができる。この条件が満たされない
場合には、立体モデル及び輪郭描画用モデルの各々に対
して配置用マトリックスを設定してもよい。また、後に
述べる輪郭描画用モデル描画処理において輪郭描画用モ
デルに対する、拡大変換を含む配置用マトリックスを設
定する場合もある。また、立体モデル描画処理において
立体モデルに対する、縮小変換を含む配置用マトリック
スを設定する場合もある。
【0222】そして、繰り返される第3のステップは、
輪郭描画用モデルを描画する輪郭描画用モデル描画処理
を実施するステップである(ステップS26)。この輪
郭描画用モデル描画処理についても後に詳しく述べる。
【0223】繰り返される第4のステップは、当該未処
理キャラクタを表現する立体モデルを描画する立体モデ
ル描画処理を実施するステップである(ステップS2
7)。この立体モデル描画処理については後に詳しく述
べる。
【0224】全てのキャラクタが描画された後には、キ
ャラクタの能力等をユーザに表示するためのウインドウ
を描画するウインドウ描画処理を実施する(ステップS
28)。このウインドウ描画処理についても従来と同じ
描画処理であるからここでは詳しく述べない。
【0225】図21を用いて説明したキャラクタ・デー
タの構造は第1の輪郭描画処理と同じであり、最大体力
10の数値、現在の体力12の数値、攻撃力14の数
値、防御力16の数値、基準位置18の座標(x,y,
z)、キャラクタの方向20であるX・Y・Z軸まわり
の回転角、モーション・データへのポインタ22、立体
モデルのモデル・データへのポインタ24、及び輪郭描
画用モデルのモデル・データへのポインタ26を含む。
輪郭描画用モデルのモデル・データは、第2の輪郭描画
処理の[前提]で説明したように第1の輪郭描画処理と
は異なっている。
【0226】次にゲームのプレイヤの操作入力に従うゲ
ーム・ストーリーの進行について簡単な例(図7及び図
8)を説明する。
【0227】図7には、ゲームのプレイヤが自キャラク
タC101を操作し、仮想三次元空間内において自キャ
ラクタを敵キャラクタと戦わせながらストーリーを進展
させるゲームの画像が表示された表示画面120の例が
示されている。ここには、自キャラクタC101の右前
方からの画像が表示されている。表示画面の左には敵キ
ャラクタ1(C111)及び敵キャラクタ2(C11
3)が出現している。
【0228】ここで視点の位置は、自キャラクタと敵キ
ャラクタとの位置関係及び自キャラクタの方向に応じて
ゲーム進行状況設定処理(ステップS5)にて決定され
る。そして、これらの各キャラクタについて当該視点の
位置から、キャラクタに輪郭線が付された非写実的な画
像が生成され、表示画面120に表示される。
【0229】操作入力部700(図29)からのプレイ
ヤの操作入力に応じて、自キャラクタは敵キャラクタを
攻撃する。一方、敵キャラクタは所定のアルゴリズムに
従って自キャラクタを攻撃する。
【0230】図8には、図7に示された表示画面の状態
から、ゲームのプレイヤが操作入力部700を操作して
自キャラクタC101を表示画面の左方向に動かした場
合の表示画面120が示されている。
【0231】操作入力に応答して「表示画面の左方向に
動く」というキャラクタの行動がゲーム進行処理(図4
ステップS4)にて決定される。このキャラクタの行動
に応じて、キャラクタの方向、位置及び形状が、ゲーム
進行状況設定処理(図4ステップS5)にて決定され
る。この図8の例では、キャラクタの方向が表示画面に
対して左方向に決定され、キャラクタの位置が同じく表
示画面に対して左方向に移動される。また、キャラクタ
の形状には走る動作を表現するための形状が設定され
る。
【0232】このように、キャラクタの方向や位置等の
ゲーム進行状況が変化した場合でも、当該キャラクタに
は輪郭線が描画される。
【0233】[輪郭描画用モデル取得処理]図4の初期
設定(ステップS2)に含まれる、輪郭描画用モデルの
取得処理が図31に示されている。ここではまず、輪郭
描画用モデルが生成されるか否かが判断される(ステッ
プS223)。輪郭描画用モデルを予め用意しておく場
合と輪郭描画用モデルがこの段階にて生成される場合が
存在するためである。この判断は、例えば立体モデルに
対応した輪郭描画用モデルがCD−ROM131に格納
されているか否かを判定する事により実施される。格納
されていると判断されれば輪郭描画用モデルは生成され
ないと判断され、格納されていないと判断されれば、輪
郭描画用モデルは生成されると判断される。
【0234】輪郭描画用モデルが生成されないと判断さ
れた場合には、CD−ROM131に格納されている輪
郭描画用モデルのデータが読み出される(ステップS2
77)。この輪郭描画用モデルの各ポリゴンは、上で図
30を用いて説明されたように、第1の輪郭描画処理と
は異なり、立体モデルの対応するポリゴンとは表裏が同
じものである。また読み出される輪郭描画用モデルのサ
イズは対応する立体モデルより一回り大きく定義され
る。更に、輪郭描画用モデルの色は、対応する立体モデ
ルより暗い色で定義される。
【0235】もし輪郭描画用モデルが生成されると判断
された場合には、輪郭描画用モデルを生成する処理が行
われる(ステップS225)。ステップS227と同じ
ように、この段階において輪郭描画用モデルを生成する
場合においても、輪郭描画用モデルの各ポリゴンは、立
体モデルの対応するポリゴンと表裏が同じものにする
(図30参照)。
【0236】輪郭描画用モデルのサイズは、対応する立
体モデルより一回り大きく生成される。例えば立体モデ
ルの各頂点の法線方向に当該頂点を移動させて拡大され
た輪郭描画用モデルが生成される。輪郭描画用モデルが
立体モデルに比してより大きい場合は輪郭線はより太く
描画され、輪郭描画用モデルが立体モデルよりわずかに
大きいだけである場合は輪郭線はより細く描画される。
【0237】また、立体モデルの各面の法線方向に当該
面を移動させて拡大された輪郭描画用モデルが生成され
るとしてもよい。更に、通常立体モデルに定義されてい
る基準位置を中心に、この立体モデルの各頂点を移動さ
せて拡大された輪郭描画用モデルが生成されるとしても
よい。
【0238】なお、この時点では、輪郭描画用モデルの
サイズは、対応する立体モデルのサイズと同じ大きさで
生成されるとしてもよい。この場合には、本輪郭描画用
モデル取得処理で輪郭描画用モデルが取得された後、後
述する輪郭描画用モデル配置処理で輪郭描画用モデルの
配置用マトリックスが設定されるまでの間に輪郭描画用
モデルが拡大される。あるいは、輪郭描画用モデル配置
処理で輪郭描画用モデルの配置用マトリックスが設定さ
れる際に、当該配置用マトリックスが、その拡大変換を
含むように決定されるとしてもよい。逆に、立体モデル
を配置する際に、立体モデルの配置用マトリックスが縮
小変換を含むように立体モデルの配置用マトリックスが
決定されるとしてもよい。
【0239】一方、輪郭描画用モデルの各ポリゴンのマ
テリアルの色は、対応する立体モデルの各ポリゴンのマ
テリアルの色をより暗くした色で生成される。なお、こ
の時点では、生成される輪郭描画用モデルの色は定義さ
れていなくてもよい。あるいは、輪郭描画用モデルの各
ポリゴンのマテリアルの色が、対応する立体モデルの各
ポリゴンのマテリアルの色と同一であっても良い。この
場合、輪郭描画用モデルの描画処理の際に、輪郭描画用
モデルの色は考慮されず、例えば黒などの別途定義され
た色か、かすれを表現するテクスチャの色で輪郭描画用
モデルが描画される。
【0240】次に、輪郭描画用モデルにかすれを表現す
るテクスチャがマッピングされるか否かが判断される
(ステップS299)。ステップS225で輪郭描画用
モデルが生成された場合には、対応する立体モデルのデ
ータに基づいてこの判断が実施される。一方、ステップ
S227で輪郭描画用モデルが読み出された場合には、
読み出された輪郭描画用モデルのデータに基づいてこの
判断が実施される。かすれを表現するテクスチャがマッ
ピングされると判断された場合には、ステップS231
にて輪郭描画用モデルにかすれを表現するテクスチャが
マッピングされる。すなわち、ポリゴンの各頂点にテク
スチャ座標(U,V)が設定される。
【0241】なお、前述の通り、かすれを表現するテク
スチャは、明度又は透明度の変化を含む図柄を有するテ
クスチャであって、例えば図23に示されたテクスチャ
である。かすれを表現するテクスチャがマッピングされ
ないと判断された場合と、テクスチャがマッピングされ
る処理が終了した場合は、輪郭描画用モデル取得処理を
終了する。
【0242】[輪郭描画用モデル配置処理]図20のス
テップS25において未処理キャラクタを表現する立体
モデル及び輪郭描画用モデルの配置用マトリックスが設
定され、その配置用マトリックスにより輪郭描画用モデ
ルの配置処理が行われる。通常輪郭描画用モデルの基準
位置は、立体モデルの基準位置に対応する位置に設けら
れる。そしてその輪郭描画用モデルの基準位置が、立体
モデルの基準位置が配置されている位置と同一又はその
近傍に配置されるように、輪郭描画用モデルの配置用マ
トリックスが設定される。
【0243】ここで立体モデルの方向が変化する場合に
は、輪郭描画用モデルもそれに対応するよう回転変換を
含む配置用マトリックスが設定される。立体モデルの形
状が変化する場合には、輪郭描画用モデルがそれに対応
するよう変形処理が行われる。
【0244】この段階において輪郭描画用モデルが対応
する立体モデルと同じ大きさである場合は、輪郭描画用
モデルが拡大される。具体的には、輪郭描画用モデルの
基準位置を中心として輪郭描画用モデルの各頂点が所定
の拡大率に従って拡大変換されるように、輪郭描画用モ
デルの配置用マトリックスが設定される。あるいは逆
に、立体モデルが縮小されるとしてもよい。すなわちこ
の場合には、立体モデルの基準位置を中心として立体モ
デルの各頂点が所定の縮小率に従って縮小変換されるよ
うに、立体モデルの配置用マトリックスが設定される。
【0245】このようにすると、最終的には、相対的に
大きい輪郭描画用モデルが立体モデルを包含するように
配置される。両モデルの配置位置、方向、形状等の関係
により、輪郭描画用モデルは完全には立体モデルを包含
しない場合も生じ得る。但し、このような場合であって
も、包含している部分については輪郭線は描画される。
【0246】なお、この段階では必ずしも配置用マトリ
ックスが設定されている必要は無く、配置される座標、
方向及び拡大・縮小率等の頂点変換に必要な各要素が確
定していればよい。この場合も、実際の頂点変換は各モ
デルの描画処理の段階で行われる。
【0247】[輪郭描画用モデルの描画処理]輪郭描画
用モデルの描画処理フローを表す図32では、輪郭描画
用モデルの全ての頂点について処理するまで、以下に説
明する処理が繰り返される(ステップS523)。繰り
返し行われる最初の処理は、1つの頂点に対する頂点変
換(拡大・縮小・回転・平行移動・透視変換)である
(ステップS525)。なお、最初の2つの頂点につい
ては、ステップS525及びS529及びS531以外
のステップは実行されない。
【0248】ここで注意したいのは輪郭描画用モデルに
対しては光源計算を実施しない点である。これは輪郭線
は光源の位置等に関係が無く、光源計算をするのが無駄
だからである(場合によっては輪郭描画用モデルのマテ
リアルの色は最終的に無視される場合がある)。もし輪
郭描画用モデルの大きさが立体モデルと同じである場合
には、配置処理で設定された配置用マトリックスに従っ
てこの段階において輪郭描画用モデルが拡大変換される
場合もある。
【0249】そして、当該頂点を含むポリゴン(面)は
通常の判断基準でうら面か否かの判断処理が実施される
(ステップS527)。通常はおもて面しか描画対象と
されないが、第2の輪郭描画処理の輪郭描画用モデルの
場合には通常の判定基準でうら面が描画対象とされる。
このステップの判断は、三角形ポリゴンの場合この頂点
の前に処理された2つの頂点から構成される三角形ポリ
ゴンがいずれの方向を向いているかで行う。
【0250】図25に示すように、例えば、通常の判断
基準で三角形ポリゴンの各頂点に反時計回りに頂点番号
が付されている場合に紙面手前がおもて面であると定義
する(いわゆる右手系)。第2の輪郭描画処理では、表
裏判定の基準を逆転し、時計回りに頂点番号が付されて
いる場合に紙面手前がおもて面であるとして判断する。
この逆転した表裏判定基準でおもて面と判断された面の
みを描画対象とする。結果的に第2の輪郭描画処理の判
断基準におけるおもて面が、通常の判断基準ではうら面
と判断されるからである。
【0251】図33には、判断対象となる三角形ポリゴ
ンの例が示されている。図33に示す三角形ポリゴンの
各頂点には、図中上方、左下、右下の順で0,1,2の
頂点番号が付与されている。図33の例では頂点番号の
付し方からすると紙面手前がおもて面であるが、逆転し
た判断基準では紙面手前はうら面となる。逆転した判断
基準でうら面の場合には、通常ではおもて面であるから
この面は描画対象からはずされる。なお、第2の輪郭描
画処理でもこの段階において表裏判定が行われるが、こ
の段階より前に表裏判定が行われるようにすることも可
能である。
【0252】もし、当該頂点を含むポリゴン(面)が通
常の判断基準でおもて面であった場合にはステップS5
23に戻る。当該頂点を含むポリゴン(面)が通常の判
断基準でうら面であった場合には、かすれを表現するテ
クスチャをマッピングする否かの判断処理が実施される
(ステップS529)。これはポリゴンに対するテクス
チャ・マッピングを意味している。もし、かすれを表現
するテクスチャをマッピングする場合には、その頂点に
対する、かすれを表現するためのテクスチャのテクスチ
ャ座標の計算処理が実施される(ステップS531)。
テクスチャ・パースペクティブ処理として、ここでは、
Q=1/w(wはスクリーンからの奥行き)を用いて、
S=U×Q、T=V×Qの計算が行われる。もし、かす
れを表現するテクスチャをマッピングしない場合にはス
テップS533に移行する。
【0253】そして、例えば図31に示したピクセル処
理部760が駆動される(ステップS533)。上で述
べたようにピクセル処理部760は、三角形ポリゴンの
各頂点のデータを補間して、三角形ポリゴン内部の各ピ
クセルにおけるデータを生成する。各頂点のデータは、
マテリアルの色、スクリーン座標値、及びステップS5
31を実施すればテクスチャ座標値である。また、各ピ
クセルにおけるデータは、マテリアルの色及びステップ
S531を実施すればテクセル・カラーである。但し、
この時点でマテリアルの色を無視して、各頂点に輪郭線
の色を設定することも可能である。またマテリアルの色
を考慮して、各頂点の色を設定することも可能である。
ピクセル処理部760は、更に、生成された三角形ポリ
ゴン内部の各ピクセルにおけるデータを使用して、表示
画像を描画する。この際、Zバッファを使用して隠面消
去が行われる。
【0254】[立体モデル描画処理]立体モデルの描画
処理は第1の輪郭描画処理(図28)と変わらない。す
なわち、立体モデルの全ての頂点を処理するまで以下の
処理が繰り返し実施される(ステップS553)。繰り
返される第1の処理は、一つの頂点についての頂点変換
(拡大・縮小・回転・平行移動・透視変換)及び光源計
算である(ステップS555)。輪郭描画用モデルが立
体モデルと同じ大きさである場合には、立体モデルを縮
小することにより輪郭描画用モデルを相対的に大きくす
る場合もある。この場合には、ステップS555におい
て縮小変換を実施する。
【0255】次に、当該頂点を含むポリゴン(面)はお
もて面か否かの判断処理が実施される(ステップS55
7)。この判断は、三角形ポリゴンの場合この頂点の前
に処理された2つの頂点から構成される三角形ポリゴン
がいずれの方向を向いているかで判断する。もし、当該
頂点を含むポリゴン(面)がうら面であった場合にはス
テップS553に戻る。当該頂点を含むポリゴン(面)
がおもて面であった場合にはその頂点のテクスチャ座標
の計算処理が実施される(ステップS559)。そし
て、例えば図31に示したピクセル処理部760が駆動
される(ステップS561)。
【0256】上で述べたようにピクセル処理部760
は、三角形ポリゴンの各頂点のデータを補間して、三角
形ポリゴン内部の各ピクセルにおけるデータを生成す
る。各頂点のデータは、マテリアルの色、スクリーン座
標値、及びテクスチャ座標値である。各ピクセルにおけ
るデータは、マテリアルの色及びテクセル・カラーであ
る。ピクセル処理部760は、更に、生成された三角形
ポリゴン内部の各ピクセルにおけるデータを使用して、
表示画像を描画する。この際、Zバッファを使用して隠
面消去が行われる。
【0257】以上のような処理を実施すると、ゲームの
キャラクタ等を表現する立体モデルは通常どおりレンダ
リングされ、第2の輪郭描画処理で導入された輪郭描画
用モデルは、立体モデルの後ろの面の内部のうち立体モ
デルに隠れない部分が描画されるので、その部分が輪郭
線としてレンダリングされる。第2の輪郭描画処理で
は、輪郭描画用モデルを導入し且つ輪郭描画用モデルの
表裏判定を逆転するだけで通常の立体モデルとほぼ同様
の処理を行うことにより簡単に輪郭線を描画できるよう
になる。このように第2の輪郭描画処理では操作入力に
応じた輪郭線の付されたゲーム画像がリアルタイムに生
成できる。
【0258】1.ハードウエア構成 次に、本発明をコンピュータ・プログラムにより実施す
る場合において当該コンピュータ・プログラムを実行す
る家庭用ゲーム機1000の一例を図34に示す。家庭
用ゲーム機1000は家庭用ゲーム機本体101を含ん
でおり、この家庭用ゲーム機本体101は、その内部バ
ス119に接続された演算処理部103、メモリ10
5、サウンド処理部109、グラフィックス処理部11
1、CD−ROMドライブ113、通信インターフェー
ス115、及びインターフェース部117を含む。
【0259】この家庭用ゲーム機本体101のサウンド
処理部109及びグラフィックス処理部111は表示画
面120を有する出力装置121に接続されている。ま
た、CD−ROMドライブ113にはCD−ROM13
1を装着し得る。通信インターフェース115はネット
ワーク151と通信媒体141を介して接続される。イ
ンターフェース部117には、操作ボタン166LL,
166LR,166LU,166LD,166RL,1
66RR,166RU及び166RDを備えたキーパッ
ド161及びメモリカード171が接続される。
【0260】演算処理部103は、CPUやROMなど
を含み、CD−ROM131上に格納されたプログラム
を実行し、家庭用ゲーム機1000の制御を行う。メモ
リ105は、演算処理部103のワークエリアである。
メモリカード171は、プログラムにより参照されるデ
ータを保存するための記憶領域である。サウンド処理部
109は、演算処理部103により実行されているプロ
グラムがサウンド出力を行うよう指示している場合に、
その指示を解釈して、出力装置121にサウンド信号を
出力する。
【0261】グラフィックス処理部111は、演算処理
部103から出力される描画命令に従って、出力装置1
21の表示画面120に表示を行うための信号を出力す
る。CD−ROMドライブ113は、CD−ROM13
1上のプログラム及びデータを読み出す。通信インター
フェース115は、通信媒体141を介してネットワー
ク151に接続され、他のコンピュータ等と通信が行わ
れる。インターフェース部117は、キーパッド161
からの入力をメモリ105に出力し、演算処理部103
がそれを解釈して演算処理を実施する。
【0262】本発明に係るプログラム及びデータは最初
例えばCD−ROM131に記憶されている。そして、
このプログラム及びデータは実行時にCD−ROMドラ
イブ113により読み出されて、メモリ105にロード
される。演算処理部103はメモリ105にロードされ
た、本発明に係るプログラム及びデータを処理し、描画
命令をグラフィックス処理部111に出力する。なお、
中間的なデータはメモリ105に記憶される。グラフィ
ックス処理部111は演算処理部103からの描画命令
に従って処理をし、出力装置121の表示画面120に
表示を行うための信号を出力する。
【0263】次に図34に示されたグラフィックス処理
部111の一例を図35を用いて詳細に説明する。グラ
フィックス処理部111は、内部バス119とのやり取
りを行うバス制御部201、バス制御部201とデータ
のやり取りを行う幾何演算部207及び三角形描画処理
部205、三角形描画処理部205からのデータを受け
取り、処理を実施するピクセルカラー処理部209、各
画素のZ値を格納し且つピクセルカラー処理部209に
より使用されるZバッファ211、及びピクセルカラー
処理部209からの表示画面用データを格納するフレー
ムバッファ213とを含む。なお、フレームバッファ2
13からの表示信号は、出力装置121に出力される。
【0264】グラフィックス処理部111のバス制御部
201は、演算処理部103から出力された描画命令を
内部バス119を介して受信し、グラフィックス処理部
111内の幾何演算部207又は三角形描画処理部20
5に出力する。場合によっては、幾何演算部207又は
三角形描画処理部205の出力を内部バス119を介し
てメモリ105に出力するための処理をも行う。幾何演
算部207は、座標変換、光源計算、回転、縮小拡大等
の幾何演算を実施する。幾何演算部207は、幾何演算
の結果を、三角形描画処理部205に出力する。
【0265】三角形描画処理部205は、三角形ポリゴ
ンの各頂点のデータを補間して、三角形ポリゴン内部の
各点におけるデータを生成する。ピクセルカラー処理部
209は、三角形描画処理部205が生成する三角形ポ
リゴン内部の各点におけるデータを使用して、フレーム
バッファ213に表示画像を書き込む。この際、Zバッ
ファ211を使用して隠面消去を行う。本発明では特
に、三角形描画処理部205が透明度を表すα値を三角
形ポリゴン内部の各点について生成するので、ピクセル
カラー処理部209は、このα値が一定範囲内である場
合にのみ、その点における色をフレームバッファ213
の所定の位置に記憶する処理をも実施する。
【0266】例えば、演算処理部103が、グラフィッ
クス処理部111に、世界座標系における三角形ポリゴ
ンの各頂点の位置及び色並びに光源に関する情報をデー
タとし、透視変換及び光源計算を行う描画命令を出力し
た場合には、以下のような処理がグラフィックス処理部
111内で実施される。
【0267】描画命令を受信したバス制御部201は命
令を幾何演算部207に出力する。幾何演算部207
は、透視変換及び光源計算を実施し、三角形ポリゴンの
各頂点のスクリーン座標系における座標値(Z値を含
む)及び色を計算する。幾何演算部207は、この計算
結果を三角形描画処理部205に出力する。三角形描画
処理部205は、三角形ポリゴンの各頂点における座標
値(Z値を含む)及び色を用いて、三角形ポリゴン内部
の各画素における座標値(Z値を含む)及び色を計算す
る。さらに、三角形描画処理部205は、この各画素に
おける座標値(Z値を含む)及び色をピクセルカラー処
理部209に出力する。
【0268】ピクセルカラー処理部209は、Zバッフ
ァ211から当該画素の現在のZ値を読み出して、三角
形描画処理部205から出力されたZ値と比較する。も
し、出力されたZ値が現在のZ値より小さければ、ピク
セルカラー処理部209は、出力されたZ値を当該画素
に対応するZバッファ211内の記憶位置に格納し、当
該画素の座標値に対応するフレームバッファ213内の
記憶位置に当該画素の色を格納する。
【0269】以下に示す各実施の形態は、図34に示さ
れた家庭用ゲーム機1000によって実施される。
【0270】2.実施の形態1 実施の形態1はセルアニメ調彩色処理及び第1の輪郭描
画処理の組み合わせである。すなわち、セルアニメ調の
ゲーム画像の一例として、ゲームのキャラクタ等を表現
する立体モデルに輪郭線が付され且つセルアニメ調の彩
色が施される。
【0271】図36に示したように実施の形態1に係る
ゲーム装置は、操作入力部840と、キャラクタ行動決
定部815を含むゲーム進行部810と、キャラクタ方
向設定部883及び視軸方向設定部887を含むゲーム
進行状況設定部880と、配置用マトリックス設定部8
50と、頂点変換及び光源計算部862と明度計算部8
64と描画用色供給部866と明度範囲テーブル865
と明度設定部868とを含む立体モデル処理部860
と、輪郭描画用モデル取得部800と、配置用マトリッ
クス設定部850から配置用マトリックスを受け取る輪
郭描画用モデル処理部820と、かすれ表現テクスチャ
マッピング部830と、立体モデル処理部860及びか
すれ表現テクスチャマッピング部830からデータを受
け取り且つ隠面消去処理部873及び明度比較部877
を含むピクセル処理部870と、画像表示制御部890
とを含む。
【0272】操作入力部840は、例えば図34のキー
パッド161とインターフェース部117とで実現され
る。操作入力部840は、ゲームのプレイヤにより操作
される操作入力部840のボタンやレバー等の操作情報
を、ゲーム進行部810へ出力する。
【0273】ゲーム進行部810は、操作入力部840
からの情報に基づいて、例えばキャラクタの行動、視点
位置の変更、視軸の方向の変更、あるいは光源の位置の
移動、光線の方向の変更等、ゲームを進行させる内容を
判断し、ゲーム進行状況設定部に指示を行う。ゲーム進
行部810内のキャラクタ行動決定部815は、操作入
力部840からの情報に基づいて特にキャラクタの行動
を決定する機能を有する。
【0274】ゲーム進行状況設定部880は、ゲーム進
行部810に指示されたゲームの進行内容に応じて、キ
ャラクタ位置、方向及び形状、視点の位置や視軸の方
向、光源の位置、光線の方向、更にはキャラクタの行動
に応じた体力の増減等を計算し、設定する。ゲーム進行
状況設定部880内のキャラクタ方向設定部883は、
ゲーム進行部810に指示されたゲームの進行内容に応
じて、特にキャラクタの視点に対する方向を決定する機
能を有する。一方、ゲーム進行状況設定部880内の視
軸方向設定部887は、ゲーム進行部810に指示され
たゲームの進行内容に応じて、特に視軸の方向を設定す
る機能を有している。
【0275】配置用マトリックス設定部850は、ゲー
ム進行状況設定部880により設定されたキャラクタ位
置座標及び方向並びに視点の位置に従って、キャラクタ
を表現する立体モデルの配置用マトリックスの決定処理
を行う。配置用マトリックスは、立体モデルの平行移動
・回転・透視変換を行うためのマトリックスである。
【0276】立体モデルに比して相対的に大きい輪郭描
画用モデルが取得され、輪郭描画用モデルの基準位置が
立体モデルの基準位置に対応する位置に存在する場合に
は、この配置用マトリックス設定部850で決定された
配置用マトリックスを、立体モデル処理部860及び輪
郭描画用モデル処理部820で共用できる。共用できれ
ば、配置用マトリックスのための記憶領域を各キャラク
タにつき1つ用意すればよいので効率的である。
【0277】但し、共用しない又は共用できない場合も
ある。その場合には、立体モデルの配置用マトリックス
と、輪郭描画用モデルの配置用マトリックスとが生成さ
れ、各々記憶領域に格納される。また後に述べる共用で
きない場合には、配置用マトリックスの記憶領域が一つ
用意され、立体モデル処理部860及び輪郭描画用モデ
ル処理部820で配置用マトリックスが使用される直前
に、立体モデルの配置用マトリックスに縮小変換を含む
よう、又は輪郭描画用モデルの配置用マトリックスに拡
大変換を含むように設定がなされる場合もある。
【0278】輪郭描画用モデル取得部800は、例えば
三角形ポリゴンで構成された立体モデルに対応する輪郭
描画用モデルを生成する。なお、輪郭描画用モデルが予
め生成してある場合には、輪郭描画用モデル取得部80
0は当該予め生成されている、三角形ポリゴンで構成さ
れた輪郭描画用モデルを読み出す。なお、取得される輪
郭描画用モデルの各ポリゴンは、立体モデルの対応する
ポリゴンとは表裏が逆になっている。また、輪郭描画用
モデルは立体モデルより大きく、輪郭線用の所定の配色
にて定義される。なお、輪郭描画用モデルは、最終的に
は対応する立体モデルより相対的に大きくなければなら
ないが、この段階における輪郭描画用モデルの大きさは
立体モデルと同じ場合もある。この場合は、輪郭描画用
モデル及び立体モデルが描画されるまでに、輪郭描画用
モデルが立体モデルより相対的に大きく描画されるよう
処理される。また、輪郭描画用モデルの色は、対応する
立体モデルのマテリアルの色をそのまま引き継ぐ場合も
ある。この場合、描画用の色は別に指定される。
【0279】輪郭描画用モデル処理部820は、輪郭描
画用モデルの各頂点につき、配置用マトリックス設定部
850による配置用マトリックスを使用して頂点変換
(拡大・縮小・回転・平行移動・透視変換)を実施し、
且つ輪郭描画用モデルの各ポリゴンの表裏判定を実施す
る。この頂点変換には上で述べた配置用マトリックスが
用いられる。なお、ここで光源計算は実施されない。輪
郭描画用モデル取得部800において立体モデルと同じ
大きさの輪郭描画用モデルを取得した場合には、輪郭描
画用モデル処理部820は、輪郭線描画用モデルのサイ
ズの拡大を行うための頂点変換を実施する。
【0280】かすれ表現テクスチャマッピング部830
は、結果的に描画される輪郭線がかすれているような線
になるように、輪郭描画用モデルにかすれ表現用テクス
チャをマッピングするための処理を実施するものであ
る。このかすれ表現用テクスチャは、明度又は透明度の
変化を含む図柄を有するテクスチャである(図23参
照)。なお、必ずしも輪郭線がかすれている必要は無い
ので、かすれ表現テクスチャマッピング部830の処理
は選択的に実施される。
【0281】立体モデル処理部860は、ピクセル処理
部870と協働して、非写実的なレンダリングの一例と
してセルアニメ調の彩色を立体モデルに施すための処理
を実施する。
【0282】立体モデル処理部860の頂点変換及び光
源計算部862は、仮想三次元空間に配置される立体モ
デルを構成する三角形ポリゴンの各頂点について、配置
用マトリックス設定部850による配置用マトリックス
を使用して頂点変換(拡大・縮小・回転・平行移動・透
視変換)を実施し、頂点変換された三角形ポリゴンの各
頂点について光源計算を行う。
【0283】また、立体モデル処理部860の頂点変換
及び光源計算部862は、立体モデルの各三角形ポリゴ
ンの表裏判定も行う。視点に対しておもてを向けている
面のみが描画対象となる。
【0284】立体モデル処理部860の明度計算部86
4は、頂点変換及び光源計算部862が計算した三角形
ポリゴンの各頂点における色から明度を計算する。通常
頂点変換及び光源計算部862はRGB系における色を
計算するので、明度計算部864はこのRGBをYIQ
変換して明度Yを求める。この三角形ポリゴンの各頂点
における明度は、ピクセル処理部870に出力される。
【0285】明度範囲テーブル865は、例えば図2の
ようなテーブルであり、例えばメモリ105に保持され
る。すなわち、しきい値と基準明度が対となったテーブ
ルで、ここではしきい値0.75に対して基準明度0.
75、しきい値0.5に対して基準明度0.50、しき
い値0.00に対して基準明度0.25と三段階(レベ
ル)に設定されている。なお、ここでは明度は0から1
までの実数値をとるものとする。しきい値ではなく、上
限及び下限による範囲の指定でも良い(例えば図3参
照)。
【0286】この明度範囲テーブル865を参照して、
描画用色供給部866は各しきい値に対応する描画用色
を計算する。各しきい値に対応する描画用色は、しきい
値に対応する基準明度と立体モデルの各三角形ポリゴン
に予め設定されている色の情報とで計算される。計算さ
れた描画用色を描画用色供給部866はピクセル処理部
870に出力する。
【0287】なお、描画用色供給部866は、実行時に
描画用色を計算するようにしても良いし、予め計算して
おきそのデータを格納しておいても良い。例えば図2の
ような明度範囲テーブルを使用する場合には、各ポリゴ
ンにつき3つの描画用色データを保管しておく必要があ
る。例えば図16参照のこと。
【0288】明度範囲設定部868は、明度範囲テーブ
ル865の1つのしきい値を選択して、ピクセル処理部
870に設定する。明度範囲設定部868は、図2のよ
うな明度範囲テーブル865をそのまま使用する場合に
は上から順番に一つずつ設定していく。しきい値ではな
く上限及び下限による範囲が指定されている場合には、
ランダムに選択・設定可能である。
【0289】ピクセル処理部870は、輪郭描画用モデ
ルの描画対象とされた三角形ポリゴンを処理する場合に
は、隠面消去処理部873を用いて隠面消去処理を実施
しつつ、輪郭描画用モデルの描画対象とされた三角形ポ
リゴン内の各画素の色を決定し、フレームバッファ21
3に出力する。
【0290】一方、ピクセル処理部870は、立体モデ
ルの描画対象とされた三角形ポリゴンを処理する場合に
は、まず明度計算部864から出力された三角形ポリゴ
ンの各頂点における明度を補間して、ポリゴン内部の各
画素における明度(ポリゴンにおける明度分布)を計算
する。この計算は例えば図35の三角形処理部205で
行われる。
【0291】そして、明度比較部877は各画素におけ
る明度と明度範囲設定部868が設定したしきい値とを
比較する。もしその画素における明度がしきい値以上で
あれば、ピクセル処理部870は、このしきい値に対応
する基準明度に基づく描画用色で当該画素をフレームバ
ッファ213に格納する。この描画処理の際には、隠面
消去処理部873を用いて隠面消去処理が実施される。
もしその画素における明度がしきい値未満であれば、こ
の画素はこの段階ではフレームバッファ213に格納さ
れない。この比較処理を含む描画処理は、例えば図35
のピクセルカラー処理部209で行われる。明度範囲設
定部868が明度範囲テーブル865の全てのしきい値
をピクセル処理部870に設定し、それに対応してピク
セル処理部870が三角形ポリゴン内の全ての画素につ
いて描画処理を行えば、三角形ポリゴン内部が図2の例
では3段階に塗り分けられる。この処理が立体モデルの
全ての三角形ポリゴンについて実施される。
【0292】本発明では隠面消去処理にはZバッファ2
11による隠面消去が利用される場合がある。例えば、
立体モデルが人間の形をしており、腕が胴体の前に位置
する場合等では、輪郭描画用オブジェクトと立体モデル
の面の位置関係からZバッファ法を用いないと、正確な
輪郭線を描画することが困難な場合があるからである。
【0293】加えて、立体モデル処理部860及びピク
セル処理部870で、図2のような明度範囲テーブル8
65をそのまま使用する場合には、Zバッファ211に
よる隠面消去が利用される。例えば図2に従えば、0.
75以上という明度は0.5以上でも0.0以上でもあ
るから、重ねて描画用色が塗られないように明度範囲の
上限値を設定する必要がある。もしある画素の明度が
0.75以上であれば、このしきい値0.75に対応す
る描画用色でこの画素は描画され、その画素のZ値がZ
バッファ211に記憶される。
【0294】しきい値が0.5になった場合には、当該
画素のZ値がZバッファ211から読み出され、書き込
もうとする同じ画素のZ値と比較されるが、当然それら
は同じであるから、しきい値0.5に対応する描画用色
はその画素についてはフレームバッファ213に書き込
まれない。しきい値0.0についても同じである。
【0295】また、ポリゴンの頂点及びポリゴン内部の
画素における明度は、通常は透明度として使われるαと
いう色(RGB)の属性値として取り扱われる。通常α
値は0−255の範囲で定義されるので、実際のα値に
は明度を255倍したものが使用される。よって、明度
範囲テーブル865のしきい値(上限及び下限値)は0
−255の範囲の値であっても良い。
【0296】最後に、画像表示制御部890は、ピクセ
ル処理部870がデータを書き込んだ、表示画面に表示
するためのフレームバッファの領域を指定する。フレー
ムバッファは通常2つの領域を有しており、1つは表示
用として、もう一つは書き込み用として用いられる。そ
して、書き込み用領域への書き込みが完了すると、書き
込み用領域を表示用領域として、また表示用領域を書き
込み用領域として切り換えて使用する。画像表示制御部
890はこの切り換えを制御するものである。
【0297】[前提]実施の形態1でも、輪郭描画用モ
デルのデータを予め作成してCD−ROM131に格納
しておき、ゲーム実行時に当該データをCD−ROM1
31から読み出す場合がある。図19に示された、CD
−ROM131に書き込まれたデータの例は、図19に
示されるレベルにおいて実施の形態1でも同じである。
【0298】プログラム領域132には、家庭用ゲーム
機1000に本発明を実施させるためのプログラムが格
納される。このプログラムの内容については後に詳しく
述べる。
【0299】システムデータ領域133には、上で述べ
たプログラム領域132に格納されるプログラムによっ
て処理される各種データが格納される。画像データ領域
134には、立体モデル・データ137及び輪郭描画用
モデル・データ135を含むデータが格納される。但
し、後述する輪郭描画用モデル取得処理において輪郭描
画用モデルを生成する場合には、輪郭描画用モデル・デ
ータ135が格納される必要は無い。なお、かすれを表
現するテクスチャ等のデータも画像データ領域134に
格納される。
【0300】輪郭描画用モデル・データ135は、立体
モデル・データ137から予め生成され、以下のような
特徴を有する。
【0301】すなわち、輪郭描画用モデルのサイズは立
体モデルよりひとまわり大きくなるように定義されてい
る。また、輪郭描画用モデルの各ポリゴンのマテリアル
の色は、立体モデルと彩度は同じで明度を低くした色に
設定されている。なお、各ポリゴンがすべて黒などの単
一色に設定されている場合もある。また、かすれ表現用
テクスチャをマッピングするための設定がされている場
合もある。さらに、輪郭描画用モデルの各ポリゴンの表
裏は反転されている。具体的には、輪郭描画用モデルを
構成する各三角形の頂点が定義されている順番が一ヶ所
入れ替えられている。
【0302】なお、輪郭描画用モデルのサイズは、対応
する立体モデルのサイズと同じ大きさで定義されるとし
てもよい。この場合には、後述する輪郭描画用モデル取
得処理で輪郭描画用モデルが取得された後に、後述する
輪郭描画用モデル配置処理で輪郭描画用モデルの配置用
マトリックスが設定されるまでの間に輪郭描画用モデル
が拡大される。あるいは、輪郭描画用モデル配置処理で
輪郭描画用モデルの配置用マトリックスが設定される際
に、当該配置用マトリックスが拡大変換を含むように当
該配置用マトリックスが決定されるとしてもよい。逆
に、立体モデルを配置する際に、立体モデルの配置用マ
トリックスが縮小変換を含むように立体モデルの配置用
マトリックスが決定されるとしてもよい。
【0303】また、輪郭描画用モデルの各ポリゴンのマ
テリアルの色は、対応する立体モデルの各ポリゴンのマ
テリアルの色と同一であっても良い。この場合、後述さ
れる輪郭描画用モデルの描画処理の際に、例えば、黒な
どの別途定義された色で輪郭描画用モデルが描画され
る。
【0304】サウンドデータ領域136には、図34に
示されたサウンド処理部109によりサウンド出力装置
125からサウンドを出力させるためのデータが格納さ
れる。
【0305】次に、実施の形態1についての処理フロー
を説明する。以下の処理は、演算処理部103(図2
3)が家庭用ゲーム機本体101内の他の要素を制御し
て実施する処理である。
【0306】[全体の処理フロー]図4に示したレベル
の処理フローは、実施の形態1でも同じである。ゲーム
が開始すると、初期設定が行われる(ステップS2)。
この初期設定の処理には、描画すべきキャラクタを表現
する立体モデルのデータ取得処理が含まれる。さらに、
実施の形態1では輪郭描画用モデルのデータ取得処理も
含まれる。次に、ゲームのプレイヤにより、キーパッド
161のボタンやレバー等の操作が行われる(ステップ
S3)。そして、ステップS3における操作入力の情報
に基づき、例えばキャラクタが左に動く、又はキャラク
タが攻撃する等のキャラクタの行動、視点位置の変更、
視軸の方向の変更、あるいは光源位置の移動、光線の方
向の変更等のゲームを進行させる内容を判断するゲーム
進行処理が行われる(ステップS4)。
【0307】その後ステップS4にて決定されたゲーム
の進行内容に応じて、キャラクタの位置、方向及び形
状、視点の位置や視軸の方向、光源の位置や光線の方
向、更にキャラクタの行動に応じた体力の増減等のゲー
ム進行状況を設定するゲーム進行状況設定処理が行われ
る(ステップS5)。次に、ゲーム進行状況に応じたゲ
ーム画像をフレームバッファ213へ書き込むゲーム画
像描画処理が行われる(ステップS6)。このゲーム画
像描画処理については後に詳しく述べる。
【0308】そして、ステップS6のゲーム画像描画処
理にてフレームバッファ213に書き込まれたゲーム画
像を表示するゲーム画像表示処理が行われる(ステップ
S7)。通常フレームバッファ213は書き込み用領域
と表示用領域の2つの領域に分けられており、ここでは
ステップS6にて行われたゲーム画像描画処理にてデー
タが書き込まれた書き込み用領域を表示用領域に切り換
え、表示用領域を次の書き込み用領域に切り換える処理
が実施される。
【0309】次に、ゲームオーバーかどうか判断される
(ステップS8)。ステップS3の操作入力に応じて行
われるゲーム進行状況設定処理(ステップS5)におい
て、ゲームのプレイヤが操作している自キャラクタの体
力が減少され0に設定されると、ゲームオーバーの条件
を満たすことになる。ステップS8では、ゲームのプレ
イヤが操作している自キャラクタの体力が検査され、ゲ
ームオーバーかどうか判断される。もし、自キャラクタ
の体力が0でなければ、ステップS3に戻り次の操作入
力を待つ。一方、ゲームオーバーである場合には、ゲー
ムを終了する。なお、ゲーム終了でもステップS7にて
その結果が表示画面120に表示されているので、プレ
イヤはゲーム最後の状況を表示画面120から把握する
ことができる。
【0310】図20に示されたゲーム画像描画処理(ス
テップS6(図4))の概要を表す処理フローは、図2
0に示されたレベルにおいて実施の形態1でも同じであ
る。最初に、ゲーム画像中の背景部分を表現するための
背景モデルを描画する背景モデル描画処理が実施される
(ステップS22)。この描画処理は従来と同じ描画処
理であるからここでは詳しく述べない。そして、以下の
ステップS24乃至S27が、全てのキャラクタを描画
するまで繰り返される(ステップS23)。
【0311】繰り返される最初のステップは、1つの未
処理キャラクタを変形する変形処理を実施するステップ
である(ステップS24)。図4のステップS3にて行
われる操作入力に応じて当該未処理キャラクタのモーシ
ョンがステップS4のゲーム進行処理で決定される。そ
してそれに応じてさらに実施されるステップS6のゲー
ム進行状況設定処理にて設定された、当該未処理キャラ
クタを表現する立体モデルの変形処理が実施される。さ
らに、実施の形態1では立体モデルの変形処理に従って
輪郭描画用モデルの変形処理も実施される。
【0312】繰り返される第2のステップは、当該未処
理キャラクタの配置用マトリックスを設定するステップ
である(ステップS25)。配置用マトリックスは、未
処理キャラクタを表現する立体モデルの平行移動・回転
・透視変換のためのマトリックスであり、ステップS5
のゲーム進行状況設定処理にて設定されたキャラクタの
位置座標及び方向並びに視点の位置に基づき生成され
る。上で述べたように、輪郭描画用モデルが既に立体モ
デルより相対的に大きく定義されており且つ輪郭描画用
モデルの基準位置が立体モデルの基準位置と同じであれ
ば、立体モデルの配置用マトリックスを輪郭描画用モデ
ルにも使用することができる。この条件が満たされない
場合には、立体モデル及び輪郭描画用モデルの各々に対
して配置用マトリックスを設定してもよい。また、後に
述べる輪郭描画用モデル描画処理において輪郭描画用モ
デルに対する、拡大変換を含む配置用マトリックスを設
定する場合もある。また、立体モデル描画処理において
立体モデルに対する、縮小変換を含む配置用マトリック
スを設定する場合もある。
【0313】そして、繰り返される第3のステップは、
輪郭描画用モデルを描画する輪郭描画用モデル描画処理
を実施するステップである(ステップS26)。この輪
郭描画用モデル描画処理については後に述べる。
【0314】繰り返される第4のステップは、当該未処
理キャラクタを表現する立体モデルを描画する立体モデ
ル描画処理を実施するステップである(ステップS2
7)。この立体モデル描画処理については後に述べる。
【0315】全てのキャラクタが描画された後には、キ
ャラクタの能力等をユーザに表示するためのウインドウ
を描画するウインドウ描画処理を実施する(ステップS
28)。このウインドウ描画処理についても従来と同じ
描画処理であるからここでは詳しく述べない。
【0316】図21を用いて説明したキャラクタ・デー
タの構造は第1の輪郭描画処理と同じであり、最大体力
10の数値、現在の体力12の数値、攻撃力14の数
値、防御力16の数値、基準位置18の座標(x,y,
z)、キャラクタの方向20であるX・Y・Z軸まわり
の回転角、モーション・データへのポインタ22、立体
モデルのモデル・データへのポインタ24、及び輪郭描
画用モデルのモデル・データへのポインタ26を含む。
このキャラクタ・データは例えばメモリ105上に保持
される。また、立体モデルのモデル・データへのポイン
タ24は、例えば立体モデルのモデル・データがCD−
ROM131に格納されていた場合には、CD−ROM
131からメモリ105上に読み出された時のそのモデ
ル・データの先頭アドレスである。同様に、輪郭描画用
モデルのモデル・データへのポインタ26は、例えば輪
郭描画用モデルのモデル・データ135(図19)がC
D−ROM131に格納されていた場合には、CD−R
OM131からメモリ105上に読み出された時のその
モデル・データの先頭アドレスである。なお、輪郭描画
用モデルのモデル・データは実行時に生成される場合が
あり、その場合には生成された輪郭描画用モデルのモデ
ル・データが格納されたメモリ105上の先頭アドレス
が、ポインタ26となる。
【0317】次にゲームのプレイヤの操作入力に従うゲ
ーム・ストーリーの進行について簡単な例(図7及び図
8)を説明する。
【0318】図7には、ゲームのプレイヤが自キャラク
タC101を操作し、仮想三次元空間内において自キャ
ラクタを敵キャラクタと戦わせながらストーリーを進展
させるゲームの画像が表示された表示画面120の例が
示されている。ここには、自キャラクタC101の右前
方からの画像が表示されている。表示画面の左には敵キ
ャラクタ1(C111)及び敵キャラクタ2(C11
3)が出現している。
【0319】ここで視点の位置は、自キャラクタと敵キ
ャラクタとの位置関係及び自キャラクタの方向に応じて
ゲーム進行状況設定処理(ステップS5)にて決定され
る。そして、これらの各キャラクタについて当該視点の
位置から、輪郭線を付され且つセルアニメ調の彩色を施
された非写実的な画像が生成され、表示画面120に表
示される。
【0320】キーパッド161からのプレイヤの操作入
力に応じて、自キャラクタは敵キャラクタを攻撃する。
一方、敵キャラクタは所定のアルゴリズムに従って自キ
ャラクタを攻撃する。
【0321】図8には、図7に示された表示画面の状態
から、ゲームのプレイヤがキーパッド161の操作ボタ
ン161LLを押下して自キャラクタC101を表示画
面の左方向に動かした場合の表示画面120が示されて
いる。
【0322】操作入力に応答して「表示画面の左方向に
動く」というキャラクタの行動がゲーム進行処理(図4
ステップS4)にて決定される。このキャラクタの行動
に応じて、キャラクタの方向、位置及び形状が、ゲーム
進行状況設定処理(図4ステップS5)にて決定され
る。この図8の例では、キャラクタの方向が表示画面に
対して左方向に決定され、キャラクタの位置が同じく表
示画面に対して左方向に移動される。また、キャラクタ
の形状には走る動作を表現するための形状が設定され
る。
【0323】このように、キャラクタの方向や位置等の
ゲーム進行状況が変化した場合でも、当該キャラクタは
輪郭線が描かれたセルアニメ調の画像として描画され
る。
【0324】[輪郭描画用モデル取得処理]図17に示
された輪郭描画用モデルの取得処理は実施の形態1でも
同じである。ここではまず、輪郭描画用モデルが生成さ
れるか否かが判断される(ステップS203)。輪郭描
画用モデルを予め用意しておく場合と輪郭描画用モデル
をこの段階にて生成する場合が存在するためである。こ
の判断は、例えば立体モデルに対応した輪郭描画用モデ
ルがCD−ROM131に格納されているか否かを判定
する事により実施される。
【0325】輪郭描画用モデルが生成されないと判断さ
れた場合には、CD−ROM131に格納されている輪
郭描画用モデルのデータが読み出される(ステップS2
07)。この輪郭描画用モデルの各ポリゴンは、立体モ
デルの対応するポリゴンとは表裏が反転されたものであ
る。また読み出される輪郭描画用モデルのサイズは、対
応する立体モデルより一回り大きく定義される。更に、
輪郭描画用モデルの色は、対応する立体モデルより暗い
色で定義される。
【0326】もし輪郭描画用モデルが生成されると判断
された場合には、輪郭描画用モデルを生成する処理が行
われる(ステップS205)。ステップS207と同じ
ように、この段階において輪郭描画用モデルが生成され
る場合においても、輪郭描画用モデルの各ポリゴンは、
立体モデルの対応するポリゴンとは表裏反転したものに
する。
【0327】輪郭描画用モデルのサイズは、対応する立
体モデルより一回り大きく生成される。例えば立体モデ
ルの各頂点の法線方向に当該頂点を移動させて拡大され
た輪郭描画用モデルが生成される。輪郭描画用モデルが
立体モデルに比してより大きい場合は輪郭線はより太く
描画され、輪郭描画用モデルが立体モデルよりわずかに
大きいだけである場合は輪郭線はより細く描画される。
【0328】また、立体モデルの各面の法線方向に当該
面を移動させて拡大された輪郭描画用モデルが生成され
るとしてもよい。さらに、通常立体モデルに定義されて
いる基準位置を中心に、その立体モデルの各頂点を移動
させて拡大された輪郭描画用モデルが生成されるとして
もよい。
【0329】なお、この時点では、輪郭描画用モデルの
サイズは、対応する立体モデルのサイズと同じ大きさで
生成されるとしてもよい。この場合には本輪郭描画用モ
デル取得処理で輪郭描画用モデルが取得された後、後述
する輪郭描画用モデル配置処理で輪郭描画用モデルの配
置マトリックスが設定されるまでの間に輪郭描画用モデ
ルは拡大される。あるいは、輪郭描画用モデル配置処理
で輪郭描画用モデルの配置用マトリックスが設定される
際に、当該配置用マトリックスが拡大変換を含むように
当該配置用マトリックスが決定されるとしてもよい。逆
に、立体モデルを配置する際に、立体モデルの配置用マ
トリックスが縮小変換を含むように立体モデルの配置用
マトリックスが決定されるとしてもよい。
【0330】一方、輪郭描画用モデルの各ポリゴンのマ
テリアルの色は、対応する立体モデルの各ポリゴンのマ
テリアルの色をより暗くした色で生成される。なお、こ
の時点では、生成される輪郭描画用モデルの色は定義さ
れていなくてもよい。あるいは、輪郭描画用モデルの各
ポリゴンのマテリアルの色が、対応する立体モデルの各
ポリゴンのマテリアルの色と同一であっても良い。この
場合、輪郭描画用モデルの描画処理の際に、輪郭描画用
モデルの色は考慮されず、例えば黒などの別途定義され
た色か、かすれを表現するテクスチャの色で輪郭描画用
モデルが描画される。
【0331】次に、輪郭描画用モデルにかすれを表現す
るテクスチャがマッピングされるか否かが判断される
(ステップS209)。ステップS205で輪郭描画用
モデルが生成された場合には、対応する立体モデルのデ
ータに基づいて当該判断が実施される。一方、ステップ
S207で輪郭描画用モデルが読み出された場合には、
読み出された輪郭描画用モデルのデータに基づいて当該
判断が実施される。かすれを表現するテクスチャがマッ
ピングされると判断された場合には、ステップS211
にて輪郭描画用モデルにかすれを表現するテクスチャが
マッピングされる。すなわち、ポリゴンの各頂点にテク
スチャ座標(U,V)が設定される。
【0332】なお、上でも述べたように、かすれを表現
するテクスチャは、明度又は透明度の変化を含む図柄を
有する。図23に示された、明度の変化を含むテクスチ
ャの一例は黒地に白の斜線が細かく入った図柄を有して
いる。黒部分の明度は低く、白部分の明度は高いので、
図23に示されたテクスチャは明度の変化を含んでい
る。これにより輪郭線のかすれが表現され、より手書き
調の輪郭線が描画される。
【0333】かすれを表現するテクスチャがマッピング
されないと判断された場合と、テクスチャがマッピング
される処理が終了した場合は、演算処理部103は輪郭
描画用モデル取得処理を終了する。
【0334】[輪郭描画用モデル配置処理]図20のス
テップS25において未処理キャラクタを表現する立体
モデル及び輪郭描画用モデルの配置用マトリックスが設
定され、その配置用マトリックスにより輪郭描画用モデ
ルの配置処理が行われる。輪郭描画用モデルの基準位置
は、立体モデルの基準位置に対応する位置に設けられ
る。そしてその輪郭描画用モデルの基準位置が、立体モ
デルの基準位置と同一又は近傍に配置されるように、輪
郭描画用モデルの配置用マトリックスが設定される。
【0335】ここで立体モデルの方向が変化する場合に
は、輪郭描画用モデルもそれに対応するよう回転変換を
含む配置用マトリックスが設定される。立体モデルの形
状が変化する場合には、輪郭描画用モデルがそれに対応
するように変形処理が行われる。
【0336】この段階において輪郭描画用モデルが対応
する立体モデルと同じ大きさである場合には、輪郭描画
用モデルが拡大される。具体的には、輪郭描画用モデル
の基準位置を中心として輪郭描画用モデルの各頂点が所
定の拡大率に従って拡大変換されるように、輪郭描画用
モデルの配置用マトリックスが設定される。あるいは逆
に、立体モデルが縮小されるとしてもよい。すなわちこ
の場合には、立体モデルの基準位置を中心として立体モ
デルの各頂点が所定の縮小率に従って縮小変換されるよ
うに、立体モデルの配置用マトリックスが設定される。
【0337】このようにすると、最終的には、相対的に
大きい輪郭描画用モデルが立体モデルを包含するように
配置される。両モデルの配置位置、方向、形状等の関係
により、輪郭描画用モデルは完全には立体モデルを包含
しない場合も生じ得る。但し、このような場合であって
も、包含している部分については輪郭線が描画される。
【0338】なお、この段階では必ずしも配置用マトリ
ックスが設定されている必要は無く、配置される座標、
方向及び拡大・縮小率等の頂点変換に必要な各要素が確
定していればよい。この場合も、実際の頂点変換は各モ
デルの描画処理の段階で行われる。
【0339】[輪郭描画用モデル描画処理]図24に示
された輪郭描画用モデルの描画処理フローも実施の形態
1で使用できる。図24では、輪郭描画用モデルの全て
の頂点について処理するまで、以下に説明する処理が繰
り返し行われる(ステップS503)。繰り返し行われ
る最初の処理は、1つの頂点についての頂点変換(拡大
・縮小・回転・平行移動・透視変換)処理である(ステ
ップS505)。ここではステップS25(図20)で
求められた配置用マトリックスが頂点変換で用いられ
る。なお、最初の2つの頂点については、ステップS5
05及びS509及びS511以外のステップは実施さ
れない。
【0340】例えば、この処理は演算処理部103によ
り命令された幾何演算部207により実施される。ここ
では輪郭描画用モデルに対して幾何演算部207が光源
計算を実施しない。もし輪郭描画用モデルの大きさが立
体モデルと同じである場合には、配置処理で設定された
配置用マトリックスに従って、この段階において輪郭描
画用モデルが拡大変換される場合もある。
【0341】そして、当該頂点を含むポリゴン(面)は
おもて面か否かの判断処理が行われる(ステップS50
7)。表裏判定については第1の輪郭描画処理で述べた
のでここでは説明を省略する。なお、この段階より前に
表裏判定が行われるようにすることも可能である。
【0342】もし、当該頂点を含むポリゴン(面)がう
ら面であった場合にはステップS503に戻る。当該頂
点を含むポリゴン(面)がおもて面であった場合には、
かすれを表現するテクスチャをマッピングするか否かが
判断される(ステップS509)。
【0343】これはポリゴンに対するテクスチャ・マッ
ピングを意味している。もし、かすれを表現するテクス
チャをマッピングする場合には、その頂点に対する、か
すれを表現するためのテクスチャのテクスチャ座標が計
算される(ステップS511)。テクスチャ・マッピン
グを行う場合、既にポリゴンの頂点にはテクスチャ座標
(U,V)が指定してあるが、当該ポリゴンがスクリー
ンに対して斜めに配置されている場合にはテクスチャが
スクリーン上で歪んで表示されることがある。この歪み
を避けるために、テクスチャ・パースペクティブ処理と
して、ここでは、Q=1/w(wはスクリーンからの奥
行き)を用いて、S=U×Q、T=V×Qの計算が行わ
れる。もし、かすれを表現するテクスチャをマッピング
しない場合にはステップS513に移行する。
【0344】そして、例えばピクセル処理部870に含
まれる三角形描画処理部205及びピクセルカラー処理
部209(図35)が駆動される(ステップS51
3)。上で述べたように三角形描画処理部205は、三
角形ポリゴンの各頂点のデータを補間して、三角形ポリ
ゴン内部の各ピクセルにおけるデータを生成する。各頂
点のデータは、マテリアルの色、スクリーン座標値、及
びステップS511を実施すればテクスチャ座標値であ
る。各ピクセルにおけるデータは、マテリアルの色及び
ステップS511を実施すればテクセル・カラーであ
る。
【0345】但し、この時点でマテリアルの色を無視し
て、各頂点に輪郭線の色を設定することも可能である。
またマテリアルの色を考慮して、各頂点の色を設定する
ことも可能である。いずれの場合も、輪郭線の色は、後
に述べる立体モデル描画処理で立体モデルが描画される
色より暗い色に設定される。例えば、立体モデル描画処
理で、図2のような明度範囲テーブルが使用される場
合、最も低い基準明度0.25に基づいて計算される色
より暗い色に、輪郭線の色が設定される。ピクセルカラ
ー処理部209は、三角形描画処理部205が生成する
三角形ポリゴン内部の各ピクセルにおけるデータを使用
して、フレームバッファ213に表示画像を書き込む。
この際、Zバッファ211を使用して隠面消去が行われ
る。
【0346】隠面消去にはZバッファ211を使用する
例を示しているが、図13に示すような簡単なモデルに
ついてはZバッファ211を使用しない、例えばZソー
ト法のような隠面消去処理を実施しても良い。但し、も
っと複雑なモデル、例えば人物の手などが胴体より前に
配置されている場合等には、Zバッファ211を使用し
た隠面消去を行わないと、正確に輪郭線を描画すること
は困難である。
【0347】[立体モデル描画処理]図9に示された立
体モデルの描画処理のフローは実施の形態1でも使用可
能である。まず、初期設定が行われる(ステップS60
3)。この初期設定では、立体モデルに対応する明度範
囲テーブル(例えば図2又は図3)が取得される。次
に、一つの頂点についての頂点変換(拡大・縮小・回転
・平行移動・透視変換)及び光源計算が行われる(ステ
ップS605)。これは例えば演算処理部103からの
命令により幾何演算部207が実行する。立体モデルの
データは例えばCD−ROM131に格納されており、
予めメモリ105に読みこまれたものが使用される。
【0348】頂点変換は、図20のステップS25にお
いて設定された配置用マトリックスを使用して行われ
る。但し、輪郭描画用モデルが立体モデルと同じ大きさ
である場合には、立体モデルのサイズを縮小することに
より輪郭描画用モデルを相対的に大きくする場合もあ
る。この場合には、ステップS605において縮小変換
が実施される。なお、立体モデルの中心に向かって各頂
点をその法線に沿って移動させると簡単に縮小できる。
【0349】なお、上で図9に関連して述べた立体モデ
ル描画処理における光源計算には2つの手法、すなわち
(A)ポリゴンに定義されたマテリアルの色を考慮した
手法及び(B)マテリアルの色を考慮しない手法があ
り、それらは実施の形態1でも使用可能である。但し、
ここでは説明を省略する。
【0350】次に、当該頂点を含むポリゴン(面)はお
もて面か否かが判断される(ステップS607)。この
判断は、三角形ポリゴンの場合この頂点とその前に処理
された2つの頂点から構成される三角形ポリゴンがいず
れの方向を向いているかで実施される。この判断には輪
郭描画用モデルの描画処理で説明した方法を用いること
ができる。なお、本立体モデル描画処理ではこの段階に
おいて表裏判定が行われるが、この段階より前に表裏判
定が行われるようにすることも可能である。
【0351】もし、当該頂点を含むポリゴン(面)がう
ら面であった場合にはステップS605に戻る。当該頂
点を含むポリゴン(面)がおもて面であった場合には、
頂点変換及び光源計算が行われた頂点における明度が計
算される(ステップS609)。明度の計算ではYIQ
変換が行われる。
【0352】ステップS609の後に、頂点変換及び光
源計算された頂点を含むポリゴンの描画用色が計算され
る(ステップS611)。ポリゴンの描画用色は、明度
範囲テーブルに格納された各明度範囲に対応する基準明
度と当該ポリゴンの色とから計算する。
【0353】基準明度Tnが3つあれば(T1,T2,T
3)、描画用色は3つ求まる。なお、ポリゴンの色をY
IQ系の色として保持していない場合、すなわちRGB
系の色として保持している場合には、上で示した変換行
列でRGBからYIQへ変換する計算を行う。
【0354】次に明度範囲テーブルの明度範囲が一つ選
択される(ステップS613)。なお実施の形態1では
図2に示した明度範囲テーブルを用いているが、図3の
ような明度範囲テーブルを用いることもできる。当該テ
ーブルは例えばメモリ105に保持される。このような
明度範囲テーブルを使用する場合には上限及び下限を含
む明度範囲をランダムに選択し、設定することができ
る。以下で説明する明度比較処理において各画素の明度
と上限及び下限の2つの明度値との比較が簡単に行えな
い場合には、明度範囲を例えば図3の上から順番に選択
する。そしてこの場合下限値のみで処理していくことに
なる。
【0355】この後、このポリゴンの頂点における明度
を補間して、当該ポリゴン内部の各画素における明度
(ポリゴンにおける明度分布)を計算する。頂点の色も
補間されるが、3頂点共同じ描画用色なので補間しても
結果は同じである。そして、当該画素における明度が、
選択された明度範囲内であれば、当該選択された明度範
囲に対応する描画用色で当該画素が描画される(ステッ
プS615)。明度の補間処理及び各画素の描画処理は
例えば図35における三角形描画処理部205が演算処
理部103からの命令により実施する。各画素における
明度が、選択された明度範囲内であるかの比較処理は、
例えばピクセルカラー処理部209が実施する。このス
テップS613及びS615は、全ての明度範囲につい
て処理するまで繰り返される(ステップS617)。
【0356】例えばピクセルカラー処理部209が上限
及び下限の2つの明度値を取り扱うことができない場合
には、Zバッファ211を併用することにより同一の効
果を得ることができる。Zバッファ211は隠面消去に
使われるが、実施の形態1ではZバッファ211の併用
は明度の上限値と比較した場合と同様の効果を奏する。
このZバッファを用いた処理は、例えば演算処理部10
3からの命令によりピクセルカラー処理部209が行
う。
【0357】以上ステップS605乃至S617まで
が、立体モデルの全ての頂点について処理するまで繰り
返され、結果として全てのポリゴンについて処理するま
で繰り返される(ステップS619)。
【0358】[立体モデル描画処理(その2)]図15
に示された第2の立体モデル描画処理のフローも実施の
形態1に使用可能である。図15ではまず、初期設定が
行われる(ステップS633)。この初期設定では、立
体モデルに対応する明度範囲テーブル(例えば図2又は
図3)が取得される。また、例えばCD−ROM131
に格納されている立体モデルの描画用色データをメモリ
105に読み込んでおく。次に、一つの頂点についての
頂点変換(拡大・縮小・回転・平行移動・透視変換)及
び光源計算が行われる(ステップS635)。これは例
えば演算処理部103からの命令により幾何演算部20
7が実行する。立体モデルのデータは例えばCD−RO
M131に格納されており、予めメモリ105に読み込
まれたものが使用される。
【0359】拡大・縮小・回転・平行移動・透視変換
は、図20のステップS25において設定された配置用
マトリックスを使用して行われる。これは例えば演算処
理部103からの命令により幾何演算部207が実行す
る。但し、輪郭描画用モデルが立体モデルと同じ大きさ
である場合には、立体モデルのサイズを縮小することに
より輪郭描画用モデルを相対的に大きくする場合もあ
る。この場合には、ステップS635において縮小変換
が実施される。なお、立体モデルの中心に向かって各頂
点をその法線に沿って移動させると簡単に縮小できる。
【0360】なお、もう一つの立体モデル描画処理で述
べた光源計算の2つの手法は立体モデル描画処理(その
2)でもそのまま適用することができる。
【0361】次に、当該頂点を含むポリゴン(面)はお
もて面か否かが判断される(ステップS637)。この
判断は、三角形ポリゴンの場合この頂点の前に処理され
た2つの頂点から構成される三角形ポリゴンがいずれの
方向を向いているかで実施される。この判断には輪郭描
画用モデルの描画処理で説明した方法を用いることがで
きる。なお、立体モデル描画処理(その2)ではこの段
階において表裏判定が行われるが、この段階より前に表
裏判定が行われるようにすることも可能である。
【0362】もし、当該頂点を含むポリゴン(面)がう
ら面であった場合にはステップS635に戻る。当該頂
点を含むポリゴン(面)がおもて面であった場合には、
頂点変換及び光源計算が行われた頂点における明度が計
算される(ステップS639)。明度の計算ではYIQ
変換が行われる。
【0363】そして、頂点変換及び光源計算された頂点
を含むポリゴンの描画用色が、メモリ105から読み出
される(ステップS641)。読み出される描画用色の
データは予め計算されるわけであるが、この予め計算す
る際の計算方法は、もう一つの立体モデル描画処理で説
明した2つの方法のいずれでもよいし、又別の方法であ
ってもよい。さらに、描画用色を一つ一つ定義していっ
てもよい。
【0364】次に明度範囲テーブルの明度範囲が一つ選
択される(ステップS643)。なお本実施の形態では
図2に示した明度範囲テーブルを用いているが、図3の
ような明度範囲テーブルを用いることもできる。このよ
うな明度範囲テーブルを使用する場合には上限及び下限
を含む明度範囲をランダムに選択し、設定することがで
きる。以下で説明する明度比較処理において各画素の明
度と上限及び下限の2つの明度値との比較が簡単に行え
ない場合には、明度範囲を例えば図3の上から順番に選
択する。そしてこの場合下限値のみで処理していくこと
になる。
【0365】この後、このポリゴンの頂点における明度
を補間して、当該ポリゴン内部の各画素における明度
(ポリゴンにおける明度分布)を計算する。頂点の色も
補間されるが、3頂点共同じ描画用色なので補間しても
結果は同じである。そして、当該画素における明度が、
選択された明度範囲内であれば、当該選択された明度範
囲に対応する描画用色で描画する(ステップS64
5)。明度の補間処理は例えば図35における三角形描
画処理部205が実施する。各画素における明度が、選
択された明度範囲内であるかの比較処理は、例えばピク
セルカラー処理部209が実施する。このステップS6
43及びS645は、全ての明度範囲について処理する
まで繰り返される(ステップS647)。
【0366】例えばピクセルカラー処理部209が上限
及び下限の2つの明度値を取り扱うことができない場合
には、Zバッファ211を併用することにより同一の効
果を得ることができる。Zバッファ211は隠面消去に
使われるが、本実施の形態ではZバッファ211の併用
は明度の上限値と比較した場合と同様の効果を奏する。
【0367】なお、明度範囲テーブルの最も小さい下限
値の値が0.0でない場合もある。ポリゴン内で何も色
が付されていない部分を無くすため、図15ステップS
647の繰り返しにおいては、最後の繰り返しで下限値
を0.0にしてステップS645を実施する。
【0368】以上ステップS635乃至S647まで
が、立体モデルの全ての頂点について処理するまで繰り
返され、結果として全てのポリゴンについて処理するま
で繰り返される(ステップS649)。
【0369】以上のような処理を実施すると、立体モデ
ルの全てのポリゴンが所定の段階の明度で塗り分けら
れ、立体モデルについてはセルアニメ調の画像を得るこ
とができるようになる。また、実施の形態1で導入され
た輪郭描画用モデルは、立体モデルの後ろの面のうち立
体モデルに隠れない部分が描画されるので、その部分が
輪郭線としてレンダリングされる。実施の形態1では、
輪郭線の描画には、輪郭描画用モデルを導入するだけで
通常レンダリング処理とほぼ同様の処理を行うことによ
り簡単に輪郭線を描画できるようになる。
【0370】図37には、実施の形態1のゲーム画像描
画処理で自キャラクタのみが描画された場合の表示画面
120の例が示されている。図37では、表示画面の右
方向に向いている状態の自キャラクタが描画されてい
る。
【0371】自キャラクタが表示画面の右方向を向いて
いる状態から、プレイヤが操作ボタン166LLを押下
すると、それに応答して自キャラクタが表示画面の左方
向へ動くと決定され、自キャラクタが徐々に左方向に向
き且つ左方向に場所を移動する処理が行われる。
【0372】図38には、図37に示された状態から、
表示画面の左方向へ向くために自キャラクタが右足を後
ろに引いて方向転換している途中の表示画面120の例
が示されている。この例では自キャラクタは表示画面に
対して正面を向ける方向を経由して回転するため、図3
8に示された表示画面では、自キャラクタが表示画面に
対して正面を向けている状態が示されている。
【0373】図39には、図38に示されている状態か
ら左足を動かし、自キャラクタが表示画面の左方向を向
いている状態の表示画面120の例が示されている。こ
のように、操作入力に従って自キャラクタが動作した場
合でも、リアルタイムにセルアニメ調のゲーム画像を得
ることができる。
【0374】一方、図40には、図37の状態からプレ
イヤが操作ボタン166RUを操作したのに応答して、
カメラが上方へ動いた状態の表示画面120の例が示さ
れている。自キャラクタの上方からの画像が表示されて
いる。
【0375】図41には、図40の状態からプレイヤが
操作ボタン166RUをさらに操作して、カメラを更に
上方へ動かした状態の表示画面120の例が示されてい
る。自キャラクタの更に上方からの画像が表示される。
また、自キャラクタとカメラの距離が離れたため、自キ
ャラクタは図37及び図40より比較的小さく表示され
ている。このように、操作入力に応答してカメラが移動
した場合、すなわち視点が切り替わった場合でも、リア
ルタイムにセルアニメ調のゲーム画像を得ることができ
る。
【0376】このようにしてCG技術を使用してリアル
タイムに操作入力に従った、輪郭線が付されたセルアニ
メ調のゲーム画像を得ることができるようになる。
【0377】3.実施の形態2 実施の形態2は、セルアニメ調彩色処理及び第2の輪郭
描画処理を組み合せたものである。すなわち、ゲームの
キャラクタ等を表現する立体モデルに輪郭線が付され且
つセルアニメ調の彩色が施される。
【0378】図42に示したように実施の形態2に係る
ゲーム装置は、操作入力部940と、キャラクタ行動決
定部915を含むゲーム進行部910と、キャラクタ方
向設定部983及び視軸方向設定部987を含むゲーム
進行状況設定部980と、配置用マトリックス設定部9
50と、頂点変換及び光源計算部962と明度計算部9
64と描画用色供給部966と明度範囲テーブル965
と明度設定部968とを含む立体モデル処理部960
と、輪郭描画用モデル取得部900と、配置用マトリッ
クス設定部950から配置用マトリックスを受け取り且
つ逆転表裏判定部925を含む輪郭描画用モデル処理部
920と、かすれ表現テクスチャマッピング部930
と、立体モデル処理部960及びかすれ表現テクスチャ
マッピング部930からデータを受け取り且つ隠面消去
処理部973及び明度比較部977を含むピクセル処理
部970と、画像表示制御部990とを含む。
【0379】操作入力部940は、例えば図34のキー
パッド161とインターフェース部117とで実現され
る。操作入力部940は、ゲームのプレイヤにより操作
される操作入力部940のボタンやレバー等の操作情報
を、ゲーム進行部910へ出力する。
【0380】ゲーム進行部910は、操作入力部940
からの情報に基づいて、例えばキャラクタの行動、視点
位置の変更、視軸の方向の変更、あるいは光源の位置の
移動、光線の方向の変更等、ゲームを進行させる内容を
判断し、ゲーム進行状況設定部に指示を行う。ゲーム進
行部910内のキャラクタ行動決定部915は、操作入
力部940からの情報に基づいて特にキャラクタの行動
を決定する機能を有する。
【0381】ゲーム進行状況設定部980は、ゲーム進
行部910に指示されたゲームの進行内容に応じて、キ
ャラクタ位置、方向及び形状、視点の位置や視軸の方
向、光源の位置、光線の方向、更にはキャラクタの行動
に応じた体力の増減等を計算し、設定する。ゲーム進行
状況設定部980内のキャラクタ方向設定部983は、
ゲーム進行部910に指示されたゲームの進行内容に応
じて、特にキャラクタの視点に対する方向を決定する機
能を有する。一方、ゲーム進行状況設定部980内の視
軸方向設定部987は、ゲーム進行部910に指示され
たゲームの進行内容に応じて、特に視軸の方向を設定す
る機能を有している。
【0382】配置用マトリックス設定部950は、ゲー
ム進行状況設定部980により設定されたキャラクタ位
置座標及び方向並びに視点の位置に従って、キャラクタ
を表現する立体モデルの配置用マトリックスの決定処理
を行う。配置用マトリックスは、立体モデルの平行移動
・回転・透視変換を行うためのマトリックスである。
【0383】立体モデルに比して相対的に大きい輪郭描
画用モデルが取得され、輪郭描画用モデルの基準位置が
立体モデルの基準位置に対応する位置に存在する場合に
は、この配置用マトリックス設定部950で決定された
配置用マトリックスを、立体モデル処理部960及び輪
郭描画用モデル処理部920で共用できる。共用できれ
ば、配置用マトリックスのための記憶領域を各キャラク
タにつき1つ用意すればよいので効率的である。
【0384】但し、共用しない又は共用できない場合も
ある。その場合には、立体モデルの配置用マトリックス
と、輪郭描画用モデルの配置用マトリックスとが生成さ
れ、各々記憶領域に格納される。また共用できない場合
には、配置用マトリックスの記憶領域が一つ用意され、
立体モデル処理部960及び輪郭描画用モデル処理部9
20で配置用マトリックスが使用される直前に、立体モ
デルの配置用マトリックスに縮小変換を含むよう、又は
輪郭描画用モデルの配置用マトリックスに拡大変換を含
むように設定がなされる場合もある。
【0385】輪郭描画用モデル取得部900は、例えば
三角形ポリゴンで構成された立体モデルに対応する輪郭
描画用モデルを生成する。なお、輪郭描画用モデルが予
め生成してある場合には、輪郭描画用モデル取得部90
0は、当該予め生成されている、三角形ポリゴンで構成
された輪郭描画用モデルを読み出す。取得される輪郭描
画用モデルの各ポリゴンは、立体モデルの対応するポリ
ゴンと表裏が同じである。また輪郭描画用モデルは立体
モデルより大きく、輪郭線用の所定の配色にて定義され
る。なお、輪郭描画用モデルは、最終的には対応する立
体モデルより相対的に大きくなければならないが、この
段階における輪郭描画用オブジェクトの大きさは立体モ
デルと同じ場合もある。この場合には、輪郭描画用モデ
ルと立体モデルが描画されるまでに、輪郭描画用モデル
が立体モデルより相対的に大きく描画されるよう処理さ
れる。
【0386】また、輪郭描画用モデルの色は、対応する
立体モデルのマテリアルの色をそのまま引き継ぐ場合も
ある。この場合は描画用の色は別に指定される。この輪
郭描画用モデルの基準位置は、通常対応する立体モデル
の基準位置と同じ又はその近傍に位置するように定義さ
れる。
【0387】輪郭描画用モデル処理部930は、輪郭描
画用モデルの各頂点につき、配置用マトリックス設定部
950による配置用マトリックスを使用して頂点変換
(拡大・縮小・回転・平行移動・透視変換)を実施し、
且つ輪郭描画用モデルの各ポリゴンの表裏判定を実施す
る。この頂点変換には上で述べた配置用マトリックスが
用いられる。この表裏判定は逆転表裏判定部925で行
われる。またここでは光源計算を実施しない。輪郭描画
用モデル取得部900において立体モデルと同じ大きさ
の輪郭描画用モデルを取得した場合には、輪郭描画用モ
デル処理部920は、輪郭線描画用モデルの拡大を行う
ための頂点変換を実施する。
【0388】かすれ表現テクスチャマッピング部930
は、結果的に描画される輪郭線がかすれているような線
になるように、輪郭描画用モデルにかすれ表現用テクス
チャをマッピングするための処理を実施するものであ
る。このかすれ表現用テクスチャは、明度又は透明度の
変化を含む図柄を有するテクスチャである(図23参
照)。なお、必ずしも輪郭線がかすれている必要は無い
ので、かすれ表現テクスチャマッピング部930を選択
的に動作させるようにする。
【0389】立体モデル処理部960は、ピクセル処理
部970と協働して、非写実的なレンダリングの一例と
してセルアニメ調の彩色を立体モデルに施すための処理
を実施する。
【0390】立体モデル処理部960の頂点変換及び光
源計算部962は、仮想三次元空間に配置される立体モ
デルを構成する三角形ポリゴンの各頂点について、配置
用マトリックス設定部950による配置用マトリックス
を使用して頂点変換(拡大・縮小・回転・平行移動・透
視変換)を実施し、頂点変換された三角形ポリゴンの各
頂点について光源計算を行う。
【0391】また、立体モデル処理部960の頂点変換
及び光源計算部962は、立体モデルの各三角形ポリゴ
ンの表裏判定も行う。視点に対しておもてを向けている
面のみが描画対象となる。
【0392】立体モデル処理部960の明度計算部96
4は、頂点変換及び光源計算部962が計算した三角形
ポリゴンの各頂点における色から明度を計算する。通常
頂点変換及び光源計算部962はRGB系における色を
計算するので、明度計算部964はこのRGBをYIQ
変換して明度Yを求める。この三角形ポリゴンの各頂点
における明度は、ピクセル処理部970に出力される。
【0393】明度範囲テーブル965は、例えば図2の
ようなテーブルである。すなわち、しきい値と基準明度
が対となったテーブルで、ここではしきい値0.75に
対して基準明度0.75、しきい値0.5に対して基準
明度0.50、しきい値0.00に対して基準明度0.
25と三段階(レベル)に設定されている。なお、ここ
では明度は0から1までの実数値をとるものとする。し
きい値ではなく、上限及び下限による範囲の指定でも良
い(例えば図3参照)。
【0394】この明度範囲テーブル965を参照して、
描画用色供給部966は各しきい値に対応する描画用色
を計算する。各しきい値に対応する描画用色は、しきい
値に対応する基準明度と立体モデルの各三角形ポリゴン
に予め設定されている色の情報とで計算される。計算さ
れた描画用色を描画用色供給部966はピクセル処理部
970に出力する。
【0395】なお、描画用色供給部966は、実行時に
描画用色を計算するようにしても良いし、予め計算して
おきそのデータを格納しておいても良い。例えば図2の
ような明度範囲テーブルを使用する場合には、各ポリゴ
ンにつき3つの描画用色データを保管しておく必要があ
る。例えば図16参照のこと。
【0396】明度範囲設定部968は、明度範囲テーブ
ル965の1つのしきい値を選択して、ピクセル処理部
970に設定する。明度範囲設定部968は、図2のよ
うな明度範囲テーブル965をそのまま使用する場合に
は上から順番に一つずつ設定していく。しきい値ではな
く上限及び下限による範囲が指定されている場合には、
ランダムに選択・設定可能である。
【0397】ピクセル処理部970は、輪郭描画用モデ
ルの描画対象とされた三角形ポリゴンを処理する場合に
は、隠面消去処理部973を用いて隠面消去処理を実施
しつつ、輪郭描画用モデルの描画対象とされた三角形ポ
リゴン内の各画素の色を決定し、フレームバッファ21
3に書き込む。
【0398】一方、ピクセル処理部970は、立体モデ
ルの描画対象とされた三角形ポリゴンを処理する場合に
は、まず明度計算部964から出力された三角形ポリゴ
ンの各頂点における明度を補間して、ポリゴン内部の各
画素における明度(ポリゴンにおける明度分布)を計算
する。
【0399】そして、明度比較部977は各画素におけ
る明度と明度範囲設定部968が設定したしきい値とを
比較する。もしその画素における明度がしきい値以上で
あれば、ピクセル処理部970は、このしきい値に対応
する基準明度に基づく描画用色で当該画素を描画する。
この描画処理の際には、隠面消去処理部973を用いて
隠面消去処理をも実施する。もしその画素における明度
がしきい値未満であれば、この画素はこの段階では描画
されない。明度範囲設定部868が明度範囲テーブル9
65の全てのしきい値をピクセル処理部970に設定
し、それに対応してピクセル処理部970が三角形ポリ
ゴン内の全ての画素について描画処理を行えば、三角形
ポリゴン内部が図2の例では3段階に塗り分けられる。
この処理が立体モデルの全ての三角形ポリゴンについて
実施される。
【0400】本発明では隠面消去処理にはZバッファ2
11による隠面消去が利用される場合がある。例えば、
立体モデルが人間の形をしており、腕が胴体の前に位置
する場合等では、輪郭描画用オブジェクトと立体モデル
の面の位置関係からZバッファ法を用いないと、正確な
輪郭線を描画することが困難な場合があるからである。
【0401】加えて、立体モデル処理部960及びピク
セル処理部970で、図2のような明度範囲テーブル9
65をそのまま使用する場合には、Zバッファ211に
よる隠面消去が利用される。例えば図2に従えば、0.
75以上という明度は0.5以上でも0.0以上でもあ
るから、重ねて描画用色が塗られないように明度範囲の
上限値を設定する必要がある。もしある画素の明度が
0.75以上であれば、このしきい値0.75に対応す
る描画用色でこの画素は描画され、その画素のZ値がZ
バッファ211に記憶される。
【0402】しきい値が0.5になった場合には、当該
画素のZ値がZバッファ211から読み出され、書き込
もうとする同じ画素のZ値と比較されるが、当然それら
は同じであるから、しきい値0.5に対応する描画用色
はその画素についてはフレームバッファ213に書き込
まれない。しきい値0.0についても同じである。
【0403】また、ポリゴンの頂点及びポリゴン内部の
画素における明度は、通常は透明度として使われるαと
いう色(RGB)の属性値として取り扱われる。通常α
値は0−255の範囲で定義されるので、実際のα値に
は明度を255倍したものを使用する。よって、明度範
囲テーブル375のしきい値(上限及び下限値)は0−
255の範囲の値であっても良い。
【0404】最後に、画像表示制御部420は、ピクセ
ル処理部390がデータを書き込んだ、表示画面に表示
するためのフレームバッファの領域を指定する。フレー
ムバッファは通常2つの領域を有しており、1つは表示
用として、もう一つは書き込み用として用いられる。そ
して、書き込み用領域への書き込みが完了すると、書き
込み用領域を表示用領域として、また表示用領域を書き
込み用領域として切り換えて使用する。画像表示制御部
420はこの切り換えを制御するものである。
【0405】[前提]実施の形態2でも、輪郭描画用モ
デルのデータを予め作成してCD−ROM131に格納
しておき、ゲーム実行時に当該データをCD−ROM1
31から読み出す場合がある。図19に示されたCD−
ROM131に書き込まれたデータの例は、図19に示
されているレベルにおいて実施の形態2でも同じであ
る。
【0406】プログラム領域132には、家庭用ゲーム
機1000に本発明を実施させるためのプログラムが格
納される。このプログラムの内容については後に述べ
る。
【0407】システムデータ領域133には、上で述べ
たプログラム領域132に格納されるプログラムによっ
て処理される各種データが格納される。画像データ領域
134には、立体モデル・データ137及び輪郭描画用
モデル・データ135を含むデータが格納される。但
し、後述する輪郭描画用モデル取得処理において輪郭描
画用モデルを生成する場合には、輪郭描画用モデル・デ
ータ135が格納される必要は無い。なお、かすれを表
現するテクスチャ等のデータも画像データ領域134に
格納される。
【0408】輪郭描画用モデル・データ135は、立体
モデル・データ137から予め生成され、以下のような
特徴を有する。
【0409】すなわち、輪郭描画用モデルのサイズは立
体モデルよりひとまわり大きくなるように定義されてい
る。例えば、輪郭描画用モデルは、対応する立体モデル
の各頂点の法線方向に、当該立体モデルの全長の2パー
セントの長さだけ当該頂点が移動されており、全体とし
て2パーセント程度拡大されるように定義される。この
拡大率がより大きい場合は輪郭線はより太く描画され、
拡大率がより小さく、わずかに拡大されただけである場
合には輪郭線はより細く描画される。更に、均一でなく
一部がより拡大されるように定義されれば、より拡大さ
れた部分の輪郭線のみが太く描画される。このサイズの
調整は、通常立体モデルの製作者により行われるので、
当該製作者の意図を反映した輪郭線を描画することがで
きる。
【0410】また、輪郭描画用モデルの各ポリゴンのマ
テリアルの色は、立体モデルと彩度は同じで明度を低く
した色に設定されている。なお、各ポリゴンがすべて黒
などの単一色に設定されている場合もある。また、かす
れ表現用テクスチャをマッピングするための設定がされ
ている場合もある。マテリアルの色は製作者により調整
されるので、当該製作者の意図した色で輪郭線を描画す
ることができる。なお、実施の形態2における輪郭描画
用モデルの各ポリゴンの表裏は反転されていない。実施
の形態1と異なる点である。
【0411】なお、輪郭描画用モデルのサイズは、対応
する立体モデルのサイズと同じ大きさで定義されるとし
てもよい。この場合には、後述する輪郭描画用モデル取
得処理で輪郭描画用モデルが取得された後に、後述する
輪郭描画用モデル配置処理で輪郭描画用モデルの配置用
マトリックスが設定されるまでの間に輪郭描画用モデル
が拡大される。あるいは、輪郭描画用モデル配置処理で
輪郭描画用モデルの配置用マトリックスが設定される際
に、当該配置用マトリックスが拡大変換を含むように当
該配置用マトリックスが決定されるとしてもよい。逆
に、立体モデルを配置する際に、立体モデルの配置用マ
トリックスが縮小変換を含むように立体モデルの配置用
マトリックスが決定されるとしてもよい。
【0412】また、輪郭描画用モデルの各ポリゴンのマ
テリアルの色は、対応する立体モデルの各ポリゴンのマ
テリアルの色と同一であっても良い。この場合、後述さ
れる輪郭描画用モデルの描画処理の際に、例えば、黒な
どの別途定義された色で輪郭描画用モデルが描画され
る。
【0413】サウンドデータ領域136には、図34に
示されたサウンド処理部109によりサウンド出力装置
125からサウンドを出力させるためのデータが格納さ
れる。なお、サウンド処理は本発明と直接関係は無いの
で、サウンドデータ領域136にデータが格納されてい
る必要は無い。
【0414】次に、実施の形態2についての処理フロー
を説明する。以下の処理は、演算処理部103(図3
4)が家庭用ゲーム機本体101内の他の要素を制御し
て実施する処理である。
【0415】[全体の処理フロー]図4に示したレベル
の処理フローは、実施の形態2でも同じである。ゲーム
が開始すると、初期設定が行われる(ステップS2)。
この初期設定の処理には、描画すべきキャラクタを表現
する立体モデルのデータ取得処理が含まれる。さらに、
実施の形態2では輪郭描画用モデルのデータ取得処理も
含まれる。次に、ゲームのプレイヤにより、キーパッド
161のボタンやレバー等の操作が行われる(ステップ
S3)。そして、ステップS3における操作入力の情報
に基づき、例えばキャラクタが左に動く、又はキャラク
タが攻撃する等のキャラクタの行動、視点位置の変更、
視軸の方向の変更、あるいは光源位置の移動、光線の方
向の変更等のゲームを進行させる内容を判断するゲーム
進行処理が行われる(ステップS4)。
【0416】その後ステップS4にて決定されたゲーム
の進行内容に応じて、キャラクタの位置、方向及び形
状、視点の位置や視軸の方向、光源の位置や光線の方
向、更にキャラクタの行動に応じた体力の増減等のゲー
ム進行状況を設定するゲーム進行状況設定処理が行われ
る(ステップS5)。次に、ゲーム進行状況に応じたゲ
ーム画像をフレームバッファ213へ書き込むゲーム画
像描画処理が行われる(ステップS6)。このゲーム画
像描画処理については後に述べる。
【0417】そして、ステップS6のゲーム画像描画処
理にてフレームバッファ213に書き込まれたゲーム画
像を表示するゲーム画像表示処理が行われる(ステップ
S7)。通常フレームバッファ213は書き込み用領域
と表示用領域の2つの領域に分けられており、ここでは
ステップS6にて行われたゲーム画像描画処理にてデー
タが書き込まれた書き込み用領域を表示用領域に切り換
え、表示用領域を次の書き込み用領域に切り換える処理
が実施される。
【0418】次に、ゲームオーバーかどうか判断される
(ステップS8)。ステップS3の操作入力に応じて行
われるゲーム進行状況設定処理(ステップS5)におい
て、ゲームのプレイヤが操作している自キャラクタの体
力が減少され0に設定されると、ゲームオーバーの条件
を満たすことになる。ステップS8では、ゲームのプレ
イヤが操作している自キャラクタの体力が検査され、ゲ
ームオーバーかどうか判断される。もし、自キャラクタ
の体力が0でなければ、ステップS3に戻り次の操作入
力を待つ。一方、ゲームオーバーである場合には、ゲー
ムを終了する。なお、ゲーム終了でもステップS7にて
その結果が表示画面120に表示されているので、プレ
イヤはゲーム最後の状況を表示画面120から把握する
ことができる。
【0419】また、図20に示されたゲーム画像描画処
理(ステップS6(図4))の概要を表す処理フロー
も、図20に示されたレベルにおいて実施の形態2でも
同じである。ゲーム画像中の背景部分を表現するための
背景モデルを描画する背景モデル描画処理が実施される
(ステップS22)。この描画処理は従来と同じ描画処
理であるからここでは詳しく述べない。そして、以下の
ステップS24乃至S27が、全てのキャラクタを描画
するまで繰り返される(ステップS23)。
【0420】繰り返される最初のステップは、1つの未
処理キャラクタを変形する変形処理を実施するステップ
である(ステップS24)。図4のステップS3にて行
われる操作入力に応じて当該未処理キャラクタのモーシ
ョンがステップS4のゲーム進行処理で決定される。そ
してそれに応じてさらに実施されるステップS6のゲー
ム進行状況設定処理にて設定された、当該未処理キャラ
クタを表現する立体モデルの変形処理が実施される。さ
らに、実施の形態2では立体モデルの変形処理に従って
輪郭描画用モデルの変形処理も実施される。
【0421】繰り返される第2のステップは、当該未処
理キャラクタの配置用マトリックスを設定するステップ
である(ステップS25)。配置用マトリックスは、未
処理キャラクタを表現する立体モデルの平行移動・回転
・透視変換のためのマトリックスであり、ステップS5
のゲーム進行状況設定処理にて設定されたキャラクタの
位置座標及び方向並びに視点の位置に基づき生成され
る。上で述べたように、輪郭描画用モデルが既に立体モ
デルより相対的に大きく定義されており且つ輪郭描画用
モデルの基準位置が立体モデルの基準位置と同じであれ
ば、立体モデルの配置用マトリックスを輪郭描画用モデ
ルにも使用することができる。この条件が満たされない
場合には、立体モデル及び輪郭描画用モデルの各々に対
して配置用マトリックスを設定してもよい。また、後に
述べる輪郭描画用モデル描画処理において輪郭描画用モ
デルに対する、拡大変換を含む配置用マトリックスを設
定する場合もある。また、立体モデル描画処理において
立体モデルに対する、縮小変換を含む配置用マトリック
スを設定する場合もある。
【0422】そして、繰り返される第3のステップは、
輪郭描画用モデルを描画する輪郭描画用モデル描画処理
を実施するステップである(ステップS26)。この輪
郭描画用モデル描画処理については第2の輪郭描画処理
にて詳しく述べたので以下では簡単に説明する。
【0423】繰り返される第4のステップは、当該未処
理キャラクタを表現する立体モデルを描画する立体モデ
ル描画処理を実施するステップである(ステップS2
7)。この立体モデル描画処理についても実施の形態1
で詳しく述べたので、以下では簡単に説明する。
【0424】全てのキャラクタが描画された後には、キ
ャラクタの能力等をユーザに表示するためのウインドウ
を描画するウインドウ描画処理を実施する(ステップS
28)。このウインドウ描画処理についても従来と同じ
描画処理であるからここでは詳しく述べない。
【0425】図21を用いて説明したキャラクタ・デー
タの構造は第2の輪郭描画処理と同じであり、最大体力
10の数値、現在の体力12の数値、攻撃力14の数
値、防御力16の数値、基準位置18の座標(x,y,
z)、キャラクタの方向20であるX・Y・Z軸まわり
の回転角、モーション・データへのポインタ22、立体
モデルのモデル・データへのポインタ24、及び輪郭描
画用モデルのモデル・データへのポインタ26を含む。
【0426】次にゲームのプレイヤの操作入力に従うゲ
ーム・ストーリーの進行について簡単な例(図7及び図
8)を説明する。
【0427】図7には、ゲームのプレイヤが自キャラク
タC101を操作し、仮想三次元空間内において自キャ
ラクタを敵キャラクタと戦わせながらストーリーを進展
させるゲームの画像が表示された表示画面120の例が
示されている。ここには、自キャラクタC101の右前
方からの画像が表示されている。表示画面の左には敵キ
ャラクタ1(C111)及び敵キャラクタ2(C11
3)が出現している。
【0428】ここで視点の位置は、自キャラクタと敵キ
ャラクタとの位置関係及び自キャラクタの方向に応じて
ゲーム進行状況設定処理(ステップS5)にて決定され
る。そして、これらの各キャラクタについて当該視点の
位置から非写実的な画像が生成され、表示画面120に
表示される。
【0429】キーパッド161からのプレイヤの操作入
力に応じて、自キャラクタは敵キャラクタを攻撃する。
一方、敵キャラクタは所定のアルゴリズムに従って自キ
ャラクタを攻撃する。
【0430】図8には、図7に示された表示画面の状態
から、ゲームのプレイヤが入力装置161を操作して自
キャラクタC101を表示画面の左方向に動かした場合
の表示画面120が示されている。
【0431】操作入力に応答して「表示画面の左方向に
動く」というキャラクタの行動がゲーム進行処理(図4
ステップS4)にて決定される。このキャラクタの行動
に応じて、キャラクタの方向、位置及び形状が、ゲーム
進行状況設定処理(図4ステップS5)にて決定され
る。この図8の例では、キャラクタの方向が表示画面に
対して左方向に決定され、キャラクタの位置が同じく表
示画面に対して左方向に移動される。また、キャラクタ
の形状には走る動作を表現するための形状が設定され
る。
【0432】このように、キャラクタの方向や位置等の
ゲーム進行状況が変化した場合でも、当該キャラクタは
輪郭線が描かれたセルアニメ調の画像として描画され
る。
【0433】[輪郭描画用モデル取得処理]図4の初期
設定(ステップS2)に含まれ且つ図31に示された輪
郭描画用モデルの取得処理は、実施の形態2でも使用さ
れる。ここではまず、輪郭描画用モデルが生成されるか
否かが判断される(ステップS223)。輪郭描画用モ
デルが生成されないと判断された場合には、CD−RO
M131に格納されている輪郭描画用モデルのデータが
読み出される(ステップS277)。
【0434】もし輪郭描画用モデルが生成されると判断
された場合には、輪郭描画用モデルを生成する処理が行
われる(ステップS225)。この段階において輪郭描
画用モデルを生成する場合には、輪郭描画用モデルの各
ポリゴンは、立体モデルの対応するポリゴンと表裏が同
じものにする(図30参照)。輪郭描画用モデルのサイ
ズは、対応する立体モデルより一回り大きく生成され
る。一方、輪郭描画用モデルの各ポリゴンのマテリアル
の色は、対応する立体モデルの各ポリゴンのマテリアル
の色をより暗くした色で生成される。
【0435】次に、輪郭描画用モデルにかすれを表現す
るテクスチャがマッピングされるか否かが判断される
(ステップS299)。かすれを表現するテクスチャが
マッピングされないと判断された場合と、テクスチャが
マッピングされる処理が終了した場合は、演算処理部1
03は輪郭描画用モデル取得処理を終了する。
【0436】[輪郭描画用モデル配置処理]図20のス
テップS25において未処理キャラクタを表現する立体
モデル及び輪郭描画用モデルの配置用マトリックスが設
定され、その配置用マトリックスにより輪郭描画用モデ
ルの配置処理が行われる。通常輪郭描画用モデルの基準
位置は、立体モデルの基準位置に対応する位置に設けら
れる。そしてその輪郭描画用モデルの基準位置が、立体
モデルの基準位置が配置されている位置と同一又はその
近傍に配置されるように、輪郭描画用モデルの配置用マ
トリックスが設定される。
【0437】ここで立体モデルの方向が変化する場合に
は、輪郭描画用モデルもそれに対応するよう回転変換を
含む配置用マトリックスが設定される。立体モデルの形
状が変化する場合には、輪郭描画用モデルがそれに対応
するよう変形処理が行われる。
【0438】このようにすると、最終的には、相対的に
大きい輪郭描画用モデルが立体モデルを包含するように
配置される。
【0439】[輪郭描画用モデルの描画処理]図32に
示された輪郭描画用モデルの描画処理フローは実施の形
態2でも使用される。ここでは、輪郭描画用モデルの全
ての頂点について処理するまで、以下に説明する処理が
繰り返される(ステップS523)。繰り返し行われる
最初の処理は、1つの頂点に対する頂点変換(拡大・縮
小・回転・平行移動・透視変換)である(ステップS5
25)。ここで注意したいのは輪郭描画用モデルに対し
ては光源計算を実施しない点である。
【0440】そして、当該頂点を含むポリゴン(面)は
通常の判断基準でうら面か否かの判断処理が実施される
(ステップS527)。通常はおもて面しか描画対象と
されないが、実施の形態2の輪郭描画用モデルの場合に
は通常の判定基準でうら面が描画対象とされる。
【0441】もし、当該頂点を含むポリゴン(面)が通
常の判断基準でおもて面であった場合にはステップS5
23に戻る。当該頂点を含むポリゴン(面)が通常の判
断基準でうら面であった場合には、かすれを表現するテ
クスチャをマッピングする否かの判断処理が実施される
(ステップS529)。これはポリゴンに対するテクス
チャ・マッピングを意味している。もし、かすれを表現
するテクスチャをマッピングする場合には、その頂点に
対する、かすれを表現するためのテクスチャのテクスチ
ャ座標の計算処理が実施される(ステップS531)。
もし、かすれを表現するテクスチャをマッピングしない
場合にはステップS533に移行する。
【0442】そして、例えばピクセル処理部970に含
まれる三角形描画処理部205及びピクセルカラー処理
部209(図35)が駆動される(ステップS53
3)。上で述べたように三角形描画処理部205は、三
角形ポリゴンの各頂点のデータを補間して、三角形ポリ
ゴン内部の各ピクセルにおけるデータを生成する。各頂
点のデータは、マテリアルの色、スクリーン座標値、及
びステップS531を実施すればテクスチャ座標値であ
る。また、各ピクセルにおけるデータは、マテリアルの
色及びステップS531を実施すればテクセル・カラー
である。ピクセルカラー処理部209は、三角形描画処
理部205が生成する三角形ポリゴン内部の各ピクセル
におけるデータを使用して、フレームバッファ213に
表示画像を書き込む。この際、Zバッファ211を使用
して隠面消去が行われる。
【0443】[立体モデル描画処理]図9に示された立
体モデルの描画処理のフローは実施の形態2でも使用可
能である。まず、初期設定が行われる(ステップS60
3)。この初期設定では、立体モデルに対応する明度範
囲テーブル(例えば図2又は図3)が取得される。次
に、一つの頂点についての頂点変換(拡大・縮小・回転
・平行移動・透視変換)及び光源計算が行われる(ステ
ップS605)。
【0444】次に、当該頂点を含むポリゴン(面)はお
もて面か否かが判断される(ステップS607)。も
し、当該頂点を含むポリゴン(面)がうら面であった場
合にはステップS605に戻る。当該頂点を含むポリゴ
ン(面)がおもて面であった場合には、頂点変換及び光
源計算が行われた頂点における明度が計算される(ステ
ップS609)。
【0445】ステップS609の後に、頂点変換及び光
源計算された頂点を含むポリゴンの描画用色が計算され
る(ステップS611)。ポリゴンの描画用色は、明度
範囲テーブルに格納された各明度範囲に対応する基準明
度と当該ポリゴンの色とから計算する。
【0446】次に明度範囲テーブルの明度範囲が一つ選
択される(ステップS613)。そして、このポリゴン
の頂点における明度を補間して、当該ポリゴン内部の各
画素における明度(ポリゴンにおける明度分布)を計算
する。頂点の色も補間されるが、3頂点共同じ描画用色
なので補間しても結果は同じである。そして、当該画素
における明度が、選択された明度範囲内であれば、当該
選択された明度範囲に対応する描画用色で当該画素が描
画される(ステップS615)。このステップS613
及びS615は、全ての明度範囲について処理するまで
繰り返される(ステップS617)。
【0447】例えばピクセルカラー処理部209が上限
及び下限の2つの明度値を取り扱うことができない場合
には、Zバッファ211を併用することにより同一の効
果を得ることができる。Zバッファ211は隠面消去に
使われるが、実施の形態2ではZバッファ211の併用
は明度の上限値と比較した場合と同様の効果を奏する。
【0448】以上ステップS605乃至S617まで
が、立体モデルの全ての頂点について処理するまで繰り
返され、結果として全てのポリゴンについて処理するま
で繰り返される(ステップS619)。
【0449】[立体モデル描画処理(その2)]図15
に示された第2の立体モデル描画処理のフローも実施の
形態2に使用可能である。図15ではまず、初期設定が
行われる(ステップS633)。この初期設定では、立
体モデルに対応する明度範囲テーブル(例えば図2又は
図3)が取得される。また、立体モデルの描画用色デー
タを取得しておく。次に、一つの頂点についての頂点変
換(拡大・縮小・回転・平行移動・透視変換)及び光源
計算が行われる(ステップS635)。
【0450】次に、当該頂点を含むポリゴン(面)はお
もて面か否かが判断される(ステップS637)。も
し、当該頂点を含むポリゴン(面)がうら面であった場
合にはステップS635に戻る。当該頂点を含むポリゴ
ン(面)がおもて面であった場合には、頂点変換及び光
源計算が行われた頂点における明度が計算される(ステ
ップS639)。
【0451】そして、頂点変換及び光源計算された頂点
を含むポリゴンの描画用色が、メモリ105から読み出
される(ステップS641)。次に明度範囲テーブルの
明度範囲が一つ選択される(ステップS643)。この
後、このポリゴンの頂点における明度を補間して、当該
ポリゴン内部の各画素における明度(ポリゴンにおける
明度分布)を計算する。頂点の色も補間されるが、3頂
点共同じ描画用色なので補間しても結果は同じである。
そして、当該画素における明度が、選択された明度範囲
内であれば、当該選択された明度範囲に対応する描画用
色で描画する(ステップS645)。このステップS6
43及びS645は、全ての明度範囲について処理する
まで繰り返される(ステップS647)。
【0452】例えばピクセルカラー処理部209が上限
及び下限の2つの明度値を取り扱うことができない場合
には、Zバッファ211を併用することにより同一の効
果を得ることができる。Zバッファ211は隠面消去に
使われるが、本実施の形態ではZバッファ211の併用
は明度の上限値と比較した場合と同様の効果を奏する。
【0453】以上ステップS635乃至S647まで
が、立体モデルの全ての頂点について処理するまで繰り
返され、結果として全てのポリゴンについて処理するま
で繰り返される(ステップS649)。
【0454】以上のような処理を実施すると、立体モデ
ルの全てのポリゴンが所定の段階の明度で塗り分けら
れ、立体モデルについてはセルアニメ調の画像を得るこ
とができるようになる。また、実施の形態2で導入され
た輪郭描画用モデルは、立体モデルの後ろの面のうち立
体モデルに隠れない部分が描画されるので、その部分が
輪郭線としてレンダリングされる。実施の形態2では、
輪郭線の描画には、輪郭描画用モデルを導入するだけで
通常レンダリング処理とほぼ同様の処理を行うことによ
り簡単に輪郭線を描画できるようになる。
【0455】実施の形態2においても、図37、図3
8、図39、図40及び図41に示されたのとほぼ同等
の表示画面120を得ることができる。図37には、表
示画面120の右方向を向いている状態の自キャラクタ
が描画されている。
【0456】自キャラクタが表示画面の右方向に向いて
いる状態から、プレイヤが操作ボタン166LLを押下
すると、それに応答して自キャラクタが表示画面の左方
向へ動くと決定される。その決定に従って、自キャラク
タが表示画面に対して正面を向けた状態の図38を経由
して、自キャラクタが表示画面の左方向を向いている状
態の図39へ遷移する。操作入力に従って自キャラクタ
が動作した場合でも、リアルタイムにセルアニメ調のゲ
ーム画像を得ることができる。
【0457】一方、図40には、図37の状態からプレ
イヤが操作ボタン166RUを操作したのに応答して、
カメラが上方へ動いた状態の表示画面120の例が示さ
れている。自キャラクタの上方からの画像が表示されて
いる。
【0458】図41には、図40の状態からプレイヤが
操作ボタン166RUを更に操作して、カメラを更に上
方へ動かした状態の表示画面120の例が示されてい
る。自キャラクタの更に上方からの画像が表示される。
このように、操作入力に応答してカメラが移動した場
合、すなわち視点が切り替わった場合でも、リアルタイ
ムにセルアニメ調のゲーム画像を得ることができる。
【0459】このようにしてCG技術を使用してリアル
タイムに操作入力に従った、輪郭線が付されたセルアニ
メ調のゲーム画像を得ることができるようになる。
【0460】4.その他の実施の形態 (1)輪郭線を描画するためのアルゴリズムは上で述べ
たものに限定されず、他のアルゴリズムにて描画するこ
とも可能である。
【0461】(2)立体モデルをセルアニメ調に彩色す
るためのアルゴリズムも上に述べたものに限定されず、
他のアルゴリズムにて描画することも可能である。
【0462】(3)実施の形態1及び2の最初の立体モ
デル描画処理においては、立体モデル描画処理を表す図
9でステップS605乃至S609の後にポリゴンの描
画用色を計算する処理をステップS611として実施す
ることになっているが、ステップS615で描画用色を
使用するまでに計算されていれば問題は無い。よって、
ステップS611を、ステップS609又はS605の
前に行っても、ステップS609及びS605と並行し
て行っても、ステップS613の後に行っても、ステッ
プS613と並行して行っても良い。
【0463】(4)実施の形態1及び2の最初の立体モ
デル描画処理を表す図9におけるステップS609で
は、YIQ変換で光源計算後のポリゴンの頂点の明度Y
を計算する。YIQ変換の結果であるI及びQは使用し
ないので計算しない方が高速であるが、既にYIQ変換
を行うルーチン等が存在している場合には、それを用い
てI及びQを計算しても良い。
【0464】(5)実施の形態1及び2の最初の立体モ
デル描画処理を表す図9におけるステップS615で
は、ポリゴンの頂点のデータを補間してポリゴン内部の
画素のデータを生成する。この処理は、一度行えばステ
ップS617による繰り返しで異なる明度範囲を選択・
設定しても変わらないので、結果を保存しておき、使用
するようにしても良い。
【0465】(6)実施の形態1及び2の最初の立体モ
デル描画処理を示す図9におけるステップS605で
は、透視変換を行うと共に光源計算を行っているが、透
視変換はステップS615までに行えばよい。但し、ス
テップS617によるループの外に出したほうが、何回
も透視変換しなくても済む。よって、ステップS605
のタイミングで実行すれば計算量を減らすことができ
る。
【0466】(7)図18および図30では、輪郭描画
用モデルの面と立体モデルの面が一対一になっている
が、輪郭描画用モデルの面の数を減らすことも可能であ
る。面の数が減れば、処理が高速化されるためである。
但し、輪郭描画用モデルの面には立体モデル中に対応す
る面が存在する。
【0467】(8)使用するハードウエアの変更 上で述べた実施の形態では、立体モデル及び輪郭描画用
モデル描画処理の一部の処理を、グラフィックス処理部
111が実行するような実施の形態を開示したが、立体
モデル及び輪郭描画用モデル描画処理全体をグラフィッ
クス処理部111が行っても、演算処理部103が実行
するようにしても良い。
【0468】また図34は一例であって、様々な変更が
可能である。通信インターフェース115を備えるか否
かは任意である。本発明は直接サウンド処理には関係し
ないので、サウンド処理部109を備えている必要は無
い。また、ハードディスクHDD等の記憶装置を別途保
持するようにしても良い。
【0469】また、CD−ROMは記録媒体の一例であ
って、ROMのような内部メモリ、CD−ROM、DV
D−ROM、メモリカートリッジ、フロッピー(登録商
標)ディスク、磁気ディスク、DVD−RAM等の他の
記録媒体であってもよい。その場合にはCD−ROMド
ライブ113を、対応する媒体で読み出し可能なドライ
ブにする必要がある。
【0470】さらに、以上は本発明をコンピュータ・プ
ログラムにより実装した場合であるが、コンピュータ・
プログラムと電子回路などの専用の装置の組み合せ、又
は電子回路などの専用の装置のみによっても実装するこ
とは可能である。その際上で述べた処理フローの各ステ
ップに表される機能毎に装置を構成してもよいし、それ
らの一部又はそれらの組み合せに毎に装置を構成するこ
とも考えられる。
【0471】以上、本発明を実施の形態に基づいて具体
的に説明したが、本発明は上記実施の形態に限定される
ものではなく、その要旨を逸脱しない範囲で適宜変更可
能である。例えば、上記実施の形態では、家庭用ゲーム
機をプラットホームとして本発明を実現した場合につい
て述べたが、本発明は通常のコンピュータ、アーケード
ゲーム機などをプラットホームとして実現しても良い。
場合によっては、携帯情報端末、カーナビゲーション・
システム等をプラットホームにして実現することも考え
られる。
【0472】また、本発明を実現するためのプログラム
やデータは、コンピュータやゲーム機に対して着脱可能
なCD−ROM等の記録媒体により提供される形態に限
定されない。すなわち、本発明を実現するためのプログ
ラムやデータは、図34に示す通信インターフェース1
15により、通信回線141を介して接続されたネット
ワーク151上の他の機器側のメモリに上記プログラム
やデータを記録し、このプログラムやデータを通信回線
141を介して必要に応じて順次メモリ105に格納し
て使用する形態であってもよい。
【0473】[表示例]図43に、本発明を使用しない
場合、すなわちポリゴン内の各画素の色をポリゴンの頂
点の色で補間した場合の画像の一表示例を示す。なお、
図43図44図46及び図47は図7の自キャラクタの
みを拡大表示した表示画面の例である。例えば画像中央
部のキャラクタの顔の耳辺りからキャラクタの顔向かっ
て右側にかけて、明度が自然に変化していく様子がわか
る。一方、図44に、明度範囲(しきい値)が2つ定義
された明度範囲テーブルを使用し且つセルアニメ調彩色
処理のアルゴリズムにて描画した場合の画像の一表示例
を示す。図44で使用されている明度範囲テーブルを図
45に示す。ここではしきい値0.3125に対して基
準明度0.75、しきい値0に対して基準明度0.60
と二段階に設定されている。図44は図43と異なり、
画像中央部のキャラクタの顔の耳辺りからキャラクタの
顔向かって右側にかけて、2段階の明度で塗り分けられ
ていることが分かる。
【0474】また、第1及び第2の輪郭描画処理のアル
ゴリズムにて描画した場合の一表示例を図46に示す。
図46では、例えば画像中央部のキャラクタの顔の耳辺
りからキャラクタの顔向かって右側にかけて、明度が自
然に変化していく様子がわかる。さらに、髪の毛や体、
鞄などの輪郭線も描画されている事がわかる。
【0475】実施の形態1及び2のアルゴリズムにて描
画した場合の画像の一表示例を図47に示す。図45の
明度範囲テーブルが使用されているのは図44と同じで
ある。図47では画像中央部のキャラクタの顔の耳辺り
から人物の顔向かって右側にかけて、2段階の明度で塗
り分けられていることが分かる。さらに、髪の毛や体、
鞄などの輪郭線も描画されている事がわかる。
【0476】本発明のアルゴリズムを使用することによ
り、非写実的なゲーム画像として、輪郭線の付されたゲ
ーム画像、セルアニメ調の画像、輪郭線が描かれたセル
アニメ調の画像を操作入力に応じてリアルタイムに得る
ことができる。
【0477】
【発明の効果】以上説明したように、本発明に係るビデ
オゲームにおける立体モデル表示方法及び装置、ゲーム
装置並びにビデオゲーム用立体モデル表示プログラムを
格納したコンピュータ読み取り可能な記録媒体によれ
ば、操作入力に応答して立体モデルを表示させる方向が
決定され、決定された方向に応じて立体モデルのセルア
ニメ調の描画が行われる。これにより、操作入力により
立体モデルを表示させる方向が変更されても、変更され
た方向からの立体モデルを、リアルタイムにセルアニメ
調の描画を行うことが可能となった。
【図面の簡単な説明】
【図1】セルアニメ調彩色処理の機能ブロック図であ
る。
【図2】明度範囲テーブルの一例を示す図である。
【図3】明度範囲テーブルの一例を示す図である。
【図4】本発明における全体の処理を示すフローチャー
トである。
【図5】セルアニメ調彩色処理におけるゲーム画像描画
処理を示すフローチャートである。
【図6】セルアニメ調彩色処理におけるキャラクタ・デ
ータのデータ構造を示す模式図である。
【図7】ゲームの表示画面の一例を示す図である。
【図8】ゲームの表示画面の一例を示す図である。操作
入力により図7の後に表示される表示画面の一例を示し
ている。
【図9】セルアニメ調彩色処理及び実施の形態1及び2
における立体モデル描画処理を示すフローチャートであ
る。
【図10】ポリゴンモデルのデータ構造を示す模式図で
ある。(a)は立体モデル全体のデータ構造を示し、
(b)は透視変換前の三角形ポリゴンのデータ構造を示
し、(c)は頂点データ・テーブルのデータ構造を示し
ている。
【図11】図6(b)に対応する透視変換後の三角形ポ
リゴンのデータ構造を示す。
【図12】セルアニメ調彩色処理のアルゴリズムにより
三角形ポリゴンを描画した場合において、処理の各段階
を説明するための画像の一例である。(a)及び(b)
はしきい値0.75が設定された場合に描画される領域
を示しており、(c)及び(d)はセルアニメ調彩色処
理においてZバッファを使用しない場合にしきい値0.
5が設定された場合に描画される範囲を示しており、
(e)及び(f)はセルアニメ調彩色処理においてZバ
ッファを使用した場合にしきい値0.5が設定された場
合に描画される範囲を示している。
【図13】セルアニメ調彩色処理のアルゴリズムにより
三角形ポリゴンを描画した場合の画像の一例である。
【図14】従来技術により三角形ポリゴンを描画した場
合における画像の一例である。
【図15】セルアニメ調彩色処理及び実施の形態1及び
2における立体モデル描画処理(その2)を示すフロー
チャートである。
【図16】セルアニメ調彩色処理及び実施の形態1及び
2で使用される三角形ポリゴンのデータ構造の模式図で
ある。図10(b)に対応するものである。
【図17】第1の輪郭描画処理の機能ブロック図であ
る。
【図18】第1の輪郭描画処理におけるカメラ、立体モ
デル、及び輪郭描画用モデルの位置関係を説明するため
の模式図である。立体モデル及び輪郭描画用モデルのお
もて面が向いている方向を矢印で示している。
【図19】CD−ROM131に格納されたデータの例
を示した模式図である。
【図20】第1及び第2の輪郭描画処理及び実施の形態
1及び2のゲーム画像描画処理を示すフローチャートで
ある。
【図21】第1及び第2の輪郭描画処理及び実施の形態
1及び2におけるキャラクタ・データのデータ構造を示
す模式図である。
【図22】第1の輪郭描画処理及び実施の形態1におけ
る輪郭描画用モデル取得処理を示すフローチャートであ
る。
【図23】かすれ表現をするためのテクスチャの一例で
ある。
【図24】第1の輪郭描画処理及び実施の形態1の輪郭
描画用モデル描画処理のフローチャートである。
【図25】三角形ポリゴンの表裏判定を説明するための
模式図である。
【図26】表裏を判定する方法を説明するための模式図
である。
【図27】第1の輪郭描画処理における三角形ポリゴン
の表裏判定を説明するための模式図である。
【図28】第1及び第2の輪郭描画処理における立体モ
デル描画処理のフローチャートである。
【図29】第2の輪郭描画処理の機能ブロック図であ
る。
【図30】第2の輪郭描画処理におけるカメラ、立体モ
デル、及び輪郭描画用モデルの位置関係を説明するため
の模式図である。立体モデル及び輪郭描画用モデルのお
もて面が向いている方向を矢印で示している。
【図31】第2の輪郭描画処理及び実施の形態2におけ
る輪郭描画用モデル取得処理のフローチャートである。
【図32】第2の輪郭描画処理及び実施の形態2におけ
る輪郭描画用モデル描画処理のフローチャートである。
【図33】第2の輪郭描画処理における三角形ポリゴン
の表裏判定を説明するための模式図である。
【図34】本発明に係るプログラムを実行する家庭用ゲ
ーム機の一例を示すブロック図である。
【図35】図34におけるグラフィックス処理部の一例
を示すブロック図である。
【図36】実施の形態1の機能ブロック図である。
【図37】表示画面120の右方向に向いている状態
の、図7に示された自キャラクタのみの一表示例であ
る。
【図38】表示画面120の左方向へ向くために自キャ
ラクタが右足を後ろに引いて方向転換している途中の一
表示例である。
【図39】図38に示されている状態から左足を動か
し、自キャラクタが表示画面の左方向を向いている状態
の一表示例である。
【図40】図37の状態からプレイヤが操作ボタンを操
作したのに応答して、カメラが上方へ動いた状態の一表
示例である。
【図41】図40の状態からプレイヤが操作ボタンを更
に操作して、カメラを更に上方へ動かした状態の一表示
例である。
【図42】実施の形態2の機能ブロック図である。
【図43】従来技術を用いてレンダリングした画像の一
表示例である。
【図44】セルアニメ調彩色処理を用いてレンダリング
した画像の一表示例である。
【図45】図44及び図47のレンダリングにおいて使
用される明度範囲テーブルの一例を示す表である。
【図46】第1及び第2の輪郭描画処理を用いてレンダ
リングした画像の一表示例である。
【図47】実施の形態1及び2を用いてレンダリングし
た画像の一表示例である。
【符号の説明】
1000 家庭用ゲーム機 101 家庭用ゲーム機
本体 103 演算処理部 105 メモリ 107 H
DD 109 サウンド処理部 111 グラフィックス処
理部 113 CD−Rドライブ 115 通信インターフ
ェース 117 インターフェース部 119 内部バス
121 表示装置 125 サウンド出力装置 131 CD−R 1
41 通信媒体 151 ネットワーク 161 キーパッド 120
表示画面 201 バス制御部 205 三角形描画処理部
207 幾何演算部 209 ピクセルカラー処理部 211 Zバッファ 213 フレームバッファ 300,410,700,840,940 操作入力部 310,430,770,810,910 ゲーム進行
部 313,435,775,815,915 キャラクタ
行動決定部 315,440,780,880,980 ゲーム進行
状況設定部 317,443,783,883,983 キャラクタ
方向設定部 318,447,787,887,987 視軸方向設
定部 319,360,720,850,950 配置用マト
リックス設定部 320 立体モデル描画部 322,862,962 頂点変換及び光源計算部 324,864,964 明度計算部 326,866,966 描画用色供給部 328,865,965 明度範囲テーブル 332,868,968 明度範囲設定部 334,390,760,870,970 ピクセル処
理部 336,877,977 明度比較部 350,710,800,900 輪郭描画用モデル取
得部 370,730,820,920 輪郭描画用モデル処
理部 380,750,830,930 かすれ表現テクスチ
ャマッピング部 395,765,873,973 隠面消去処理部 400,740,860,960 立体モデル処理部 735,925 逆転表裏判定部 340,420,790,890 画像表示制御部
フロントページの続き Fターム(参考) 2C001 AA00 AA16 AA17 BA00 BA02 BA06 BC00 BC05 BC06 BC10 CA01 CA05 CB01 CC02 CC08 5B050 AA08 BA09 DA04 FA02 FA06 FA13 5B080 AA13 BA04 FA02 FA05 FA08 GA25

Claims (12)

    【特許請求の範囲】
  1. 【請求項1】仮想三次元空間内における、複数のポリゴ
    ンで構成された立体モデルを描画する、ビデオゲームに
    おける立体モデル表示方法であって、 操作入力に応答して、前記立体モデルを表示させる方向
    を決定する第1ステップと、 前記第1ステップにおいて決定された方向に倣って、前
    記立体モデルと、当該立体モデルを包含する形状を有す
    る、複数のポリゴンで構成された輪郭描画用モデルと
    を、前記輪郭描画用モデルが前記立体モデルを包含する
    位置関係となるように配置する第2ステップと、 前記立体モデルに対して予め与えられた明度の階調数を
    減少させて前記立体モデルを描画すると共に、前記第1
    ステップにおいて決定された方向に対して逆方向に表面
    を向けている、前記輪郭描画用モデルのポリゴンのみを
    描画する第3ステップと、 を含むことを特徴とする、ビデオゲームにおける立体モ
    デル表示方法。
  2. 【請求項2】前記第3ステップが、 前記立体モデルに対して予め与えられた明度の階調数を
    減少させて前記立体モデルを描画すると共に、前記第1
    ステップにおいて決定された方向に対して逆方向に表面
    を向けている、前記輪郭描画用モデルのポリゴンのみ
    を、所定の色を用いて描画するステップであることを特
    徴とする請求項1記載のビデオゲームにおける立体モデ
    ル表示方法。
  3. 【請求項3】前記第1ステップが、 操作入力に応答して前記立体モデルを動かし、前記立体
    モデルを表示させる方向を決定するステップであること
    を特徴とする請求項1記載のビデオゲームにおける立体
    モデル表示方法。
  4. 【請求項4】前記第1ステップが、 操作入力に応答して視点を切り換え、前記立体モデルを
    表示させる方向を決定するステップであることを特徴と
    する請求項1記載のビデオゲームにおける立体モデル表
    示方法。
  5. 【請求項5】前記立体モデルがキャラクタであることを
    特徴とする請求項1乃至4のいずれか一つ記載のビデオ
    ゲームにおける立体モデル表示方法。
  6. 【請求項6】仮想三次元空間内における、複数のポリゴ
    ンで構成された立体モデルを描画するビデオゲーム用立
    体モデル表示プログラムを格納したコンピュータ読み取
    り可能な記録媒体であって、 前記立体モデル表示プログラムは、前記コンピュータ
    に、 操作入力に応答して、前記立体モデルを表示させる方向
    を決定する第1ステップと、 前記第1ステップにおいて決定された方向に倣って、前
    記立体モデルと、当該立体モデルを包含する形状を有す
    る、複数のポリゴンで構成された輪郭描画用モデルと
    を、前記輪郭描画用モデルが前記立体モデルを包含する
    位置関係となるように配置する第2ステップと、 前記立体モデルに対して予め与えられた明度の階調数を
    減少させて前記立体モデルを描画すると共に、前記第1
    ステップにおいて決定された方向に対して逆方向に表面
    を向けている、前記輪郭描画用モデルのポリゴンのみを
    描画する第3ステップと、 を実行させるためのプログラムであることを特徴とする
    コンピュータ読み取り可能な記録媒体。
  7. 【請求項7】前記第3ステップが、 前記立体モデルに対して予め与えられた明度の階調数を
    減少させて前記立体モデルを描画すると共に、前記第1
    ステップにおいて決定された方向に対して逆方向に表面
    を向けている、前記輪郭描画用モデルのポリゴンのみ
    を、所定の色を用いて描画するステップであることを特
    徴とする請求項6記載のコンピュータ読み取り可能な記
    録媒体。
  8. 【請求項8】前記第1ステップが、 操作入力に応答して前記立体モデルを動かし、前記立体
    モデルを表示させる方向を決定するステップであること
    を特徴とする請求項6記載のコンピュータ読み取り可能
    な記録媒体。
  9. 【請求項9】前記第1ステップが、 操作入力に応答して視点を切り換え、前記立体モデルを
    表示させる方向を決定するステップであることを特徴と
    する請求項6記載のコンピュータ読み取り可能な記録媒
    体。
  10. 【請求項10】前記立体モデルがキャラクタであること
    を特徴とする請求項6乃至9のいずれか一つ記載のコン
    ピュータ読み取り可能な記録媒体。
  11. 【請求項11】仮想三次元空間内における、複数のポリ
    ゴンで構成された立体モデルを描画する、ビデオゲーム
    における立体モデル表示装置であって、 操作入力に応答して、前記立体モデルを表示させる方向
    を決定する決定手段と、 前記決定手段により決定された方向に倣って、前記立体
    モデルと、当該立体モデルを包含する形状を有する、複
    数のポリゴンで構成された輪郭描画用モデルとを、前記
    輪郭描画用モデルが前記立体モデルを包含する位置関係
    となるように配置する配置手段と、 前記立体モデルに対して予め与えられた明度の階調数を
    減少させて前記立体モデルを描画すると共に、前記決定
    手段により決定された方向に対して逆方向に表面を向け
    ている、前記輪郭描画用モデルのポリゴンのみを描画す
    る描画手段と、 を有することを特徴とする、ビデオゲームにおける立体
    モデル表示装置。
  12. 【請求項12】仮想三次元空間内における、複数のポリ
    ゴンで構成された立体モデルを描画するゲーム装置であ
    って、 コンピュータと、 前記コンピュータに実行させるプログラムを格納した、
    コンピュータ読み取り可能な記録媒体とを有し、 前記プログラムは、前記コンピュータに、 操作入力に応答して、前記立体モデルを表示させる方向
    を決定する決定処理と、 前記決定処理により決定された方向に倣って、前記立体
    モデルと、当該立体モデルを包含する形状を有する、複
    数のポリゴンで構成された輪郭描画用モデルとを、前記
    輪郭描画用モデルが前記立体モデルを包含する位置関係
    となるように配置する配置処理と、 前記立体モデルに対して予め与えられた明度の階調数を
    減少させて前記立体モデルを描画すると共に、前記決定
    処理により決定された方向に対して逆方向に表面を向け
    ている、前記輪郭描画用モデルのポリゴンのみを描画す
    る描画処理と、 を実行させることを特徴とするゲーム装置。
JP31038399A 1999-10-29 1999-10-29 ビデオゲームにおける立体モデル表示方法及び装置、ゲーム装置並びにビデオゲーム用立体モデル表示プログラムを格納したコンピュータ読み取り可能な記録媒体 Expired - Lifetime JP3502796B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP31038399A JP3502796B2 (ja) 1999-10-29 1999-10-29 ビデオゲームにおける立体モデル表示方法及び装置、ゲーム装置並びにビデオゲーム用立体モデル表示プログラムを格納したコンピュータ読み取り可能な記録媒体
US09/694,784 US6712700B1 (en) 1999-10-29 2000-10-24 Stereo model displaying method and apparatus in video game, game apparatus, and computer-readable recording medium stored with stereo model displaying program for video game

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP31038399A JP3502796B2 (ja) 1999-10-29 1999-10-29 ビデオゲームにおける立体モデル表示方法及び装置、ゲーム装置並びにビデオゲーム用立体モデル表示プログラムを格納したコンピュータ読み取り可能な記録媒体

Publications (2)

Publication Number Publication Date
JP2001126086A true JP2001126086A (ja) 2001-05-11
JP3502796B2 JP3502796B2 (ja) 2004-03-02

Family

ID=18004603

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31038399A Expired - Lifetime JP3502796B2 (ja) 1999-10-29 1999-10-29 ビデオゲームにおける立体モデル表示方法及び装置、ゲーム装置並びにビデオゲーム用立体モデル表示プログラムを格納したコンピュータ読み取り可能な記録媒体

Country Status (2)

Country Link
US (1) US6712700B1 (ja)
JP (1) JP3502796B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9105114B2 (en) 2007-06-11 2015-08-11 Nintendo Co., Ltd. Storage medium storing image processing program and image processing apparatus

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3604312B2 (ja) * 1999-12-28 2004-12-22 株式会社スクウェア・エニックス ビデオゲーム用のプログラムを記録したコンピュータ読み取り可能な記録媒体、ビデオゲームにおけるオブジェクト描画方法及びビデオゲーム装置
US20030063096A1 (en) * 2001-08-15 2003-04-03 Burke Gregory Michael System and method for efficiently creating a surface map
US20030107643A1 (en) * 2001-08-17 2003-06-12 Byoungyi Yoon Method and system for controlling the motion of stereoscopic cameras based on a viewer's eye motion
JP4001227B2 (ja) * 2002-05-16 2007-10-31 任天堂株式会社 ゲーム装置及びゲームプログラム
JP4082937B2 (ja) * 2002-06-07 2008-04-30 任天堂株式会社 ゲームシステム及びゲームプログラム
JP4649192B2 (ja) * 2004-12-14 2011-03-09 株式会社トプコン ステレオ画像作成方法及び3次元データ作成装置
JP2006280731A (ja) * 2005-04-01 2006-10-19 Aruze Corp ゲームプログラム、ゲーム装置及び記録媒体
JP3926828B1 (ja) * 2006-01-26 2007-06-06 株式会社コナミデジタルエンタテインメント ゲーム装置、ゲーム装置の制御方法及びプログラム
CN101192307B (zh) * 2006-11-17 2012-05-23 鸿富锦精密工业(深圳)有限公司 点云三角网格面构建方法
CN113797529B (zh) * 2021-09-18 2023-11-21 珠海金山数字网络科技有限公司 目标展示方法及装置、计算设备和计算机可读存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5966134A (en) * 1996-06-28 1999-10-12 Softimage Simulating cel animation and shading
US5880736A (en) * 1997-02-28 1999-03-09 Silicon Graphics, Inc. Method system and computer program product for shading
JP3804328B2 (ja) 1999-03-02 2006-08-02 株式会社セガ 画像処理装置及び画像処理方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9105114B2 (en) 2007-06-11 2015-08-11 Nintendo Co., Ltd. Storage medium storing image processing program and image processing apparatus

Also Published As

Publication number Publication date
US6712700B1 (en) 2004-03-30
JP3502796B2 (ja) 2004-03-02

Similar Documents

Publication Publication Date Title
US8013865B2 (en) Program, information storage medium, image generation system, and image generation method for generating an image for overdriving the display device
EP2105905A2 (en) Image generation apparatus
US20040036687A1 (en) Methods and apparatus for rendering an image with depth-of-field display
JP3502796B2 (ja) ビデオゲームにおける立体モデル表示方法及び装置、ゲーム装置並びにビデオゲーム用立体モデル表示プログラムを格納したコンピュータ読み取り可能な記録媒体
JP3352982B2 (ja) レンダリング方法及び装置、ゲーム装置、並びに立体モデルをレンダリングするプログラムを格納するコンピュータ読み取り可能な記録媒体
JP2006195882A (ja) プログラム、情報記憶媒体、及び画像生成システム
JP4305903B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP3231029B2 (ja) レンダリング方法及び装置、ゲーム装置、並びに立体モデルをレンダリングするためのプログラムを格納したコンピュータ読み取り可能な記録媒体
JP3253020B2 (ja) レンダリング方法及び装置、ゲーム装置、並びに立体モデルをレンダリングするプログラムを格納するコンピュータ読み取り可能な記録媒体
JP2002063596A (ja) ゲームシステム、プログラム及び情報記憶媒体
JPH09245191A (ja) 透明度変換方法及びその装置、画像処理装置
JP2007272356A (ja) プログラム、情報記憶媒体及び画像生成システム
JP2006011539A (ja) プログラム、情報記憶媒体、及び画像生成システム
JP3538394B2 (ja) ゲームシステム、プログラム及び情報記憶媒体
JP4913399B2 (ja) プログラム、情報記憶媒体及び画像生成システム
JP3052839B2 (ja) 画像処理装置及びその処理方法
JPH11331700A (ja) 画像処理装置および画像処理方法
JP3586253B2 (ja) テクスチャマッピングプログラム
JP2001273519A (ja) ゲームシステム、ゲームシステムにおける画像描画方法およびゲーム用プログラムが記憶されたコンピュータ読み取り可能な記録媒体
JP2011215724A (ja) プログラム、情報記憶媒体及び画像生成システム
JP3372034B2 (ja) レンダリング方法及び装置、ゲーム装置、並びに立体モデルをレンダリングするプログラムを格納するコンピュータ読み取り可能な記録媒体
JP2010033253A (ja) プログラム、情報記憶媒体および画像生成システム
JP2010033302A (ja) 画像生成システム、プログラム及び情報記憶媒体
JP2008077406A (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4521811B2 (ja) プログラム、情報記憶媒体、及び画像生成システム

Legal Events

Date Code Title Description
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: 20031202

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20031208

R150 Certificate of patent or registration of utility model

Ref document number: 3502796

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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: 20071212

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20081212

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

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

Free format text: PAYMENT UNTIL: 20081212

Year of fee payment: 5

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

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

Free format text: PAYMENT UNTIL: 20081212

Year of fee payment: 5

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: 20091212

Year of fee payment: 6

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

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

Free format text: PAYMENT UNTIL: 20091212

Year of fee payment: 6

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

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

Free format text: PAYMENT UNTIL: 20091212

Year of fee payment: 6

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

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

Free format text: PAYMENT UNTIL: 20091212

Year of fee payment: 6

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20091212

Year of fee payment: 6

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20101212

Year of fee payment: 7

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: 20101212

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20111212

Year of fee payment: 8

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: 20111212

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20121212

Year of fee payment: 9

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: 20121212

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20131212

Year of fee payment: 10

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: 20131212

Year of fee payment: 10

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

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

Free format text: PAYMENT UNTIL: 20131212

Year of fee payment: 10

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

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