説明

オブジェクト制御プログラム、オブジェクト制御プログラムを記憶したコンピュータ読み取り可能な記録媒体、オブジェクト制御装置、オブジェクト制御方法

【課題】興味対象の種類や当該興味対象に対して行わせる動作や障害物等の位置等に応じて、当該興味対象に対する目的地を設定する。
【解決手段】オブジェクト制御プログラムであって、仮想空間における興味対象を特定し、該興味対象の位置情報及び識別情報を取得する興味対象特定手段、前記興味対象の識別情報に、オブジェクトの移動の目的地の候補となる目的地候補群の位置情報を求めるための目的地候補情報が関連付けられて記憶された目的地候補情報記憶手段、及び、前記取得された興味対象の位置情報及び識別情報、及び、前記目的地候補情報に基づいて、該興味対象についての目的地候補群の位置情報を取得するとともに、前記目的地候補群の位置情報のうちから目的地の位置情報を示す目的地情報を取得する目的地情報取得手段、としてコンピュータを機能させる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、オブジェクト制御プログラム、オブジェクト制御プログラムを記憶したコンピュータ読み取り可能な記録媒体、オブジェクト制御装置、オブジェクト制御方法に関する。
【背景技術】
【0002】
キャラクターを所定の目的地まで移動させて所定の動作を行わせるゲームが知られている。例えば、仮想空間において、プレイヤーの操作対象でないキャラクターを、特定のアイテムの場所まで移動させ、当該アイテムを保持させる等である。
【発明の概要】
【発明が解決しようとする課題】
【0003】
この場合において、例えば、アイテムにおける保持部(例えば、ハンドル)の位置やアイテムの種類等によっては、より自然な動作を表現するため、アイテムに対して所定の距離や方向を有する目的地にキャラクターを移動させて、アイテムの保持動作等の所定の動作をさせたい場合がある。また、この場合において、例えば、仮想空間においてキャラクターがある程度のスペースを有する場合には、当該所定の動作等の際に障害物との干渉を避けるようにすることが望ましい。更に、当該目的地は、キャラクターにより近い方が望ましい。
【0004】
本発明は、上記課題に鑑みて、例えば、アイテムの種類や当該アイテムに対して行わせる動作や障害物等の位置等に応じて、当該アイテムに対する目的地を設定し、当該目的地までキャラクターを移動させて当該所定の動作を行わせることのできるオブジェクト制御プログラム、オブジェクト制御プログラムを記憶したコンピュータ読み取り可能な記録媒体、オブジェクト制御装置、オブジェクト制御方法を実現することを目的とする。
【課題を解決するための手段】
【0005】
(1)本発明のオブジェクト制御プログラムは、仮想空間における興味対象を特定し、該興味対象の位置情報及び識別情報を取得する興味対象特定手段、前記興味対象の識別情報に、オブジェクトの移動の目的地の候補となる目的地候補群の位置情報を求めるための目的地候補情報が関連付けられて記憶された目的地候補情報記憶手段、及び、前記取得された興味対象の位置情報及び識別情報、及び、前記目的地候補情報に基づいて、該興味対象についての目的地候補群の位置情報を取得するとともに、前記目的地候補群の位置情報のうちから目的地の位置情報を示す目的地情報を取得する目的地情報取得手段、としてコンピュータを機能させることを特徴とする。
【0006】
(2)上記(1)に記載のオブジェクト制御プログラムにおいて、更に、前記興味対象及び前記複数の経路情報の位置情報に基づいて、前記複数の経路情報のうち1の経路情報を特定する経路情報特定手段、としてコンピュータを機能させ、前記目的地情報取得手段は、前記特定された1の経路情報が示す位置情報と、前記各目的地候補群の位置情報に基づいて、前記目的地情報を取得することを特徴とする。
【0007】
(3)上記(1)または(2)に記載のオブジェクト制御プログラムにおいて、前記仮想空間において前記オブジェクトに対する障害物を形成する障害物オブジェクトの位置情報に基づいて、前記目的地情報を取得することを特徴とする。
【0008】
(4)上記(3)に記載のオブジェクト制御プログラムにおいて、前記目的地情報取得手段は、前記各目的地候補群に配置され、所定の大きさ及び形状を有するボックスの位置情報と、前記障害物オブジェクトの位置情報に基づいて、前記目的地情報を取得することを特徴とする。
【0009】
(5)上記(3)または(4)に記載のオブジェクト制御プログラムにおいて、前記経路情報特定手段は、更に、前記障害物オブジェクトの位置情報に基づいて、前記1の経路情報が特定可能か否か判定し、特定可能でないと判定した場合には、前記興味対象及び前記経路情報の位置情報に基づいて、前記経路情報のうち1の経路情報を代理経路情報と特定し、前記オブジェクト制御プログラムは、更に、前記代理経路情報の位置情報と、前記興味対象の位置情報と、前記オブジェクトの位置情報と、前記障害物の位置情報とに基づいて、複数の代理ポイントの位置情報を取得する代理ポイント取得手段として、コンピュータを機能させ、前記目的地情報取得手段は、前記複数の代理ポイントの位置情報に基づいて、前記目的地情報を取得することを特徴とする。
【0010】
(6)上記(1)乃至(5)のいずれかに記載のオブジェクト制御プログラムにおいて、前記目的地候補情報記憶手段は、更に、前記オブジェクトに行わせる動作を識別する動作識別情報を関連付けて記憶することを特徴とする。
【0011】
(7)上記(6)に記載のオブジェクト制御プログラムにおいて、前記オブジェクト制御プログラムは、更に、前記オブジェクトが、前記目的地に到達したか否かを判定する到達判定手段、及び、前記到達判定手段が到達したと判定した場合には、前記目的地候補情報に関連付けて記憶された動作識別情報で識別される動作を行わせるオブジェクト動作制御手段、としてコンピュータを機能させることを特徴とする。
【0012】
(8)上記(1)乃至(7)のいずれかに記載のオブジェクト制御プログラムにおいて、前記目的地候補情報は、前記興味対象の位置情報からの距離及び方向を示す距離情報及び方向情報を含むことを特徴とする。
【0013】
(9)上記(8)に記載のオブジェクト制御プログラムにおいて、前記目的地候補情報は、前記距離情報及び前記方向情報から求められる中心位置を中心として形成される形状において、該形状の半径を示す半径情報、該形状の中心角度を示す角度情報、該中心角度を分割するための分割数情報を含むことを特徴とする。
【0014】
(10)上記(1)乃至(9)のいずれかに記載のオブジェクト制御プログラムを記憶したコンピュータ読み取り可能な記憶媒体であることを特徴とする。
【0015】
(11)本発明のオブジェクト制御装置は、仮想空間における興味対象を特定し、該興味対象の位置情報及び識別情報を取得する興味対象特定手段と、前記興味対象の識別情報に、オブジェクトの移動の目的地の候補となる目的地候補群の位置情報を求めるための目的地候補情報が関連付けられて記憶された目的地候補情報記憶手段と、前記取得された興味対象の位置情報及び識別情報、及び、前記目的地候補情報に基づいて、該興味対象についての目的地候補群の位置情報を取得するとともに、前記目的地候補群の位置情報のうちから目的地の位置情報を示す目的地情報を取得する目的地情報取得手段と、を含むことを特徴とする。
【0016】
(12)本発明のオブジェクト制御方法は、仮想空間における興味対象を特定し、該興味対象の位置情報及び識別情報を取得し、前記取得された興味対象の位置情報及び識別情報、及び、前記興味対象の識別情報にオブジェクトの移動の目的地の候補となる目的地候補群の位置情報を求めるための目的地候補情報が関連付けられて記憶された該目的地候補情報に基づいて、該興味対象についての目的地候補群の位置情報を取得するとともに、前記目的地候補群の位置情報のうちから目的地の位置情報を示す目的地情報を取得する、ことを特徴とする。
【図面の簡単な説明】
【0017】
【図1】本発明の実施の形態におけるオブジェクト制御装置の構成の概要について説明するための図である。
【図2】図1に示したオブジェクト制御装置の制御部及び記憶部等で実現される機能的な構成について説明するための図である。
【図3】本実施の形態における仮想空間の一例を示す図である。
【図4】図1に示した動作制御部の機能的構成について説明するための図である。
【図5】本実施の形態におけるAVD情報の記憶形式の一例を示す図である。
【図6】本実施の形態におけるAVD情報の一例について説明するための図である。
【図7】本実施の形態におけるランキング情報の記憶形式の一例を示す図である。
【図8A】本実施の形態における最寄りエッジ取得処理の一例について説明するための図である。
【図8B】本実施の形態における最寄りエッジ取得処理の一例について説明するための図である。
【図8C】本実施の形態における最寄りエッジ取得処理の一例について説明するための図である。
【図8D】本実施の形態における最寄りエッジ取得処理の一例について説明するための図である。
【図8E】本実施の形態における最寄りエッジ取得処理の一例について説明するための図である。
【図8F】本実施の形態における最寄りエッジ取得処理の一例について説明するための図である。
【図8G】本実施の形態における最寄りエッジ取得処理の一例について説明するための図である。
【図8H】本実施の形態における最寄りエッジ取得処理の一例について説明するための図である。
【図8I】本実施の形態における最寄りエッジ取得処理の一例について説明するための図である。
【図9】本実施の形態におけるバウンディングボックスの一例について説明するための図である。
【図10】本実施の形態における代理ポイント取得処理の一例について説明するための図である。
【図11】本実施の形態におけるオブジェクト制御装置のフローの概要について説明するための図である。
【図12】本実施の形態におけるオブジェクト制御装置のフローの概要について説明するための図である。
【図13】本実施の形態におけるオブジェクト制御装置のフローの概要について説明するための図である。
【図14】本実施の形態におけるオブジェクト制御装置のフローの概要について説明するための図である。
【発明を実施するための形態】
【0018】
以下、本発明の実施形態について、図面を参照しつつ説明する。なお、図面については、同一又は同等の要素には同一の符号を付し、重複する説明は省略する。
【0019】
図1は、本発明の実施の形態におけるオブジェクト制御装置の構成の概要について説明するための図である。図1に示すように、オブジェクト制御装置100は、例えば、CPUやメモリ等で構成されるコンピュータで構成され、例えば、制御部101、記憶部102、通信部103、操作部104、表示部105を有する。なお、制御部101、記憶部102、通信部103、操作部104、表示部105は、内部バス106により互いに接続される。
【0020】
制御部101は、例えば、CPU、MPU等であって、記憶部102に格納されたプログラムに従って動作する。記憶部102は、例えば、ROMやRAM、ハードディスク等の情報記録媒体で構成され、制御部101によって実行されるプログラムを保持する情報記録媒体である。
【0021】
記憶部102は、制御部101のワークメモリとしても動作する。なお、当該プログラムは、例えば、ネットワーク(図示なし)を介して、ダウンロードされて提供されてもよいし、または、CD−ROMやDVD−ROM等のコンピュータで読み取り可能な各種の情報記録媒体によって提供されてもよい。
【0022】
通信部103は、当該オブジェクト制御装置100を、ネットワーク(図示なし)を介して、他の端末装置(図示なし)やデータベース(図示なし)等と接続する。操作部104は、例えば、キーボード、マウス、または、コントローラ等で構成され、ユーザの指示操作に応じて、当該指示操作の内容を制御部101に出力する。表示部105は、例えば、液晶ディスプレイ、有機ELディスプレイ等であって、制御部101からの指示に従い、情報を表示する。なお、上記オブジェクト制御装置100の構成は、一例であってこれに限定されるものではない。例えば、上記端末装置から、ネットワークを介して、ユーザの指示操作がオブジェクト制御装置100に入力されるように構成してもよい。
【0023】
図2は、図1に示したオブジェクト制御装置の制御部及び記憶部等で実現される機能的な構成について説明するための図である。図2に示すように、オブジェクト制御装置100は、機能的に、動作制御部201、空間DB202、空間情報生成部203、興味対象特定部204、AVD情報取得部205、ランキング情報記憶部206、AC位置情報取得部207、エリア分割部208、最近傍エッジ決定部209、レイキャスト判定部210、最寄りエッジ取得部211、AP展開部212、スペースチェック判定部213、AP取得部214、到達判定部215、最短エッジ取得部216、AP作成部217、代理ポイント取得部218、AVD情報記憶部219を含む。
【0024】
なお、下記においては、説明の簡略化のために、当該オブジェクト制御装置100で生成される仮想空間が図3に示した場合であって、例えば、非操作オブジェクトを興味対象に向かって移動させる場合を例として説明する。図3は、仮想空間の一例を示す図である。図3に示すように、操作オブジェクト301、非操作オブジェクト302、興味対象303、壁304、ウェイコリジョン305等が仮想空間に表される。ここで、操作オブジェクトは、例えば、ユーザが操作するキャラクター等に相当し、非操作オブジェクトは、例えば、敵キャラクター等、ユーザの操作対象でないキャラクター等に相当する。また、興味対象は、例えば、キャラクターや敵キャラクター等が保持または使用等行うアイテムに相当する。また、壁やウェイコリジョンは敵キャラクター等に対する障害となるオブジェクトに相当するが詳細には後述する。
【0025】
当該仮想空間において、操作オブジェクト301、非操作オブジェクト302、興味対象303の移動や動作等は、動作制御部201により行われる。具体的には、動作制御部201は、図4に示すように、操作オブジェクト動作制御部401、非操作オブジェクト動作制御部402、興味対象動作制御部403を有する。
【0026】
操作オブジェクト動作制御部401は、操作部104に入力される操作情報に応じて、操作オブジェクトを移動、動作させる。
【0027】
非操作オブジェクト動作制御部402は、ユーザの操作対象でないオブジェクトである非操作オブジェクトを移動、動作させる。具体的には、例えば、図3に示した場合、非操作オブジェクト動作制御部402は、非操作オブジェクト302を、仮想空間上に配置されたノード306、307、308とエッジ309、310を含んで構成されるパスに基づいて、移動させる。つまり、興味対象303に向かって非操作オブジェクト302を移動させる場合、エッジ309からエッジ310へ移動させる等である。ここで、非操作オブジェクトは、例えば、エッジ両端点にいわゆるベジェ曲線等を適用して、非操作オブジェクトが当該ベジェ曲線に沿って移動するように構成してもよい。また、当該パスは、実際に表示部105等に表示される仮想空間には表示されないように構成される。また、当該ノードやエッジ等の位置を示す情報は、例えば、空間DB202に保持される。なお、非操作オブジェクトのその他の移動や動作等の詳細については後述する。
【0028】
興味対象動作制御部403は、仮想空間において、興味対象の表示や移動を行う。具体的には、例えば、当該興味対象の位置情報や画像情報は、空間DB202に保持されており、当該位置情報等に基づいて、興味対象動作制御部403は、興味対象の表示等を行う。
【0029】
空間情報生成部203は、仮想空間を表す画像情報を生成する。具体的には、例えば、仮想空間における壁等の背景、操作オブジェクト、非操作オブジェクト、興味対象の位置情報や画像情報が、空間DB202に保持されており、当該壁等の位置情報や画像情報に基づいて、仮想空間を表す画像情報を生成する。なお、空間DB202に記憶されている操作オブジェクト、非操作オブジェクト、興味対象等の位置情報は、例えば、動作制御部201により、操作オブジェクト等の移動等に伴い、更新される。また、当該画像情報は、例えば、表示部105に表示されてもよいし、ネットワークを介して送信され、当該ネットワークに接続された端末装置の表示部(図示なし)等に表示されてもよい。
【0030】
また、空間情報生成部203は、同様にウェイコリジョン等を仮想空間に生成する。ここで、ウェイコリジョンとは、例えば、実際には表示されない、いわば見えない壁等に相当するものであって、表示される仮想空間に表される壁等に沿って所定の距離に配置される。非操作オブジェクト動作制御部402は、例えば、当該ウェイコリジョンを非操作オブジェクトに対する障害物とみなし、非操作オブジェクトを当該ウェイコリジョンより壁側等には移動させない。また、当該ウェイコリジョンは、オブジェクトのサイズ等をあらかじめ考慮して、壁等から所定の距離に配置されるよう、位置情報等が設定されている。よって、非操作オブジェクト動作制御部402が、非操作オブジェクトを壁にめり込ませる等の動作を防止することができる。
【0031】
以上の前提の下、まず、主に、後述する最寄りエッジ情報を取得する処理において実現される機能構成について説明する。
【0032】
興味対象特定部204は、所定の基準に応じて、非操作オブジェクトの興味対象を特定し、当該対象オブジェクトの興味対象識別情報(興味対象ID)及びその位置情報を取得する。具体的には、例えば、当該興味対象の特定は、動作制御部201または空間DB202からの非操作オブジェクト及び興味対象の位置情報に基づいて、仮想空間においてオブジェクトに最も近い位置に存在する興味対象を特定し、当該興味対象ID及びその位置情報を取得するように構成してもよい。
【0033】
また、例えば、非操作オブジェクトが動物等を表す場合にはその視界に入る興味対象のうちから、より近い位置に存在する興味対象を特定するように構成してもよい。更に、興味対象毎に点数情報が関連付けて記憶されており、当該点数情報に応じて、または、当該点数情報及び距離に応じて興味対象が特定されるように構成してもよい。なお、ここでは、図3において、興味対象特定部204が、興味対象303(興味対象識別情報(興味対象ID)、K1)を特定した場合を例として説明する。
【0034】
AVD情報取得部205は、興味対象特定部204が取得した興味対象IDに関連付けて記憶されているAVD(Approach Volume Data)情報を、その優先順位情報に基づいて、取得する。具体的には、後述する最寄りエッジが取得できなかった場合や非操作オブジェクトを移動させる目的地(AP:Approach Point)が取得できなかった場合に、次の優先順位のAVD情報を取得する。
【0035】
ここで、AVD情報とは、特定した興味対象に対して、非操作オブジェクトを移動させる目的地(以下、APと称する)の候補(以下、AP候補と称する)となる位置を表す情報に相当する。具体的には、例えば、図5に示すように各AVD情報は、それぞれAVDID、角度情報、分割数情報、AP半径情報、方向情報、AC距離情報を含む。なお、当該各AVD情報は、例えば、AVD情報記憶部219に記憶される。
【0036】
ここで、AVD情報について、図5に示したAVDID、1−1のAVD情報を例として説明する。図6に示すように、興味対象特定部204により取得された興味対象601の位置情報から、方向情報で示される(x、y、z)の方向に、AC距離情報で示される距離、2の位置にアプローチセンター(以下、ACと称する)、602を配置する。そして、ACからAP半径情報で示される半径、20の位置であって、ACから当該方向を中心として角度60°の扇形を形成する。そして、当該角度60°を分割数、3で除算した位置にAP候補群603を配置する。つまり、AVD情報は、特定された興味対象に対して配置するAP候補群の位置を求めるための情報に相当する。つまり、AC距離情報とは、興味対象とACとの距離を表す情報に相当し、AP半径情報とは、ACとAP候補との距離を表す情報に相当する。上記のようにして、各AP候補群の位置が求められる。
【0037】
なお、図6に示した各AP候補群の決定方法は、一例であって、これに限られず、その他角度180°や360°等の半円形や円形を形成し、分割数等に応じてAP候補群の位置が決定される等であってもよい。更に、その他、興味対象から所定の方向または所定の距離に位置するAP候補群が取得される限り、その他の方法を用いてもよい。
【0038】
ランキング情報記憶部206は、例えば、図7に示すように、興味対象ID毎に、優先順位情報、アクションID、AVDIDを関連付けて記憶する。ここで、アクションIDは、例えば、匂う、触る、たたく、噛む等の非操作オブジェクトに行わせる各動作を識別する情報である。また、アクションIDには、例えば、各動作に対応するモーションデータ等が関連付けられており、非操作オブジェクトは当該各モーションデータに応じた所定の動作を行う。AVD情報取得部205は、上記のように優先順位情報が高い順に、AVDIDを取得し、当該取得されたAVDIDに基づいて、AVD情報記憶部219から、対応するAVD情報を取得する。なお、各モーションデータは、角度情報等に応じて異なるデータとなるように構成してもよい。
【0039】
具体的には、例えば、AVD情報取得部205は、図7に示した場合であって、上記例のように、興味対象ID、K1が取得された場合、興味対象特定部204で取得された興味対象ID、K1に基づいて、AVDID、AVD1を取得する。そして、当該AVDID、AVD1に基づいて、AVD1−1に関連付けて記憶されているAVD情報を取得する。
【0040】
なお、図5は、AVDID、AVD1について2のAVDID(AVD1−1、AVD1−2)が記憶されている場合を示しているが、これに限られず、その他の数のAVDIDが記憶されてもよい。また、上記においては、ランキング情報記憶部206からAVDIDを取得し、当該AVDIDを介して対応するAVD情報をAVD情報記憶部219から取得する構成について説明したが、ランキング情報とAVD情報を関連付けて、1の記憶部、例えば、ランキング情報記憶部206またはAVD情報記憶部219、に記憶し、AVD情報取得部205は、当該1の記憶部から、興味対象IDに基づいて、対応するAVD情報を取得するように構成してもよい。
【0041】
AC位置情報取得部207は、興味対象特定部204が取得した興味対象の位置情報及びAVD情報取得部205が取得したAVD情報に基づいて、取得したAVD情報についてのACの位置情報を算出、取得する。具体的には、例えば、AVDID、AVD1−1に関連付けて記憶されたAC距離情報や方向情報、及び、興味対象の位置情報に基づいて、取得されたAVD情報に対応するAC位置情報を算出し、取得する。これにより、例えば、図6を用いて説明したように、ACの位置情報を算出、取得する。
【0042】
エリア分割部208は、AC位置情報取得部207で取得されたACの位置情報に基づいて、仮想空間を複数のエリアに分割する。具体的には、仮想空間に、図8Aに示すようなAC、パス801、壁802、ウェイコリジョン803が配置される場合を例として説明する。なお、例えば、ACの位置情報は、AC位置情報取得部207により取得され、パス801、壁802、ウェイコリジョン803の位置情報は空間DB202から取得されることは上述のとおりである。
【0043】
エリア分割部208は、図8Bに示すように、ACを中心に放射状に仮想空間を8分割する。なお、分割数は、一例であって、その他の数であってもよい。
【0044】
最近傍エッジ決定部209は、エリア分割部208により分割されたエリア毎にACからの距離が最も近いエッジである最近傍エッジを決定する。具体的には、例えば、最近傍エッジ決定部209は、空間DB202から各エッジの位置情報を取得し、ACの位置情報と当該位置情報に基づいて、各エッジにおけるACからの最近傍点を求め、エリア分割部208により分割された仮想空間のエリア毎の最近傍エッジを決定する。
【0045】
ここで、最近傍点とは、ACから各エッジへの垂線を引いた場合の各エッジとの交点に相当するが、当該交点がエッジの外側に存在する場合には、当該交点に近い方のエッジの端点に相当する。具体的には、例えば、図8Cに示した場合、エッジE0とACからE0への垂線との交点がエッジE0上にあり、当該交点がエリア7に属していることから、エッジE0はエリア7に属し、最近傍点を当該交点とする。一方、例えば、図8Dに示した場合には、ACからエッジE2への垂線の交点が当該エッジE2上にないので、当該交点に一番近いエッジの端点(ノード)を最近傍点とする。そして、当該最近傍点はエリア1に属していることからエッジE2は、エリア1に属すると判断する。
【0046】
また、同じエリアに複数のエッジが存在する場合には、その最近傍点がACにより近い方のエッジを最近傍エッジとする。例えば、図8Eに示したエッジE3とE5のように、2のエッジの最近傍点が同じエリアに含まれる場合には、ACからより近い方の最近傍点を有するエッジを最近傍エッジとする。つまり、図8Eに示した場合、エリア3に最近傍点が含まれるエッジは、エッジE3とエッジE5であるが、そのうちエッジE3が最近傍エッジとなる。上記のようにして、各エリアにおける最近傍エッジを決定する。図8Fはこのときの様子を示す。
【0047】
レイキャスト判定部210は、最近傍エッジ決定部209により決定された各エリアの最近傍エッジの両端点とACとの間における後述するレイキャスト判定を行う。そして、ACと当該両端点とのうちのいずれか一方の端点とのレイキャスト判定に成功すれば、当該エッジを最寄りエッジ候補として、後述する最寄りエッジ取得部211に取得させる。
【0048】
なお、全てのエリアの最近傍エッジについてのレイキャスト判定について失敗した場合には、次の優先順位情報を有するAVDIDを、AVD情報取得部205に取得させる。例えば、上記例のように、1の優先順位につき、複数のAVDID(AVDID1−1、AVDID1−2)が関連付けられている場合には、他のAVDID(上記例の場合は、AVDID1−2)についてのAVD情報を取得し、当該複数のAVDID全てにつき、上記レイキャスト判定が失敗した場合に、次のAVDID(上記例の場合、AVDID、AVD2)を取得する等である。
【0049】
ここで、レイキャスト判定とは、例えば、一方の点(この場合はエッジの両端点のうちの1の端点)と、ACとを直線で結んだ場合に、当該直線上に、非操作オブジェクトに対して障害物となるウェイコリジョンや壁が存在するか否かによって判定し、存在しない場合にはレイキャスト判定に成功したと判定し、存在しない場合には、レイキャスト判定に失敗したと判定する。
【0050】
具体的には、例えば、図8Gに示すように、エッジE0に対しては、その両端点に対してレイキャスト判定が成功するので、最寄りエッジ候補とする。また、エッジE2に対しても、一方の端点についてレイキャスト判定が成功するので、最寄りエッジ候補とする。一方、エッジE3については、ACと両端とを結ぶ直線上にウェイコリジョンが存在するので、レイキャスト判定部210はレイキャスト判定に失敗したと判定し最寄りエッジ候補とはしない。つまり、上記例の場合、最寄りエッジ候補は、エッジE0とE2となり、レイキャスト判定部210は、当該エッジE0及びE2を、最寄りエッジ取得部211に取得させる。
【0051】
最寄りエッジ取得部211は、レイキャスト判定部210から最寄りエッジ候補を示すエッジを取得し、ACから各最寄りエッジ候補の最近傍点までの距離を算出、比較し、最も距離が短い最寄りエッジ候補を、最寄りエッジとして、取得する。具体的には、例えば、図8Hに示すように、ACからエッジE0の最近傍点への距離と、ACからエッジE2の最近傍点への距離を比較すると、E0の最近傍点への距離が短いので、図8Iに示すように当該エッジE0を最寄りエッジとして取得する。なお、エッジの位置情報等は、空間DB202から取得し、当該位置情報に基づいて、上記距離等を算出する。上記のように、複数のエリアに分割して最寄りエッジを取得することで、オブジェクト制御プログラムの負荷を低減することができる。なお、上記は一例であって、エリア分割しないで、最寄りエッジを取得するよう構成してもよいことはいうまでもない。
【0052】
次に、主に、AP(非操作オブジェクトの移動の目的地に相当する)を決定する処理において実現される機能構成について説明する。AP展開部212は、最寄りエッジ取得部211が最寄りエッジを取得した場合、AVD情報取得部205で取得されたAVD情報に基づいて、対応するAP候補群の位置情報を算出、取得する。なお、当該AVD情報は、上記最寄りエッジが取得されたAVD情報に対応する。具体的には、例えば、上述のように、AVD情報に含まれる角度情報、分割数情報、AP半径情報等に基づいて、図6のように展開されたAP候補群603の位置情報を算出する。
【0053】
レイキャスト判定部210は、各AP候補とAC間においてレイキャスト判定する。また、レイキャスト判定部210は、更に、最寄りエッジの両端との間においてもレイキャスト判定する。具体的には、例えば、図6に示したAC602とAP候補603との間でレイキャスト判定するとともに、最寄りエッジ605の両端のノード606、607と各AP候補603との間でレイキャスト判定する。なお、レイキャスト判定の詳細については上記と同様である。一方、全てのAP候補についてレイキャスト判定が失敗した場合には、AVD情報取得部205に、上述のレイキャスト判定が失敗した場合と同様に、次の優先順位情報を有するAVD情報を取得させる。なお、この場合、既に上述した全てのエリアの最近傍エッジについてのレイキャスト判定について失敗したAVD情報が存在する場合には、そのAVD情報の次の優先順位情報を有するAVD情報から優先順位情報に従い取得させる。
【0054】
スペースチェック判定部213は、各AP候補とAC間、及び、最寄りエッジの両端とAC間のレイキャスト判定に成功した場合には、例えば、非操作オブジェクトについて関連付けられて記憶されているバウンディングボックスを用いてスペースチェックを行う。
【0055】
ここで、バウンディングボックス604とは、例えば、図9に示すように、非操作オブジェクト603上に配置される非操作オブジェクトが必要とするスペースに相当するボックス604である。スペースチェック判定部213は、当該バウンディングボックスが、仮想空間における壁等と干渉しない場合には、スペースチェック判定に成功したと判定し、干渉した場合には失敗したと判定する。なお、当該バウンディングボックスの形状や、大きさ、当該バウンディングボックスのオブジェクト上への配置位置等は、あらかじめ設定される。また、複数の非操作オブジェクトについて移動制御等を行う場合には、当該バウンディングボックスの形状や大きさ等については、非操作オブジェクト毎に異なるように構成してもよい。また、非操作オブジェクトに対して、当該非操作オブジェクトの形状等に応じて、形状や大きさの異なる複数のバウンディングボックスが配置されるように構成してもよい。
【0056】
AP取得部214は、スペースチェック判定部213によりスペースチェックに成功したと判定された各AP候補を取得し、当該各AP候補から非操作オブジェクトへの距離を算出する。そして、当該各AP候補からオブジェクトへの各距離を比較し、最も距離の短い距離を有するAP候補をAPとして取得する。
【0057】
非操作オブジェクト動作制御部402は、取得されたAPの位置情報が示す位置を目的地として仮想空間において非操作オブジェクトを移動させる。到達判定部215は、APと非操作オブジェクトの位置情報に基づいて、非操作オブジェクトがAPに到達したか否か判定し、到達したと判定した場合には、当該APに対応するAVDIDに関連付けて記憶されたアクションIDで識別される動作を行わせる。
【0058】
これにより、仮想空間において、興味対象の種類や当該興味対象に対して行わせる動作や障害物等の位置等に応じて、当該興味対象に対する非操作オブジェクトの目的地(AP)を設定し、当該目的地まで非操作オブジェクトを移動させて所定の動作を行わせることができる。
【0059】
次に、全てのAVDについて最寄りエッジを取得できなかった場合、または、全てのAVDについてAPを取得できなかった場合について、実現される主な機能構成について説明する。
【0060】
最短エッジ取得部216は、興味対象特定部204により取得された興味対象の位置情報と、エッジの位置情報に基づいて、特定された興味対象から一番距離の近いエッジである最短エッジのエッジIDを取得する。
【0061】
レイキャスト判定部210は、最短エッジ取得部216により取得された最短エッジの両端点と、優先順位情報が1のAVDのACとのレイキャスト判定を行う。なお、当該ACの位置情報は、例えば、上記と同様に、AC位置情報取得部207により算出、取得され、レイキャスト判定部210は、当該取得されたACの位置情報を用いて、レイキャスト判定を行う。なお、いずれか一方の端点と当該ACとの間のレイキャスト判定に成功した場合には、レイキャスト判定が成功したものとする等については上述と同様である。そして、レイキャスト判定に成功した場合には、AVDID、360のAVD情報を、AVD情報記憶部219から取得する。当該AVDID、360のAVD情報は、例えば、角度情報として360°(つまり、円形状となる)、及び、分割数情報として上記優先順位情報が1のAVD情報の分割数とは異なる分割数情報を有するものであって、その他の情報(距離情報等)については、非操作オブジェクトとウェイコリジョン等との干渉等が生じないようにあらかじめ設定される。
【0062】
AP展開部212、レイキャスト判定部210、スペースチェック判定部213、AP取得部214は、AVDID、360のAVD情報及び最短エッジに基づいて、上記APを取得する処理と同様の処理を行う。そして、APが取得された場合には、当該APを目的地として、非操作オブジェクトの移動を開始させ、当該APに到達した場合には、当該AVDIDに関連付けて記憶されている動作を行わせる。
【0063】
一方、AP作成部217は、当該AVDID、360のAVD情報を用いても、APが取得できなかった場合には、興味対象の位置に基づいて、当該最短エッジ上にAPを作成する。具体的には、例えば、興味対象の位置から最短エッジに垂線を下ろした場合の交点をAPとして作成し、当該APの位置情報を、動作制御部201にAP(ファイナルAP)として送信する。そして、同様に、当該ファイナルAPを目的地として、非操作オブジェクトの移動を開始させ、当該ファイナルAPに到達した場合には、当該AVDID、360に関連付けられて記憶されている動作を行わせる。
【0064】
これにより、全てのAVDについて最寄りエッジを取得できなかった場合、または、全てのAVDについてAPを取得できなかった場合についても、APを設定し、所定の動作を行わせることができる。
【0065】
一方、レイキャスト判定部210が、最短エッジの両端点と、上記AC(優先順位情報が1のAVDのAC)とのレイキャスト判定を行い、レイキャスト判定に失敗した場合には、代理ポイント取得部218は、最短エッジや興味対象、非操作オブジェクトの位置情報と、ウェイコリジョンの位置情報に基づいて、興味対象特定部204で特定された興味対象の位置情報の代理(代理ポイント)となる位置情報を取得する。
【0066】
具体的には、代理ポイント取得部218は、例えば、図10に示すように、非操作オブジェクトと興味対象601とを結んだ直線とウェイコリジョン305の境界線との交点の位置情報を代理ポイントの第1候補点111として取得する。また、興味対象601と最短エッジ311の両端点312、313とを結んだ直線と、ウェイコリジョン305の境界線との各交点の位置情報をそれぞれ、代理ポイントの第2及び第4候補点112、114として取得する。更に、興味対象601から最短エッジ311へ下した垂線と最短エッジとの交点の位置情報を代理ポイントの第3候補点113として取得する。そして、各候補点と上記ACとの位置情報を算出し、上記第1乃至第4の候補点111乃至114のうちから、最も上記ACから距離が短い候補点の位置情報(当該例の場合は、第3候補点113)の位置情報を抽出する。
【0067】
また、AVD情報取得部205は、例えば、代理のAVD情報、つまり、AVDID、DAのAVD情報を、AVD情報記憶部219から取得する。当該AVDID、DAのAVD情報は、例えば、非操作オブジェクトとウェイコリジョン等との干渉が生じないように、あらかじめ設定されている。具体的には、例えば、当該代理のAVD情報は、優先順位情報が1のAVD情報とAC距離が同じであって、分割数情報が異なる等である。
【0068】
AP展開部212、レイキャスト判定部210、スペースチェック判定部213、AP取得部214は、AVDID、DAのAVD情報に基づいて、上記APを取得する処理と同様の処理を行う。なお、この場合、ACの位置情報取得等については、興味対象の位置情報の代わりに、代理位置情報を用いて算出し、当該代理位置情報に基づいてAP候補群を展開等する。そして、APが取得された場合には、当該APを目的地として、非操作オブジェクトの移動を開始させ、当該APに到達した場合には、当該AVDIDに関連付けて記憶された動作を行わせる。なお、上記においては、代理のAVD情報を用いる場合について説明したが、元のAVD情報を用いるように構成してもよい。
【0069】
一方、AP作成部217は、当該AVDID、DAのAVD情報を用いても、APが取得できなかった場合には、興味対象の位置に基づいて、当該最短エッジ上にAPを作成等する点は上記と同様である。そして、同様に、当該ファイナルAPを目的地として、非操作オブジェクトの移動を開始させ、当該ファイナルAPに到達した場合には、当該AVDID、DAに関連付けられて記憶されている動作を行わせる。
【0070】
これにより、例えば、図10に示すように、興味対象がウェイコリジョンの内部にある場合(例えば、非操作オブジェクトが興味対象に到達できない場合)にも、非操作オブジェクトのAPを設定することができるとともに、非操作オブジェクトが当該APに到達した場合には非操作オブジェクトに所定の動作を行わせることができる。
【0071】
次に、オブジェクト制御装置の処理のフローについて説明する。図11乃至図14は、オブジェクト制御装置のフローの概要について説明するための図である。
【0072】
図11に示すように、興味対象特定部204は、所定の基準に応じて、非操作オブジェクトの興味対象を特定し、当該対象オブジェクトの興味対象ID及びその位置情報を取得する(S101)。AVD情報取得部205は、興味対象特定部204が取得した興味対象IDに関連付けて記憶されているAVD情報を、その優先順位情報に基づいて、取得する(S102)。
【0073】
後述するS201乃至S209で示すように、最寄りエッジを取得する最寄りエッジ取得処理を行う(S103)。具体的には、図12に示すように、まず、AC位置情報取得部207は、興味対象特定部204が取得した興味対象の位置情報及びAVD情報取得部205が取得したAVD情報に基づいて、取得したAVD情報についてのACの位置情報を算出、取得する(S201)。
【0074】
エリア分割部208は、AC位置情報取得部207で取得されたACの位置情報に基づいて、仮想空間を複数のエリアに分割する(S202)。最近傍エッジ決定部209は、エリア分割部208により分割されたエリア毎にACからの距離が最も近いエッジである最近傍エッジを決定する(S203)。
【0075】
レイキャスト判定部210は、最近傍エッジ決定部209に決定された各エリアの最近傍エッジの両端点とACとの間におけるレイキャスト判定を行う。具体的には、まず、最近傍エッジの第1の端点(第1のノード)とAC間のレイキャスト判定を行う(S204)。そして、当該レイキャスト判定に失敗した場合には、最近傍エッジの第2の端点(第2のノード)とAC間のレイキャスト判定を行う(S205)。
【0076】
そして、S204またはS205のいずれかにおいてレイキャスト判定に成功した場合には、S206に進み、最寄りエッジ取得部211に、当該最近傍エッジを識別するエッジ識別情報を、最寄りエッジ候補として取得させる(S206)。一方、S205でレイキャスト判定に失敗した場合にはS207に進む。
【0077】
次に、各エリアにおける最近傍エッジのレイキャスト判定が終了したか否かを判定する(S207)。終了していないと判定した場合には、S204に戻る。一方、終了したと判定した場合には、S208に進む。
【0078】
最寄りエッジ候補が取得されているか否かを判定する(S208)。S208で最寄りエッジが取得されていると判定した場合には、最寄りエッジ取得部211は、ACから各最寄りエッジ候補の最近傍点までの距離を算出、比較し、最も距離が短い最寄りエッジ候補を、最寄りエッジとして、取得する(S209)。そして、S104へ進む。
【0079】
一方、S208で最寄りエッジが取得されていないと判定した場合には、未処理のAVDIDが存在するか否か判定する(S210)。具体的には、例えば、特定された興味対象IDに関連付けられて記憶されている全てのAVDIDについて、最寄りエッジ取得処理が行われたか否かを判定する。未処理のAVDIDが存在すると判定した場合には、S102に進み、次の優先順位のAVD情報を取得する。一方、未処理のAVDIDが存在しないと判定した場合には、後述するS109に進む。
【0080】
S209で取得された最寄りエッジに対応するAVD情報に基づいて、AP取得処理を行う(S104)。具体的には、図13に示すように、まず、AP展開部212は、当該AVD情報に基づいて、AP候補群を展開し、各AP候補の位置情報を取得する(S301)。
【0081】
AP候補について後述する判定が行われたか否かを判定する(S302)。全てのAP候補について判定していないと判定した場合には、レイキャスト判定部210は、順にAP候補の位置情報を取得し、AP候補とAC間においてレイキャスト判定する(S303)。一方、全てのAP候補について判定したと判定した場合には、後述するS308に進む。
【0082】
一方、S303でAP候補とAC間のレイキャスト判定に成功したと判定した場合には、レイキャスト判定部210は、当該AP候補とS209で取得された最寄りエッジの第1のノードとの間においてレイキャスト判定する(S304)。
【0083】
S304のレイキャスト判定に失敗した場合には、AP候補とS209で取得された最寄りエッジの第2のノードとの間においてレイキャスト判定する(S305)。S305のレイキャスト判定に失敗したと判定した場合には、S302に戻る。
【0084】
S304またはS305でレイキャスト判定に成功した場合には、スペースチェック判定部213は、スペースチェックを行う(S306)。当該スペースチェックに失敗したと判定した場合には、S302に戻る。一方、スペースチェックに成功した場合には、AP取得部214は当該AP候補の位置情報をAP候補として登録する(S307)。次に、S302に戻る。そして、上記のように、全てのAP候補についてレイキャスト判定したと判定した場合には、AP候補が登録されているか否か判定し(S308)、登録されていると判定した場合にはS105に進み、登録されていないと判定した場合にはS109に進む。なお、上記においては1のAP候補とAC間におけるレイキャスト判定に成功する毎に当該AP候補とノード間におけるレイキャスト判定等行う処理について説明したが、これに限られず、まず全てのAP候補群及びACとのレイキャスト判定を行い、当該レイキャスト判定に成功したAP候補群について、次にノードとの間のレイキャスト判定を行う等、実質的に同一の処理である限り、異なる処理であってもよいことはいうまでもない。
【0085】
AP取得部214は、登録された各AP候補から非操作オブジェクトへの各距離を算出する。そして、当該各AP候補からオブジェクトへの各距離を比較し、最も距離の短い距離を有するAP候補を、APとして、取得する(S105)。
【0086】
非操作オブジェクト動作制御部402は、取得されたAPの位置情報が示す位置に向かってオブジェクトを移動させる(S106)。
【0087】
到達判定部215は、例えば、所定期間毎に、当該APの位置情報と非操作オブジェクトの位置情報に基づいて、非操作オブジェクトがAPに到達したか否かを判定する(S107)。そして、到達していないと判定した場合には、例えば、S101に戻り、再度上記と同様の処理を行う。一方、到達判定部215が、到達したと判定した場合には、当該APに対応するAVD情報に関連付けて記憶された動作を行わせる(S108)。
【0088】
次に、S210で未処理のAVDIDが存在しないと判定した場合、または、S303で全てのAP候補についてレイキャスト判定したと判定した場合の処理のフローについて図14を用いて説明する。
【0089】
図14に示すように、まず、最短エッジ取得部216は、興味対象特定部204により取得された興味対象の位置情報と、エッジの位置情報に基づいて、特定された興味対象から一番距離の近いエッジである最短エッジのエッジIDを取得する(S109)。
【0090】
レイキャスト判定部210は、最短エッジ取得部216により取得された最短エッジの両端点と、優先順位情報が1のAVDのACとのレイキャスト判定を行う(S110)。いずれか一方の端点と当該ACとの間のレイキャスト判定に成功した場合には、レイキャスト判定が成功したものとする等については上述と同様であるので、詳細なフローについては説明を省略する。
【0091】
S110でレイキャスト判定に成功した場合には、AVDID、360のAVD情報を、AVD情報記憶部219から取得する(S111)。S111で取得されたAVDID、360のAVD情報及びS110で取得された最短エッジに基づいて、S104のAP取得処理と同様の処理を行う(S112)。そして、AP候補が取得されたか否かを判定する(S113)。S112でAP候補が取得されたと判定した場合には、S105に進む。
【0092】
一方、S110で、レイキャスト判定に失敗したと判定した場合には、AVD情報取得部205は、AVDID、DAのAVD情報(代理ボリューム)を、例えば、AVD情報記憶部219から取得する(S114)。
【0093】
代理ポイント取得部218は、上述のように最短エッジや興味対象、非操作オブジェクトの位置情報と、ウェイコリジョンの位置情報に基づいて、興味対象特定部204で特定された興味対象の位置情報の代理(代理ポイント)となる位置情報(代理位置情報)を取得する(S115)。
【0094】
S114で取得されたAVDID、DAのAVD情報及びS110で取得された最短エッジに基づいて、S104のAP取得処理と同様の処理を行う(S116)。なお、この場合、ACの位置情報の取得については、興味対象の位置情報の代わりに、代理位置情報を用いてACの位置情報を算出し、当該ACの位置情報に基づいてAP候補群を展開等する。そして、AP候補が取得されたか否かを判定する(S117)。S116でAP候補が取得されたと判定した場合には、S105に進む。
【0095】
一方、S112またはS116でAP候補が取得されなかったと判定された場合には、AP作成部217は、興味対象の位置に基づいて、当該最短エッジ上にAPを作成する(S118)。そして、S105に進み、AP取得部214は、当該作成されたAPをAPとして、取得する。なお、上記処理のフローは、例えば、所定フレーム期間毎に行われるように構成してもよいし、上記処理のフローには、ある程度の時間を要するため、処理が一巡する毎に上記処理のフローが行われるように構成してもよい。つまり、例えば、本実施の形態によれば、移動に伴い、興味対象が特定され目的地が定められることから、移動に応じて目的地が変化することとなる。
【0096】
なお、上記図11乃至図14で示した処理のフローは一例であって、種々の変形が可能である。例えば、上記実施の形態で示した構成と実質的に同一のフロー、同一の作用効果を奏するフロー又は同一の目的を達成することができるフローで置き換えることができる。
【0097】
また、本発明は、上記実施の形態に限定されるものではなく、種々の変形が可能である。例えば、上記実施の形態で示した構成と実質的に同一の構成、同一の作用効果を奏する構成又は同一の目的を達成することができる構成で置き換えることができる。
【0098】
具体的には、例えば、操作オブジェクト、非操作オブジェクト、興味対象は、上記で示した数に限られず、それぞれ2以上の複数であってもよい。この場合、複数の操作オブジェクトは、1または複数のユーザにより操作されてもよいし、複数の非操作オブジェクトは、互いに独立して非操作オブジェクト制御部により制御されてもよい。また、上記においては、操作オブジェクトと非操作オブジェクトとを用いて説明したが、操作オブジェクトは、必ずしもユーザの指示に基づいて動作する必要はなく、上記非操作オブジェクトと同様に、ユーザの指示によらずに、あらかじめ設定されたプログラム等に応じて動作するように構成してもよい。
【0099】
なお、特許請求の範囲に記載の目的地候補情報記憶手段は、例えば、ランキング情報記憶部206及びAVD情報記憶部219を含み、目的地情報取得手段は、例えば、AP展開部212、スペースチェック判定部213、AP取得部214を含み、経路情報特定手段は、最寄りエッジ取得部211を含む。
【符号の説明】
【0100】
100 オブジェクト制御装置、101 制御部、102 記憶部、103 通信部、104 操作部、105 表示部、201 動作制御部、202 空間DB、203 空間情報生成部、204 興味対象特定部、205 AVD情報取得部、206 ランキング情報記憶部、207 AC位置情報取得部、208 エリア分割部、209 最近傍エッジ決定部、210 レイキャスト判定部、211 最寄りエッジ取得部、212 AP展開部、213 スペースチェック判定部、214 AP取得部、215 到達判定部、216 最短エッジ取得部、217 AP作成部、218 代理ポイント取得部、219 AVD情報記憶部、401 操作オブジェクト動作制御部、402 非操作オブジェクト動作制御部、403 興味対象動作制御部。

