(57)【要約】【課題】興味対象の種類や当該興味対象に対して行わせる動作や障害物等の位置等に応じて、当該興味対象に対する目的地を設定する。【解決手段】オブジェクト制御プログラムであって、仮想空間における興味対象を特定し、該興味対象の位置情報及び識別情報を取得する興味対象特定手段、前記興味対象の識別情報に、オブジェクトの移動の目的地の候補となる目的地候補群の位置情報を求めるための目的地候補情報が関連付けられて記憶された目的地候補情報記憶手段、及び、前記取得された興味対象の位置情報及び識別情報、及び、前記目的地候補情報に基づいて、該興味対象についての目的地候補群の位置情報を取得するとともに、前記目的地候補群の位置情報のうちから目的地の位置情報を示す目的地情報を取得する目的地情報取得手段、としてコンピュータを機能させる。【選択図】図２
2013059422.tif 000002
【特許請求の範囲】
【請求項１】
仮想空間における興味対象を特定し、該興味対象の位置情報及び識別情報を取得する興味対象特定手段、
前記興味対象の識別情報に、オブジェクトの移動の目的地の候補となる目的地候補群の位置情報を求めるための目的地候補情報が関連付けられて記憶された目的地候補情報記憶手段、及び、
前記取得された興味対象の位置情報及び識別情報、及び、前記目的地候補情報に基づいて、該興味対象についての目的地候補群の位置情報を取得するとともに、前記目的地候補群の位置情報のうちから目的地の位置情報を示す目的地情報を取得する目的地情報取得手段、
としてコンピュータを機能させることを特徴とするオブジェクト制御プログラム。
【請求項２】
前記オブジェクト制御プログラムは、更に、
前記興味対象及び前記複数の経路情報の位置情報に基づいて、前記複数の経路情報のうち１の経路情報を特定する経路情報特定手段、としてコンピュータを機能させ、
前記目的地情報取得手段は、前記特定された１の経路情報が示す位置情報と、前記各目的地候補群の位置情報に基づいて、前記目的地情報を取得することを特徴とする請求項１記載のオブジェクト制御プログラム。
【請求項３】
前記目的地情報取得手段は、前記仮想空間において前記オブジェクトに対する障害物を形成する障害物オブジェクトの位置情報に基づいて、前記目的地情報を取得することを特徴とする請求項１または２に記載のオブジェクト制御プログラム。
【請求項４】
前記目的地情報取得手段は、前記各目的地候補群に配置され、所定の大きさ及び形状を有するボックスの位置情報と、前記障害物オブジェクトの位置情報に基づいて、前記目的地情報を取得することを特徴とする請求項３に記載のオブジェクト制御プログラム。
【請求項５】
前記経路情報特定手段は、更に、前記障害物オブジェクトの位置情報に基づいて、前記１の経路情報が特定可能か否か判定し、特定可能でないと判定した場合には、前記興味対象及び前記経路情報の位置情報に基づいて、前記経路情報のうち１の経路情報を代理経路情報と特定し、
前記オブジェクト制御プログラムは、更に、
前記代理経路情報の位置情報と、前記興味対象の位置情報と、前記オブジェクトの位置情報と、前記障害物の位置情報とに基づいて、複数の代理ポイントの位置情報を取得する代理ポイント取得手段として、コンピュータを機能させ、
前記目的地情報取得手段は、前記複数の代理ポイントの位置情報に基づいて、前記目的地情報を取得することを特徴とする３または４に記載のオブジェクト制御プログラム。
【請求項６】
前記目的地候補情報記憶手段は、更に、前記オブジェクトに行わせる動作を識別する動作識別情報を関連付けて記憶することを特徴とする請求項１乃至５のいずれかに記載のオブジェクト制御プログラム。
【請求項７】
前記オブジェクト制御プログラムは、更に、
前記オブジェクトが、前記目的地に到達したか否かを判定する到達判定手段、及び、
前記到達判定手段が到達したと判定した場合には、前記目的地候補情報に関連付けて記憶された動作識別情報で識別される動作を行わせるオブジェクト動作制御手段、
としてコンピュータを機能させることを特徴とする請求項６記載のオブジェクト制御プログラム。
【請求項８】
前記目的地候補情報は、前記興味対象の位置情報からの距離及び方向を示す距離情報及び方向情報を含むことを特徴とする請求項１乃至７のいずれかに記載のオブジェクト制御プログラム。
【請求項９】
前記目的地候補情報は、前記距離情報及び前記方向情報から求められる中心位置を中心として形成される形状において、該形状の半径を示す半径情報、該形状の中心角度を示す角度情報、該中心角度を分割するための分割数情報を含むことを特徴とする請求項８に記載のオブジェクト制御プログラム。
【請求項１０】
請求項１乃至９のいずれかに記載にオブジェクト制御プログラムを記憶したコンピュータ読み取り可能な記憶媒体。
【請求項１１】
仮想空間における興味対象を特定し、該興味対象の位置情報及び識別情報を取得する興味対象特定手段と、
前記興味対象の識別情報に、オブジェクトの移動の目的地の候補となる目的地候補群の位置情報を求めるための目的地候補情報が関連付けられて記憶された目的地候補情報記憶手段と、
前記取得された興味対象の位置情報及び識別情報、及び、前記目的地候補情報に基づいて、該興味対象についての目的地候補群の位置情報を取得するとともに、前記目的地候補群の位置情報のうちから目的地の位置情報を示す目的地情報を取得する目的地情報取得手段と、
を含むことを特徴とするオブジェクト制御装置。
【請求項１２】
仮想空間における興味対象を特定し、該興味対象の位置情報及び識別情報を取得し、
前記取得された興味対象の位置情報及び識別情報、及び、前記興味対象の識別情報にオブジェクトの移動の目的地の候補となる目的地候補群の位置情報を求めるための目的地候補情報が関連付けられて記憶された該目的地候補情報に基づいて、該興味対象についての目的地候補群の位置情報を取得するとともに、前記目的地候補群の位置情報のうちから目的地の位置情報を示す目的地情報を取得する、
ことを特徴とするオブジェクト制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オブジェクト制御プログラム、オブジェクト制御プログラムを記憶したコンピュータ読み取り可能な記録媒体、オブジェクト制御装置、オブジェクト制御方法に関する。
【背景技術】
【０００２】
キャラクターを所定の目的地まで移動させて所定の動作を行わせるゲームが知られている。例えば、仮想空間において、プレイヤーの操作対象でないキャラクターを、特定のアイテムの場所まで移動させ、当該アイテムを保持させる等である。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
この場合において、例えば、アイテムにおける保持部（例えば、ハンドル）の位置やアイテムの種類等によっては、より自然な動作を表現するため、アイテムに対して所定の距離や方向を有する目的地にキャラクターを移動させて、アイテムの保持動作等の所定の動作をさせたい場合がある。また、この場合において、例えば、仮想空間においてキャラクターがある程度のスペースを有する場合には、当該所定の動作等の際に障害物との干渉を避けるようにすることが望ましい。更に、当該目的地は、キャラクターにより近い方が望ましい。
【０００４】
本発明は、上記課題に鑑みて、例えば、アイテムの種類や当該アイテムに対して行わせる動作や障害物等の位置等に応じて、当該アイテムに対する目的地を設定し、当該目的地までキャラクターを移動させて当該所定の動作を行わせることのできるオブジェクト制御プログラム、オブジェクト制御プログラムを記憶したコンピュータ読み取り可能な記録媒体、オブジェクト制御装置、オブジェクト制御方法を実現することを目的とする。
【課題を解決するための手段】
【０００５】
（１）本発明のオブジェクト制御プログラムは、仮想空間における興味対象を特定し、該興味対象の位置情報及び識別情報を取得する興味対象特定手段、前記興味対象の識別情報に、オブジェクトの移動の目的地の候補となる目的地候補群の位置情報を求めるための目的地候補情報が関連付けられて記憶された目的地候補情報記憶手段、及び、前記取得された興味対象の位置情報及び識別情報、及び、前記目的地候補情報に基づいて、該興味対象についての目的地候補群の位置情報を取得するとともに、前記目的地候補群の位置情報のうちから目的地の位置情報を示す目的地情報を取得する目的地情報取得手段、としてコンピュータを機能させることを特徴とする。
【０００６】
（２）上記（１）に記載のオブジェクト制御プログラムにおいて、更に、前記興味対象及び前記複数の経路情報の位置情報に基づいて、前記複数の経路情報のうち１の経路情報を特定する経路情報特定手段、としてコンピュータを機能させ、前記目的地情報取得手段は、前記特定された１の経路情報が示す位置情報と、前記各目的地候補群の位置情報に基づいて、前記目的地情報を取得することを特徴とする。
【０００７】
（３）上記（１）または（２）に記載のオブジェクト制御プログラムにおいて、前記仮想空間において前記オブジェクトに対する障害物を形成する障害物オブジェクトの位置情報に基づいて、前記目的地情報を取得することを特徴とする。
【０００８】
（４）上記（３）に記載のオブジェクト制御プログラムにおいて、前記目的地情報取得手段は、前記各目的地候補群に配置され、所定の大きさ及び形状を有するボックスの位置情報と、前記障害物オブジェクトの位置情報に基づいて、前記目的地情報を取得することを特徴とする。
【０００９】
（５）上記（３）または（４）に記載のオブジェクト制御プログラムにおいて、前記経路情報特定手段は、更に、前記障害物オブジェクトの位置情報に基づいて、前記１の経路情報が特定可能か否か判定し、特定可能でないと判定した場合には、前記興味対象及び前記経路情報の位置情報に基づいて、前記経路情報のうち１の経路情報を代理経路情報と特定し、前記オブジェクト制御プログラムは、更に、前記代理経路情報の位置情報と、前記興味対象の位置情報と、前記オブジェクトの位置情報と、前記障害物の位置情報とに基づいて、複数の代理ポイントの位置情報を取得する代理ポイント取得手段として、コンピュータを機能させ、前記目的地情報取得手段は、前記複数の代理ポイントの位置情報に基づいて、前記目的地情報を取得することを特徴とする。
【００１０】
（６）上記（１）乃至（５）のいずれかに記載のオブジェクト制御プログラムにおいて、前記目的地候補情報記憶手段は、更に、前記オブジェクトに行わせる動作を識別する動作識別情報を関連付けて記憶することを特徴とする。
【００１１】
（７）上記（６）に記載のオブジェクト制御プログラムにおいて、前記オブジェクト制御プログラムは、更に、前記オブジェクトが、前記目的地に到達したか否かを判定する到達判定手段、及び、前記到達判定手段が到達したと判定した場合には、前記目的地候補情報に関連付けて記憶された動作識別情報で識別される動作を行わせるオブジェクト動作制御手段、としてコンピュータを機能させることを特徴とする。
【００１２】
（８）上記（１）乃至（７）のいずれかに記載のオブジェクト制御プログラムにおいて、前記目的地候補情報は、前記興味対象の位置情報からの距離及び方向を示す距離情報及び方向情報を含むことを特徴とする。
【００１３】
（９）上記（８）に記載のオブジェクト制御プログラムにおいて、前記目的地候補情報は、前記距離情報及び前記方向情報から求められる中心位置を中心として形成される形状において、該形状の半径を示す半径情報、該形状の中心角度を示す角度情報、該中心角度を分割するための分割数情報を含むことを特徴とする。
【００１４】
（１０）上記（１）乃至（９）のいずれかに記載のオブジェクト制御プログラムを記憶したコンピュータ読み取り可能な記憶媒体であることを特徴とする。
【００１５】
（１１）本発明のオブジェクト制御装置は、仮想空間における興味対象を特定し、該興味対象の位置情報及び識別情報を取得する興味対象特定手段と、前記興味対象の識別情報に、オブジェクトの移動の目的地の候補となる目的地候補群の位置情報を求めるための目的地候補情報が関連付けられて記憶された目的地候補情報記憶手段と、前記取得された興味対象の位置情報及び識別情報、及び、前記目的地候補情報に基づいて、該興味対象についての目的地候補群の位置情報を取得するとともに、前記目的地候補群の位置情報のうちから目的地の位置情報を示す目的地情報を取得する目的地情報取得手段と、を含むことを特徴とする。
【００１６】
（１２）本発明のオブジェクト制御方法は、仮想空間における興味対象を特定し、該興味対象の位置情報及び識別情報を取得し、前記取得された興味対象の位置情報及び識別情報、及び、前記興味対象の識別情報にオブジェクトの移動の目的地の候補となる目的地候補群の位置情報を求めるための目的地候補情報が関連付けられて記憶された該目的地候補情報に基づいて、該興味対象についての目的地候補群の位置情報を取得するとともに、前記目的地候補群の位置情報のうちから目的地の位置情報を示す目的地情報を取得する、ことを特徴とする。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施の形態におけるオブジェクト制御装置の構成の概要について説明するための図である。
【図２】図１に示したオブジェクト制御装置の制御部及び記憶部等で実現される機能的な構成について説明するための図である。
【図３】本実施の形態における仮想空間の一例を示す図である。
【図４】図１に示した動作制御部の機能的構成について説明するための図である。
【図５】本実施の形態におけるＡＶＤ情報の記憶形式の一例を示す図である。
【図６】本実施の形態におけるＡＶＤ情報の一例について説明するための図である。
【図７】本実施の形態におけるランキング情報の記憶形式の一例を示す図である。
【図８Ａ】本実施の形態における最寄りエッジ取得処理の一例について説明するための図である。
【図８Ｂ】本実施の形態における最寄りエッジ取得処理の一例について説明するための図である。
【図８Ｃ】本実施の形態における最寄りエッジ取得処理の一例について説明するための図である。
【図８Ｄ】本実施の形態における最寄りエッジ取得処理の一例について説明するための図である。
【図８Ｅ】本実施の形態における最寄りエッジ取得処理の一例について説明するための図である。
【図８Ｆ】本実施の形態における最寄りエッジ取得処理の一例について説明するための図である。
【図８Ｇ】本実施の形態における最寄りエッジ取得処理の一例について説明するための図である。
【図８Ｈ】本実施の形態における最寄りエッジ取得処理の一例について説明するための図である。
【図８Ｉ】本実施の形態における最寄りエッジ取得処理の一例について説明するための図である。
【図９】本実施の形態におけるバウンディングボックスの一例について説明するための図である。
【図１０】本実施の形態における代理ポイント取得処理の一例について説明するための図である。
【図１１】本実施の形態におけるオブジェクト制御装置のフローの概要について説明するための図である。
【図１２】本実施の形態におけるオブジェクト制御装置のフローの概要について説明するための図である。
【図１３】本実施の形態におけるオブジェクト制御装置のフローの概要について説明するための図である。
【図１４】本実施の形態におけるオブジェクト制御装置のフローの概要について説明するための図である。
【発明を実施するための形態】
【００１８】
以下、本発明の実施形態について、図面を参照しつつ説明する。なお、図面については、同一又は同等の要素には同一の符号を付し、重複する説明は省略する。
【００１９】
図１は、本発明の実施の形態におけるオブジェクト制御装置の構成の概要について説明するための図である。図１に示すように、オブジェクト制御装置１００は、例えば、ＣＰＵやメモリ等で構成されるコンピュータで構成され、例えば、制御部１０１、記憶部１０２、通信部１０３、操作部１０４、表示部１０５を有する。なお、制御部１０１、記憶部１０２、通信部１０３、操作部１０４、表示部１０５は、内部バス１０６により互いに接続される。
【００２０】
制御部１０１は、例えば、ＣＰＵ、ＭＰＵ等であって、記憶部１０２に格納されたプログラムに従って動作する。記憶部１０２は、例えば、ＲＯＭやＲＡＭ、ハードディスク等の情報記録媒体で構成され、制御部１０１によって実行されるプログラムを保持する情報記録媒体である。
【００２１】
記憶部１０２は、制御部１０１のワークメモリとしても動作する。なお、当該プログラムは、例えば、ネットワーク（図示なし）を介して、ダウンロードされて提供されてもよいし、または、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ等のコンピュータで読み取り可能な各種の情報記録媒体によって提供されてもよい。
【００２２】
通信部１０３は、当該オブジェクト制御装置１００を、ネットワーク（図示なし）を介して、他の端末装置（図示なし）やデータベース（図示なし）等と接続する。操作部１０４は、例えば、キーボード、マウス、または、コントローラ等で構成され、ユーザの指示操作に応じて、当該指示操作の内容を制御部１０１に出力する。表示部１０５は、例えば、液晶ディスプレイ、有機ＥＬディスプレイ等であって、制御部１０１からの指示に従い、情報を表示する。なお、上記オブジェクト制御装置１００の構成は、一例であってこれに限定されるものではない。例えば、上記端末装置から、ネットワークを介して、ユーザの指示操作がオブジェクト制御装置１００に入力されるように構成してもよい。
【００２３】
図２は、図１に示したオブジェクト制御装置の制御部及び記憶部等で実現される機能的な構成について説明するための図である。図２に示すように、オブジェクト制御装置１００は、機能的に、動作制御部２０１、空間ＤＢ２０２、空間情報生成部２０３、興味対象特定部２０４、ＡＶＤ情報取得部２０５、ランキング情報記憶部２０６、ＡＣ位置情報取得部２０７、エリア分割部２０８、最近傍エッジ決定部２０９、レイキャスト判定部２１０、最寄りエッジ取得部２１１、ＡＰ展開部２１２、スペースチェック判定部２１３、ＡＰ取得部２１４、到達判定部２１５、最短エッジ取得部２１６、ＡＰ作成部２１７、代理ポイント取得部２１８、ＡＶＤ情報記憶部２１９を含む。
【００２４】
なお、下記においては、説明の簡略化のために、当該オブジェクト制御装置１００で生成される仮想空間が図３に示した場合であって、例えば、非操作オブジェクトを興味対象に向かって移動させる場合を例として説明する。図３は、仮想空間の一例を示す図である。図３に示すように、操作オブジェクト３０１、非操作オブジェクト３０２、興味対象３０３、壁３０４、ウェイコリジョン３０５等が仮想空間に表される。ここで、操作オブジェクトは、例えば、ユーザが操作するキャラクター等に相当し、非操作オブジェクトは、例えば、敵キャラクター等、ユーザの操作対象でないキャラクター等に相当する。また、興味対象は、例えば、キャラクターや敵キャラクター等が保持または使用等行うアイテムに相当する。また、壁やウェイコリジョンは敵キャラクター等に対する障害となるオブジェクトに相当するが詳細には後述する。
【００２５】
当該仮想空間において、操作オブジェクト３０１、非操作オブジェクト３０２、興味対象３０３の移動や動作等は、動作制御部２０１により行われる。具体的には、動作制御部２０１は、図４に示すように、操作オブジェクト動作制御部４０１、非操作オブジェクト動作制御部４０２、興味対象動作制御部４０３を有する。
【００２６】
操作オブジェクト動作制御部４０１は、操作部１０４に入力される操作情報に応じて、操作オブジェクトを移動、動作させる。
【００２７】
非操作オブジェクト動作制御部４０２は、ユーザの操作対象でないオブジェクトである非操作オブジェクトを移動、動作させる。具体的には、例えば、図３に示した場合、非操作オブジェクト動作制御部４０２は、非操作オブジェクト３０２を、仮想空間上に配置されたノード３０６、３０７、３０８とエッジ３０９、３１０を含んで構成されるパスに基づいて、移動させる。つまり、興味対象３０３に向かって非操作オブジェクト３０２を移動させる場合、エッジ３０９からエッジ３１０へ移動させる等である。ここで、非操作オブジェクトは、例えば、エッジ両端点にいわゆるベジェ曲線等を適用して、非操作オブジェクトが当該ベジェ曲線に沿って移動するように構成してもよい。また、当該パスは、実際に表示部１０５等に表示される仮想空間には表示されないように構成される。また、当該ノードやエッジ等の位置を示す情報は、例えば、空間ＤＢ２０２に保持される。なお、非操作オブジェクトのその他の移動や動作等の詳細については後述する。
【００２８】
興味対象動作制御部４０３は、仮想空間において、興味対象の表示や移動を行う。具体的には、例えば、当該興味対象の位置情報や画像情報は、空間ＤＢ２０２に保持されており、当該位置情報等に基づいて、興味対象動作制御部４０３は、興味対象の表示等を行う。
【００２９】
空間情報生成部２０３は、仮想空間を表す画像情報を生成する。具体的には、例えば、仮想空間における壁等の背景、操作オブジェクト、非操作オブジェクト、興味対象の位置情報や画像情報が、空間ＤＢ２０２に保持されており、当該壁等の位置情報や画像情報に基づいて、仮想空間を表す画像情報を生成する。なお、空間ＤＢ２０２に記憶されている操作オブジェクト、非操作オブジェクト、興味対象等の位置情報は、例えば、動作制御部２０１により、操作オブジェクト等の移動等に伴い、更新される。また、当該画像情報は、例えば、表示部１０５に表示されてもよいし、ネットワークを介して送信され、当該ネットワークに接続された端末装置の表示部（図示なし）等に表示されてもよい。
【００３０】
また、空間情報生成部２０３は、同様にウェイコリジョン等を仮想空間に生成する。ここで、ウェイコリジョンとは、例えば、実際には表示されない、いわば見えない壁等に相当するものであって、表示される仮想空間に表される壁等に沿って所定の距離に配置される。非操作オブジェクト動作制御部４０２は、例えば、当該ウェイコリジョンを非操作オブジェクトに対する障害物とみなし、非操作オブジェクトを当該ウェイコリジョンより壁側等には移動させない。また、当該ウェイコリジョンは、オブジェクトのサイズ等をあらかじめ考慮して、壁等から所定の距離に配置されるよう、位置情報等が設定されている。よって、非操作オブジェクト動作制御部４０２が、非操作オブジェクトを壁にめり込ませる等の動作を防止することができる。
【００３１】
以上の前提の下、まず、主に、後述する最寄りエッジ情報を取得する処理において実現される機能構成について説明する。
【００３２】
興味対象特定部２０４は、所定の基準に応じて、非操作オブジェクトの興味対象を特定し、当該対象オブジェクトの興味対象識別情報（興味対象ＩＤ）及びその位置情報を取得する。具体的には、例えば、当該興味対象の特定は、動作制御部２０１または空間ＤＢ２０２からの非操作オブジェクト及び興味対象の位置情報に基づいて、仮想空間においてオブジェクトに最も近い位置に存在する興味対象を特定し、当該興味対象ＩＤ及びその位置情報を取得するように構成してもよい。
【００３３】
また、例えば、非操作オブジェクトが動物等を表す場合にはその視界に入る興味対象のうちから、より近い位置に存在する興味対象を特定するように構成してもよい。更に、興味対象毎に点数情報が関連付けて記憶されており、当該点数情報に応じて、または、当該点数情報及び距離に応じて興味対象が特定されるように構成してもよい。なお、ここでは、図３において、興味対象特定部２０４が、興味対象３０３（興味対象識別情報（興味対象ＩＤ）、Ｋ１）を特定した場合を例として説明する。
【００３４】
ＡＶＤ情報取得部２０５は、興味対象特定部２０４が取得した興味対象ＩＤに関連付けて記憶されているＡＶＤ(Approach Volume Data)情報を、その優先順位情報に基づいて、取得する。具体的には、後述する最寄りエッジが取得できなかった場合や非操作オブジェクトを移動させる目的地（AP:Approach Point）が取得できなかった場合に、次の優先順位のＡＶＤ情報を取得する。
【００３５】
ここで、ＡＶＤ情報とは、特定した興味対象に対して、非操作オブジェクトを移動させる目的地（以下、ＡＰと称する）の候補（以下、ＡＰ候補と称する）となる位置を表す情報に相当する。具体的には、例えば、図５に示すように各ＡＶＤ情報は、それぞれＡＶＤＩＤ、角度情報、分割数情報、ＡＰ半径情報、方向情報、ＡＣ距離情報を含む。なお、当該各ＡＶＤ情報は、例えば、ＡＶＤ情報記憶部２１９に記憶される。
【００３６】
ここで、ＡＶＤ情報について、図５に示したＡＶＤＩＤ、１−１のＡＶＤ情報を例として説明する。図６に示すように、興味対象特定部２０４により取得された興味対象６０１の位置情報から、方向情報で示される（ｘ１、ｙ１、ｚ１）の方向に、ＡＣ距離情報で示される距離、２の位置にアプローチセンター（以下、ＡＣと称する）、６０２を配置する。そして、ＡＣからＡＰ半径情報で示される半径、２０の位置であって、ＡＣから当該方向を中心として角度６０°の扇形を形成する。そして、当該角度６０°を分割数、３で除算した位置にＡＰ候補群６０３を配置する。つまり、ＡＶＤ情報は、特定された興味対象に対して配置するＡＰ候補群の位置を求めるための情報に相当する。つまり、ＡＣ距離情報とは、興味対象とＡＣとの距離を表す情報に相当し、ＡＰ半径情報とは、ＡＣとＡＰ候補との距離を表す情報に相当する。上記のようにして、各ＡＰ候補群の位置が求められる。
【００３７】
なお、図６に示した各ＡＰ候補群の決定方法は、一例であって、これに限られず、その他角度１８０°や３６０°等の半円形や円形を形成し、分割数等に応じてＡＰ候補群の位置が決定される等であってもよい。更に、その他、興味対象から所定の方向または所定の距離に位置するＡＰ候補群が取得される限り、その他の方法を用いてもよい。
【００３８】
ランキング情報記憶部２０６は、例えば、図７に示すように、興味対象ＩＤ毎に、優先順位情報、アクションＩＤ、ＡＶＤＩＤを関連付けて記憶する。ここで、アクションＩＤは、例えば、匂う、触る、たたく、噛む等の非操作オブジェクトに行わせる各動作を識別する情報である。また、アクションＩＤには、例えば、各動作に対応するモーションデータ等が関連付けられており、非操作オブジェクトは当該各モーションデータに応じた所定の動作を行う。ＡＶＤ情報取得部２０５は、上記のように優先順位情報が高い順に、ＡＶＤＩＤを取得し、当該取得されたＡＶＤＩＤに基づいて、ＡＶＤ情報記憶部２１９から、対応するＡＶＤ情報を取得する。なお、各モーションデータは、角度情報等に応じて異なるデータとなるように構成してもよい。
【００３９】
具体的には、例えば、ＡＶＤ情報取得部２０５は、図７に示した場合であって、上記例のように、興味対象ＩＤ、Ｋ１が取得された場合、興味対象特定部２０４で取得された興味対象ＩＤ、Ｋ１に基づいて、ＡＶＤＩＤ、ＡＶＤ１を取得する。そして、当該ＡＶＤＩＤ、ＡＶＤ１に基づいて、ＡＶＤ１−１に関連付けて記憶されているＡＶＤ情報を取得する。
【００４０】
なお、図５は、ＡＶＤＩＤ、ＡＶＤ１について２のＡＶＤＩＤ（ＡＶＤ１−１、ＡＶＤ１−２）が記憶されている場合を示しているが、これに限られず、その他の数のＡＶＤＩＤが記憶されてもよい。また、上記においては、ランキング情報記憶部２０６からＡＶＤＩＤを取得し、当該ＡＶＤＩＤを介して対応するＡＶＤ情報をＡＶＤ情報記憶部２１９から取得する構成について説明したが、ランキング情報とＡＶＤ情報を関連付けて、１の記憶部、例えば、ランキング情報記憶部２０６またはＡＶＤ情報記憶部２１９、に記憶し、ＡＶＤ情報取得部２０５は、当該１の記憶部から、興味対象ＩＤに基づいて、対応するＡＶＤ情報を取得するように構成してもよい。
【００４１】
ＡＣ位置情報取得部２０７は、興味対象特定部２０４が取得した興味対象の位置情報及びＡＶＤ情報取得部２０５が取得したＡＶＤ情報に基づいて、取得したＡＶＤ情報についてのＡＣの位置情報を算出、取得する。具体的には、例えば、ＡＶＤＩＤ、ＡＶＤ１−１に関連付けて記憶されたＡＣ距離情報や方向情報、及び、興味対象の位置情報に基づいて、取得されたＡＶＤ情報に対応するＡＣ位置情報を算出し、取得する。これにより、例えば、図６を用いて説明したように、ＡＣの位置情報を算出、取得する。
【００４２】
エリア分割部２０８は、ＡＣ位置情報取得部２０７で取得されたＡＣの位置情報に基づいて、仮想空間を複数のエリアに分割する。具体的には、仮想空間に、図８Ａに示すようなＡＣ、パス８０１、壁８０２、ウェイコリジョン８０３が配置される場合を例として説明する。なお、例えば、ＡＣの位置情報は、ＡＣ位置情報取得部２０７により取得され、パス８０１、壁８０２、ウェイコリジョン８０３の位置情報は空間ＤＢ２０２から取得されることは上述のとおりである。
【００４３】
エリア分割部２０８は、図８Ｂに示すように、ＡＣを中心に放射状に仮想空間を８分割する。なお、分割数は、一例であって、その他の数であってもよい。
【００４４】
最近傍エッジ決定部２０９は、エリア分割部２０８により分割されたエリア毎にＡＣからの距離が最も近いエッジである最近傍エッジを決定する。具体的には、例えば、最近傍エッジ決定部２０９は、空間ＤＢ２０２から各エッジの位置情報を取得し、ＡＣの位置情報と当該位置情報に基づいて、各エッジにおけるＡＣからの最近傍点を求め、エリア分割部２０８により分割された仮想空間のエリア毎の最近傍エッジを決定する。
【００４５】
ここで、最近傍点とは、ＡＣから各エッジへの垂線を引いた場合の各エッジとの交点に相当するが、当該交点がエッジの外側に存在する場合には、当該交点に近い方のエッジの端点に相当する。具体的には、例えば、図８Ｃに示した場合、エッジＥ０とＡＣからＥ０への垂線との交点がエッジＥ０上にあり、当該交点がエリア７に属していることから、エッジＥ０はエリア７に属し、最近傍点を当該交点とする。一方、例えば、図８Ｄに示した場合には、ＡＣからエッジＥ２への垂線の交点が当該エッジＥ２上にないので、当該交点に一番近いエッジの端点（ノード）を最近傍点とする。そして、当該最近傍点はエリア１に属していることからエッジＥ２は、エリア１に属すると判断する。
【００４６】
また、同じエリアに複数のエッジが存在する場合には、その最近傍点がＡＣにより近い方のエッジを最近傍エッジとする。例えば、図８Ｅに示したエッジＥ３とＥ５のように、２のエッジの最近傍点が同じエリアに含まれる場合には、ＡＣからより近い方の最近傍点を有するエッジを最近傍エッジとする。つまり、図８Ｅに示した場合、エリア３に最近傍点が含まれるエッジは、エッジＥ３とエッジＥ５であるが、そのうちエッジＥ３が最近傍エッジとなる。上記のようにして、各エリアにおける最近傍エッジを決定する。図８Ｆはこのときの様子を示す。
【００４７】
レイキャスト判定部２１０は、最近傍エッジ決定部２０９により決定された各エリアの最近傍エッジの両端点とＡＣとの間における後述するレイキャスト判定を行う。そして、ＡＣと当該両端点とのうちのいずれか一方の端点とのレイキャスト判定に成功すれば、当該エッジを最寄りエッジ候補として、後述する最寄りエッジ取得部２１１に取得させる。
【００４８】
なお、全てのエリアの最近傍エッジについてのレイキャスト判定について失敗した場合には、次の優先順位情報を有するＡＶＤＩＤを、ＡＶＤ情報取得部２０５に取得させる。例えば、上記例のように、１の優先順位につき、複数のＡＶＤＩＤ（ＡＶＤＩＤ１−１、ＡＶＤＩＤ１−２）が関連付けられている場合には、他のＡＶＤＩＤ（上記例の場合は、ＡＶＤＩＤ１−２）についてのＡＶＤ情報を取得し、当該複数のＡＶＤＩＤ全てにつき、上記レイキャスト判定が失敗した場合に、次のＡＶＤＩＤ（上記例の場合、ＡＶＤＩＤ、ＡＶＤ２）を取得する等である。
【００４９】
ここで、レイキャスト判定とは、例えば、一方の点（この場合はエッジの両端点のうちの１の端点）と、ＡＣとを直線で結んだ場合に、当該直線上に、非操作オブジェクトに対して障害物となるウェイコリジョンや壁が存在するか否かによって判定し、存在しない場合にはレイキャスト判定に成功したと判定し、存在しない場合には、レイキャスト判定に失敗したと判定する。
【００５０】
具体的には、例えば、図８Ｇに示すように、エッジＥ０に対しては、その両端点に対してレイキャスト判定が成功するので、最寄りエッジ候補とする。また、エッジＥ２に対しても、一方の端点についてレイキャスト判定が成功するので、最寄りエッジ候補とする。一方、エッジＥ３については、ＡＣと両端とを結ぶ直線上にウェイコリジョンが存在するので、レイキャスト判定部２１０はレイキャスト判定に失敗したと判定し最寄りエッジ候補とはしない。つまり、上記例の場合、最寄りエッジ候補は、エッジＥ０とＥ２となり、レイキャスト判定部２１０は、当該エッジＥ０及びＥ２を、最寄りエッジ取得部２１１に取得させる。
【００５１】
最寄りエッジ取得部２１１は、レイキャスト判定部２１０から最寄りエッジ候補を示すエッジを取得し、ＡＣから各最寄りエッジ候補の最近傍点までの距離を算出、比較し、最も距離が短い最寄りエッジ候補を、最寄りエッジとして、取得する。具体的には、例えば、図８Ｈに示すように、ＡＣからエッジＥ０の最近傍点への距離と、ＡＣからエッジＥ２の最近傍点への距離を比較すると、Ｅ０の最近傍点への距離が短いので、図８Ｉに示すように当該エッジＥ０を最寄りエッジとして取得する。なお、エッジの位置情報等は、空間ＤＢ２０２から取得し、当該位置情報に基づいて、上記距離等を算出する。上記のように、複数のエリアに分割して最寄りエッジを取得することで、オブジェクト制御プログラムの負荷を低減することができる。なお、上記は一例であって、エリア分割しないで、最寄りエッジを取得するよう構成してもよいことはいうまでもない。
【００５２】
次に、主に、ＡＰ（非操作オブジェクトの移動の目的地に相当する）を決定する処理において実現される機能構成について説明する。ＡＰ展開部２１２は、最寄りエッジ取得部２１１が最寄りエッジを取得した場合、ＡＶＤ情報取得部２０５で取得されたＡＶＤ情報に基づいて、対応するＡＰ候補群の位置情報を算出、取得する。なお、当該ＡＶＤ情報は、上記最寄りエッジが取得されたＡＶＤ情報に対応する。具体的には、例えば、上述のように、ＡＶＤ情報に含まれる角度情報、分割数情報、ＡＰ半径情報等に基づいて、図６のように展開されたＡＰ候補群６０３の位置情報を算出する。
【００５３】
レイキャスト判定部２１０は、各ＡＰ候補とＡＣ間においてレイキャスト判定する。また、レイキャスト判定部２１０は、更に、最寄りエッジの両端との間においてもレイキャスト判定する。具体的には、例えば、図６に示したＡＣ６０２とＡＰ候補６０３との間でレイキャスト判定するとともに、最寄りエッジ６０５の両端のノード６０６、６０７と各ＡＰ候補６０３との間でレイキャスト判定する。なお、レイキャスト判定の詳細については上記と同様である。一方、全てのＡＰ候補についてレイキャスト判定が失敗した場合には、ＡＶＤ情報取得部２０５に、上述のレイキャスト判定が失敗した場合と同様に、次の優先順位情報を有するＡＶＤ情報を取得させる。なお、この場合、既に上述した全てのエリアの最近傍エッジについてのレイキャスト判定について失敗したＡＶＤ情報が存在する場合には、そのＡＶＤ情報の次の優先順位情報を有するＡＶＤ情報から優先順位情報に従い取得させる。
【００５４】
スペースチェック判定部２１３は、各ＡＰ候補とＡＣ間、及び、最寄りエッジの両端とＡＣ間のレイキャスト判定に成功した場合には、例えば、非操作オブジェクトについて関連付けられて記憶されているバウンディングボックスを用いてスペースチェックを行う。
【００５５】
ここで、バウンディングボックス６０４とは、例えば、図９に示すように、非操作オブジェクト６０３上に配置される非操作オブジェクトが必要とするスペースに相当するボックス６０４である。スペースチェック判定部２１３は、当該バウンディングボックスが、仮想空間における壁等と干渉しない場合には、スペースチェック判定に成功したと判定し、干渉した場合には失敗したと判定する。なお、当該バウンディングボックスの形状や、大きさ、当該バウンディングボックスのオブジェクト上への配置位置等は、あらかじめ設定される。また、複数の非操作オブジェクトについて移動制御等を行う場合には、当該バウンディングボックスの形状や大きさ等については、非操作オブジェクト毎に異なるように構成してもよい。また、非操作オブジェクトに対して、当該非操作オブジェクトの形状等に応じて、形状や大きさの異なる複数のバウンディングボックスが配置されるように構成してもよい。
【００５６】
ＡＰ取得部２１４は、スペースチェック判定部２１３によりスペースチェックに成功したと判定された各ＡＰ候補を取得し、当該各ＡＰ候補から非操作オブジェクトへの距離を算出する。そして、当該各ＡＰ候補からオブジェクトへの各距離を比較し、最も距離の短い距離を有するＡＰ候補をＡＰとして取得する。
【００５７】
非操作オブジェクト動作制御部４０２は、取得されたＡＰの位置情報が示す位置を目的地として仮想空間において非操作オブジェクトを移動させる。到達判定部２１５は、ＡＰと非操作オブジェクトの位置情報に基づいて、非操作オブジェクトがＡＰに到達したか否か判定し、到達したと判定した場合には、当該ＡＰに対応するＡＶＤＩＤに関連付けて記憶されたアクションＩＤで識別される動作を行わせる。
【００５８】
これにより、仮想空間において、興味対象の種類や当該興味対象に対して行わせる動作や障害物等の位置等に応じて、当該興味対象に対する非操作オブジェクトの目的地（ＡＰ）を設定し、当該目的地まで非操作オブジェクトを移動させて所定の動作を行わせることができる。
【００５９】
次に、全てのＡＶＤについて最寄りエッジを取得できなかった場合、または、全てのＡＶＤについてＡＰを取得できなかった場合について、実現される主な機能構成について説明する。
【００６０】
最短エッジ取得部２１６は、興味対象特定部２０４により取得された興味対象の位置情報と、エッジの位置情報に基づいて、特定された興味対象から一番距離の近いエッジである最短エッジのエッジＩＤを取得する。
【００６１】
レイキャスト判定部２１０は、最短エッジ取得部２１６により取得された最短エッジの両端点と、優先順位情報が１のＡＶＤのＡＣとのレイキャスト判定を行う。なお、当該ＡＣの位置情報は、例えば、上記と同様に、ＡＣ位置情報取得部２０７により算出、取得され、レイキャスト判定部２１０は、当該取得されたＡＣの位置情報を用いて、レイキャスト判定を行う。なお、いずれか一方の端点と当該ＡＣとの間のレイキャスト判定に成功した場合には、レイキャスト判定が成功したものとする等については上述と同様である。そして、レイキャスト判定に成功した場合には、ＡＶＤＩＤ、３６０のＡＶＤ情報を、ＡＶＤ情報記憶部２１９から取得する。当該ＡＶＤＩＤ、３６０のＡＶＤ情報は、例えば、角度情報として３６０°（つまり、円形状となる）、及び、分割数情報として上記優先順位情報が１のＡＶＤ情報の分割数とは異なる分割数情報を有するものであって、その他の情報（距離情報等）については、非操作オブジェクトとウェイコリジョン等との干渉等が生じないようにあらかじめ設定される。
【００６２】
ＡＰ展開部２１２、レイキャスト判定部２１０、スペースチェック判定部２１３、ＡＰ取得部２１４は、ＡＶＤＩＤ、３６０のＡＶＤ情報及び最短エッジに基づいて、上記ＡＰを取得する処理と同様の処理を行う。そして、ＡＰが取得された場合には、当該ＡＰを目的地として、非操作オブジェクトの移動を開始させ、当該ＡＰに到達した場合には、当該ＡＶＤＩＤに関連付けて記憶されている動作を行わせる。
【００６３】
一方、ＡＰ作成部２１７は、当該ＡＶＤＩＤ、３６０のＡＶＤ情報を用いても、ＡＰが取得できなかった場合には、興味対象の位置に基づいて、当該最短エッジ上にＡＰを作成する。具体的には、例えば、興味対象の位置から最短エッジに垂線を下ろした場合の交点をＡＰとして作成し、当該ＡＰの位置情報を、動作制御部２０１にＡＰ（ファイナルＡＰ）として送信する。そして、同様に、当該ファイナルＡＰを目的地として、非操作オブジェクトの移動を開始させ、当該ファイナルＡＰに到達した場合には、当該ＡＶＤＩＤ、３６０に関連付けられて記憶されている動作を行わせる。
【００６４】
これにより、全てのＡＶＤについて最寄りエッジを取得できなかった場合、または、全てのＡＶＤについてＡＰを取得できなかった場合についても、ＡＰを設定し、所定の動作を行わせることができる。
【００６５】
一方、レイキャスト判定部２１０が、最短エッジの両端点と、上記ＡＣ（優先順位情報が１のＡＶＤのＡＣ）とのレイキャスト判定を行い、レイキャスト判定に失敗した場合には、代理ポイント取得部２１８は、最短エッジや興味対象、非操作オブジェクトの位置情報と、ウェイコリジョンの位置情報に基づいて、興味対象特定部２０４で特定された興味対象の位置情報の代理（代理ポイント）となる位置情報を取得する。
【００６６】
具体的には、代理ポイント取得部２１８は、例えば、図１０に示すように、非操作オブジェクトと興味対象６０１とを結んだ直線とウェイコリジョン３０５の境界線との交点の位置情報を代理ポイントの第１候補点１１１として取得する。また、興味対象６０１と最短エッジ３１１の両端点３１２、３１３とを結んだ直線と、ウェイコリジョン３０５の境界線との各交点の位置情報をそれぞれ、代理ポイントの第２及び第４候補点１１２、１１４として取得する。更に、興味対象６０１から最短エッジ３１１へ下した垂線と最短エッジとの交点の位置情報を代理ポイントの第３候補点１１３として取得する。そして、各候補点と上記ＡＣとの位置情報を算出し、上記第１乃至第４の候補点１１１乃至１１４のうちから、最も上記ＡＣから距離が短い候補点の位置情報（当該例の場合は、第３候補点１１３）の位置情報を抽出する。
【００６７】
また、ＡＶＤ情報取得部２０５は、例えば、代理のＡＶＤ情報、つまり、ＡＶＤＩＤ、ＤＡのＡＶＤ情報を、ＡＶＤ情報記憶部２１９から取得する。当該ＡＶＤＩＤ、ＤＡのＡＶＤ情報は、例えば、非操作オブジェクトとウェイコリジョン等との干渉が生じないように、あらかじめ設定されている。具体的には、例えば、当該代理のＡＶＤ情報は、優先順位情報が１のＡＶＤ情報とＡＣ距離が同じであって、分割数情報が異なる等である。
【００６８】
ＡＰ展開部２１２、レイキャスト判定部２１０、スペースチェック判定部２１３、ＡＰ取得部２１４は、ＡＶＤＩＤ、ＤＡのＡＶＤ情報に基づいて、上記ＡＰを取得する処理と同様の処理を行う。なお、この場合、ＡＣの位置情報取得等については、興味対象の位置情報の代わりに、代理位置情報を用いて算出し、当該代理位置情報に基づいてＡＰ候補群を展開等する。そして、ＡＰが取得された場合には、当該ＡＰを目的地として、非操作オブジェクトの移動を開始させ、当該ＡＰに到達した場合には、当該ＡＶＤＩＤに関連付けて記憶された動作を行わせる。なお、上記においては、代理のＡＶＤ情報を用いる場合について説明したが、元のＡＶＤ情報を用いるように構成してもよい。
【００６９】
一方、ＡＰ作成部２１７は、当該ＡＶＤＩＤ、ＤＡのＡＶＤ情報を用いても、ＡＰが取得できなかった場合には、興味対象の位置に基づいて、当該最短エッジ上にＡＰを作成等する点は上記と同様である。そして、同様に、当該ファイナルＡＰを目的地として、非操作オブジェクトの移動を開始させ、当該ファイナルＡＰに到達した場合には、当該ＡＶＤＩＤ、ＤＡに関連付けられて記憶されている動作を行わせる。
【００７０】
これにより、例えば、図１０に示すように、興味対象がウェイコリジョンの内部にある場合（例えば、非操作オブジェクトが興味対象に到達できない場合）にも、非操作オブジェクトのＡＰを設定することができるとともに、非操作オブジェクトが当該ＡＰに到達した場合には非操作オブジェクトに所定の動作を行わせることができる。
【００７１】
次に、オブジェクト制御装置の処理のフローについて説明する。図１１乃至図１４は、オブジェクト制御装置のフローの概要について説明するための図である。
【００７２】
図１１に示すように、興味対象特定部２０４は、所定の基準に応じて、非操作オブジェクトの興味対象を特定し、当該対象オブジェクトの興味対象ＩＤ及びその位置情報を取得する（Ｓ１０１）。ＡＶＤ情報取得部２０５は、興味対象特定部２０４が取得した興味対象ＩＤに関連付けて記憶されているＡＶＤ情報を、その優先順位情報に基づいて、取得する（Ｓ１０２）。
【００７３】
後述するＳ２０１乃至Ｓ２０９で示すように、最寄りエッジを取得する最寄りエッジ取得処理を行う（Ｓ１０３）。具体的には、図１２に示すように、まず、ＡＣ位置情報取得部２０７は、興味対象特定部２０４が取得した興味対象の位置情報及びＡＶＤ情報取得部２０５が取得したＡＶＤ情報に基づいて、取得したＡＶＤ情報についてのＡＣの位置情報を算出、取得する（Ｓ２０１）。
【００７４】
エリア分割部２０８は、ＡＣ位置情報取得部２０７で取得されたＡＣの位置情報に基づいて、仮想空間を複数のエリアに分割する（Ｓ２０２）。最近傍エッジ決定部２０９は、エリア分割部２０８により分割されたエリア毎にＡＣからの距離が最も近いエッジである最近傍エッジを決定する（Ｓ２０３）。
【００７５】
レイキャスト判定部２１０は、最近傍エッジ決定部２０９に決定された各エリアの最近傍エッジの両端点とＡＣとの間におけるレイキャスト判定を行う。具体的には、まず、最近傍エッジの第１の端点（第１のノード）とＡＣ間のレイキャスト判定を行う（Ｓ２０４）。そして、当該レイキャスト判定に失敗した場合には、最近傍エッジの第２の端点（第２のノード）とＡＣ間のレイキャスト判定を行う（Ｓ２０５）。
【００７６】
そして、Ｓ２０４またはＳ２０５のいずれかにおいてレイキャスト判定に成功した場合には、Ｓ２０６に進み、最寄りエッジ取得部２１１に、当該最近傍エッジを識別するエッジ識別情報を、最寄りエッジ候補として取得させる（Ｓ２０６）。一方、Ｓ２０５でレイキャスト判定に失敗した場合にはＳ２０７に進む。
【００７７】
次に、各エリアにおける最近傍エッジのレイキャスト判定が終了したか否かを判定する（Ｓ２０７）。終了していないと判定した場合には、Ｓ２０４に戻る。一方、終了したと判定した場合には、Ｓ２０８に進む。
【００７８】
最寄りエッジ候補が取得されているか否かを判定する（Ｓ２０８）。Ｓ２０８で最寄りエッジが取得されていると判定した場合には、最寄りエッジ取得部２１１は、ＡＣから各最寄りエッジ候補の最近傍点までの距離を算出、比較し、最も距離が短い最寄りエッジ候補を、最寄りエッジとして、取得する（Ｓ２０９）。そして、Ｓ１０４へ進む。
【００７９】
一方、Ｓ２０８で最寄りエッジが取得されていないと判定した場合には、未処理のＡＶＤＩＤが存在するか否か判定する（Ｓ２１０）。具体的には、例えば、特定された興味対象ＩＤに関連付けられて記憶されている全てのＡＶＤＩＤについて、最寄りエッジ取得処理が行われたか否かを判定する。未処理のＡＶＤＩＤが存在すると判定した場合には、Ｓ１０２に進み、次の優先順位のＡＶＤ情報を取得する。一方、未処理のＡＶＤＩＤが存在しないと判定した場合には、後述するＳ１０９に進む。
【００８０】
Ｓ２０９で取得された最寄りエッジに対応するＡＶＤ情報に基づいて、ＡＰ取得処理を行う（Ｓ１０４）。具体的には、図１３に示すように、まず、ＡＰ展開部２１２は、当該ＡＶＤ情報に基づいて、ＡＰ候補群を展開し、各ＡＰ候補の位置情報を取得する（Ｓ３０１）。
【００８１】
ＡＰ候補について後述する判定が行われたか否かを判定する（Ｓ３０２）。全てのＡＰ候補について判定していないと判定した場合には、レイキャスト判定部２１０は、順にＡＰ候補の位置情報を取得し、ＡＰ候補とＡＣ間においてレイキャスト判定する（Ｓ３０３）。一方、全てのＡＰ候補について判定したと判定した場合には、後述するＳ３０８に進む。
【００８２】
一方、Ｓ３０３でＡＰ候補とＡＣ間のレイキャスト判定に成功したと判定した場合には、レイキャスト判定部２１０は、当該ＡＰ候補とＳ２０９で取得された最寄りエッジの第１のノードとの間においてレイキャスト判定する（Ｓ３０４）。
【００８３】
Ｓ３０４のレイキャスト判定に失敗した場合には、ＡＰ候補とＳ２０９で取得された最寄りエッジの第２のノードとの間においてレイキャスト判定する（Ｓ３０５）。Ｓ３０５のレイキャスト判定に失敗したと判定した場合には、Ｓ３０２に戻る。
【００８４】
Ｓ３０４またはＳ３０５でレイキャスト判定に成功した場合には、スペースチェック判定部２１３は、スペースチェックを行う（Ｓ３０６）。当該スペースチェックに失敗したと判定した場合には、Ｓ３０２に戻る。一方、スペースチェックに成功した場合には、ＡＰ取得部２１４は当該ＡＰ候補の位置情報をＡＰ候補として登録する（Ｓ３０７）。次に、Ｓ３０２に戻る。そして、上記のように、全てのＡＰ候補についてレイキャスト判定したと判定した場合には、ＡＰ候補が登録されているか否か判定し（Ｓ３０８）、登録されていると判定した場合にはＳ１０５に進み、登録されていないと判定した場合にはＳ１０９に進む。なお、上記においては１のＡＰ候補とＡＣ間におけるレイキャスト判定に成功する毎に当該ＡＰ候補とノード間におけるレイキャスト判定等行う処理について説明したが、これに限られず、まず全てのＡＰ候補群及びＡＣとのレイキャスト判定を行い、当該レイキャスト判定に成功したＡＰ候補群について、次にノードとの間のレイキャスト判定を行う等、実質的に同一の処理である限り、異なる処理であってもよいことはいうまでもない。
【００８５】
ＡＰ取得部２１４は、登録された各ＡＰ候補から非操作オブジェクトへの各距離を算出する。そして、当該各ＡＰ候補からオブジェクトへの各距離を比較し、最も距離の短い距離を有するＡＰ候補を、ＡＰとして、取得する（Ｓ１０５）。
【００８６】
非操作オブジェクト動作制御部４０２は、取得されたＡＰの位置情報が示す位置に向かってオブジェクトを移動させる（Ｓ１０６）。
【００８７】
到達判定部２１５は、例えば、所定期間毎に、当該ＡＰの位置情報と非操作オブジェクトの位置情報に基づいて、非操作オブジェクトがＡＰに到達したか否かを判定する（Ｓ１０７）。そして、到達していないと判定した場合には、例えば、Ｓ１０１に戻り、再度上記と同様の処理を行う。一方、到達判定部２１５が、到達したと判定した場合には、当該ＡＰに対応するＡＶＤ情報に関連付けて記憶された動作を行わせる（Ｓ１０８）。
【００８８】
次に、Ｓ２１０で未処理のＡＶＤＩＤが存在しないと判定した場合、または、Ｓ３０３で全てのＡＰ候補についてレイキャスト判定したと判定した場合の処理のフローについて図１４を用いて説明する。
【００８９】
図１４に示すように、まず、最短エッジ取得部２１６は、興味対象特定部２０４により取得された興味対象の位置情報と、エッジの位置情報に基づいて、特定された興味対象から一番距離の近いエッジである最短エッジのエッジＩＤを取得する（Ｓ１０９）。
【００９０】
レイキャスト判定部２１０は、最短エッジ取得部２１６により取得された最短エッジの両端点と、優先順位情報が１のＡＶＤのＡＣとのレイキャスト判定を行う（Ｓ１１０）。いずれか一方の端点と当該ＡＣとの間のレイキャスト判定に成功した場合には、レイキャスト判定が成功したものとする等については上述と同様であるので、詳細なフローについては説明を省略する。
【００９１】
Ｓ１１０でレイキャスト判定に成功した場合には、ＡＶＤＩＤ、３６０のＡＶＤ情報を、ＡＶＤ情報記憶部２１９から取得する（Ｓ１１１）。Ｓ１１１で取得されたＡＶＤＩＤ、３６０のＡＶＤ情報及びＳ１１０で取得された最短エッジに基づいて、Ｓ１０４のＡＰ取得処理と同様の処理を行う（Ｓ１１２）。そして、ＡＰ候補が取得されたか否かを判定する（Ｓ１１３）。Ｓ１１２でＡＰ候補が取得されたと判定した場合には、Ｓ１０５に進む。
【００９２】
一方、Ｓ１１０で、レイキャスト判定に失敗したと判定した場合には、ＡＶＤ情報取得部２０５は、ＡＶＤＩＤ、ＤＡのＡＶＤ情報（代理ボリューム）を、例えば、ＡＶＤ情報記憶部２１９から取得する（Ｓ１１４）。
【００９３】
代理ポイント取得部２１８は、上述のように最短エッジや興味対象、非操作オブジェクトの位置情報と、ウェイコリジョンの位置情報に基づいて、興味対象特定部２０４で特定された興味対象の位置情報の代理（代理ポイント）となる位置情報（代理位置情報）を取得する（Ｓ１１５）。
【００９４】
Ｓ１１４で取得されたＡＶＤＩＤ、ＤＡのＡＶＤ情報及びＳ１１０で取得された最短エッジに基づいて、Ｓ１０４のＡＰ取得処理と同様の処理を行う（Ｓ１１６）。なお、この場合、ＡＣの位置情報の取得については、興味対象の位置情報の代わりに、代理位置情報を用いてＡＣの位置情報を算出し、当該ＡＣの位置情報に基づいてＡＰ候補群を展開等する。そして、ＡＰ候補が取得されたか否かを判定する（Ｓ１１７）。Ｓ１１６でＡＰ候補が取得されたと判定した場合には、Ｓ１０５に進む。
【００９５】
一方、Ｓ１１２またはＳ１１６でＡＰ候補が取得されなかったと判定された場合には、ＡＰ作成部２１７は、興味対象の位置に基づいて、当該最短エッジ上にＡＰを作成する（Ｓ１１８）。そして、Ｓ１０５に進み、ＡＰ取得部２１４は、当該作成されたＡＰをＡＰとして、取得する。なお、上記処理のフローは、例えば、所定フレーム期間毎に行われるように構成してもよいし、上記処理のフローには、ある程度の時間を要するため、処理が一巡する毎に上記処理のフローが行われるように構成してもよい。つまり、例えば、本実施の形態によれば、移動に伴い、興味対象が特定され目的地が定められることから、移動に応じて目的地が変化することとなる。
【００９６】
なお、上記図１１乃至図１４で示した処理のフローは一例であって、種々の変形が可能である。例えば、上記実施の形態で示した構成と実質的に同一のフロー、同一の作用効果を奏するフロー又は同一の目的を達成することができるフローで置き換えることができる。
【００９７】
また、本発明は、上記実施の形態に限定されるものではなく、種々の変形が可能である。例えば、上記実施の形態で示した構成と実質的に同一の構成、同一の作用効果を奏する構成又は同一の目的を達成することができる構成で置き換えることができる。
【００９８】
具体的には、例えば、操作オブジェクト、非操作オブジェクト、興味対象は、上記で示した数に限られず、それぞれ２以上の複数であってもよい。この場合、複数の操作オブジェクトは、１または複数のユーザにより操作されてもよいし、複数の非操作オブジェクトは、互いに独立して非操作オブジェクト制御部により制御されてもよい。また、上記においては、操作オブジェクトと非操作オブジェクトとを用いて説明したが、操作オブジェクトは、必ずしもユーザの指示に基づいて動作する必要はなく、上記非操作オブジェクトと同様に、ユーザの指示によらずに、あらかじめ設定されたプログラム等に応じて動作するように構成してもよい。
【００９９】
なお、特許請求の範囲に記載の目的地候補情報記憶手段は、例えば、ランキング情報記憶部２０６及びＡＶＤ情報記憶部２１９を含み、目的地情報取得手段は、例えば、ＡＰ展開部２１２、スペースチェック判定部２１３、ＡＰ取得部２１４を含み、経路情報特定手段は、最寄りエッジ取得部２１１を含む。
【符号の説明】
【０１００】
１００  オブジェクト制御装置、１０１  制御部、１０２  記憶部、１０３  通信部、１０４  操作部、１０５  表示部、２０１  動作制御部、２０２  空間ＤＢ、２０３  空間情報生成部、２０４  興味対象特定部、２０５  ＡＶＤ情報取得部、２０６  ランキング情報記憶部、２０７  ＡＣ位置情報取得部、２０８  エリア分割部、２０９  最近傍エッジ決定部、２１０  レイキャスト判定部、２１１  最寄りエッジ取得部、２１２  ＡＰ展開部、２１３  スペースチェック判定部、２１４  ＡＰ取得部、２１５  到達判定部、２１６  最短エッジ取得部、２１７  ＡＰ作成部、２１８  代理ポイント取得部、２１９  ＡＶＤ情報記憶部、４０１  操作オブジェクト動作制御部、４０２  非操作オブジェクト動作制御部、４０３  興味対象動作制御部。
【図１】
2013059422.tif 000003
【図２】
2013059422.tif 000004
【図３】
2013059422.tif 000005
【図４】
2013059422.tif 000006
【図５】
2013059422.tif 000007
【図６】
2013059422.tif 000008
【図７】
2013059422.tif 000009
【図８Ａ】
2013059422.tif 000010
【図８Ｂ】
2013059422.tif 000011
【図８Ｃ】
2013059422.tif 000012
【図８Ｄ】
2013059422.tif 000013
【図８Ｅ】
2013059422.tif 000014
【図８Ｆ】
2013059422.tif 000015
【図８Ｇ】
2013059422.tif 000016
【図８Ｈ】
2013059422.tif 000017
【図８Ｉ】
2013059422.tif 000018
【図９】
2013059422.tif 000019
【図１０】
2013059422.tif 000020
【図１１】
2013059422.tif 000021
【図１２】
2013059422.tif 000022
【図１３】
2013059422.tif 000023
【図１４】
2013059422.tif 000024