IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社コーエーテクモゲームスの特許一覧

特許7170397プログラム、画像処理方法、及び画像処理装置
<>
  • 特許-プログラム、画像処理方法、及び画像処理装置 図1
  • 特許-プログラム、画像処理方法、及び画像処理装置 図2
  • 特許-プログラム、画像処理方法、及び画像処理装置 図3
  • 特許-プログラム、画像処理方法、及び画像処理装置 図4
  • 特許-プログラム、画像処理方法、及び画像処理装置 図5A
  • 特許-プログラム、画像処理方法、及び画像処理装置 図5B
  • 特許-プログラム、画像処理方法、及び画像処理装置 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-04
(45)【発行日】2022-11-14
(54)【発明の名称】プログラム、画像処理方法、及び画像処理装置
(51)【国際特許分類】
   A63F 13/56 20140101AFI20221107BHJP
   A63F 13/577 20140101ALI20221107BHJP
   G06T 19/00 20110101ALI20221107BHJP
【FI】
A63F13/56
A63F13/577
G06T19/00 300A
【請求項の数】 8
(21)【出願番号】P 2018001358
(22)【出願日】2018-01-09
(65)【公開番号】P2019118687
(43)【公開日】2019-07-22
【審査請求日】2020-10-15
【前置審査】
(73)【特許権者】
【識別番号】595000427
【氏名又は名称】株式会社コーエーテクモゲームス
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】今井 将吾
【審査官】西村 民男
(56)【参考文献】
【文献】特開2016-131662(JP,A)
【文献】特開2014-233536(JP,A)
【文献】特開2013-81621(JP,A)
【文献】特開2010-287191(JP,A)
【文献】特開2002-143555(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
A63F 9/24,13/00-13/98
G06F 3/01, 3/048-3/04895
G06T 19/00-19/20
(57)【特許請求の範囲】
【請求項1】
画像処理装置に、
ユーザの操作に応答して仮想3次元空間上で移動する第1のオブジェクトに応じた所定の位置と、処理対象のオブジェクトの位置との距離が所定の閾値以上であり且つ前記処理対象のオブジェクトが第2のオブジェクトである場合、前記第2のオブジェクトに対応付けられた第3のオブジェクトの動作に応じた動作を前記第2のオブジェクトにさせて画面に表示させる第1の表示ステップと、
前記距離が閾値未満である場合、又は、前記距離が所定の閾値以上であり且つ前記処理対象のオブジェクトが前記第3のオブジェクトである場合、前記第3のオブジェクトの動作とは独立した動作を前記第2のオブジェクトにさせて画面に表示させる第2の表示ステップと
前記距離が所定の閾値以上であり且つ前記ユーザの操作に応答して前記第1のオブジェクトから放出される第4のオブジェクトとは異なる第5のオブジェクトが前記第2のオブジェクトに衝突する場合、当該第5のオブジェクトが衝突する際に、前記第3のオブジェクトの動作とは独立した動作を前記第2のオブジェクトにさせて画面に表示させる、第3の表示ステップと、を実行させる、プログラム。
【請求項2】
前記第2の表示ステップは、前記ユーザの操作に応答した前記第1のオブジェクトの動作に応じた動作を前記第2のオブジェクトにさせて画面に表示させる、
請求項1に記載のプログラム。
【請求項3】
前記所定の閾値は、前記第1のオブジェクトから放出される第4のオブジェクトが到達可能な距離以上の値である、
請求項1または2に記載のプログラム。
【請求項4】
前記第1のオブジェクトから放出される前記第5のオブジェクトが到達可能な距離は、前記第1のオブジェクトから放出される第4のオブジェクトが到達可能な距離よりも長い、請求項記載のプログラム。
【請求項5】
前記第2のオブジェクトは、複数のオブジェクトを含み、
前記画像処理装置に、
画面に表示される前記第2のオブジェクトに含まれるオブジェクトの数に基づいて、前記所定の閾値を決定するステップを実行させる、
請求項1乃至のいずれか一項に記載のプログラム。
【請求項6】
前記画像処理装置に、
プロセッサの使用状況、及びメモリの使用状況の少なくとも一つに基づいて、前記所定の閾値を決定するステップを実行させる、
請求項1乃至のいずれか一項に記載のプログラム。
【請求項7】
画像処理装置が、
ユーザの操作に応答して仮想3次元空間上で移動する第1のオブジェクトに応じた所定の位置と、処理対象のオブジェクトの位置との距離が所定の閾値以上であり且つ前記処理対象のオブジェクトが第2のオブジェクトである場合、前記第2のオブジェクトに対応付けられた第3のオブジェクトの動作に応じた動作を前記第2のオブジェクトにさせて画面に表示させる第1の表示ステップと、
前記距離が閾値未満である場合、又は、前記距離が所定の閾値以上であり且つ前記処理対象のオブジェクトが前記第3のオブジェクトである場合、前記第3のオブジェクトの動作とは独立した動作を前記第2のオブジェクトにさせて画面に表示させる第2の表示ステップと、
前記距離が所定の閾値以上であり且つ前記ユーザの操作に応答して前記第1のオブジェクトから放出される第4のオブジェクトとは異なる第5のオブジェクトが前記第2のオブジェクトに衝突する場合、当該第5のオブジェクトが衝突する際に、前記第3のオブジェクトの動作とは独立した動作を前記第2のオブジェクトにさせて画面に表示させる、第3の表示ステップと、
を実行する画像処理方法。
【請求項8】
ユーザの操作に応答して仮想3次元空間上で移動する第1のオブジェクトに応じた所定の位置と、処理対象のオブジェクトの位置との距離が所定の閾値以上であり且つ前記処理対象のオブジェクトが第2のオブジェクトである場合、前記第2のオブジェクトに対応付けられた第3のオブジェクトの動作に応じた動作を前記第2のオブジェクトにさせて画面に表示させる第1の制御部と、
前記距離が閾値未満である場合、又は、前記距離が所定の閾値以上であり且つ前記処理対象のオブジェクトが前記第3のオブジェクトである場合、前記第3のオブジェクトの動作とは独立した動作を前記第2のオブジェクトにさせて画面に表示させる第2の制御部と、
前記距離が所定の閾値以上であり且つ前記ユーザの操作に応答して前記第1のオブジェクトから放出される第4のオブジェクトとは異なる第5のオブジェクトが前記第2のオブジェクトに衝突する場合、当該第5のオブジェクトが衝突する際に、前記第3のオブジェクトの動作とは独立した動作を前記第2のオブジェクトにさせて画面に表示させる、第3の制御部と、を有する画像処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラム、画像処理方法、及び画像処理装置に関する。
【背景技術】
【0002】
従来、コンピュータゲームやシミュレーション等において、複数のキャラクターを密集して配置させて表示する場合に、一のキャラクターを複製して当該複数のキャラクターを描画する技術が知られている。
【0003】
また、当該複数のキャラクターをより自然に表現するために、当該複数のキャラクターの動きがそれぞれ異なるように表示する技術も知られている(例えば、特許文献1乃至3を参照)。
【先行技術文献】
【特許文献】
【0004】
【文献】特許第5149956号公報
【文献】特開2010-287191号公報
【文献】特開2000-172868号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、従来技術には、例えば、3次元コンピュータグラフィックスにより、比較的多くのキャラクターをリアルタイムな処理により同時に表示する等の場合、処理負荷が高くなるため、複数のキャラクターの動きをそれぞれ異ならせるように表示することが困難である場合があるという問題がある。
【0006】
そこで、一側面では、複数のオブジェクトを、より自然な態様で表示することができる技術を提供することを目的とする。
【課題を解決するための手段】
【0007】
一つの案では、画像処理装置に、ユーザの操作に応答して仮想3次元空間上で移動する第1のオブジェクトに応じた所定の位置と、処理対象のオブジェクトの位置との距離が所定の閾値以上であり且つ前記処理対象のオブジェクトが第2のオブジェクトである場合、前記第2のオブジェクトに対応付けられた第3のオブジェクトの動作に応じた動作を前記第2のオブジェクトにさせて画面に表示させる第1の表示ステップと、前記距離が閾値未満である場合、又は、前記距離が所定の閾値以上であり且つ前記処理対象のオブジェクトが前記第3のオブジェクトである場合、前記第3のオブジェクトの動作とは独立した動作を前記第2のオブジェクトにさせて画面に表示させる第2の表示ステップと、前記距離が所定の閾値以上であり且つ前記ユーザの操作に応答して前記第1のオブジェクトから放出される第4のオブジェクトとは異なる第5のオブジェクトが前記第2のオブジェクトに衝突する場合、当該第5のオブジェクトが衝突する際に、前記第3のオブジェクトの動作とは独立した動作を前記第2のオブジェクトにさせて画面に表示させる、第3の表示ステップと、を実行させるプログラムが提供される。

【発明の効果】
【0008】
一側面によれば、複数のオブジェクトを、より自然な態様で表示することができる。
【図面の簡単な説明】
【0009】
図1】実施形態に係る画像処理装置のハードウェア構成例を示す図である。
図2】実施形態に係る画像処理装置の機能ブロック図である。
図3】実施形態に係る画像処理装置の処理の一例を示すフローチャートである。
図4】実施形態に係るユニットデータの一例を示す図である。
図5A】表示画面の一例について説明する図である。
図5B】表示画面の一例について説明する図である。
図6】攻撃を受けるキャラクターをユニット化した表示画面の一例について説明する図である。
【発明を実施するための形態】
【0010】
以下、図面に基づいて本発明の実施形態を説明する。
【0011】
<ハードウェア構成>
図1は、実施形態に係る画像処理装置10のハードウェア構成例を示す図である。図1に示す画像処理装置10は、それぞれバスBで相互に接続されているドライブ装置100、補助記憶装置102、メモリ装置103、CPU104、インタフェース装置105、表示装置106、及び入力装置107等を有する。
【0012】
画像処理装置10での処理を実現するゲームプログラムは、記録媒体101によって提供される。ゲームプログラムを記録した記録媒体101がドライブ装置100にセットされると、ゲームプログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。但し、ゲームプログラムのインストールは必ずしも記録媒体101より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置102は、インストールされたゲームプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【0013】
メモリ装置103は、例えば、DRAM(Dynamic Random Access Memory)、またはSRAM(Static Random Access Memory)等のメモリであり、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。CPU104は、メモリ装置103に格納されたプログラムに従って画像処理装置10に係る機能を実現する。インタフェース装置105は、ネットワークに接続するためのインタフェースとして用いられる。表示装置106はプログラムによるGUI(Graphical User Interface)等を表示する。入力装置107は、コントローラ等、キーボード及びマウス等、またはタッチパネル及びボタン等で構成され、様々な操作指示を入力させるために用いられる。
【0014】
なお、記録媒体101の一例としては、CD-ROM、DVDディスク、ブルーレイディスク、又はUSBメモリ等の可搬型の記録媒体が挙げられる。また、補助記憶装置102の一例としては、HDD(Hard Disk Drive)、SSD(Solid State Drive)、又はフラッシュメモリ等が挙げられる。記録媒体101及び補助記憶装置102のいずれについても、コンピュータ読み取り可能な記録媒体に相当する。
【0015】
<機能構成>
次に、図2を参照し、画像処理装置10の機能構成について説明する。図2は、実施形態に係る画像処理装置10の機能ブロック図である。
【0016】
画像処理装置10は、記憶部11を有する。記憶部11は、例えば、補助記憶装置102等を用いて実現される。記憶部11は、3次元データ111等を記憶する。3次元データ111は、各オブジェクトの3次元モデルのデータであり、各オブジェクトのモデルのデータ、及びテクスチャ画像のデータ等を含むデータである。
【0017】
また、画像処理装置10は、受付部12、制御部13、及び表示制御部14を有する。これら各部は、画像処理装置10にインストールされた1以上のプログラムが、画像処理装置10のCPU104に実行させる処理により実現される。
【0018】
受付部12は、プレイヤーキャラクター(「第1のオブジェクト」の一例。)を仮想3次元空間上で移動させる等の操作をユーザから受け付ける。
【0019】
制御部13は、ゲームの進行等を制御する。また、制御部13は、受付部12により受け付けた操作等に応答して、プレイヤーキャラクターに応じた所定の位置と、敵または味方のキャラクター等(「第2のオブジェクト」の一例)の位置との距離が所定の閾値以上であるか否かを判定する。
【0020】
そして、制御部13は、当該距離が所定の閾値以上である場合、当該敵または味方のキャラクター等に対応付けられたリーダーのキャラクター(「第3のオブジェクト」の一例。)の動作に応じた動作を、当該敵または味方のキャラクター等にさせて表示制御部14により画面に表示させる。
【0021】
また、制御部13は、当該距離が閾値未満である場合、当該リーダーのキャラクターの動作とは独立した動作を当該敵または味方のキャラクター等にさせて表示制御部14により画面に表示させる。
【0022】
ここで、所定の位置(以下で、「基準位置」とも称する。)は、例えば、仮想3次元空間上のプレイヤーキャラクターの位置または仮想3次元空間上のユーザの視点(仮想的なカメラ、仮想カメラ)の位置である。なお、制御部13は、仮想カメラにより撮影される仮想3次元空間を、3次元コンピュータグラフィックスにより画面に表示する。仮想カメラの位置は、例えば、プレイヤーキャラクターの中心位置から仮想3次元空間上で所定の距離離れた球面上の位置であり、ユーザの操作により当該球面上で移動されてもよい。また、当該所定の距離は、ユーザの操作により変更されてもよい。
【0023】
表示制御部14は、制御部13からの指示に従い、ゲームにおける画像を画面に表示させる。
【0024】
<処理>
次に、図3乃至図5Bを参照して、画像処理装置10の処理について説明する。図3は、実施形態に係る画像処理装置10の処理の一例を示すフローチャートである。図4は、実施形態に係るユニットデータの一例を示す図である。図5A、及び図5Bは、表示画面の一例について説明する図である。
【0025】
以下では、オープンワールド(サンドボックス、フリーローミング)のゲームを例として説明する。オープンワールドのゲームでは、ユーザにより操作されるプレイヤーキャラクターの移動に応じて、プレイヤーキャラクターの周辺の地形、建造物、草木等の3次元データ等を読み込んで表示する。これにより、ユーザは、プレイヤーキャラクターを、比較的広大な仮想3次元空間上の世界において、マップの切り替え等がなされずにシームレスに動き回ることができる。
【0026】
ステップS1において、制御部13は、ユーザの操作等によりゲームが起動されると、3次元データ111、及びユニットデータ112等を含むゲームのデータを読み込む。なお、仮想3次元空間上の各オブジェクトには、例えば、地形、建造物、草木、及びキャラクター等が含まれる。
【0027】
続いて、制御部13は、3次元コンピュータグラフィックスにより、メモリ装置103に記憶されたデータを用いて、仮想3次元空間上の各オブジェクトを表示制御部14により画面に表示させる(ステップS2)。
【0028】
続いて、受付部12は、プレイヤーキャラクターを移動させる操作をユーザから受け付ける(ステップS3)。
【0029】
続いて、制御部13は、ユーザの操作に応答して、プレイヤーキャラクターを仮想3次元空間上で移動させる(ステップS4)。なお、プレイヤーキャラクターが仮想3次元空間上を移動していない場合でも、仮想3次元空間上の各オブジェクトが移動した場合は、以下の処理を実行してもよい。これにより、例えば、敵のキャラクターがプレイヤーキャラクターに近づいて来た場合等においても、以下の処理が実行される。
【0030】
続いて、制御部13は、仮想3次元空間上のプレイヤーキャラクター以外の各キャラクターを示すオブジェクトのうち、一のオブジェクトを、処理対象のオブジェクトとして選択する(ステップS5)。以下で、当該各オブジェクトのうちの任意の一つのオブジェクトを、「処理対象のオブジェクト」と称する。従って、以下の処理は、当該各オブジェクトに対してそれぞれ実行される。
【0031】
続いて、制御部13は、上述した基準位置から、処理対象のオブジェクトの位置までの仮想3次元空間上の距離を算出する(ステップS6)。
【0032】
続いて、制御部13は、算出した距離が所定の閾値未満であるか否かを判定する(ステップS7)。ここで、所定の閾値は、プレイヤーキャラクターから放出される所定のオブジェクトが到達可能な距離以上の値としてもよい。当該所定のオブジェクトとしては、例えば、プレイヤーキャラクターが所持する弓から飛ばされる矢、プレイヤーキャラクターから投げられる槍や石等、比較的遠距離まで到達可能なオブジェクト(「第4のオブジェクト」の一例。)でもよい。これにより、例えば、プレイヤーキャラクターの動作による影響を受けた動作を、基準位置から所定範囲内のオブジェクトにさせることができる。より具体的には、プレイヤーキャラクター飛び道具等の攻撃によりダメージを受けた動作等を、当該飛び道具等で攻撃可能な範囲内の敵キャラクターにさせることができる。
【0033】
算出した距離が所定の閾値未満である場合(ステップS7でYES)、制御部13は、処理対象のオブジェクトをグループから独立したオブジェクト(ユニット)として処理し(ステップS8)、後述するステップS12の処理に進む。ここで、制御部13は、プレイヤーキャラクター以外の他のキャラクターの動作とは独立した動作を処理対象のオブジェクトにさせて表示制御部14により画面に表示させる。この場合、制御部13は、例えば、ゲームにおけるAI(Artificial Intelligence)を用いて、処理対象のオブジェクトである敵兵士に、プレイヤーキャラクターを攻撃させる動作をさせたり、ユーザの操作に応答したプレイヤーキャラクターから当該敵兵士への攻撃の動作に応じて、吹き飛ぶ等の動作を当該敵兵士にさせたりする。
【0034】
算出した距離が所定の閾値未満でない場合(ステップS7でNO)、制御部13は、ユニットデータ112を参照し、処理対象のオブジェクトがグループのリーダーであるか否かを判定する(ステップS9)。図4に示すユニットデータ112の例では、団ID、グループID、オブジェクトID、及びリーダー属性が、それぞれ対応付けて設定されている。団IDは、複数のグループを含む団(集合)のIDである。団は、例えば、武将が率いる軍団である。団は、例えば、数千乃至数万程度のオブジェクトにより構成されてもよい。グループIDは、団に含まれる各グループのIDである。グループは、例えば、隊長(リーダー)が率いる部隊である。部隊は、例えば、10乃至30程度のオブジェクトにより構成されてもよい。オブジェクトIDは、グループに含まれる各オブジェクトのIDである。オブジェクトは、例えば、敵の兵士等のキャラクターでもよい。リーダー属性は、オブジェクトがグループのリーダーであるか否かを示す情報である。図4の例では、団IDが「2001」、グループIDが「1001」のグループにおいて、オブジェクトIDが「0001」のオブジェクトがグループのリーダーであると設定されている。
【0035】
処理対象のオブジェクトがグループのリーダーである場合(ステップS9でYES)、ステップS8の処理に進む。
【0036】
処理対象のオブジェクトがグループのリーダーでない場合(ステップS9でNO)、制御部13は、処理対象のオブジェクトをグループに依存したオブジェクト(グループの一員)として処理する(ステップS10)。ここで、制御部13は、処理対象のオブジェクトが属するグループのリーダーのオブジェクトの動作に応じた動作を処理対象のオブジェクトにさせて表示制御部14により画面に表示させる。この場合、制御部13は、例えば、AIにより動作するリーダーから所定範囲内の位置で、処理対象のオブジェクトに、リーダーと同様の動作をさせる。ここで、リーダーと同様の動作とは、例えば、リーダーと同一の動作でもよいし、リーダーの動作の一部を変形させた動作、またはリーダーの動作に応じた所定の動作でもよい。リーダーの動作の一部を変形させた動作をさせる場合、制御部13は、例えば、リーダーの所持する武器及び体等の傾きと、処理対象のオブジェクトの所持する武器及び体等の傾きとが若干異なるように動作させてもよい。リーダーの動作に応じた所定の動作をさせる場合、制御部13は、例えば、リーダーが走り出した後、一瞬遅れてリーダーの後を追いかけるように処理対象のオブジェクトを動作させてもよい。
【0037】
これにより、各グループは、リーダーの動作に従って、歩行、攻撃、または待機等を揃って行う。なお、この場合、処理対象のオブジェクトは、上述した基準位置から比較的離れた場所に位置するため、比較的小さく表示される。したがって、ユーザは処理対象のオブジェクトの細かい動作までは認識しにくいため、リーダーと同様の動作をさせても、ユーザに与える違和感は比較的少ない。また、これにより、全てのキャラクターをAIにより独立して動作させる場合と比較して、CPU104の処理負荷を低減することができる。
【0038】
続いて、制御部13は、仮想3次元空間上の各オブジェクトのうち、処理対象のオブジェクトとして選択されていない未処理のオブジェクトがあるか否かを判定する(ステップS11)。
【0039】
未処理のオブジェクトがある場合(ステップS11でYES)、当該未処理のオブジェクトを処理対象のオブジェクトとして選択し(ステップS12)、ステップS6の処理に進む。
【0040】
未処理のオブジェクトがない場合(ステップS11でNO)、制御部13は、ユーザの操作等により、ゲームを終了するか否かを判定する(ステップS13)。ゲームを終了しない場合(ステップS13でNO)、ステップS3の処理に進む。ゲームを終了する場合(ステップS13でYES)、処理を終了する。
【0041】
上述した処理により、仮想3次元空間上において、表示制御部14により、図5A、及び図5Bに示すような画像が表示される。図5Aの例では、プレイヤーキャラクター501Aが、比較的高い場所から、キャラクターのグループ502A乃至505A等を見下ろしているシーンが表示されている。ここで、グループ502A乃至505Aに含まれる各キャラクターの位置は、基準位置から比較的遠いため、当該各キャラクターは、グループのリーダー、またはグループの一員として処理されている。
【0042】
図5Bの例では、プレイヤーキャラクター501Bが、敵のキャラクターと戦闘しているシーンが表示されている。ここで、グループ502A等に含まれる各キャラクターの位置は、基準位置から比較的遠いため、当該各キャラクターは、グループのリーダー、またはグループの一員として処理されている。一方、キャラクター503B乃至507Bは、基準位置から比較的近いため、当該各キャラクターは、ステップS8でユニットとして処理され、それぞれが異なる動作をするように表示されている。
【0043】
<変形例1>
制御部13は、基準位置から所定の閾値以上離れており、グループのリーダーでない場合(ステップS9でNOの場合)、以下のような処理を実行してもよい。
【0044】
制御部13は、処理対象のオブジェクトが、プレイヤーキャラクターから放出される所定のオブジェクトに衝突する場合、当該操作の際、または、当該所定のオブジェクトが衝突する際に、グループのリーダーの動作とは独立した動作を処理対象のオブジェクトにさせる。
【0045】
図6は、攻撃を受けるキャラクターをユニット化した表示画面の一例について説明する図である。図6に示すように、制御部13は、例えば、ユーザが、レーザービーム、鉄砲、大弓等、飛距離が比較的長い飛び道具等(「第5のオブジェクト」の一例。)を使用させてプレイヤーキャラクターに攻撃させた際、逃げる動作、乃至ダメージを受ける動作を、当該攻撃を受ける敵のキャラクターにさせてもよい。図6の例では、プレイヤーキャラクター601が大弓602で射た矢603が刺さった敵のキャラクター604は、グループの他のキャラクター605の動作とは異なり、ダメージを受けたことを示す動作をしている。
【0046】
<変形例2>
制御部13は、仮想3次元空間上の各オブジェクトのうち、画面に表示されるキャラクターのオブジェクトの数に基づいて、上述した所定の閾値を決定してもよい。制御部13は、例えば、画面に表示されるキャラクターのオブジェクトの数が多い程、上述した所定の閾値を小さな値としてもよい。
【0047】
この場合、制御部13は、画面に表示されるキャラクターのオブジェクトの数が所定数(例えば、100人)以上である場合、所定の閾値を第1の値(例えば、仮想3次元空間における100m)とする。一方、制御部13は、画面に表示されるキャラクターのオブジェクトの数が所定数以上でない場合、所定の閾値を第1の値(例えば、仮想3次元空間における200m)とする。これにより、例えば、図5A、及び図6に示すように、比較的高い場所から多数の敵のキャラクターを見下ろすシーン等の場合において、CPU104の処理負荷を低減することができる。
【0048】
<変形例3>
制御部13は、CPU104(「プロセッサ」の一例。)の使用状況、及びメモリ装置103(「メモリ」)の一例の使用状況の少なくとも一つに基づいて、上述した所定の閾値を決定してもよい。制御部13は、例えば、CPU104の使用率が高い程、またはメモリ装置103の空き容量が少ない程、上述した所定の閾値を小さな値としてもよい。
【0049】
これにより、例えば、図5A、及び図6に示すように、比較的高い場所から多数の敵のキャラクターを見下ろすシーン等の場合において、CPU104の使用率が高い場合、またはメモリ装置103の空き容量が少ない場合に、CPU104等の処理負荷を低減することができる。
【0050】
<効果>
プレイヤーキャラクターが広大な仮想3次元空間上の世界を自由に移動できるオープンワールドのゲームでは、高い位置から一帯の風景を眺める場合等において、スケールの大きな映像表現が可能である。この場合、周辺のキャラクター等のみならず、遠くに位置するキャラクター等もできる限り表示することが臨場感の点で好ましい。
【0051】
そのため、オープンワールドのゲームでは、個々の空間の端に到達したら別の空間に切り替えるようなオープンワールドではないゲームと比較して、メモリに読み込んでおくべきオブジェクト等のデータ量や、オブジェクトの表示等のための処理の負荷が大きい。
【0052】
一方で、ゲーム装置のハードウェアの性能により、メモリサイズやCPU等の演算速度には上限がある。そのため、従来技術では、例えば、オープンワールドのゲーム等、表示するキャラクターの数が多いこと等により処理負荷が比較的高い3次元コンピュータグラフィックスにおいて、表示させるキャラクターの数を減らすなどの対応が必要になる。
【0053】
一方、上述した実施形態によれば、プレイヤーキャラクターに応じた基準位置と、他のキャラクターの位置との距離が所定の閾値以上である場合、当該他のキャラクターに対応付けられたリーダーのキャラクターの動作に応じた動作を当該他のキャラクターにさせる。また、当該距離が閾値未満である場合、当該リーダーのキャラクターの動作とは独立した動作を当該他のキャラクターにさせる。これにより、複数のオブジェクトを、より自然な態様で表示することができる。
【0054】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【0055】
画像処理装置10の各機能部は、例えば1以上のコンピュータにより構成されるクラウドコンピューティングにより実現されていてもよい。また、画像処理装置10は、ユーザの端末にゲームの画面を表示させる、オンラインゲーム用のサーバであってもよい。
【0056】
なお、上述した実施形態では、オープンワールドのゲームを例として説明したが、開示の技術は、オープンワールド以外のゲーム、シミュレーション等の3次元コンピュータグラフィックスにおいて、仮想3次元空間上で所定のオブジェクトを他のオブジェクトの上に乗せる場合に適用できる。
【0057】
なお、制御部13は、「第1の制御部」、及び「第2の制御部」の一例である。
【符号の説明】
【0058】
10 画像処理装置
11 記憶部
111 3次元データ
112 ユニットデータ
12 受付部
13 制御部
14 表示制御部
103 メモリ装置
104 CPU
図1
図2
図3
図4
図5A
図5B
図6