【特許請求の範囲】
【請求項1】
仮想空間における興味対象を特定し、該興味対象の位置情報及び識別情報を取得する興味対象特定手段、
前記興味対象の識別情報に、オブジェクトの移動の目的地の候補となる目的地候補群の位置情報を求めるための目的地候補情報が関連付けられて記憶された目的地候補情報記憶手段、及び、
前記取得された興味対象の位置情報及び識別情報、及び、前記目的地候補情報に基づいて、該興味対象についての目的地候補群の位置情報を取得するとともに、前記目的地候補群の位置情報のうちから目的地の位置情報を示す目的地情報を取得する目的地情報取得手段、
としてコンピュータを機能させることを特徴とするオブジェクト制御プログラム。
【請求項2】
前記オブジェクト制御プログラムは、更に、
前記興味対象及び前記複数の経路情報の位置情報に基づいて、前記複数の経路情報のうち1の経路情報を特定する経路情報特定手段、としてコンピュータを機能させ、
前記目的地情報取得手段は、前記特定された1の経路情報が示す位置情報と、前記各目的地候補群の位置情報に基づいて、前記目的地情報を取得することを特徴とする請求項1記載のオブジェクト制御プログラム。
【請求項3】
前記目的地情報取得手段は、前記仮想空間において前記オブジェクトに対する障害物を形成する障害物オブジェクトの位置情報に基づいて、前記目的地情報を取得することを特徴とする請求項1または2に記載のオブジェクト制御プログラム。
【請求項4】
前記目的地情報取得手段は、前記各目的地候補群に配置され、所定の大きさ及び形状を有するボックスの位置情報と、前記障害物オブジェクトの位置情報に基づいて、前記目的地情報を取得することを特徴とする請求項3に記載のオブジェクト制御プログラム。
【請求項5】
前記経路情報特定手段は、更に、前記障害物オブジェクトの位置情報に基づいて、前記1の経路情報が特定可能か否か判定し、特定可能でないと判定した場合には、前記興味対象及び前記経路情報の位置情報に基づいて、前記経路情報のうち1の経路情報を代理経路情報と特定し、
前記オブジェクト制御プログラムは、更に、
前記代理経路情報の位置情報と、前記興味対象の位置情報と、前記オブジェクトの位置情報と、前記障害物の位置情報とに基づいて、複数の代理ポイントの位置情報を取得する代理ポイント取得手段として、コンピュータを機能させ、
前記目的地情報取得手段は、前記複数の代理ポイントの位置情報に基づいて、前記目的地情報を取得することを特徴とする3または4に記載のオブジェクト制御プログラム。
【請求項6】
前記目的地候補情報記憶手段は、更に、前記オブジェクトに行わせる動作を識別する動作識別情報を関連付けて記憶することを特徴とする請求項1乃至5のいずれかに記載のオブジェクト制御プログラム。
【請求項7】
前記オブジェクト制御プログラムは、更に、
前記オブジェクトが、前記目的地に到達したか否かを判定する到達判定手段、及び、
前記到達判定手段が到達したと判定した場合には、前記目的地候補情報に関連付けて記憶された動作識別情報で識別される動作を行わせるオブジェクト動作制御手段、
としてコンピュータを機能させることを特徴とする請求項6記載のオブジェクト制御プログラム。
【請求項8】
前記目的地候補情報は、前記興味対象の位置情報からの距離及び方向を示す距離情報及び方向情報を含むことを特徴とする請求項1乃至7のいずれかに記載のオブジェクト制御プログラム。
【請求項9】
前記目的地候補情報は、前記距離情報及び前記方向情報から求められる中心位置を中心として形成される形状において、該形状の半径を示す半径情報、該形状の中心角度を示す角度情報、該中心角度を分割するための分割数情報を含むことを特徴とする請求項8に記載のオブジェクト制御プログラム。
【請求項10】
請求項1乃至9のいずれかに記載にオブジェクト制御プログラムを記憶したコンピュータ読み取り可能な記憶媒体。
【請求項11】
仮想空間における興味対象を特定し、該興味対象の位置情報及び識別情報を取得する興味対象特定手段と、
前記興味対象の識別情報に、オブジェクトの移動の目的地の候補となる目的地候補群の位置情報を求めるための目的地候補情報が関連付けられて記憶された目的地候補情報記憶手段と、
前記取得された興味対象の位置情報及び識別情報、及び、前記目的地候補情報に基づいて、該興味対象についての目的地候補群の位置情報を取得するとともに、前記目的地候補群の位置情報のうちから目的地の位置情報を示す目的地情報を取得する目的地情報取得手段と、
を含むことを特徴とするオブジェクト制御装置。
【請求項12】
仮想空間における興味対象を特定し、該興味対象の位置情報及び識別情報を取得し、
前記取得された興味対象の位置情報及び識別情報、及び、前記興味対象の識別情報にオブジェクトの移動の目的地の候補となる目的地候補群の位置情報を求めるための目的地候補情報が関連付けられて記憶された該目的地候補情報に基づいて、該興味対象についての目的地候補群の位置情報を取得するとともに、前記目的地候補群の位置情報のうちから目的地の位置情報を示す目的地情報を取得する、
ことを特徴とするオブジェクト制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8A】
image rotate

【図8B】
image rotate

【図8C】
image rotate

【図8D】
image rotate

【図8E】
image rotate

【図8F】
image rotate

【図8G】
image rotate

【図8H】
image rotate

【図8I】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate


【公開番号】特開2013−59422(P2013−59422A)
【公開日】平成25年4月4日(2013.4.4)
【国際特許分類】
【出願番号】特願2011−198874(P2011−198874)
【出願日】平成23年9月12日(2011.9.12)
【出願人】(310021766)株式会社ソニー・コンピュータエンタテインメント (417)
【Fターム(参考)】