(57)【特許請求の範囲】
【請求項１】
座標空間内の目標位置を選択するための入力装置であって、該入力装置は、複数のスイッチ、第１のオブジェクトに関連した、前記複数のスイッチのうちの第１のスイッチまたは前記複数のスイッチのうちの第１のスイッチ・コンビネーション、前記複数のスイッチのうちの第２のスイッチまたは前記複数のスイッチのうちの第２のスイッチ・コンビネーション、を具えるところの入力装置と、
前記入力装置に動作的に結合され、前記第１のスイッチまたは前記第１のスイッチ・コンビネーションを閉じることに応じて、前記第１のスイッチまたは前記第１のスイッチ・コンビネーションを閉じたときのポインタ位置に対応する第１の目標位置を、前記第１のオブジェクトに対して割り当て、かつ前記第１のオブジェクトを前記第１の目標位置に向かう第１の目標方向に動かし、かつ、前記第２のスイッチまたは第２のスイッチ・コンビネーションを閉じることに応じて、前記第２のスイッチまたは第２のスイッチ・コンビネーションを閉じたときの前記ポインタ位置に対応する第２の目標位置を、前記第２のオブジェクトに対して、割り当て、かつ、前記第２のオブジェクトを前記第２の目標位置に向かう第２の目標方向に動かすコントローラとを具えていることを特徴とするコンピュータインタフェース。
【請求項２】
前記第１のオブジェクトが、前記第１の目標方向と実質的に異なる初期方向への初期移動を行うことを特徴とする請求項１に記載のコンピュータインタフェース。
【請求項３】
前記コントローラが、
前記第１のオブジェクトの位置と前記第１の目標位置との間の障害物を検出する障害物検出器と、
前記第１の目標方向に応じて、及び前記第１のオブジェクトの位置と前記第１の目標位置との間の障害物に応じてオブジェクト方向を特定する方向特定器と、
前記オブジェクト方向に応じて、前記第１のオブジェクトの位置を調整するオブジェクト移動器とを具えることを特徴とする請求項１に記載のコンピュータインタフェース。
【請求項４】
さらに座標空間に対応する画像を描画するスクリーンを具え、前記コントローラが、前記スクリーン上の前記画像の現実的なレンダリングを促進する前記第１のオブジェクトに関連する移動の規則に従い、前記第１のオブジェクトを移動させるようにしたことを特徴とする請求項１に記載のコンピュータインタフェース。
【請求項５】
前記コントローラが、前記スクリーン上の前記画像の現実的なレンダリングを促進する前記第２のオブジェクトに関連する移動の規則に従い、前記第２のオブジェクトを移動させるようにしたことを特徴とする請求項４に記載のコンピュータインタフェース。
【請求項６】
前記入力装置がさらに、前記コントローラの状態に関連する他の少なくとも１つのスイッチを具えていることを特徴とする請求項１に記載のコンピュータインタフェース。
【請求項７】
前記目標位置が可変位置を有する他のオブジェクトに関連づけられ、前記コントローラが前記他のオブジェクトの前記可変位置に応じて、前記第１の目標位置を変更するようにしたことを特徴とする請求項１に記載のコンピュータインタフェース。
【請求項８】
各オブジェクトが座標空間内にオブジェクト位置を有する複数のオブジェクトの動きを制御するためのプログラムを記録したコンピュータ読み取り可能な記録媒体において、
前記座標空間内のポインタの座標を識別する手段であって、前記ポインタは入力装置によって制御されるところの手段と、
前記複数のオブジェクトのそれぞれのオブジェクトに関連する、入力装置により提供される、複数の入力スイッチの各スイッチが閉じることを検出する手段と
オブジェクトに係る前記スイッチが閉じることを検出した際の前記ポインタの座標に応じて、前記複数のオブジェクトの一つのための目標位置を特定する目標座標特定手段と、
前記目標位置方向に目標方向に向かって、閉じられたスイッチに関連するオブジェクトのオブジェクト位置を調整するオブジェクト移動手段として、コンピュータを機能させるためのプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項９】
さらに前記それぞれのオブジェクト位置と、前記目標位置との間に位置する前記オブジェクトに関連する障害物を検出する障害物検出器と、
各オブジェクトに関連する前記障害物に応じて、前記目標方向を変更する方向特定器として、コンピュータを機能させるためのプログラムを記録したことを特徴とする請求項８に記載のコンピュータ読み取り可能な記録媒体。
【請求項１０】
複数のオブジェクトの各オブジェクトが、座標空間内にそれぞれのオブジェクト位置を持つ、前記座標空間を規定するステップと、
入力装置により提供され、複数の入力スイッチのうちの各々のスイッチが複数のオブジェクトのうちのそれぞれのオブジェクトと対応しており、前記複数の入力スイッチのうちの一つのスイッチが閉じられたことを検出するステップと、
前記座標空間内における、閉じられたスイッチに関連する、前記オブジェクトの目標位置を、入力装置によって、識別するステップと、
閉じられたスイッチと関連するオブジェクトの前記オブジェクト位置と前記目標位置とを結ぶ目標方向を特定するステップと、
ほぼ前記目標方向に、前記閉じられたスイッチに関連するオブジェクトの前記オブジェクト位置を変更するステップとを具えていることを特徴とする複数のオブジェクトの動きを制御する方法。
【請求項１１】
さらにそれぞれの前記オブジェクト位置と前記目標位置との間に存在する前記オブジェクトに関連する障害物を特定するステップを具え、かつ前記オブジェクト位置を変更するステップがさらに、前記オブジェクトに関連する前記障害物に依存するものであることを特徴とする請求項１０に記載の方法。
【請求項１２】
前記オブジェクト移動手段が、前記各オブジェクトに対応する物理的要素の動きを模擬する各オブジェクトに関連する規則にほぼ従って前記各オブジェクト位置を調整することを特徴とする請求項８に記載のコンピュータ読み取り可能な記録媒体。
【請求項１３】
さらに前記オブジェクトに関連する速度を求めるステップを具え、かつ前記オブジェクト位置を変更するステップがさらに、前記オブジェクトに関連する前記速度に依存することを特徴とする請求項１０に記載の方法。
【発明の詳細な説明】
【０００１】
（発明の分野）
本発明はコンピュータの分野に関するものであり、特にコンピュータによるゲーム、シミュレーション、及びロボティック制御に関するものである。
【０００２】
（関連技術）
ユーザは、多様なユーザインタフェースによってコンピュータゲーム及びシミュレーションと対話して、これらを制御する。一般的なユーザインタフェースは、１つ以上のボタンまたは取りがを有するジョイスティックによるものである。ユーザはゲームピース（駒）を動かしたい方向にジョイスティックを傾けることによって、コンピュータスクリーン上のアニメ図形のようなゲームピースの模擬動作を制御している。同様に、ユーザは実際の航空機での操縦の動作に対応してジョイスティックを傾けることによって、航空機の模擬飛行を制御する。またジョイスティックは模型飛行機、工場の移動用リフト等のような遠隔操作機器用の入力装置としても一般に用いられている。ロボティクスの分野が拡大すると共に、より多くの装置及び機器が、主にユーザと制御される装置との間のコンピュータインタフェースによって遠隔的に制御されるようになりつつある。
【０００３】
他の一般的なコンピュータインタフェース装置にはマウスがある。マウスは、ワードプロセッサ及び表計算のようなコンピュータアプリケーションと対話するのに好都合であるが、これをゲーム、シミュレーション、及び遠隔制御用のインタフェース装置として使用することには、多少の制約がある。通常、マウスは装置を制御するための選択肢のメニューから選択するために使用されている。例えばユーザはスクリーンに表示された制御のアニメーションをポイントして、異なる動きを行わせるために、異なる制御の位置でクリックすることができる。ゲームまたはシミュレーションにおいては、ユーザはアニメ化された図形上でクリックして、この図形を新たな位置までドラッグすることができるが、このような瞬時の移動は、大部分のゲーム及びシミュレーションが成し遂げようとしている実物のような動きの感覚と一致しえないものである。またタッチパッド及びキーボード上の方向矢印も、マウスと同様のインタフェース特性のものとして一般的に用いられている。
【０００４】
コンピュータゲームまたはシミュレーションのインタフェースが、特に独立して動くことができる図形及びオブジェクト（物体）の制御に関して問題となっている。慣例的に、単一動きベクトルをユーザインタフェース制御に関連づけている。例えばユーザが模擬ピンポンラケットを制御し、このピンポンラケットの動きまたは位置によって、模擬ピンポン球の動きを直接制御する。同様にユーザは模擬航空機の動きを制御して、この模擬航空機を適切な方向に向け、そしてトリガを引いてこの方向に弾丸を発射することによって、この航空機からの模擬弾の弾道を制御する。しかしある実際のゲームまたはイベントは、このような模擬の規範に従うものではない。フットボール選手は必ずしも自分が進む方向にボールをパスするとは限らない。パイロットは自分の航空機が進む方向以外の方向に誘導ミサイルを発射することができる。コンピュータゲーム及びシミュレーションは、実物のような表現を伝える場合に、図形及びオブジェクトの独立した動きをサポートしなければならない。通常のコンピュータゲーム及びシミュレーションにおいては、独立した動き制御はコンテクストスイッチによって行っている。例えばデュアル制御は、例えば２つの独立したジョイスティックとして、またはスクリーン上に表示される２つの独立したコントローラとしてのいずれかで行っている。例えばジョイスティックまたはコントローラの１つをフットボール選手の動きを制御するために使用し、他のものをフットボールをパスするために使用する。１つのジョイスティックまたはコントローラのみが利用可能な場合には、ユーザは単一のジョイスティックまたはコントローラによって受け取った入力の解釈を制御する他のスイッチによって、独立した制御を行っている。この明示的なコンテクストスイッチ、またはスクリーン上の第２制御領域は、意図するシミュレーションまたは実物のような行動を妨げる厄介なものとなりうる。
【０００５】
（発明の概要）
本発明の目的は、使いやすく、かつアニメ化された図形及びオブジェクトの動きを実物のようにすることを可能にするユーザインタフェースを提供することにある。本発明の目的はさらに、独立したコンテクストスイッチを必要とせずに多数の図形及びオブジェクトの動きの独立制御を可能にするユーザインタフェースを提供することにある。
【０００６】
これらの目的及び他の目的は、多くの状況において、目標を識別することを、あるオブジェクトをその目標に向ける動きを直接制御することと同じ意味のこととすることによって達成される。即ち、例えばあるゲームでは、そのゲームの挑戦は目標を撃つ武器を制御することにあるが、他のゲームでは、そのゲームの挑戦は目標を実際に選択することにある。フットボールのシナリオでは、１つのゲームはユーザが走者を機動させる能力に挑戦することとすることができるが、他のゲームはユーザがいつパスするか、そして誰にパスするかを選ぶ能力に挑戦することとすることができる。多くの実生活のシナリオにおいて、プレーヤは目標を意識的に選定し、素質及び訓練が目標を達成する手段となる。即ち、フットボールチームのフォワードエンド（前衛翼）は、各プレーの絶頂でどこに居るべきかを知っている。フォワードエンドが所定の目標に向かう動きのほとんどは、彼が走り、相手選手の周囲で急転向する際に比較的無意識に考えることである。選手に目標を変更させるような状況が生じた場合及びときには、意識的な思考をプレーに取り入れる。
【０００７】
本発明によれば、ユーザは動きを直接制御することよりもむしろ、オブジェクトの動きのゴール即ち目標を識別することによって、ゲームまたはシミュレーションを制御する。特定のゴールに向かう動きにおいて、被制御オブジェクトが仮想的かつ自律的に動作するようにする。実感させるために、被制御オブジェクトが慣性効果のような動きの規則、並びに回避、衝突等のような他のオブジェクトとの関係の規則に従うようにする。模擬プレーが進展するにつれてユーザがゴールを調整し、これによって実際のプレーで発生する決定プロセスをエミュレートすることができる。被制御オブジェクトの実際の動きよりもむしろゴール即ち目標を識別することによって、ユーザインタフェースは本質的に、マウスまたはタッチパッドによる対話に、より適したものとなる。例えば、フットボール場の表示において、ユーザは被制御フォワードエンドの目標位置を識別するためにマウスを用いる。ある位置でクリックした後に、模擬フォワードエンドがほぼ自律的なふるまいでその位置に向かって進む。
【０００８】
本発明の他の要点によれば、ユーザは各オブジェクトのゴールを独立して識別することによって、独立したオブジェクトの動きを制御する。フットボールのシナリオでは、ユーザがフットボールの目標位置を識別することによって、フットボールの動きを制御する。ユーザが目標位置でマウスボタンまたはトリガのようなスイッチを作動させると、フットボールを持っている模擬フットボール選手がこの目標位置の方向にボールを投げる。模擬フットボールは動きの規則、空気力学、他の物との関係等に従って、この目標位置に向かって進む。なお、フットボールの目標位置の選択を、フットボールキャリア（フットボールを持っている選手）の目標位置の選択とは無関係とする。入力装置の各ボタンまたはスイッチを制御されるオブジェクトに関連づける。例えばマウスの左ボタンをクリックすることはフットボールキャリアを識別することとし、マウスの右ボタンをクリックすることはフットボールの目標位置を識別することとする。
【０００９】
本発明の変形例では、ゴール指向のユーザインタフェースを用いて、工場環境における半自動ロボットのような実オブジェクトを制御するようにする。他の好適例では、ユーザがコンピュータスクリーンよりもむしろ物理的な環境と対話して、こうした物理的オブジェクトに対するゴールを識別するようにする。
【００１０】
（発明を実施するための好適な形態）
図１に本発明によるユーザインタフェースの例を示す。このインタフェースは、コントローラ１８０を介してスクリーン１００上の画像１１０に結合された入力装置１９０を具えるものである。画像１１０は座標空間内の領域を表わすものである。座標空間内の２つのオブジェクトを図１に示し、オブジェクト１  １３１はフットボールであり、オブジェクト２  １３２はフットボールキャリアを表わしている。コンピュータシミュレーションの技術で一般的なように、画像１１０は比較的一定の時間経過に応じて更新される。時間が経過する毎に、オブジェクト１３２で表わされる実際のフットボール選手のような物理的要素がこの経過時間中に移動する距離に応じて、各オブジェクト１３１及び１３２の位置が漸次調整される。
【００１１】
本発明によれば、フットボール１３１を投げるために、ユーザ（図示せず）が入力装置１９０を用いて、フットボール１３１を投げようとする座標空間内の目標位置１２０を識別する。フットボール１３１の位置及び目標位置１２０にもとづいて、コントローラ１８０はフットボール１３１を次に動かそうとする目標方向１２５を特定する。時間が経過する毎に、フットボール１３１は目標方向１２５に沿って動く。フットボールキャリア１３２が初期移動方向１５０を有している場合には、コントローラ１８０はフットボールキャリア１３２をこの初期方向１５０に沿って漸次動かし続ける。フットボール１３１はユーザがさらに直接制御することなく目標位置１２０に向かって動き続ける。
【００１２】
好適な実施例では、フットボール１３１が目標位置１２０への経路を進むにつれて、コントローラ１８０は実際のフットボールの進み方のモデルまたは一連のモデルにもとづくフットボール１３１用の動きの規則を適用する。例えば、フットボールの上昇は楕円経路に従うようにする。フットボールが空中を進むにつれて、進む速さが次第に低下し、相手選手のような、あるいは高度がゼロに低下した場合のグラウンドのような障害物に遭遇した場合には、フットボールの速さ及び経路が突然変化する。また動きの規則はキャリア１３２の特性にも依存しうる。キャリア１３２を実際のフットボール選手のモデルにもとづくようにして、初期のフットボール速度及びボール軌跡の精度を実際のフットボール選手が前に行う挙動の実例にもとづくようにすることができる。同様にこれらの速度及び軌跡の精度を、フットボール１３１を投げた時点でのキャリア１３２の状態の関数にもとづくようにすることができる。例えばフットボール１３１を投げる際にキャリア１３２が静止している場合には、これらの速度及び精度をより高い値に想定することができる。同様にキャリア１３２が迫り来る相手選手に囲まれている場合には、この精度をより低い値に想定することができる。好適な実施例では、これらの規則及び他のこうした規則、並びにランダムな要因を実現するようにコントローラ１８０をプログラムして、現実的なシミュレーション及びスクリーン上のゲームのレンダリングを促進させる。
【００１３】
さらに他の好適な実施例では、動きの規則を移動するオブジェクトに依存させる。図２にフットボール１３１ような弾道オブジェクトの動き処理を示し、図３にフットボールキャリア１３２のような自己推進型オブジェクトの動き処理を示す。図２において、目標位置１２１はフットボール１３１に意図された目標位置であり、図３において、目標位置１２２はフットボールキャリア１３２に意図された目標位置である。即ち、図２はパスプレーを表わし、図３はランニングプレーを表わすものである。図２及び図３に示すように、オブジェクト１３１、１３２の位置から目標位置１２１、１２２までの間の目標方向１２５に障害物１６０がある。時間が経過する毎に、コントローラ１８０はオブジェクト１３１、１３２を目標方向１２５に沿って動かし、オブジェクト１３１、１３２と障害物１６０との間の距離を減少させる。またこれらの経過時間中に、コントローラ１８０は障害物１６０、及び他の障害物及び選手も動かすことができる。
【００１４】
図２に示すように、ある時点でフットボールのオブジェクト１３１が障害物１６０と重なり、その速度及び経路が突然変化する。フットボール１３１と障害物１６０との衝突によって生じる、フットボール１３１’の異なる目標方向１４１への方向転換を図２に示す。あるいはまた、コントローラ１８０が障害物１６０によるフットボール１３１のインターセプトを行うことができ、即ちフットボール１３１のその後の動きが障害物１６０のその後の動きと一致するようにする。
【００１５】
図３に示すように、ある時点ではフットボールキャリアのオブジェクト１３２が障害物１６０に接近する。そしてにフットボールキャリアのオブジェクト１３２に関連する動き規則の制御の下に、フットボールキャリアのオブジェクト１３２が障害物１６０を回避しようとする。例えば図３に示すように、フェイントを行うようにコントローラ１８０をプログラムすることができ、ここでコントローラ１８０はキャリア１３２を一方向３２５に少し動かし、障害物１６０をこの方向に引いて、次にキャリア１３２が明らかに再び前の目標に向かって、即ち新たなオブジェクト方向１４２に沿って進むようになるまで、キャリア１３２を逆方向３２６へ動かす。なお、フットボールキャリアの直感的な動作のような特定種類のオブジェクトに一般的な動作を含む動きの規則を設けることによって、通常、こうした直感的な動作または自動的な応答を即座に行うことをユーザに要求することによって生じる割り込みなしに、コントローラ１８０がゲームの現実的なレンダリングを行うことができる。また好適な実施例では、ユーザが所望すれば、自己推進するオブジェクトの自動的な動きを無効にするオプションを設けることもできる。
【００１６】
通常の当業者には明らかなように、コントローラ１８０または他のコントローラは、異なるユーザに異なるオブジェクトを制御させることによって、マルチプレーヤのゲームを実行することができる。例えば障害物１６０を対戦するユーザが制御するある選手とすることができる。１対１の防御戦を模擬するために、コントローラ１８０はフットボールキャリア１３２の動的な位置のように、対戦ユーザに動的な目標位置を特定させることができる。この目標位置は可動のオブジェクト位置に関連付けられたものであり、こうして目標オブジェクトの位置が変化する毎にこの目標位置を更新する。この例では、フットボールキャリア１３２を目標オブジェクトとして有する障害物１６０は、キャリア１３２が動く際にもフットボールキャリア１３２の方向に向かって絶えず動き、これによって例えば実際のフットボール試合における対抗タックルの動作を模擬させる。
【００１７】
図４は、２つの目標位置１２１、１２２を識別することによって、２つの移動オブジェクト１３１、１３２を独立して制御することを示している。最初に、フットボールキャリアを表わすオブジェクト１３２は位置１３２ａにある。ユーザは入力装置１９０によって画像１１０の座標空間内の位置１２２を選択して、この目標位置１２２をオブジェクト１３２に関連付ける。好適な実施例では、目標位置１２２の識別を、マウス、タッチパッド、ジョイスティック等のような入力装置１９０によって制御されるポインタ４０１よって行い、目標位置を特定オブジェクトに関連付けることを、入力装置１９０におけるスイッチＳ１、Ｓ２によって行う。なおスクリーン１００上の画像１１０は、座標空間内で位置を識別するための参照平面として設けたものにすぎない。通常の当業者には明らかなように、座標空間内の位置を識別する他の手段が通常利用可能である。例えば座標空間を「ディジタルホワイトボード」上に設けることができ、ユーザはこのボードに結合されたレーザポインタによって目標位置を識別することができる。ユーザの動き及びジェスチャーを検出する機器によって、ユーザはバーチャルリアリティ（仮想現実）環境に入ることができる。このような環境では、ユーザが目標位置をポイントするだけで、目標位置を識別することができる。またこのような入力シナリオを組合わせることも本発明の範疇に属するものである。例えばユーザが実環境内に存在し、コントローラに結合されたポインタを用いて実環境内の実際の位置をポイントして目標位置を識別することができる。同様に入力装置上のスイッチを用いて、模擬環境条件のような移動するオブジェクト以外のアイテム、または照明のような実際の条件を制御することができる。一般に追加スイッチを用いてコントローラ１８０の状態を制御することができる。
【００１８】
図４に示すように、ユーザはポインタ４０１が所望の目標位置１２２にある際に、入力装置１９０における特定のスイッチＳ２  １９２を閉じることによって目標位置１２２を特定のオブジェクト１３２に関連付ける。前述のように、その後コントローラ１８０はオブジェクト１３２を目標位置１２２に向けて動かす。オブジェクト１３１即ちフットボールが、オブジェクト１３２即ちフットボールキャリアに割り当てられているので、ボールが投げられるまでは、フットボールのオブジェクト１３１はフットボールキャリアのオブジェクト１３２と一致して動かされる。
【００１９】
後の時点で、オブジェクト１３２、１３１が位置１３２ｂ、１３１ａにある際に、ユーザは目標位置１２１をフットボールのオブジェクト１３１用に選択し、これによってキャリア１３２がフットボール１３１を投げることを模擬する。ポインタ４０１’が目標位置１２１にある際にユーザがスイッチＳ１  １９１を閉じることによって、目標位置１２１がフットボールのオブジェクト１３１に関連付けられる。その後オブジェクト１３２は図に１３２ｃで示すように、目標位置１２２に向かう最初の目標方向３３２に沿って進み続け、この間にオブジェクト１３１は図に１３１ｂで示すように、目標位置１２１に向かう目標方向３３１に沿って進む。通常の当業者には明らかなように、追加スイッチによって、あるいはスイッチ操作の組合わせを特定のオブジェクトに関連付けることによって、追加オブジェクトを制御することができる。
【００２０】
図５にコントローラ１８０のブロック図の例を示す。入力プロセッサ５１０は入力装置１９０から入力パラメータを受け取るものである。通常行われるように、入力プロセッサ５１０は入力装置の動きをスクリーン上のポインタの動きに相関させて、画像座標空間に対するポインタの座標を求めるようにする。また入力プロセッサ５１０はスイッチを閉じることを含む入力事象を識別して、ポインタの座標を入力事象の時刻に関連付ける。入力事象５１１は目標座標特定器５２０に伝えられる。目標座標特定器５２０はスイッチを閉じる事象に応答するものである。スイッチが閉じられると、目標座標特定器５２０はスイッチが閉じられた時点でのポインタの位置に対応する新たな目標位置を、閉じられたスイッチに関連するオブジェクトに割り当てる。また目標座標特定器５２０は、他のオブジェクト目標位置、例えばコンピュータゲーム人物ｖ．における相手選手のようなコントローラ１８０によって直接制御されるすべてのオブジェクト、あるいは移動目標オブジェクトに関連する目標位置についてのあらゆる変更を絶えず識別する。オブジェクト識別子及び目標位置５２１は、障害物検出器兼方向特定器５３０に伝えられる。またタイミング事象５６１を発生する時間経過発生器５６０が、障害物検出器兼方向特定器５３０に接続されている。
【００２１】
時間が経過する毎に、障害物検出器兼方向特定器５３０は、各オブジェクト及び各オブジェクトの現在位置に関連する目標位置にもとづいて、各オブジェクトが進もうとする方向を特定し、かつ各オブジェクトとこれに対応する目標位置との間の経路付近に障害物があるか否かを決定する。オブジェクトの種類に応じて、障害物検出器兼方向特定器が、このオブジェクトが次に進むべき方向を特定する。例えばオブジェクトが弾道オブジェクトであり、回避が不可能な場合には、このオブジェクトは障害物と一致するまで現在の方向に沿って進む。衝突があると、障害物検出器兼方向特定器５３０は、一致しているオブジェクトに関連する、前述した動き及び衝突の規則にもとづく結果による新たな方向を特定する。オブジェクトが自己推進型の場合には、障害物検出器兼方向特定器５３０は、このオブジェクトに関連する動き及び衝突の規則を適用して、必要ならばこのオブジェクトが進む方向についての適切な変更を決定する。また一貫性のために、障害物検出器兼方向特定器５３０は、ランダム要因の導入、空気力学的効果等のようなオブジェクトの方向に影響しうる他の規則も適用する。例えばオブジェクトが移動中の輸送手段から発射されたミサイルである場合には、障害物検出器兼方向特定器５３０は、このミサイルの推進速度と初期速度とのベクトル和を計算して、このミサイルが目標位置に向かって進む間の、より現実的な経路を決定する。障害物の発生及び適切な動きの規則にもとづいて、障害物検出器兼方向特定器５３０は、各オブジェクトに関連する速度５３１をオブジェクト移動器５４０に伝える。速度５３１は関連するオブジェクトの動きの速さ及び方向を共に含むものである。
【００２２】
オブジェクト移動器５４０は、各オブジェクトに目下関連している速度５３１に応じて各オブジェクトの位置５４１を変更する。各オブジェクトの位置５４１は、画像１１０をスクリーン１００上に表示させる表示発生器５５０に伝達される。次の時間経過で、時間経過発生器５６０が、障害物検出器兼方向特定器５３０に各オブジェクトの速度５３１を更新させるタイミング事象５６１をトリガする。新たな速度５３１にもとづいて、オブジェクト移動器５４０がオブジェクト位置を調整して、表示発生器５５０が新たな画像１１０を発生させる。
【００２３】
以上の処理において多数の最適化を図ることができる。例えばオブジェクト移動器５４０は、前回のタイミング事象以後に移動したオブジェクトの位置５４１を伝えることができるに過ぎず、表示発生器は移動した各オブジェクトの付近の画像を更新する必要があるに過ぎない。同様に、目標座標特定器５２０は、変更された目標位置を伝える必要があるに過ぎない。特定事象を特定オブジェクトに関連づける依存構造を規定することができ、こうしてこの特定事象に依存するオブジェクトのみを処理することができる。例えば、オブジェクトが障害物に衝突するまで、その速度を一定に定めることができる。障害物検出器兼方向特定器５３０はこのような衝突事象が発生するまで、オブジェクトの速度５３１を再計算しないようにする。これら及び他のシミュレーション最適化技法は、当業者にとって常識的なものである。
【００２４】
図６に本発明によるオブジェクトの移動を実行するフローチャートの例を示す。時間が経過する毎にいつも、ブロック６１０では新たな画像を表示し、ブロック６２０〜６５０のループでは画像座標空間内でのオブジェクトの動きに対応して新たな画像を発生させる。わかりやすくするために、前述した最適化技法によって、あるブロックの出力が不変であることが既知である際に１つ以上のブロックをバイパスすることができても、画像内の各移動オブジェクトをブロック６２０〜６５０のループ内で処理するように示してある。
【００２５】
ブロック６２０では、オブジェクトの目標位置についてのあらゆる変更を決定する。前述のように、ユーザの選択によって、または内部処理によって、オブジェクトの目標位置を変更することができる。前述した１対１の防御戦の例の場合には、他のオブジェクトの位置を変更する毎に、オブジェクトの目標位置を変更することができる。ブロック６３０では、オブジェクトの位置から目標位置への方向を特定する。これは所望されるオブジェクトの進む方向であるが、障害物、動きの規則等のために、達成しうる方向、または現実的な方向とはならない。ブロック６４０ではオブジェクトが進む実際の方向を特定する。前に説明したように、またブロック６４２、６４４、６４６、６４８に示すように、オブジェクトが進む速さ及び方向は多くの要因に依存するものであり、オブジェクトの進み方に対して現実的に各要因を特定する。ブロック６５０では、ブロック６４０での速度の特定にもとづいてオブジェクトを漸次動かす。動きの量は、表示画像間の時間経過中に特定した速度で移動する距離を計算することによって特定する。結局、ブロック６２０〜６５０のループで画像を移動させ、ブロック６１０で新たな画像を表示し、ブロック６１０〜６５０までのプロセスを繰り返す。
【００２６】
以上の記述は、本発明の原理を説明しているに過ぎず、従って、本明細書に明示的に記述また図示されていないが、本発明の原理を実現し、従って本発明の範疇に属する種々の装置を当業者が考案しうることは明らかである。例えば、本発明はコンピュータゲームについての内容で記述してあるが、このゴール指向のユーザインタフェースが、模擬及び実際のオブジェクトの動きに関係するアプリケーションにいくらでも適用できることは、通常の当業者にとって明らかである。工場または複合型オフィスにおけるロボットの制御は、各ロボットの特定の動きを制御することよりもむしろ、各ロボットに意図された行き先をポイントすることによって行う。この例でのコントローラは、動き及び障害物回避の規則を適用して、各ロボットを目標位置に到達させる実際の制御を行うようにするものである。また本発明は主に、オブジェクトと目標位置との間の経路を直線とする内容で記述しているが、通常の当業者には明らかなように、迷路走行アルゴリズムのような経路生成アルゴリズムを、より複雑な環境でのオブジェクトの漸次の速度及び動きを決定するために利用することができる。
【図面の簡単な説明】
【図１】  本発明によるオブジェクトの動きを制御するユーザインタフェースの例を示す図である。
【図２】  本発明による弾道オブジェクトの動き処理の例を示す図である。
【図３】  本発明による自己推進型オブジェクトの動き処理の例を示す図である。
【図４】  本発明による、２つの目標位置の識別による２つの移動オブジェクトの独立制御を示す図である。
【図５】  本発明によるオブジェクトの移動を行うコントローラのブロック図の例を示す図である。
【図６】  本発明によるオブジェクトの移動を行うフローチャートの例を示す図である。
【図１】
0004294225.tif 000002
【図２】
0004294225.tif 000003
【図３】
0004294225.tif 000004
【図４】
0004294225.tif 000005
【図５】
0004294225.tif 000006
【図６】
0004294225.tif 000007