(57)【特許請求の範囲】
【請求項１】
シーン内にオブジェクトを配置した画面を描画する描画手段に接続された、演算及びデータ保持のいずれかに使用するハードウェアリソースを有するコンピュータに、
対象シーンに配置される必須オブジェクトを含む、第１の種別のオブジェクトに係る処理に割り当てられる前記ハードウェアリソースの第１の使用量を特定する処理と、
前記第１の使用量に基づいて、前記第１の種別とは異なる第２の種別のオブジェクトに係る処理に割り当て可能な前記ハードウェアリソースの第２の使用量を判断する処理と、
前記第２の種別のオブジェクトを前記対象シーンに配置される際の外観を決定するための情報と前記第２の使用量とに基づき、前記対象シーンに配置される前記第２の種別のオブジェクトについて、該オブジェクトの種類と各種類についての外観パラメータとを決定する処理と、
を実行させるプログラム。
【請求項２】
前記第２の種別のオブジェクトの種類の各々は、異なるオブジェクトモデルに対応する請求項１に記載のプログラム。
【請求項３】
前記外観パラメータは、前記第２の種別のオブジェクトに適用されるものとして予め定められたテクスチャのマテリアル属性を変更するものである請求項１または２に記載のプログラム。
【請求項４】
前記マテリアル属性は、マテリアルの基準色、汚れ度合い、劣化度合い、及び変形度合いの少なくともいずれかを含む請求項３に記載のプログラム。
【請求項５】
前記マテリアル属性の各々は、前記テクスチャの少なくともいずれかの領域を前記外観パラメータに応じて適用度が変更可能に構成される請求項３または４に記載のプログラム。
【請求項６】
前記外観を決定するための情報は、前記対象シーンの、ワールド上の位置、時間帯、及び天候の少なくともいずれかに応じた、該対象シーンに配置される前記第２の種別のオブジェクトの種類と各種類についての外観パラメータとを予め定めるものであり、
前記決定する処理は、前記対象シーンに配置される第２の種別のオブジェクトの種類として、前記対象シーンについて前記外観を決定するための情報により定められた前記第２の種別のオブジェクトの種類のうちの、前記第２の使用量に応じた数の種類を選択する請求項１乃至５のいずれか１項に記載のプログラム。
【請求項７】
前記決定する処理は、前記対象シーンに配置される第２の種別のオブジェクトの１つの種類に対して異なる複数の外観パラメータを決定し、
前記プログラムは、前記決定する処理により決定された前記対象シーンに配置される第２の種別のオブジェクトの各々を、該オブジェクトの外観パラメータに基づいて前記描画手段に順次描画させる処理をさらに前記コンピュータに実行させる請求項１乃至６のいずれか１項に記載のプログラム。
【請求項８】
前記プログラムは、前記対象シーンに配置されるオブジェクトを、動的変化に応じた制御対象として管理する処理をさらに前記コンピュータに実行させ、
前記管理する処理は、前記第２の種別のオブジェクトについては、前記対象シーンに配置される際に制御対象として管理した後に制御対象から除外する請求項１乃至７のいずれか１項に記載のプログラム。
【請求項９】
前記プログラムは、前記対象シーンに配置されるオブジェクトの挙動を制御する処理をさらに前記コンピュータに実行させ、
前記制御する処理は、前記対象シーンにおいて、前記第１の種別のオブジェクトのうちの所定のオブジェクトから予め定められた距離を隔てずに配置される前記第２の種別のオブジェクトの挙動を動的変化に対応する方式で制御し、該所定のオブジェクトから前記予め定められた距離以上隔てて配置される前記第２の種別のオブジェクトの挙動を動的変化に対応しない方式で制御する請求項１乃至８のいずれか１項に記載のプログラム。
【請求項１０】
前記動的変化に対応する方式は、地形を含む他のオブジェクトとの衝突判定を考慮して挙動を制御するものであり、
前記動的変化に対応しない方式は、前記他のオブジェクトとの衝突判定を考慮せず、予め定められた経路上において挙動を制御するものである請求項９に記載のプログラム。
【請求項１１】
請求項１乃至１０のいずれか１項に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１２】
シーン内にオブジェクトを配置した画面を描画する描画手段に接続された、演算及びデータ保持のいずれかに使用するハードウェアリソースを有する情報処理装置であって、
対象シーンに配置される必須オブジェクトを含む、第１の種別のオブジェクトに係る処理に割り当てられる前記ハードウェアリソースの第１の使用量を特定する特定手段と、
前記特定手段により特定された前記第１の使用量に基づいて、前記第１の種別とは異なる第２の種別のオブジェクトに係る処理に割り当て可能な前記ハードウェアリソースの第２の使用量を判断する判断手段と、
前記第２の種別のオブジェクトを前記対象シーンに配置される際の外観を決定するための情報と前記判断手段により判断された前記第２の使用量とに基づき、前記対象シーンに配置される前記第２の種別のオブジェクトについて、該オブジェクトの種類と各種類についての外観パラメータとを決定する決定手段と、
を有する情報処理装置。
【請求項１３】
シーン内にオブジェクトを配置した画面を描画する描画手段に接続された、演算及びデータ保持のいずれかに使用するハードウェアリソースを有する情報処理装置の制御方法であって、
対象シーンに配置される必須オブジェクトを含む、第１の種別のオブジェクトに係る処理に割り当てられる前記ハードウェアリソースの第１の使用量を特定する工程と、
前記第１の使用量に基づいて、前記第１の種別とは異なる第２の種別のオブジェクトに係る処理に割り当て可能な前記ハードウェアリソースの第２の使用量を判断する工程と、
前記第２の種別のオブジェクトを前記対象シーンに配置される際の外観を決定するための情報と前記第２の使用量とに基づき、前記対象シーンに配置される前記第２の種別のオブジェクトについて、該オブジェクトの種類と各種類についての外観パラメータとを決定する工程と、
を有する制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、記録媒体、情報処理装置及び制御方法に関し、特にハードウェア制約下におけるオブジェクト生成技術に関する。
【背景技術】
【０００２】
近年、ＣＰＵやＧＰＵのようなプロセッサの演算能力の向上に伴い、コンピュータグラフィックスの分野においても現実世界に近い描画表現が可能となり、現実感を与え、観察者をより没入させる体験を提供可能な技術が提案されてきている。特に電子ゲームの分野では、写実的に表現された広大な仮想世界内におけるシームレスな移動をプレイヤに提供可能な、所謂オープンワールドの形式のゲームが操作自由度の観点から一定の評価を得るようになってきている（特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−２１３４８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１のようなオープンワールドのゲームにおける現実感の提示は、現実世界の忠実な描画再現（照明演算等）に基づく美麗なグラフィックスだけでなく、キャラクタや可動ギミック・オブジェクト（プロップス）等が状況に応じて動的に変動する様を再現すること等によってももたらされる。特に近年では自然法則に則った振る舞いを再現する、所謂物理シミュレーションに基づいた様々な演算を行うことで、より高い現実感をプレイヤに知覚させることができる。また、配置されるフィールド上に埋め込まれた情報や現在の状況を示す可変の情報に基づき、キャラクタが予め定められた情報に従って意思決定を行う、所謂人工知能（ＡＩ）等の実装がなされることにより、該キャラクタを個性を持った個体としてプレイヤに認識させることもできる。
【０００５】
一方で、このような現実感の向上のための実装は一般に多くの演算リソースやメモリリソースを消費することになるため、プレイヤのゲームコンソールやＰＣ等における演算能力やメモリ規模が向上していたとしても、例えば対応するデータの展開や保持に利用されるメモリ容量を逼迫する、あるいはフレーム時間内に終了させるべき演算量が膨大になる等の懸念があった。
【０００６】
またゲームのようなコンテンツでは、プランナ等が提供すべきとしていた必須のゲーム要素の提供が優先されるため、いずれかの処理に優劣をつけてハードウェア制約下で現実感の向上施策を実現する必要がある。しかし、例えば固定のキャラクタ群等の描画オブジェクトの配置を含む該オブジェクトに係る種々の演算処理を行うことで必須のゲーム要素を実現するだけでは、好適な現実感の提供ができない可能性がある。即ち、現実感とは偶発性に基づいて提供されるものであるため、例えば地域、時間帯、天候等に応じて動的に変化する、所望の世界観を構築し、かつ個体差を有するオブジェクト等の、所謂賑やかし要素の配置・制御が重要となる。
【０００７】
しかしながら、ハードウェアの制約下、即ち必須要素に応じて動的に変化し得る限られたリソースを用いて、好適にこのような賑やかし要素を配置・制御する技術はこれまで提案なされていなかった。
【０００８】
本発明の少なくとも１つの実施形態は、上述の問題点に鑑みてなされたものであり、ハードウェア制約下において、現実感を提示する描画オブジェクトを好適に生成及び制御するプログラム、記録媒体、情報処理装置及び制御方法を手供することを目的とする。
【課題を解決するための手段】
【０００９】
前述の目的を達成するために、本発明の少なくとも１つの実施形態に係るプログラムは、シーン内にオブジェクトを配置した画面を描画する描画手段に接続された、演算及びデータ保持のいずれかに使用するハードウェアリソースを有するコンピュータに、対象シーンに配置される必須オブジェクトを含む、第１の種別のオブジェクトに係る処理に割り当てられるハードウェアリソースの第１の使用量を特定する処理と、第１の使用量に基づいて、第１の種別とは異なる第２の種別のオブジェクトに係る処理に割り当て可能なハードウェアリソースの第２の使用量を判断する処理と、第２の種別のオブジェクトを対象シーンに配置される際の外観を決定するための情報と第２の使用量とに基づき、対象シーンに配置される第２の種別のオブジェクトについて、該オブジェクトの種類と各種類についての外観パラメータとを決定する処理と、を実行させる。
【発明の効果】
【００１０】
このような構成により本発明の少なくとも１つの実施形態によれば、ハードウェア制約下において、現実感を提示する描画オブジェクトを好適に生成及び制御することが可能となる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態に係るゲームコンソール１００の機能構成を示したブロック図
【図２】本発明の実施形態に係るＮＰＣカーの外観を異ならせるためのデータを説明するための図
【図３】本発明の実施形態に係る、１つのモデルデータについて定められた描画用プログラムにより生成される異なる外観のＮＰＣカーを示した図
【図４】本発明の実施形態に係るゲームコンソール１００において実行されるＮＰＣカー配置処理を例示したフローチャート
【図５】本発明の実施形態に係るＮＰＣカー配置用情報を例示した図
【発明を実施するための形態】
【００１２】
［実施形態］
以下、本発明の例示的な実施形態について、図面を参照して詳細に説明する。なお、以下に説明する一実施形態は、情報処理装置の一例としての、ゲームコンテンツに係るシーン内に描画オブジェクトを配置した画面を描画する描画部を有するゲームコンソールに、本発明を適用した例を説明する。しかし、本発明は、シーン内に描画オブジェクトを配置した画面の描画機能を有する装置を一体として有している機器に限らず、該機能を有する機器が直接または間接的に接続された、演算及びデータ保持のいずれかに使用するハードウェアリソースを有する任意の機器に適用可能である。
【００１３】
また、本明細書において、「ＰＣ」とは、プレイヤが操作入力インタフェースに対して行った操作に応じて直接的に動作制御がなされるプレイヤキャラクタ（Player Character）を指し、「ＮＰＣ」とはＰＣとは異なり、プレイヤが行った操作に基づかず、またはプレイヤが行った操作に応じて間接的に動作制御がなされる非プレイヤキャラクタ（Non-Player Character）を指すものとする。また、ＰＣ、ＮＰＣのようなキャラクタのオブジェクトや、後述の自動車のオブジェクト、あるいは風や雨、ＰＣの移動に起因して動作が誘発される植物のような背景（ＢＧ）オブジェクト等、挙動の制御を行うオブジェクトは必要に応じて物理シミュレーションにより、環境変化や動的変化に応じた挙動に係る位置や姿勢決定等の演算を行うが、以下の説明では単にこれらを総じて「物理演算」と称する。また本実施形態では簡単のため、「物理演算」には挙動に係る演算の他、光源の存在によって生じる直接光源及び間接光源による陰影や輝度変化に係る演算や、鏡面や水たまり等の反射によって生じる映り込みの再現に係る演算、あるいは天候やキャラクタの特定の技能に起因する視覚的効果（ＶＦＸ：Visual Effects）の描画に係る演算等、シミュレーションに基づいて結果を求める演算も含まれるものとして以下では説明する。
【００１４】
また詳細は後述するが、特に毎フレーム情報が更新されるようなゲームコンテンツの提供においては、提供に際し、必須の描画オブジェクトのデータ展開や該オブジェクトに係る演算等、ＣＰＵやメモリ等のハードウェアリソースを優先的に割り当てて実行すべき処理が存在する。つまり、上述した所謂賑やかし要素のような描画オブジェクトは優先的な割り当てが行われた後の余剰リソースを使用して行う必要がある。本実施形態では、このように余剰リソースを使用してデータ展開や処理がなされるべき描画オブジェクトの一例として車オブジェクトを挙げ、以下「ＮＰＣカー」として説明する。なお、余剰リソースが割り当てられて描画に係る処理が行われる描画オブジェクトは、車オブジェクトに限られるものでなく、他の種類のオブジェクトや場合によってはＮＰＣが含まれてもよいことは容易に理解されよう。
【００１５】
なお、必須の描画オブジェクトとは、プレイヤによるゲームプレイ中の、プレイヤの操作対象となるＰＣの位置あるいは画面描画に係る視点の位置に応じて変動し得る要素である。本実施形態では、ゲームコンテンツのプレイ中に提供される画面には通常ＰＣが捉えられているものとし、ＰＣ、ゲーム内でＰＣの「仲間」として行動を共にする仲間キャラクタ、特定のイベントに関与する人物やゲーム内店舗店主のようなサブキャラクタ、及びゲームコンテンツのワールド内において特定の位置に配置されることが定められた建造物等の物体であって、ＰＣの存在するワールド位置から視認可能とされる物体の各々に係るオブジェクトが、ゲームの進行状況に応じて必須の描画オブジェクトとして扱われるものとし、以下単に「必須オブジェクト」と称する。
【００１６】
《ゲームコンソール１００の構成》
図１は、本発明の実施形態に係るゲームコンソール１００の機能構成を示すブロック図である。
【００１７】
制御部１０１は、例えばＣＰＵ等のゲームコンソール１００が有する各ブロックの動作の制御、及び提供するゲームコンテンツに係る処理を実行する。制御部１０１は、例えば記録媒体１０２に記録されている各ブロックの動作プログラムやゲームプログラムを読み出し、メモリ１０３に展開して実行することにより、各ブロックの動作制御やゲームコンテンツの提供に係る動作を行う。
【００１８】
記録媒体１０２は、例えばゲームコンソール１００が内蔵する不揮発性のＲＯＭ、ゲームコンソール１００に着脱可能に接続されるＨＤＤ、光学ドライブに挿入されることで読み出しが可能となる記録メディア等の記録装置である。記録媒体１０２は、ゲームコンソール１００が有する各ブロックの動作プログラムやゲームプログラムに限らず、各ブロックの動作において必要となる各種パラメータや描画オブジェクトのデータ等を記録する。描画オブジェクトのデータは、例えばオブジェクトを一意に特定する識別情報であるオブジェクトＩＤに関連付けて、モデルデータ、テクスチャデータ、シェーダ等の描画用プログラムを有するものとする。
【００１９】
メモリ１０３は、例えば揮発性メモリである。メモリ１０３は、各ブロックの動作プログラムやゲームプログラムの展開に限らず、各ブロックの動作において出力された中間データ、ゲームプログラムの実行において定義された各種情報を一時的に記憶する格納領域としても用いられる。本実施形態では、本発明の説明上、その特性から後述の描画メモリ１０５とメモリ１０３とは峻別して説明する。
【００２０】
描画部１０４は、例えばＧＰＵ等の、描画に係る各種演算及び最終出力である外部の表示装置に提示するためのゲーム画面の生成を行う描画装置である。描画部１０４は、例えばＧＰＵメモリであってよい描画メモリ１０５に必要な描画オブジェクトのデータを読み出して展開し、必要な演算を適用しながら描画を行い、毎フレームのゲーム画面を生成する。
【００２１】
表示出力部１０６は、ゲームコンソール１００が有する表示出力インタフェースであり、接続された不図示の表示装置に対し、描画部１０４により生成されたゲーム画面を所定のタイミングで出力し、プレイヤにゲームコンテンツの提供を行うことができる。表示装置はゲームコンソール１００の外部に存在し、有線または無線でゲームコンソール１００に接続されるものであってもよいし、ゲームコンソール１００の筐体内に一体に設けられるものであってもよい。
【００２２】
操作入力部１０７は、例えばゲームパッド、キーボード、マウス等のゲームコンソール１００が有するユーザインタフェースである。操作入力部１０７は、これらの種々のユーザインタフェースにより受け付けられたプレイヤによる操作入力を解析し、対応する制御信号を制御部１０１に伝送する。あるいは操作入力部１０７は、解析した操作入力に対応するイベントの発生を制御部１０１に通知する。
【００２３】
《現実感提示に係るＮＰＣカー周りの処理の概要》
好適な現実感の提示には、上述したように動的要素に応じた挙動や個体差を有する描画オブジェクトの配置や、世界観を考慮した描画オブジェクトの傾向等を考慮することが必要となる。以下、まず本実施形態に係るゲームコンソール１００で提供するゲームコンテンツについて、ハードウェアリソースの制約下における現実感提示に係るＮＰＣカー周りの処理の概要を説明する。
【００２４】
〈ハードウェアリソースによる制約〉
まず、ハードウェアリソースにより生じる制約について説明する。本実施形態のゲームコンソール１００により提供されるゲームコンテンツでは、プレイヤはＰＣを操作することによりオープンワールドの広大なフィールドを移動することができる。上述したように、このような移動に伴い変化するゲームの進行状況に応じて必須オブジェクトは変化するが、各状況において必須オブジェクトについて定められた描画用の各種データが描画メモリ１０５に格納される必要がある。また上述したような必須オブジェクトに加え、ＰＣの戦闘相手となる敵キャラクタの描画オブジェクト、ＰＣや仲間キャラクタが装着あるいは搭乗する装備品や乗り物等の必須オブジェクトに従属させられる描画オブジェクトは、シナリオやゲームの進行状況に応じて描画の有無が制御されるものであり、ＮＰＣカーのように進行状況に依らず描画の有無を切り替えることはできない。即ち、予め定められた必須オブジェクト以外にも、ゲーム要素として状況に応じて優先的な配置が必要となるオブジェクト（優先オブジェクト）についても、該オブジェクトについて定められた描画用の各種データが描画メモリ１０５に格納される必要がある。即ち、描画メモリ１０５には必須オブジェクト及び優先オブジェクトの描画に係り必要となるデータの展開領域が必要となるため、必然的にＮＰＣカーの描画に際しては描画メモリ１０５の余剰リソースに依る制約を受けることになる。
【００２５】
またメモリ面では、例えばＰＣの存在するエリアごとに意思決定等のＮＰＣの制御に必要な情報及びＮＰＣの状態を示す情報を管理するためのメモリ１０３のリソースが割かれる。現実感提示のためには、世界観に応じて変動はあり得るが、常に過疎の状態であるかのような感覚をプレイヤに与えないため、性別や服装等が異なる、エリアに応じた数の多種多様なＮＰＣを登場させることが可能に管理する必要がある。またこれらのＮＰＣは、同一のＮＰＣが近距離に複数存在する、街など異なる位置に移動したとしても行く先々で常に存在する等の非現実的な状態を生じさせぬよう、各々独立して位置や行動等の状態を管理する必要がある。ＮＰＣカーも同様に非現実的な状態を生じさせぬよう位置や挙動等の状態を管理する必要があるが、必然的に描画すべきとの判断される可能性はＮＰＣよりも低い、即ち例えば必須のＮＰＣの配置を断念してまでＮＰＣカーを配置する必要性が低いため、メモリ１０３のリソースはＮＰＣ管理のためのデータの保持に優先的に割り当てられる。従って、ＮＰＣカーの描画及び管理に係り必要となるデータを保持するための領域は、必然的にメモリ１０３の余剰リソースに依る制約を受けることになる。
【００２６】
またさらに、物理シミュレーションの実現のため、制御部１０１や描画部１０４は所定の物理演算を各々の演算リソースの範囲で受け持つ。即ち、制御部１０１や描画部１０４は現実感提示のために、例えば必須オブジェクトについての物理演算に係る処理を行う必要があるため、必然的にＮＰＣカーの描画、移動計算、（必要があれば）物理演算は、演算リソースの余剰リソースによる制約を受けることになる。
【００２７】
このように、描画の必要性が低位に割り当てられるＮＰＣカー周りの処理は、ゲームコンソール１００のハードウェアリソースの制約下において、現実感を破たんさせぬよう処理を実行する必要がある。
【００２８】
〈描画オブジェクトの挙動〉
挙動に関して言えば、一般にキャラクタオブジェクトでは、プレイヤの操作対象となるＰＣや、ゲーム内でＰＣの「仲間」として行動を共にする仲間キャラクタ、ＰＣの戦闘相手となる敵キャラクタ、特定のイベントに関与する人物やゲーム内店舗店主のようなサブキャラクタ等、固定の役割を与えられているキャラクタの挙動はプレイヤに注目されやすい要素となるため、好適な現実感の提示のためにその挙動が不自然とならないよう優先的に制御する必要がある。一方で、例えばキャラクタオブジェクトであったとしてもその場に座っているだけのような固定の役割を与えられていない賑やかし要素のキャラクタや、ＰＣから遠く隔てて存在するキャラクタ、画面の描画範囲に入らないあるいは遮蔽されているキャラクタ等は、プレイヤから注目されにくいと言える。
【００２９】
同様に、ＮＰＣカーのようなキャラクタではない物体のオブジェクトでは、例えば路面の凹凸やＢＧオブジェクト、固定ではない障害物（小道具、プロップス）、走行車線上に進入してきたキャラクタオブジェクト等の存在に応じて挙動を変化させることが現実感提示のためには好ましく、状況を判断した動的な挙動制御が必要となる。一方で、このような動的な挙動変化はプレイヤがそのオブジェクトのおかれている状況を把握し得る状況でなければ、その挙動の要因を理解し得ないため、画面描画に際しＰＣを基準に配置される視点から遠方にあるオブジェクトについては、動的な挙動制御をすることはあまり意味をなさない。しかしながら、ＮＰＣカーのような動体は遠方に移動していく過程も注目されうる存在と言えるため、ＰＣからの距離が離れたとしてしても、そのことをもって描画を中止することは、注目していた物体が突然消失した等の非現実的な印象をプレイヤに与えうる。
【００３０】
従って、本実施形態ではＮＰＣカーの動的な挙動制御の有無を、ＰＣからの距離に応じて切り替える。具体的にはＰＣから予め定められた距離を隔てていないＮＰＣカーについては動的な挙動制御の対象として優先的にハードウェアリソースを割り当て、路面等のＢＧオブジェクトやプロップスのコリジョンを考慮した物理演算に基づいて制御に係る処理を行う。一方で、ＰＣから予め定められた距離を超えて配置されるＮＰＣカーについては、動的な挙動制御の対象から外す。この際、通常はＮＰＣカーは路面のコリジョンによる反発に基づいて路面上に維持されるよう制御がなされているため、路面コリジョンを考慮しない状態にするのではなく（物理シミュレーションに従えば落下してしまう）、物理演算を行わず、道路のルートを示す情報（カーブの曲線を３次元座標で規定した情報）に沿って移動させるように処理を異ならせる。
【００３１】
また、ＰＣからの距離に応じてこのような切り替えを行うため、切り替えのタイミングで不自然な挙動とならないよう、例えば距離が遠ざかる場合には動的な挙動制御により切り替わり位置まで進行してきた速度の情報を引き継いで、ルートに沿った移動処理に遷移させるようにする。また反対に距離が近づく場合には、切り替わり位置までのルートに沿った移動処理の速度を初速として、物理演算を開始するよう制御する。
【００３２】
この他、天候や時間帯によってはＮＰＣカーはヘッドライト等を点灯状態とすることが現実的な場合があるが、例えば光源により生じる陰影の表現や反射等に係る物理演算は演算量が多くなるため、挙動に係る物理演算よりも実行対象とするＮＰＣカーとＰＣとの距離を短くしてもよい。即ち、ＰＣから所定の距離に配置されるＮＰＣカーについては点灯状態となった光源に係る演算を行い、該光源に係る他のオブジェクトへの影響を考慮するが、該距離を離れたＮＰＣカーについては、陰影描画に係る演算を実行しない、照射範囲を制限する等の処理を行ってもよい。またこのような物理演算の切り替えは、光源に限らずＶＦＸによる影響に対して適用されてもよいし、また切り替えを行う距離の閾値を段階的に設け、各段階で実行内容を制限するようにしてもよいことは言うまでもない。
【００３３】
〈描画オブジェクトの個体差〉
個体差の要素は通常、上述したような固定の役割を有するキャラクタや該キャラクタに対応付けられた装飾品、乗り物等の必須オブジェクトたり得る物体オブジェクトには、予め専用のモデル、テクスチャ、描画用プログラム等が設けられる。また、コンテンツにおいて繰り返しＰＣが訪問する特定の街やポイントに配置される建造物やギミック等も、同様に専用の描画用のデータが設けられる。これらの描画用オブジェクトについては、繰り返し画面上に現されることで、オブジェクトがいずれの個体を示しているかをプレイヤに識別可能に認識させることができる。
【００３４】
一方で、ＮＰＣカーのようにプレイヤに識別可能に認識させる必要がないオブジェクトについては、各々異なる専用のモデルやテクスチャを設ける必要性が低い。特にＮＰＣカーのような描画オブジェクトは、必ずしも決まった台数だけ登場させればよい訳ではなく、世界観や時間帯等、コンテンツにおける所望の表現及びコンテンツ内の状況に応じて登場させる数を制御すべきである。このような表示優先度の位置づけに鑑みると、例えば交通量の多い都市部を表現するために数十台のＮＰＣカーの配置が必要であったとしても、その全てについて各々異なる専用モデル及びテクスチャを描画メモリ１０５に展開して描画することは現実的ではない。即ち、上述したように必須オブジェクトに係る専用の描画用データを描画メモリ１０５に展開する必要があるため、数十台のＮＰＣカーに係る描画用データは、描画メモリ１０５の余剰リソースを使用して展開しなければならない。
【００３５】
これに対し、例えば限られた車種のＮＰＣカーであれば描画用データを描画メモリ１０５の余剰リソースに展開することはできる。しかしながら、数十台のＮＰＣカーが限られた車種のＮＰＣカーで描画されることは、プレイヤに好適な現実感を与えることはできない。即ち、現実世界において、限られた車種の自動車ばかりが数十台も１つの都市部に存在することは稀であるため、プレイヤに対して不自然な印象を与えうる。これに対し、同一車種のＮＰＣカーのモデルに異なるテクスチャを適用することで、異なる種類のＮＰＣカーを表現することは可能である。しかしながら、美麗な描画表現とするためには一般に画素数が多いテクスチャを必要とするが、このようなテクスチャはデータ量が多く、描画メモリ１０５の余剰リソースに展開可能な数も制限されうる。
【００３６】
本実施形態では、ＮＰＣカーに係る次のような描画用プログラムを用いることで、１つのモデルについて関連付けられた限られた数のテクスチャやマップから、異なる外観を形成する複数種類のテクスチャを構成する、個体差を提示するＮＰＣカーを生成する仕組みを用いる。これにより、同一モデルを用いた複数種類のＮＰＣカーを生成する手法に比べて、１種類のＮＰＣカーに係り使用する描画メモリ１０５の占有率を低減させることを可能ならしめる。
【００３７】
具体的には本実施形態のゲームコンテンツように有機物のオブジェクトとして自動車モデルを用いる場合、例えばＮＰＣカーの個体差を表現するためにボディ部（塗装部及び金属部）、内装＋タイヤ＋幌部、及びガラス＋発光部（灯火類）の３種類の部位のマテリアル表現を各々異ならせることができるようテクスチャ及び描画用プログラムを構成する。例えばボディ部を例に説明すると、図２（ａ）に示されるようにＮＰＣカーの１つのモデルについてボディ部用の１つの基準色テクスチャが用意される。該基準色テクスチャでは、車の外観となる基準色が適用される部位が白で構成されており、描画用プログラムにより該部位に対して適用する基準色の色値を指定値に変更してモデルに適用することを可能にする。なお、基準色の領域は、図２（ｂ）に示されるようなマルチマスクにより描画用プログラムに認識させることができる。図２（ｂ）の例では対象のＮＰＣカーモデルに対して２種類の基準色をボディの異なる領域に選択可能なように構成されており、各基準色が適用される部位を示すマスク２０１及び２０２が１つの画像の異なるチャネル（図２（ｂ）の例ではｒチャネルとｇチャネル）として保持される。
【００３８】
また図２（ｂ）に示されるようにマルチマスクの別のチャネル（ｂチャネル）には、ボディに生じる汚れの分布を表現するための、ダメージパターン２０３が設けられる。ダメージパターンでは、画素値の範囲が指定されることで、該範囲に含まれる画素値を有する画素を、基準色テクスチャに対してダメージ表現を付加する画素として指定することができる。本実施形態のゲームコンテンツでは、ＮＰＣカーのボディの汚れ表現として錆、褪色、塗装剥離、凹凸を付加可能に構成する。これらの汚れ表現は、ダメージパターン２０３を分割したタイルごとに、指定された範囲の画素値を有する画素に対して、各表現用に設けられたカラーテクスチャ、カラーマスク、質感マップ、法線マップ、色彩マップ等を適用することにより実現する。
【００３９】
このように、本実施形態のゲームコンテンツでは各種マテリアルのパラメータを指定して描画用プログラムを実行することで、予め定められた基準色テクスチャを適用したモデルデータを描画する際には、パラメータに応じたマテリアル表現のテクスチャが適用されたように描画することができる。これにより、各ＮＰＣカーモデルについて複数のテクスチャを展開しなくとも、異なる外観を示すテクスチャが適用された印象をプレイヤに与え得る、図３（ａ）〜（ｄ）のようなＮＰＣカーを生成することができる。従って、描画メモリ１０５の限られた余剰リソース内でも現実感を崩壊させないＮＰＣカー描画を行うことができる。
【００４０】
〈その他、世界観に基づく制御〉
この他、本実施形態のゲームコンソール１００が提供するゲームコンテンツでは、現実感提示のための要素として、世界観に基づいたＮＰＣカー生成の制御を行う。世界観は、例えばゲーム内の特定のエリアや特定の時間帯において通行頻度が高い車種の傾向、車種ごとの搭乗キャラクタの傾向（性別、人数、人間関係等）を予め定めることにより実現される。例えば工業地域であればトラック等の工業用車種が多い一方で街エリアでは小型車種が多い、夜の時間帯や雨の日は一般層向け車種の通行頻度が少ない、特定の車種は男女のキャラクタが２人で搭乗する傾向にある、派手なデザインの車種はエリアには限定数しか配置されない等、エリアごとに定められた世界観に応じて、生成されるＮＰＣカーの車種、配置台数が定められていてよい。またこのような通行頻度等の傾向は、選択されるマテリアル要素とも連動して定められていてよく、例えば新品のＮＰＣカーばかり、あるいは錆びたＮＰＣカーばかりが通行する不自然な状況を回避するために、各車種の配置は、エリアや時間帯に応じて、マテリアルの傾向（特に基準色以外の要素）も定めるものであってよい。
【００４１】
また、例えばガソリンスタンドや駐車場等、多数の車が配置されることが好ましいエリアでは、上述したように路面や地形の凹凸を考慮して物理演算を行ってＮＰＣカーを配置する必要がある。しかしながら、このような所謂賑やかし要素は現実感提示には必要となるが、通常このようなＮＰＣカーは停止しており、配置後に移動する状況となるまでは物理演算を行う必要性はない。即ち、上述したようにＰＣからの距離に応じて物理演算の有無を切り替えるだけでなく、配置されるエリアや配置の趣旨に応じて物理演算の対象とするか否かは制御されるべきである。従って、本実施形態では賑やかし要素のような配置のみを主たる目的としたＮＰＣカーについては、地形の凹凸を考慮しない配置とならないように配置時には物理演算を行って接地させるが、所定の時間の経過後は物理演算が不要となるため、ＰＣからの距離に依らず静的なオブジェクトに属性を変更し、物理演算の実行対象から外すことで不要なハードウェアリソースの消費を回避する制御を行う。
【００４２】
《ＮＰＣカー配置処理》
このような構成をもつ本実施形態のゲームコンソール１００において実行されるＮＰＣカー配置処理について、図４のフローチャートを用いて具体的な処理を説明する。該フローチャートに対応する処理は、制御部１０１が、例えば記録媒体１０２に記憶されている対応する処理プログラムを読み出し、メモリ１０３に展開して実行することにより実現することができる。
【００４３】
なお、本ＮＰＣカー配置処理は、例えば所定のフレーム間隔で実行される、所定のゲーム内時間が経過した際に実行される、あるいはＰＣが特定の距離あるいは特定のエリアに移動したと判断した際に開始されるものとして説明する。また本ＮＰＣカー配置処理は、毎フレームに係るゲーム画面の描画処理と並行して行われる処理であってよく、必須オブジェクトや優先オブジェクトについての描画処理よりは低い優先度で順次ＮＰＣカーを生成し、生成したＮＰＣカーを順次画面描画用にシーンデータに配置していくよう動作すればよい。
【００４４】
Ｓ４０１で、制御部１０１は、対象シーンに配置すべき描画オブジェクトに係る各種演算や描画処理に使用されているハードウェアリソースの使用量を特定する。即ち、制御部１０１は、現在のＰＣの位置に応じて定められる対象シーンに配置される必須オブジェクト及び優先オブジェクトについて、割り当てる演算用リソース及びデータ保持用リソースの使用量を特定する。なお、プレイヤの操作に先立ってデータ展開しておく必要がある描画オブジェクトや、視点に基づいて定められる画角内に進入してくる描画オブジェクト等も存在するため、対象シーンは視点に基づいて定められる画角内の領域（画面に描画される範囲）に限られるものでなく、より広い領域を考慮して定められるものであってよい。
【００４５】
Ｓ４０２で、制御部１０１は、対応するデータを描画メモリ１０５に展開可能なＮＰＣカーの車種数を算出する。制御部１０１は、Ｓ４０１で得られた描画メモリ１０５の使用量に基づいて描画メモリ１０５の余剰リソース量、即ちＮＰＣカーの描画に割り当てることが可能なリソース量を特定する。そして制御部１０１は、例えば該割り当て可能なリソース量をＮＰＣカーの描画に必要なデータのデータ量で割ることにより、データ展開可能な車種数を求める。本実施形態では簡単のため、各車種の描画に必要なＮＰＣカーのデータ量は同一であるものとして説明するが、現実的にはデータ量は車種ごとに異なるため、例えばＮＰＣカー全車種に係る最大のデータ量や平均データ量に基づいてデータ展開可能な車種数を求めるものであってもよい。あるいは、現在のゲーム内時間帯及びＰＣの存在するエリアについて定められた配置するＮＰＣカー車種の情報を取得し、データ展開可能な車種数を求めるものであってもよい。
【００４６】
Ｓ４０３で、制御部１０１は、予め定められたＮＰＣカー配置用情報を参照し、配置するＮＰＣカーの車種を決定する。ＮＰＣカー配置用情報は、例えば図５のような構成であってよく、現実感提示に係るＮＰＣカー周りの処理の概要にて説明したように、ゲーム内のエリアの天候ごとに通行する車種とその時間帯が定められている。制御部１０１は、ＮＰＣカー配置用情報を参照し、現在ＰＣが存在するエリア、該エリアの天候、及び時間帯の条件で対象シーンに配置可能な車種を特定する。そして制御部１０１は、配置可能な車種の中から、描画メモリ１０５にデータ展開可能なＮＰＣカーの車種数の車種を展開対象として選択する。なお、時間帯によって配置可能な車種がデータ展開可能なＮＰＣカーの車種数に満たない場合は、配置可能な車種のみを展開対象として選択すればよい。
【００４７】
Ｓ４０４で、制御部１０１は、展開対象として選択した車種のＮＰＣカーについて、描画用のデータを記録媒体１０２から読み出し、描画メモリ１０５に展開する。
【００４８】
Ｓ４０５で、制御部１０１は、対象シーンに移動せずに配置するＮＰＣカーの数と配置座標を特定し、ＮＰＣカー配置用情報に定められた各車種の登場頻度の情報に応じて展開対象の車種から配置する車種を順次決定する。
【００４９】
Ｓ４０６で、制御部１０１は、Ｓ４０５において決定した車種のＮＰＣカーのマテリアルパラメータを設定し、物理演算を行って対象シーンに配置する。具体的には制御部１０１は、配置するＮＰＣカーの外観パラメータである各種マテリアルパラメータの値あるいは適用度を、決定した車種の各マテリアルについてＮＰＣカー配置用情報に定められた範囲で設定し、メモリ１０３に格納する。このようにして格納されたマテリアルパラメータは、描画部１０４により、該設定した値に基づいて決定した車種に対応する描画用プログラムが実行されることで、設定したマテリアルパラメータに応じた外観のＮＰＣカーとして描画することができる。また制御部１０１は、決定した車種のＮＰＣカーを対象シーンに配置するに際し、配置するワールド座標の地形に応じた物理演算を行う。描画部１０４は演算結果に応じた姿勢で該座標にＮＰＣカーを配置する。なお、上述したように配置に係る物理演算は、例えば配置座標の特定の位置から落下させ、路面のコリジョンに応じた衝突演算を行い、姿勢が収束する状態（定常状態）となった際に終了されればよく、この状態でＮＰＣカーは静的なＢＧオブジェクトとして対象シーンに固定配置される。
【００５０】
Ｓ４０５及びＳ４０６の処理は、移動せずに配置するＮＰＣカーを全て対象シーンに配置するまで繰り返される。
【００５１】
Ｓ４０７で、制御部１０１は、対象シーンにおいて移動するＮＰＣカーの配置数、移動コース、及び移動開始座標を余剰演算リソースに基づいて決定し、ＮＰＣカー配置用情報に定められた各車種の登場頻度の情報に応じて展開対象の車種から配置する車種を順次決定する。本実施形態のゲームコンテンツでは、上述したようにＰＣとの距離に応じてＮＰＣカーの挙動を物理演算に基づいて制御するか否かを切り替えるため、制御部１０１は並行して物理演算可能なＮＰＣカーの数が余剰演算リソースで実現できるよう、配置数、移動コース、及び移動開始座標を決定する。移動コースは例えば予め定められた地点間を道路のルートに沿って走行するように定められるものであってよく、移動開始座標は該移動コース上に定められた点と進行方向とに基づいて決定されればよい。また本ステップにおいて、制御部１０１は決定した車種のＮＰＣカーに搭乗させるＮＰＣとして、現在表示用にシーン配置されていないＮＰＣのうちからＮＰＣカー配置用情報に示される条件（図５の例では省略）に該当するＮＰＣを選択する。
【００５２】
Ｓ４０８で、制御部１０１は、Ｓ４０７において決定した車種のＮＰＣカーのマテリアルパラメータを設定し、対象シーンに配置する。具体的には制御部１０１は、配置するＮＰＣカーの各種パラメータの値あるいは適用度を、決定した車種の各マテリアルについてＮＰＣカー配置用情報に定められた範囲で設定し、搭乗させるＮＰＣを関連付けてメモリ１０３に格納する。また制御部１０１は、移動開始座標とＰＣの位置座標との距離を算出し、該距離に基づいて物理演算に基づいた配置を行うか否かを判断する。制御部１０１は、算出した距離が物理演算を行うと予め定められた距離を下回る場合、決定した車種のＮＰＣカーをＮＰＣと共に対象シーンに配置するに際し、配置するワールド座標（移動開始座標）の地形に応じた物理演算を行う。そして、制御部１０１は、演算結果に応じた姿勢で該座標にＮＰＣカーを配置し、該ＮＰＣカーを物理演算による挙動制御を行う対象として例えばメモリ１０３の演算対象リストに登録する。また制御部１０１は、算出した距離が予め定められた距離以上である場合、決定した車種のＮＰＣカーをＮＰＣと共に移動開始座標に配置し、移動コースである道路について定められたルート情報に沿って移動制御を行う対象として例えばメモリ１０３のルート移動対象リストに登録する。
【００５３】
Ｓ４０７及びＳ４０８の処理は、移動するＮＰＣカーを全て対象シーンに配置するまで繰り返される。なお、演算対象リストに登録されたＮＰＣカーは、その後のルートに沿った物理演算を伴う移動により移動後座標とＰＣの位置座標との距離が予め定められた距離以上となった場合に、演算対象リストから外され、ルート移動対象リストに登録されるよう制御される。また反対に、ルート移動対象リストに登録されたＮＰＣカーは、その後のルートに沿った移動により移動後座標とＰＣの位置座標との距離が予め定められた距離を下回った場合に、ルート移動対象リストから外され、演算対象リストに登録されるよう制御される。
【００５４】
このようにすることで、配置のみのＮＰＣカーと、配置及び挙動制御の必要なＮＰＣカーとを、様々な外観を提示するように余剰のハードウェアリソースで表現することができる。
【００５５】
なお、本実施形態のＮＰＣカー配置処理では、制御部１０１がＮＰＣカー配置用情報に定められた値範囲でマテリアルパラメータを決定するものとして説明したが、ランダムに数値が選択されることで不自然な外観とならないよう、デザイナにより各マテリアルのパラメータ値の組み合わせがＮＰＣカー配置用情報に複数種類定められるものであってもよい。この場合、制御部１０１は該組み合わせから選択した値の組み合わせをマテリアルパラメータとして設定すればよい。またＮＰＣカー配置用情報は、必ずしもエリア、天候、時間帯に応じて定められている必要はなく、これらの少なくともいずれかについて定められているものであってもよいし、その他の条件を含んで定められるものであってもよい。
【００５６】
また本実施形態では、ＮＰＣカーの生成に係るマテリアルパラメータは、基準色に加え、汚れ状態として錆、褪色、塗装剥離、凹凸を含むものとして説明したが、本発明の実施はこれに限られるものではなく、例えばＮＰＣカーの異なる外観を提示するために、基準色、汚れ度合い、劣化度合い、及び変形度合いの少なくともいずれかを設定可能に構成されるものであってもよい。また上述したように本発明の実施は自動車に限られるものではなく、テクスチャを適用することにより外観を構成するあらゆる描画オブジェクトについて適用可能である。従って、マテリアルパラメータも、対象となる描画オブジェクトの外観について定めることが可能な種々のマテリアルが設定の対象となってよい。
【００５７】
また、必須オブジェクト及び優先オブジェクトについてのハードウェアリソースの使用量についての説明は省略したが、遠景の描画オブジェクトに対する描画負荷を低減するようにＬＯＤ（Level of Detail）技術やテッセレーションレベルの変更等が行われてもよいことは言うまでもない。
【００５８】
また、余剰のハードウェアリソースの量はプレイヤの行った操作に応じて順次変化しうるため、制御部１０１は例えば使用量を監視あるいは予測し、必要に応じて制御対象のＮＰＣカーの削除や車種の限定等を行ってよい。また、物理演算に基づいて挙動制御するＮＰＣカーについては、走行車線上に進入したＰＣ等によって移動を停止しうるが、このことによって該ＮＰＣカーの車種について定められた登場時間帯を超過したとしても、制御部１０１は該ＮＰＣカーに係るデータの解放や演算対象リストから外すような制御をする必要はない。即ち、ＰＣとの距離が近く、注目されうる状況において該ＮＰＣカーを消失させることは現実感の破たんを生じるため、このような場合は該ＮＰＣカーの配置を維持し、その後移動してＰＣとの距離が予め定められた距離以上となり、かつプレイヤの注目がないと判断する視点方向が選択されている状況で、データ解放等行えばよい。
【００５９】
以上説明したように、本実施形態の情報処理装置は、ハードウェア制約下において、現実感を提示する描画オブジェクトを好適に生成及び制御することができる。例えば一態様として、情報処理装置は、対象シーンに配置される必須オブジェクトを含む、第１の種別のオブジェクトに係る処理に割り当てられるハードウェアリソースの第１の使用量に基づいて、第１の種別とは異なる第２の種別のオブジェクトに係る処理に割り当て可能なハードウェアリソースの第２の使用量を判断する。そして情報処理装置は、第２の種別のオブジェクトを対象シーンに配置される際の外観を決定するための情報と第２の使用量とに基づき、対象シーンに配置される第２の種別のオブジェクトについて、該オブジェクトの種類と各種類についての外観パラメータとを決定する。
【００６０】
［その他の実施形態］
本発明は上記実施の形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。また本発明に係る情報処理装置は、１以上のコンピュータを該情報処理装置として機能させるプログラムによっても実現可能である。該プログラムは、コンピュータが読み取り可能な記録媒体に記録されることにより、あるいは電気通信回線を通じて、提供／配布することができる。
【符号の説明】
【００６１】
１００：ゲームコンソール１００、１０１：制御部、１０２：記録媒体、１０３：メモリ、１０４：描画部、１０５：描画メモリ、１０６：表示出力部、１０７：操作入力部
【図１】
0006513984.tif 000002
【図２】
0006513984.tif 000003
【図３】
0006513984.tif 000004
【図４】
0006513984.tif 000005
【図５】
0006513984.tif 000006