(57)【要約】【課題】オブジェクトの形状の変化にもかかわらず、操作者が意図したようにキャラクタオブジェクトを自然に動かす画像を得ることが可能な画像処理装置を提供する。【解決手段】本発明の画像処理装置１は、仮想３次元空間を操作者による操作により移動可能なキャラクタオブジェクト及びこの仮想３次元空間で１以上のポリゴンにより形状が表されるオブジェクトについて、３次元仮想空間内における動作制御を行うオブジェクト動作制御部３１と、動作制御の結果得られるキャラクタオブジェクトの位置及びオブジェクトの形状から、キャラクタオブジェクトがオブジェクトに近接する位置の形状を判定するキャラクタ位置判定部３４と、キャラクタ位置判定部３４による判定結果に応じて、キャラクタオブジェクトのオブジェクトに対する位置及び姿勢を補正するキャラクタ位置・姿勢補正部３５と、を備える。【選択図】  図２
2011258117.tif 000002
【特許請求の範囲】
【請求項１】
仮想３次元空間を操作者による操作により移動可能なキャラクタオブジェクト及びこの仮想３次元空間で１以上のポリゴンにより形状が表されるオブジェクトについて、前記３次元仮想空間内における動作制御を行うオブジェクト動作制御手段と、
前記動作制御の結果得られる前記キャラクタオブジェクトの位置及び前記オブジェクトの形状から、前記キャラクタオブジェクトが前記オブジェクトに近接する位置の形状を判定するキャラクタ位置判定手段と、
前記キャラクタ位置判定手段による判定結果に応じて、前記キャラクタオブジェクトの前記オブジェクトに対する位置及び姿勢を補正するキャラクタ位置・姿勢補正手段と、を備える、
画像処理装置。
【請求項２】
前記オブジェクトの表面が前記ポリゴンにより平面、凸、凹、及び凹凸のいずれかの形状に構成されており、
前記キャラクタ位置判定手段は、前記キャラクタオブジェクトが前記オブジェクトの平面、凸、凹、及び凹凸のいずれの形状の位置に最も近接するかを判定し、
前記キャラクタ位置・姿勢補正手段は、前記キャラクタオブジェクトが最も近接する前記オブジェクトの位置の形状に応じて、当該キャラクタオブジェクトの位置及び姿勢を補正する、
請求項１記載の画像処理装置。
【請求項３】
前記キャラクタオブジェクトの動作を表すための当該キャラクタオブジェクトのローカル座標系により、当該キャラクタオブジェクトの位置及び姿勢が決められており、
前記キャラクタ位置判定手段は、前記ローカル座標系の原点とこの原点に最も近いポリゴンとの位置関係により、当該キャラクタオブジェクトが当該オブジェクトに近接する位置の形状を判定する、
請求項１又は２記載の画像処理装置。
【請求項４】
前記キャラクタ位置判定手段は、前記キャラクタオブジェクトの前記仮想３次元空間内における大きさに相当する仮想の球と前記オブジェクトを形成する１以上のポリゴンとの接点から、当該キャラクタオブジェクトが当該オブジェクトに近接する位置の形状を判定する、
請求項１〜３のいずれか１項記載の画像処理装置。
【請求項５】
キャラクタ位置・姿勢補正手段は、前記ローカル座標系を回転させることで当該キャラクタオブジェクトの姿勢を補正し、前記ローカル座標系の原点を移動させることで当該キャラクタオブジェクトの位置を補正する、
請求項３記載の画像処理装置。
【請求項６】
前記キャラクタ位置・姿勢補正手段は、前記ローカル座標系の回転角に制限を設けている、
請求項５記載の画像処理装置。
【請求項７】
前記キャラクタ位置・姿勢補正手段は、前記ローカル座標系の補正されたＹ軸方向に前記原点を移動させることで、当該キャラクタオブジェクトの位置を補正する、
請求項５又は６記載の画像処理装置。
【請求項８】
前記キャラクタ位置・姿勢補正手段は、前記キャラクタオブジェクトが移動することで当該キャラクタオブジェクトの前記オブジェクトに最も近接する位置が移動する場合に、前記キャラクタオブジェクトの移動前に予め前記最も近接する位置の移動量と同等の量ずらす、或いは前記キャラクタオブジェクトの移動後に前記最も近接する位置を移動前の位置に戻す、
請求項７記載の画像処理装置。
【請求項９】
仮想３次元空間を操作者による操作により移動可能なキャラクタオブジェクト及びこの仮想３次元空間で１以上のポリゴンにより形状が表されるオブジェクトについて、前記３次元仮想空間内における動作制御を行うオブジェクト動作制御手段を備えた画像処理装置により実行される方法であって、
前記動作制御の結果得られる前記キャラクタオブジェクトの位置及び前記オブジェクトの形状から、前記キャラクタオブジェクトが前記オブジェクトに近接する位置の形状を判定し、前記キャラクタ位置判定手段による判定結果に応じて、前記キャラクタオブジェクトの前記オブジェクトに対する位置及び姿勢を補正する、
画像処理方法。
【請求項１０】
仮想３次元空間を操作者による操作により移動可能なキャラクタオブジェクト及びこの仮想３次元空間で１以上のポリゴンにより形状が表されるオブジェクトについて、前記３次元仮想空間内における動作制御を行うオブジェクト動作制御手段を備えたコンピュータシステムに、
前記動作制御の結果得られる前記キャラクタオブジェクトの位置及び前記オブジェクトの形状から、前記キャラクタオブジェクトが前記オブジェクトに近接する位置の形状を判定させ、前記キャラクタ位置判定手段による判定結果に応じて、前記キャラクタオブジェクトの前記オブジェクトに対する位置及び姿勢を補正させる、
ためのコンピュータプログラム。
【請求項１１】
請求項１０記載のコンピュータプログラムが記録されたコンピュータ読み取り可能な記録媒体。
【請求項１２】
仮想３次元空間を操作者による操作により移動可能なキャラクタオブジェクト及びこの仮想３次元空間で１以上のポリゴンにより形状が表されるオブジェクトについて、前記３次元仮想空間内における動作制御を行うオブジェクト動作制御手段を備えた画像処理装置に、
前記動作制御の結果得られる前記キャラクタオブジェクトの位置及び前記オブジェクトの形状から、前記キャラクタオブジェクトが前記オブジェクトに近接する位置の形状を判定するキャラクタ位置判定手段；
前記キャラクタ位置判定手段による判定結果に応じて、前記キャラクタオブジェクトの前記オブジェクトに対する位置及び姿勢を補正するキャラクタ位置・姿勢補正手段；
を形成するための半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば仮想３次元空間において複雑な形状の地面や形状が変化する巨大物体の表面を移動する人、動物、自動車や飛行機等の乗り物、或いは物体等の画像を、コンピュータグラフィクスにより、処理負荷を少なくしつつ自然に表現するための画像処理技術に関する。
【背景技術】
【０００２】
コンピュータグラフィクスに関する技術の発達により、３次元画像を従来よりも自然に表現することが可能になってる。コンピュータグラフィックスは様々な分野に用いられている。一般に馴染み深いものの一つにコンピュータゲームがある。
コンピュータゲームには、いわゆるアクションアドベンチャーゲームのように、操作者によって操作可能なオブジェクトであるキャラクタオブジェクトにより、仮想３次元空間内を移動しながら進行されるゲームがある。このようなコンピュータゲームでは、操作者による操作に対して、リアルタイムに応答して自然に動作するキャラクタオブジェクトが好まれる。キャラクタオブジェクトには、人、動物、自動車や飛行機等の乗り物、或いは所定の物体等の画像を表す。
【０００３】
このようなコンピュータゲームでは、キャラクタオブジェクトが仮想３次元空間内に設けられる様々なオブジェクトに接触する。キャラクタオブジェクトが接触するオブジェクトには、例えば地面や崖のように形状が固定されているものや、モンスターのような巨大生物のように形状が変化するものがある。
キャラクタオブジェクトが地面を移動する場合、地形の凸凹に合わせてキャラクタオブジェクトの位置及び姿勢を変えることが行われている。特許文献１、２は、キャラクタオブジェクトが地面に沿って移動する場合の画像処理についての発明である。
【０００４】
特許文献１には、仮想３次元空間内に形成される地形をキャラクタオブジェクトの位置や姿勢に反映させる３次元ゲーム装置が記載されている。この３次元ゲーム装置では、ゲームフィールドの地形情報を記憶しておき、この地形情報を利用して移動体（キャラクタオブジェクト）のオブジェクト情報が変更される。変更されたオブジェクト情報により、地形情報が反映されたキャラクタオブジェクトの画像が生成される。特許文献２には、モデルオブジェクト（キャラクタオブジェクト）の自然な動作を少ない処理負荷で表現する画像生成システムが記載されている。モデルオブジェクトを構成する手や足となるパーツオブジェクトが地形面に潜り込まないように、モデルオブジェクトの形状を、地形に応じて変形させる。
【０００５】
これに対して形状が変化するオブジェクト上をキャラクタオブジェクトが移動する場合には、オブジェクトの形状の変化に対応してキャラクタオブジェクトの位置及び姿勢を即時に変える必要がある。しかしこのような画像処理は、処理負荷が大きく、リアルタイム処理には限度がある。そのために従来は、例えば、予め作成したビデオ画像を再生することで、キャラクタオブジェクトが変形するオブジェクト上を移動していることを表している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平６−２７７３６２号公報
【特許文献２】特開２００３−４４８７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１、２では、形状が決まっているオブジェクトの上をキャラクタオブジェクトが移動する場合のみを考慮している。しかし、ゲームの内容によっては、キャラクタオブジェクトが例えば巨大生物のような動きのあるオブジェクトの上を移動することも考えられる。特許文献１、２に開示される技術では、上記の通り動きのあるオブジェクト上を移動することは考慮されていない。また、形状が変化するオブジェクトの場合に、ビデオ画像を再生する場合には、キャラクタオブジェクトの動きが限られ、操作者の意図が完全に反映されたものとはならない。
【０００８】
本発明は、上記の問題に鑑み、オブジェクトの形状の変化にもかかわらず、操作者が意図したようにキャラクタオブジェクトを自然に動かす画像を得ることが可能な画像処理装置を提供することを主たる課題とする。
【課題を解決するための手段】
【０００９】
以上の課題を解決する本発明の画像処理装置は、仮想３次元空間を操作者による操作により移動可能なキャラクタオブジェクト及びこの仮想３次元空間で１以上のポリゴンにより形状が表されるオブジェクトについて、前記３次元仮想空間内における動作制御を行うオブジェクト動作制御手段と、前記動作制御の結果得られる前記キャラクタオブジェクトの位置及び前記オブジェクトの形状から、前記キャラクタオブジェクトが前記オブジェクトに近接する位置の形状を判定するキャラクタ位置判定手段と、前記キャラクタ位置判定手段による判定結果に応じて、前記キャラクタオブジェクトの前記オブジェクトに対する位置及び姿勢を補正するキャラクタ位置・姿勢補正手段と、を備える。
【００１０】
本発明の画像処理装置は、オブジェクトの形状に応じてキャラクタオブジェクトの位置及び姿勢を補正する。オブジェクトの形状は、動作制御により変化することもある。その変化に対応してキャラクタオブジェクトの位置及び姿勢を補正可能であるので、オブジェクトの形状の変化にもかかわらず、キャラクタオブジェクトを自然に動かす画像が得られる。
前記オブジェクトの表面は、例えば前記ポリゴンにより平面、凸、凹、及び凹凸のいずれかの形状である。本発明の画像処理装置は、前記キャラクタ位置判定手段が、前記キャラクタオブジェクトが前記オブジェクトの平面、凸、凹、及び凹凸のいずれの形状の位置に最も近接するかを判定し、前記キャラクタ位置・姿勢補正手段が、前記キャラクタオブジェクトが最も近接する前記オブジェクトの位置の形状に応じて、当該キャラクタオブジェクトの位置及び姿勢を補正する。
【００１１】
本発明の画像処理装置においては、例えば前記キャラクタオブジェクトの動作を表すための当該キャラクタオブジェクトのローカル座標系により、当該キャラクタオブジェクトの位置及び姿勢が決められる。この場合、例えば前記キャラクタ位置判定手段は、前記ローカル座標系の原点とこの原点に最も近いポリゴンとの位置関係により、当該キャラクタオブジェクトが当該オブジェクトに近接する位置の形状を判定する。
また、前記キャラクタ位置判定手段は、前記キャラクタオブジェクトの前記仮想３次元空間内における大きさに相当する仮想の球と前記オブジェクトを形成する１以上のポリゴンとの接点から、当該キャラクタオブジェクトが当該オブジェクトに近接する位置の形状を判定してもよい。この場合、いわゆるレイキャストと呼ばれる手法が適用できる。
【００１２】
キャラクタ位置・姿勢補正手段は、例えば前記ローカル座標系を回転させることで当該キャラクタオブジェクトの姿勢を補正し、前記ローカル座標系の原点を移動させることで当該キャラクタオブジェクトの位置を補正する。
この場合、前記キャラクタ位置・姿勢補正手段は、前記ローカル座標系の回転角に制限を設けてもよい。制限を設けることで、キャラクタオブジェクトの姿勢が不自然に補正されることを防止する。また、前記キャラクタ位置・姿勢補正手段は、例えば、前記ローカル座標系の補正されたＹ軸方向に前記原点を移動させることで、当該キャラクタオブジェクトの位置を補正する。
前記キャラクタ位置・姿勢補正手段は、前記キャラクタオブジェクトが移動することで当該キャラクタオブジェクトの前記オブジェクトに最も近接する位置が移動する場合に、前記キャラクタオブジェクトの移動前に予め前記最も近接する位置の移動量と同等の量ずらす、或いは前記キャラクタオブジェクトの移動後に前記最も近接する位置を移動前の位置に戻す。これにより、動作制御の有無にかかわらずキャラクタオブジェクトが移動する現象を防止することができる。
【００１３】
本発明の画像処理方法は、仮想３次元空間を操作者による操作により移動可能なキャラクタオブジェクト及びこの仮想３次元空間で１以上のポリゴンにより形状が表されるオブジェクトについて、前記３次元仮想空間内における動作制御を行うオブジェクト動作制御手段を備えた画像処理装置により実行される。この画像処理方法では、前記動作制御の結果得られる前記キャラクタオブジェクトの位置及び前記オブジェクトの形状から、前記キャラクタオブジェクトが前記オブジェクトに近接する位置の形状を判定し、前記キャラクタ位置判定手段による判定結果に応じて、前記キャラクタオブジェクトの前記オブジェクトに対する位置及び姿勢を補正する。
【００１４】
本発明のコンピュータプログラムは、仮想３次元空間を操作者による操作により移動可能なキャラクタオブジェクト及びこの仮想３次元空間で１以上のポリゴンにより形状が表されるオブジェクトについて、前記３次元仮想空間内における動作制御を行うオブジェクト動作制御手段を備えたコンピュータシステムに、前記動作制御の結果得られる前記キャラクタオブジェクトの位置及び前記オブジェクトの形状から、前記キャラクタオブジェクトが前記オブジェクトに近接する位置の形状を判定させ、前記キャラクタ位置判定手段による判定結果に応じて、前記キャラクタオブジェクトの前記オブジェクトに対する位置及び姿勢を補正させる、ためのコンピュータプログラムである。このようなコンピュータプログラムは、例えばコンピュータ読み取り可能な記録媒体に記録される。
【００１５】
本発明の半導体装置は、仮想３次元空間を操作者による操作により移動可能なキャラクタオブジェクト及びこの仮想３次元空間で１以上のポリゴンにより形状が表されるオブジェクトについて、前記３次元仮想空間内における動作制御を行うオブジェクト動作制御手段を備えた画像処理装置に、前記動作制御の結果得られる前記キャラクタオブジェクトの位置及び前記オブジェクトの形状から、前記キャラクタオブジェクトが前記オブジェクトに近接する位置の形状を判定するキャラクタ位置判定手段；前記キャラクタ位置判定手段による判定結果に応じて、前記キャラクタオブジェクトの前記オブジェクトに対する位置及び姿勢を補正するキャラクタ位置・姿勢補正手段；を形成するための半導体装置である。
【発明の効果】
【００１６】
以上のような本発明の画像処理装置では、オブジェクトの形状に応じてキャラクタオブジェクトの位置及び姿勢を補正するので、オブジェクトの形状の変化にもかかわらず、キャラクタオブジェクトを自然に動かす画像が得られる。
【図面の簡単な説明】
【００１７】
【図１】本実施形態の画像処理装置の全体構成図である。
【図２】画像処理装置にされる機能を表す機能ブロック図である。
【図３】オブジェクト形状記憶部に記憶される内容の具体例を表す図である。
【図４】キャラクタオブジェクト及びローカル座標系の例示図である。
【図５】オブジェクト上に位置するキャラクタオブジェクトを表す図である。
【図６】キャラクタオブジェクトがオブジェクトの平面部に存在することを表す図である。
【図７】キャラクタオブジェクトがオブジェクトの凸部に存在することを表す図である。
【図８】キャラクタオブジェクトがオブジェクトの凹部に存在することを説明する図である。
【図９】球とオブジェクトとの接点を説明するための図である。
【図１０】図１０（ａ）〜（ｃ）は、オブジェクトの平面上に存在するキャラクタオブジェクトの位置及び姿勢の補正を説明する図である。
【図１１】図１１（ａ）〜（ｃ）は、オブジェクトの凸部に存在するキャラクタオブジェクトの位置及び姿勢の補正を説明する図である。
【図１２】キャラクタオブジェクトが滑るように移動することを説明する図である。
【図１３】滑り防止を説明する図である。
【図１４】複数のポリゴンのエッジにキャラクタオブジェクトが存在する状態を説明する図である。
【図１５】キャラクタオブジェクトがオブジェクトの凹部に存在する場合のキャラクタオブジェクトの位置及び姿勢を補正する図である。
【図１６】キャラクタオブジェクトがオブジェクトの凹部に存在する場合のキャラクタオブジェクトの位置及び姿勢を補正する図である。
【図１７】キャラクタオブジェクトがオブジェクトの凹部に存在する場合のキャラクタオブジェクトの位置及び姿勢を補正する図である。
【図１８】キャラクタオブジェクトがオブジェクトの凹部に存在する場合のキャラクタオブジェクトの位置及び姿勢を補正する図である。
【図１９】キャラクタオブジェクトがオブジェクトの凸凹部に存在する場合のキャラクタオブジェクトの位置及び姿勢を補正する図である。
【図２０】画像処理装置を用いて行われるキャラクタオブジェクトの位置及び姿勢の補正を行う画像処理の処理手順を表す処理手順図である。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の実施の形態を、図面を参照して説明する。
図１は、本実施形態の画像処理装置１の全体構成図である。この画像処理装置１は、ＣＤ−ＲＯＭ又はＤＶＤ−ＲＯＭ等のメディア１７１に記録されたプログラム及びデータを読み込んで処理することにより、図外のディスプレイ装置に画像を表示させるとともに、スピーカ等から音声を出力させるようにしたものである。このような画像処理装置１は、例えば、画像処理機能を有する汎用のコンピュータ、ビデオゲーム装置、エンタテインメント装置等により実現される。
【００１９】
画像処理装置１は、ＣＰＵ（Central Processing Unit）１０と、ＲＡＭで構成されるメモリ１１と、ＭＰＥＧ（Moving Picture Experts Group）デコーダ（ＭＤＥＣ）１２と、ＤＭＡＣ（Direct Memory Access Controller）１３と、ＢＩＯＳ等のプログラムが記録されているＲＯＭ１４と、ハードディスク等の記憶装置１５と、操作装置１６１からの操作内容を受け付けるための入力インタフェース１６と、メディア１７１を装着するためのメディアドライブ１７と、外部ネットワークを介して他の機器との間でデータ通信を行うためのＮＩＣ（Network Interface Card）１８と、フレームメモリ２０を有する描画処理装置（Graphic Processing Unit、以下、「ＧＰＵ」）１９と、ＧＰＵ１９により画像が描画されるフレームメモリ２０と、ビデオ出力信号を生成するＣＲＴＣ（CRT Controller）２１と、サウンドメモリ２３に蓄積された音データを読み出してオーディオ出力信号として出力する音声処理装置（Sound Processing Unit、以下、「ＳＰＵ」）２２とを含んで構成される。これらは、バスＢを介して接続される。
ビデオ出力信号は、ＮＴＳＣ（National Television Standards Committee）やＰＡＬ（Phase Alternation by Line）等の規格に準拠して生成され、ＣＲＴＣ２０からディスプレイ装置に出力されるようになっている。
【００２０】
ＣＰＵ１０は、画像処理装置１の起動時に、ＲＯＭ１４から起動プログラムを読み込み、その起動プログラムを実行してオペレーティングシステムを動作させる半導体デバイスである。また、ＣＰＵ１０は、メディアドライブ１７に装着されたメディア１７１或いは記憶装置１５からアプリケーションプログラムを読み出してメインメモリ１１に記憶させる。また、メディア１７１からからアプリケーションプログラムを読み出す場合に、ＣＰＵ１０は、複数の基本図形（ポリゴン）で構成された３次元図形データ（ポリゴンの頂点の座標値等）、テクスチャデータ等の画像を生成するために必要なデータをメディア１７１から読み出して、記憶装置１５に記憶させる機能を有する。３次元図形データは、仮想３次元空間内のオブジェクトを表す。
【００２１】
ＣＰＵ１０は、３次元図形データに対して、座標変換処理や透視変換処理等のジオメトリ処理を行い、ジオメトリ処理によるポリゴン定義情報（使用するポリゴンの頂点及び重心についての、位置、色、テクスチャ座標、フォグカラー等の指定）、をその内容に含む描画データを生成する機能も有している。
【００２２】
ＧＰＵ１９は、描画データを用いてレンダリング処理を行い、フレームメモリ２０にポリゴンを描画して描画像を生成する機能を有する半導体デバイスである。ＧＰＵ１９は、描画データにより指定された３次元図形データ及びテクスチャデータによりレンダリング処理を行う。
【００２３】
ＭＤＥＣ１２は、ＣＰＵ１０と並列に動作し、ＭＰＥＧ（Moving Picture Experts Group）方式あるいはＪＰＥＧ（Joint Photographic Experts Group）方式等で圧縮されたデータを伸張する機能を有する半導体デバイスであり、ＤＭＡＣ１３は、バスＢに接続されている各回路を対象としてＤＭＡ転送制御を行う半導体デバイスである。ＳＰＵ２２は、サウンドメモリ２３から読み出した音データを合成してオーディオ出力信号を生成する半導体デバイスである。
この実施形態では、ＣＰＵ１０、ＭＤＥＣ１２、ＤＭＡＣ１３、ＧＰＵ１９、及びＳＰＵ２２をそれぞれ別のハードウエアとして備えるが、これらの機能を同時に備えた一つのプロセッサを用いるようにしてもよい。また、マルチコアプロセッサにより、これらの機能を実現してもよい。
【００２４】
入力インタフェース１６は、操作装置１６１からの入力信号を受け付ける。操作装置１６１には、複数の操作ボタンが設けられており、操作者がこれらの操作ボタンを種々多様に操作することにより、ディスプレイ装置に表示されるキャラクタオブジェクトを操作することができるようになっている。操作装置１６１には、例えば、キーボード、マウス、ビデオゲーム装置のコントローラ等を用いることができる。ＮＩＣ１８は、外部ネットワークを介して他の機器からプログラムやデータ等を受信することができる。ＮＩＣ１８を介して受信されたプログラムやデータ等は、記憶装置１５に記憶される。
【００２５】
図２は、画像処理装置１のＣＰＵ１０により本発明のコンピュータプログラムを実行することで実現される機能ブロックを表す図である。画像処理装置１には、入力部３０、オブジェクト動作制御部３１、オブジェクト形状記憶部３２、キャラクタ位置・姿勢記憶部３３、キャラクタ位置判定部３４、及びキャラクタ位置・姿勢決定部３５が形成される。画像処理装置１によるジオメトリ処理及びレンダリング処理では、この他にも必要な機能があるが、ここでは本発明を実現するために必要な機能についてのみ説明し、他の機能については従来通りであるので説明を省略する。
【００２６】
入力部３０は、入力インタフェース１６を介して操作装置１６１による入力信号を受け付ける。操作装置１６１は操作者により操作されており、これにより、操作者によるキャラクタオブジェクト等の操作や各種命令の入力が可能になる。
【００２７】
オブジェクト動作制御部３１は、仮想３次元空間内のキャラクタオブジェクトを含めたすべてのオブジェクトについて、移動や変形等の動作を制御するものである。例えばオブジェクト動作制御部３１は、仮想３次元空間内のキャラクタオブジェクトを含めたすべてのオブジェクトに対する物理演算を行う。オブジェクト動作制御部３１は、入力部３０により受け付けた入力信号に応じて、キャラクタオブジェクトやオブジェクトの動きの物理演算を行い、キャラクタオブジェクトの位置及び姿勢を算出する。またオブジェクト動作制御部３１は、例えばオブジェクト同士の接触等の入力信号に依らずに仮想３次元空間内で起こりうる物理演算も行う。他にも、オブジェクト動作制御部３１は、ＡＩ（Artificial Intelligence）やキーフレームアニメーション等のアニメーションによるオブジェクトの動作制御も行ってもよい。
【００２８】
オブジェクト形状記憶部３２は、オブジェクト動作制御部３１によるオブジェクトの動作制御の結果に応じたオブジェクトの位置、形状等を記憶する。図３は、オブジェクト形状記憶部３２に記憶される内容の具体例を表す図である。オブジェクトは、通常、複数のポリゴンにより構成される。そのために、オブジェクト形状記憶部３２は、１つのオブジェクトを構成する複数のポリゴンの各々の、頂点座標、色、法線ベクトル等を記憶する。図３の例では、オブジェクト形状記憶部３２に、オブジェクトを構成するポリゴン１〜３の頂点座標、色、法線ベクトル等が記憶される。複数のポリゴンの組み合わせにより、オブジェクトの凸凹が表現される。
オブジェクトが複数ある場合には、各オブジェクトについての、同様にポリゴンの頂点座標、色、法線ベクトル等がオブジェクト形状記憶部３２に記憶される。オブジェクトの形状が変化しない場合に、オブジェクト形状記憶部３２に記憶される当該オブジェクトを構成するポリゴンの位置、形状等は変化しない。オブジェクトの形状が変化する場合に、オブジェクト形状記憶部３２に記憶される当該オブジェクトを構成するポリゴンの位置、形状等は変化する。
【００２９】
キャラクタ位置・姿勢記憶部３３は、オブジェクト動作制御部３１によるキャラクタオブジェクトの動作制御の結果に応じたキャラクタオブジェクトの位置及び姿勢を含むキャラクタオブジェクトを表すためのデータを記憶する。この実施形態では、キャラクタオブジェクトの動作を表すために、キャラクタオブジェクトの位置及び姿勢を表すローカル座標系を用いる。キャラクタオブジェクトの位置がキャラクタオブジェクトのローカル座標系の原点の仮想３次元空間内における位置で表され、キャラクタオブジェクトの姿勢がローカル座標系のＹ軸の仮想３次元空間内における方向で表される。キャラクタ位置・姿勢記憶部３３は、キャラクタオブジェクトの位置及び姿勢を表すためのデータとして、ローカル座標系の原点の位置及びＹ軸の方向を記憶する。
図４は、そのようなキャラクタオブジェクト及びローカル座標系の例示図である。図４の例では、ローカル座標系の原点がキャラクタオブジェクトの腰部付近に設けられるが、状況に応じてキャラクタオブジェクトの頭部や脚部付近に設けられてもよい。図４（ａ）では、キャラクタオブジェクトが直立の姿勢であるためにＹ軸が図中の上方を向いており、図４（ｂ）では、キャラクタオブジェクトが図中右斜めに傾いているためにＹ軸が右斜めに傾いている。
【００３０】
キャラクタ位置判定部３４は、オブジェクト形状記憶部３２に記憶されたオブジェクトの形状と、キャラクタ位置・姿勢記憶部３３に記憶されたキャラクタオブジェクトの位置とから、キャラクタオブジェクトがオブジェクトのどの位置に存在するかを判定する。キャラクタ位置判定部３４は、例えば凸フラグ及び凹フラグを備えており、これらのフラグにより、キャラクタオブジェクト３がオブジェクト２の平面部、凸部、凹部、凸凹部のいずれに存在するかを表す。
図５は、オブジェクト２上に位置するキャラクタオブジェクト３を表す図である。オブジェクト２は７個のポリゴンで構成されており、ポリゴンにより凸凹が形成されている。図５では、キャラクタオブジェクト３が中央のポリゴン上に位置している。キャラクタ位置判定部３４は、キャラクタオブジェクト３のローカル座標系の原点ｐに最も近接するオブジェクト２上の点ｑ（以下、「最近接点ｑ」という。）により、キャラクタオブジェクト３がオブジェクト２の平面部、凸部、凹部、凸凹部のいずれに存在するかを判定する。
【００３１】
キャラクタオブジェクト３の位置判定について詳述する。キャラクタオブジェクト３は、オブジェクト２の平面部、凸部、凹部、凸凹部のいずれかに存在する。キャラクタ位置判定部３４は、キャラクタオブジェクト３がオブジェクト２を構成するポリゴンに対してどの位置に存在するかで、オブジェクト２の平面部、凸部、凹部、凸凹部のいずれに存在するかを判断する。
【００３２】
図６は、キャラクタオブジェクト３がオブジェクト２の平面部に存在することを表す図である。以下、キャラクタオブジェクト３を円で表す。
平面部に存在することは、キャラクタオブジェクト３の最近接点ｑがポリゴンの平面内にあるか否かを判定することで判断可能である。キャラクタ位置判定部３４は、例えば図６において、ポリゴンの一辺の中点からローカル座標系の原点ｐへのベクトルと、ポリゴンの該一辺の中点から最近接点ｑへのベクトルとの内積を辺毎に算出し、すべての内積値が正であれば、キャラクタオブジェクト３が当該ポリゴンの平面部に存在している、と判定する。キャラクタオブジェクト３がポリゴンの平面部に存在すると判定した場合に、キャラクタ位置判定部３４は、凸フラグ及び凹フラグをいずれも「FALSE」にセットする。
ポリゴンの各辺の中点を、ｍ１、ｍ２、ｍ３とすると、以下のような３式が満たされる場合にキャラクタオブジェクト３がポリゴンの平面部に存在する。
（点ｍ１から原点ｐへのベクトル）・（点ｍ１から最近接点ｑへのベクトル）＞０
（点ｍ２から原点ｐへのベクトル）・（点ｍ２から最近接点ｑへのベクトル）＞０
（点ｍ３から原点ｐへのベクトル）・（点ｍ３から最近接点ｑへのベクトル）＞０
【００３３】
図７は、キャラクタオブジェクト３がオブジェクト２の凸部に存在することを表す図である。
凸部に存在することは、キャラクタオブジェクト３の最近接点ｑがポリゴンの辺上よりも外側にあるか否を判定することで判断可能である。キャラクタ位置判定部３４は、図７において、ポリゴンの一辺の中点からローカル座標系の原点ｐへのベクトルと、ポリゴンの該一辺の中点から最近接点ｑへのベクトルとの内積を辺毎に算出し、１以上の内積値が“０”以下であれば、キャラクタオブジェクト３が当該ポリゴンのいずれか辺よりも外側にありオブジェクト２の凸部に存在する、と判定する。キャラクタオブジェクト３がオブジェクト２の凸部に存在すると判定した場合に、キャラクタ位置判定部３４は、凸フラグを「TRUE」にセットする。
つまり、以下の３式のいずれかが満たされる場合にキャラクタオブジェクト３がオブジェクト２の凸部に存在する。
（点ｍ１から原点ｐへのベクトル）・（点ｍ１から最近接点ｑへのベクトル）≦０
（点ｍ２から原点ｐへのベクトル）・（点ｍ２から最近接点ｑへのベクトル）≦０
（点ｍ３から原点ｐへのベクトル）・（点ｍ３から最近接点ｑへのベクトル）≦０
【００３４】
図８は、キャラクタオブジェクト３がオブジェクト２の凹部に存在することを説明する図である。凹部に存在する場合には、まず、キャラクタオブジェクト３がオブジェクト２の平面部に存在する必要がある。そのために、上記のように平面部に存在することを判定する。平面部に存在する場合に、以下の処理より凹部に存在するか否かを判定する。
凹部に存在することは、キャラクタオブジェクト３の大きさに応じた大きさの球を想定し、この球とオブジェクト２の接点が複数のポリゴン上にあるか否かを判定することで判断可能である。キャラクタ位置判定部３４は、接点が複数のポリゴン上にある場合に、キャラクタオブジェクト３がオブジェクト２の凹部に存在すると判定して、凹フラグを「TRUE」にセットする。
【００３５】
図９は、球とオブジェクト２との接点を説明するための図である。図９では、いわゆるレイキャスト法により、球とオブジェクト２との接点を決めている。レイキャスト法では、点ｐから球状にレイを放出し、ポリゴンとの交差点（図９中「×」で表す点）が最近接点ｑと同じ平面にあるか否かを判定する。交差点のあるポリゴンの法線ベクトルと交差点から最接近点ｑへのベクトルと内積値により、同一平面であるか否かを判定可能である。
内積値が正であれば当該交差点のポリゴンと最接近点ｑのポリゴンとが凹の関係にあり、内積値が“０”であれば当該交差点のポリゴンと最接近点ｑのポリゴンとが同一平面の関係にあり、内積値が負であれば当該交差点のポリゴンと最接近点ｑのポリゴンとが凸の関係にある。キャラクタ位置判定部３４は、交差点のうち、少なくとも一つが凹の関係にあれば、キャラクタオブジェクト３がオブジェクト２の凹部に存在すると判定する。また、図７により説明した方法によらず、内積値が負であれば凸部にキャラクタオブジェクトが存在すると判断できる。
なお、例えば、レイキャスト法で交差点毎に内積値が正負異なる場合には、キャラクタオブジェクト２が凸凹部に存在すると判断可能である。凸凹部にキャラクタ位置判定部３４は、キャラクタオブジェクト３がオブジェクト２の凸凹部に存在すると判定した場合に、凸フラグを「TRUE」にセットする
【００３６】
このように、キャラクタ位置判定部３４の凸フラグ及び凹フラグにより、キャラクタオブジェクト３がオブジェクト２の平面部、凸部、凹部、凸凹部のいずれかに存在することが示される。
凸フラグ    凹フラグ   キャラクタオブジェクト３とオブジェクト２との位置関係
FALSE       FALSE     キャラクタオブジェクト３がオブジェクト２の平面部に存在
TRUE        FALSE     キャラクタオブジェクト３がオブジェクト２の凸部に存在
FALSE       TRUE      キャラクタオブジェクト３がオブジェクト２の凹部に存在
TRUE        TRUE      キャラクタオブジェクト３がオブジェクト２の凸凹部に存在
【００３７】
キャラクタ位置・姿勢決定部３５は、キャラクタ位置判定部３４により判定されたキャラクタオブジェクト３とオブジェクト２との位置関係により、キャラクタオブジェクト３の位置及び姿勢の補正を行う。なお、補正されたキャラクタオブジェクト２の位置及び姿勢は、キャラクタ位置・姿勢記憶部３３に記憶される。
【００３８】
キャラクタオブジェクト３がオブジェクト２の平面部に存在する場合、キャラクタ位置・姿勢補正部３５は、図１０（ａ）〜（ｃ）に示すようにしてキャラクタオブジェクト３の位置及び姿勢を補正する。
オブジェクト動作制御部３１によるキャラクタオブジェクト及びオブジェクトへの動作制御の結果、図１０（ａ）に示すように、キャラクタオブジェクト３がオブジェクトの平面上にあり、そのローカル座標系の原点ｐがポリゴンの平面上に存在する場合、キャラクタ位置・姿勢補正部３５は、図１０（ｂ）に示すように、Ｙ軸が当該平面の法線ベクトルｎの方向を向くように、ローカル座標系を回転する。ただし、回転角には制限を設け、ローカル座標系を回転することでキャラクタオブジェクト３の姿勢が急激に変化することを防止する。次いでキャラクタ位置・姿勢補正部３５は、図１０（ｃ）に示すように、キャラクタオブジェクト３の大きさに合うように、原点ｐの位置をＹ軸上で最接近点ｑから距離ｈの場所に移動させる。このようにして、キャラクタオブジェクト３の位置の補正が終了し、新しいローカル座標系の原点ｐ’が決定する。
距離ｈは、ローカル座標系の原点ｐがキャラクタオブジェクト３のどの部位に設けられるか、キャラクタオブジェクト３が起立しているのか或いは匍匐しているのか等により決められる値である。距離ｈは、キャラクタオブジェクト３のモデリング時或いは動作制御後のキャラクタの姿勢に応じてオブジェクト動作制御部３１により決められる。
【００３９】
キャラクタオブジェクト３がオブジェクト２の凸部に存在する場合、キャラクタ位置・姿勢補正部３５は、図１１（ａ）〜（ｃ）に示すようにしてキャラクタオブジェクト３の位置及び姿勢を補正する。
オブジェクト動作制御部３１による動作制御の結果、図１１（ａ）に示すようにキャラクタオブジェクト３のローカル座標系の原点ｐがポリゴンのオブジェクト２の凸部上に存在する場合、キャラクタ位置・姿勢補正部３５は、図１１（ｂ）に示すように、Ｙ軸が最近接点ｑとローカル座標系の原点ｐとを結ぶ方向を向くように、ローカル座標系を回転する。ただし、回転角には制限を設け、ローカル座標系を回転することでキャラクタオブジェクト３の姿勢が急激に変化することを防止する。次いでキャラクタ位置・姿勢補正部３５は、図１１（ｃ）に示すように、キャラクタオブジェクト３の大きさに合うように、原点ｐの位置をＹ軸上で最接近点ｑから距離ｈの場所に移動させる。このようにして、キャラクタオブジェクト３の位置の補正が終了し、新しいローカル座標系の原点ｐ’が決定する。
【００４０】
キャラクタオブジェクト３がオブジェクト２の凸部に存在する場合、図１１（ａ）〜（ｃ）の処理を行うことで、外部からの入力信号が無いにもかかわらずキャラクタオブジェクト３が滑るように移動することがある。例えば、ローカル座標系の回転角に制限を設けているために、必ずしもローカル座標系のＹ軸の方向が原点ｐと最近接点ｑとを結ぶ線の方向と一致しない。そのために、図１１（ｃ）でＹ軸方向にキャラクタオブジェクト３の位置を移動させると、最近接点ｑの位置が変わる。図１２を用いて、キャラクタオブジェクト３が滑るように移動することを説明する。
図１２において、キャラクタ位置・姿勢補正部３５によりＹ軸が回転されたローカル座標系の原点ｐは、その後、Ｙ軸上を移動して原点ｐ’に位置が補正される。原点ｐ’は、最近接点ｑから距離ｈだけ離れている。キャラクタ位置・姿勢補正部３５による補正により原点ｐ’に移動したキャラクタオブジェクト２の最近接点ｑ’は、最近接点ｑとは異なる位置になる。そのために、次にキャラクタ位置・姿勢補正部３５による補正を行うことで、外部からの入力が無くてもキャラクタオブジェクト３の位置が移動してしまう。この処理が連続すると、キャラクタオブジェクト３が操作に無関係に滑っているように表示される。
【００４１】
そのために、凸部におけるキャラクタオブジェクト３の滑りを防止する対策が必要となる。図１３は、滑り防止を説明する図である。キャラクタ位置・姿勢補正部３５によるキャラクタオブジェクト３の姿勢の補正により、キャラクタオブジェクト３のローカル座標系のＹ軸がＹ＿０からＹ＿１に回転する。最近接点ｑ＿１はこの時点における最接近点である。ここで、最近接点ｑ＿１をＹ軸Ｙ＿１とポリゴンの接点ｑ＿２に変更する。その後に接点ｑ＿２を最近接点として位置の補正を行うことで、キャラクタオブジェクト３が操作内容にかかわらず移動してしまうことを防止することができる。
【００４２】
ただし、図１４のように複数のポリゴンのエッジにキャラクタオブジェクト３が存在する場合には、このような対策を施さない方がよいこともある。ポリゴンのエッジが集まる場所では、別のポリゴンのエッジにキャラクタオブジェクト３が乗ることもあるためである。
このような対策を施すか否かは、キャラクタ位置・姿勢補正部３４が、補正の度に、キャラクタオブジェクト３がオブジェクト２のどの部分に位置するか、及びキャラクタオブジェクト３に対する動作制御がオブジェクト動作制御部３１により行われているかに応じて決められる。
【００４３】
キャラクタオブジェクト３がオブジェクト２の凹部に存在する場合、キャラクタ位置・姿勢補正部３５は、図１５〜図１８に示すようにしてキャラクタオブジェクト３の位置及び姿勢を補正する。凹部におけるキャラクタオブジェクト３の位置・姿勢の補正は、操作装置１６１からの入力信号によるキャラクタオブジェクト３への移動指示の有無及び最近接点ｑの移動量に応じて処理が異なる。そのために、キャラクタ位置・姿勢補正部３５は、まず、キャラクタオブジェクト３への移動指示の有無及び最近接点ｑの移動量の判定を行う。
移動指示の有無は、入力部３０において操作装置１６１からキャラクタオブジェクト３を移動させる旨の入力信号を受け付けたか否かを確認することで判定可能である。最近接点ｑの移動量は、前回の最近接点ｑ＿０と今回の最近接点ｑ＿１とから距離Ｌとして算出可能である。距離Ｌを所定量Ｌ＿０と比較することで移動量が所定量以上か否かを判定する。
【００４４】
キャラクタオブジェクト３への移動の指示が有り、最近接点の移動量が所定量よりも大きい場合には、以下のような処理を行う。
図１５に示すように最近接点がポリゴンを跨いで移動する場合、キャラクタオブジェクト３の位置及び姿勢を最近接点を基準にして補正するために、キャラクタオブジェクト３の位置及び姿勢が不連続になることがある。これを是正するために、最近接点ｑ＿０、ｑ＿１の位置を補間する点をオブジェクト２上の点を設ける。
【００４５】
図１６〜図１８を参照して、補間する点をどのように求めるかを説明する。
図１６に示すように、最近接点ｑ＿０と最近接点ｑ＿１との間をａ：ｂに分割する分割点ｒを決める。分割点ｒの位置は、外部入力によるオブジェクト３の動き量に応じて決まる。キャラクタオブジェクト３のローカル座標系の原点ｐ＿１から分割点ｒへの延長線とポリゴンとの接点を接点ｑ＿ｄとする。
【００４６】
キャラクタオブジェクト３の姿勢を表すローカル座標系は、最近接点ｑ＿０と最近接点ｑ＿１とを結ぶ線分に対して垂直な方向にＹ軸を合わせるように回転させる。
キャラクタオブジェクト３の位置は、図１７に示すように、ローカル座標系の原点ｐ＿１と接点ｑ＿ｄとを結ぶ線上で、最近接点ｑ＿１があるポリゴンから距離ｈの位置に移動させる。
以上のように、キャラクタ位置・姿勢補正部３５は、キャラクタオブジェクト３の位置及び姿勢を補正する。
【００４７】
キャラクタオブジェクト３への移動の指示が有り、最近接点の移動量が所定量よりも小さくポリゴンを跨がない場合には、オブジェクト２の平面部にキャラクタオブジェクト３が存在する場合と同様の処理により、キャラクタオブジェクト３の位置及び姿勢の補正を行う。
【００４８】
キャラクタオブジェクト３への移動の指示が無く、最近接点の移動量が所定量よりも大きく２以上のポリゴンを跨いで移動する場合には、以下のような処理を行う。
この場合、外部からの入力が無いので本来はキャラクタオブジェクト３が動かない。しかし、例えば、図１６、図１７で説明したような処理を行うと、最近接点ｑ＿１が実際に最もポリゴンに近い点ではないので（最近接点が移動するので）、次の処理の際にキャラクタオブジェクト３の位置が動くことがある。図１８の点ｑ＿ｎが本当に最もポリゴンに近い点になる。
そこで、キャラクタオブジェクト３の位置及び姿勢を補正する前に、最近接点を図１７の点ｑ＿ｄに変更する。これにより、外部からの入力が無い場合に、キャラクタオブジェクト３の位置が移動することを防止することができる。また、例えば図１５でキャラクタオブジェクト３のローカル座標系の原点ｐ＿１が２つのポリゴンからほぼ同じ距離に有る場合に、キャラクタオブジェクト３が当該２つのポリゴンの間を飛び、連続的に移動しないことがあるが、上記のように最近接点を点ｑ＿ｄにすることでこれも防止できる。
【００４９】
キャラクタオブジェクト３への移動の指示が無く、最近接点の移動量が所定量よりも小さい場合には、キャラクタオブジェクト３の位置、姿勢、最近接点をそのまま維持する。
【００５０】
キャラクタオブジェクト３が凸凹が混在するオブジェクト２上に存在する場合の位置及び姿勢の補正について図１９により説明する。この場合も、外部からの入力の有無及び最近接点の移動量に応じて異なる処理が必要になる。
キャラクタオブジェクト３のローカル座標系の原点ｐの位置が変化しても、オブジェクト２に対する最近接点が変化していない場合には、キャラクタオブジェクト３が同じ凸部のエッジ部分に止まる。キャラクタオブジェクト３の位置及び姿勢に変化はない。原点ｐの位置が変化し且つ最近接点も変化する場合には、凹部における位置及び姿勢の補正と同じになる。
【００５１】
図２０は、画像処理装置１を用いて行われるキャラクタオブジェクトの位置及び姿勢の補正を行う画像処理の処理手順を表す処理手順図である。図２０では、本発明にかかわる画像処理についてのみ処理手順を説明するが、レンダリング処理等の従来の画像処理については説明を省略する。この画像処理は動画について処理であり、動画が終了するまで１フレームずつ連続して行われる。例えば動画がアクションアドベンチャゲームの画像であれば、ゲーム終了時まで、連続して処理が行われることになる。
【００５２】
画像処理装置１は、今フレームの画像を生成するために、まず、前フレームのオブジェクトの形状等をオブジェクト形状記憶部３２に記憶し、キャラクタオブジェクトの位置、姿勢等をキャラクタ位置・姿勢記憶部３３に記憶する（ステップＳ１０）。
次いで、操作装置１６１による外部入力が有る場合には（ステップＳ２０：有）、オブジェクト動作制御部３１により外部入力に応じたキャラクタオブジェクトの位置・姿勢等の動作制御が行われる。動作制御により、キャラクタ位置・姿勢記憶部３３に記憶されたキャラクタの位置、姿勢等が更新される。また、キャラクタオブジェクトの位置、姿勢の変更等によりオブジェクトの位置、形状等が変更される場合には、オブジェクト形状記憶部３２に記憶されたオブジェクトの形状、位置等も更新される（ステップＳ３０）。
外部入力によるキャラクタオブジェクトの位置、姿勢が変更後、或いは外部入力が無い場合（ステップＳ２０：無）、画像処理装置１は、キャラクタ位置判定部３４によりキャラクタオブジェクトのオブジェクトに対する位置を判定する（ステップＳ４０）。これにより、キャラクタオブジェクトがオブジェクトの平面部、凸部、凹部、凸凹部のいずれに位置するかが判定される。
【００５３】
次いで画像処理装置１は、キャラクタ位置・姿勢決定部３５により、キャラクタオブジェクトのオブジェクトに対する位置に応じて、上記の通り、キャラクタオブジェクトの位置及び姿勢を補正する（ステップＳ５０）。このようにして補正された結果は、キャラクタ位置・姿勢記憶部３３の記憶内容に反映される。
【００５４】
このように、動作制御後にキャラクタオブジェクトの位置及び姿勢を補正することで、より自然にキャラクタオブジェクトがオブジェクトに接触して移動する様子を表現することができる。
【符号の説明】
【００５５】
１…画像処理装置、１０…ＣＰＵ、１１…メモリ、１２…ＭＤＥＣ、１３…ＤＭＡＣ、１４…ＲＯＭ、１５…記憶装置、１６…入力インタフェース、１６１…操作装置、１７…メディアドライブ、１７１…メディア、１８…ＮＩＣ、１９…ＧＰＵ、２０…フレームメモリ、２１…ＣＲＴＣ、２２…ＳＰＵ、２３…サウンドメモリ、３０…入力部、３１…オブジェクト動作制御部、３２…オブジェクト形状記憶部、３３…キャラクタ位置・姿勢記憶部、３４…キャラクタ位置判定部、３５…キャラクタ位置・姿勢決定部、２…オブジェクト、３…キャラクタオブジェクト
【図１】
2011258117.tif 000003
【図２】
2011258117.tif 000004
【図３】
2011258117.tif 000005
【図４】
2011258117.tif 000006
【図５】
2011258117.tif 000007
【図６】
2011258117.tif 000008
【図７】
2011258117.tif 000009
【図８】
2011258117.tif 000010
【図９】
2011258117.tif 000011
【図１０】
2011258117.tif 000012
【図１１】
2011258117.tif 000013
【図１２】
2011258117.tif 000014
【図１３】
2011258117.tif 000015
【図１４】
2011258117.tif 000016
【図１５】
2011258117.tif 000017
【図１６】
2011258117.tif 000018
【図１７】
2011258117.tif 000019
【図１８】
2011258117.tif 000020
【図１９】
2011258117.tif 000021
【図２０】
2011258117.tif 000022
【手続補正書】
【提出日】平成23年6月13日(2011.6.13)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
仮想３次元空間を操作者による操作により移動可能なキャラクタオブジェクト及びこの仮想３次元空間で１以上のポリゴンにより形状が表されるオブジェクトについて、前記仮想３次元空間内における動作制御を行うオブジェクト動作制御手段と、
前記動作制御の結果得られる前記キャラクタオブジェクトの位置及び前記オブジェクトの形状から、前記キャラクタオブジェクトと前記オブジェクトとが近接する位置の当該オブジェクトの形状を判定するキャラクタ位置判定手段と、
前記キャラクタ位置判定手段による判定結果に応じて、前記キャラクタオブジェクトの前記オブジェクトに対する位置及び姿勢を補正するキャラクタ位置・姿勢補正手段と、を備える、
画像処理装置。
【請求項２】
前記オブジェクトの表面が前記ポリゴンにより平面、凸、凹、及び凹凸のいずれかの形状に構成されており、
前記キャラクタ位置判定手段は、前記キャラクタオブジェクトが前記オブジェクトの平面、凸、凹、及び凹凸のいずれの形状の位置に最も近接するかを判定し、
前記キャラクタ位置・姿勢補正手段は、前記キャラクタオブジェクトが最も近接する前記オブジェクトの位置の形状に応じて、当該キャラクタオブジェクトの位置及び姿勢を補正する、
請求項１記載の画像処理装置。
【請求項３】
前記キャラクタオブジェクトの動作を表すための当該キャラクタオブジェクトのローカル座標系により、当該キャラクタオブジェクトの位置及び姿勢が決められており、
前記キャラクタ位置判定手段は、前記ローカル座標系の原点とこの原点に最も近いポリゴンとの位置関係により、当該キャラクタオブジェクトと当該オブジェクトとが近接する位置の当該オブジェクトの形状を判定する、
請求項１又は２記載の画像処理装置。
【請求項４】
前記キャラクタ位置判定手段は、前記キャラクタオブジェクトの前記仮想３次元空間内における大きさに相当する仮想の球と前記オブジェクトを形成する１以上のポリゴンとの接点から、当該キャラクタオブジェクトと当該オブジェクトとが近接する位置の当該オブジェクトの形状を判定する、
請求項１〜３のいずれか１項記載の画像処理装置。
【請求項５】
前記キャラクタ位置・姿勢補正手段は、前記ローカル座標系を回転させることで当該キャラクタオブジェクトの姿勢を補正し、前記ローカル座標系の原点を移動させることで当該キャラクタオブジェクトの位置を補正する、
請求項３記載の画像処理装置。
【請求項６】
前記キャラクタ位置・姿勢補正手段は、前記ローカル座標系の回転角に制限を設けている、
請求項５記載の画像処理装置。
【請求項７】
前記キャラクタ位置・姿勢補正手段は、前記ローカル座標系の補正されたＹ軸方向に前記原点を移動させることで、当該キャラクタオブジェクトの位置を補正する、
請求項５又は６記載の画像処理装置。
【請求項８】
前記キャラクタ位置・姿勢補正手段は、前記キャラクタオブジェクトが移動することで当該キャラクタオブジェクトの前記オブジェクトに最も近接する位置が移動する場合に、前記キャラクタオブジェクトの移動前に予め前記最も近接する位置の移動量と同等の量ずらす、或いは前記キャラクタオブジェクトの移動後に前記最も近接する位置を移動前の位置に戻す、
請求項７記載の画像処理装置。
【請求項９】
仮想３次元空間を操作者による操作により移動可能なキャラクタオブジェクト及びこの仮想３次元空間で１以上のポリゴンにより形状が表されるオブジェクトについて、前記仮想３次元空間内における動作制御を行うオブジェクト動作制御手段を備えた画像処理装置により実行される方法であって、
前記動作制御の結果得られる前記キャラクタオブジェクトの位置及び前記オブジェクトの形状から、前記キャラクタオブジェクトと前記オブジェクトとが近接する位置の当該オブジェクトの形状を判定し、この判定結果に応じて、前記キャラクタオブジェクトの前記オブジェクトに対する位置及び姿勢を補正する、
画像処理方法。
【請求項１０】
仮想３次元空間を操作者による操作により移動可能なキャラクタオブジェクト及びこの仮想３次元空間で１以上のポリゴンにより形状が表されるオブジェクトについて、前記仮想３次元空間内における動作制御を行うオブジェクト動作制御手段を備えたコンピュータシステムに、
前記動作制御の結果得られる前記キャラクタオブジェクトの位置及び前記オブジェクトの形状から、前記キャラクタオブジェクトと前記オブジェクトとが近接する位置の当該オブジェクトの形状を判定させ、この判定結果に応じて、前記キャラクタオブジェクトの前記オブジェクトに対する位置及び姿勢を補正させる、
ためのコンピュータプログラム。
【請求項１１】
請求項１０記載のコンピュータプログラムが記録されたコンピュータ読み取り可能な記録媒体。
【請求項１２】
仮想３次元空間を操作者による操作により移動可能なキャラクタオブジェクト及びこの仮想３次元空間で１以上のポリゴンにより形状が表されるオブジェクトについて、前記仮想３次元空間内における動作制御を行うオブジェクト動作制御手段を備えた画像処理装置に、
前記動作制御の結果得られる前記キャラクタオブジェクトの位置及び前記オブジェクトの形状から、前記キャラクタオブジェクトと前記オブジェクトとが近接する位置の当該オブジェクトの形状を判定するキャラクタ位置判定手段；
前記キャラクタ位置判定手段による判定結果に応じて、前記キャラクタオブジェクトの前記オブジェクトに対する位置及び姿勢を補正するキャラクタ位置・姿勢補正手段；
を形成するための半導体装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００２
【補正方法】変更
【補正の内容】
【０００２】
コンピュータグラフィクスに関する技術の発達により、３次元画像を従来よりも自然に表現することが可能になってる。コンピュータグラフィクスは様々な分野に用いられている。一般に馴染み深いものの一つにコンピュータゲームがある。
コンピュータゲームには、いわゆるアクションアドベンチャーゲームのように、操作者によって操作可能なオブジェクトであるキャラクタオブジェクトにより、仮想３次元空間内を移動しながら進行されるゲームがある。このようなコンピュータゲームでは、操作者による操作に対して、リアルタイムに応答して自然に動作するキャラクタオブジェクトが好まれる。キャラクタオブジェクトは、人、動物、自動車や飛行機等の乗り物、或いは所定の物体等の画像を表す。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】変更
【補正の内容】
【０００９】
以上の課題を解決する本発明の画像処理装置は、仮想３次元空間を操作者による操作により移動可能なキャラクタオブジェクト及びこの仮想３次元空間で１以上のポリゴンにより形状が表されるオブジェクトについて、前記仮想３次元空間内における動作制御を行うオブジェクト動作制御手段と、前記動作制御の結果得られる前記キャラクタオブジェクトの位置及び前記オブジェクトの形状から、前記キャラクタオブジェクトと前記オブジェクトとが近接する位置の当該オブジェクトの形状を判定するキャラクタ位置判定手段と、前記キャラクタ位置判定手段による判定結果に応じて、前記キャラクタオブジェクトの前記オブジェクトに対する位置及び姿勢を補正するキャラクタ位置・姿勢補正手段と、を備える。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】変更
【補正の内容】
【００１１】
本発明の画像処理装置においては、例えば前記キャラクタオブジェクトの動作を表すための当該キャラクタオブジェクトのローカル座標系により、当該キャラクタオブジェクトの位置及び姿勢が決められる。この場合、例えば前記キャラクタ位置判定手段は、前記ローカル座標系の原点とこの原点に最も近いポリゴンとの位置関係により、当該キャラクタオブジェクトと当該オブジェクトとが近接する位置の当該オブジェクトの形状を判定する。
また、前記キャラクタ位置判定手段は、前記キャラクタオブジェクトの前記仮想３次元空間内における大きさに相当する仮想の球と前記オブジェクトを形成する１以上のポリゴンとの接点から、当該キャラクタオブジェクトと当該オブジェクトとが近接する位置の当該オブジェクトの形状を判定してもよい。この場合、いわゆるレイキャストと呼ばれる手法が適用できる。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００１３
【補正方法】変更
【補正の内容】
【００１３】
本発明の画像処理方法は、仮想３次元空間を操作者による操作により移動可能なキャラクタオブジェクト及びこの仮想３次元空間で１以上のポリゴンにより形状が表されるオブジェクトについて、前記仮想３次元空間内における動作制御を行うオブジェクト動作制御手段を備えた画像処理装置により実行される。この画像処理方法では、前記動作制御の結果得られる前記キャラクタオブジェクトの位置及び前記オブジェクトの形状から、前記キャラクタオブジェクトと前記オブジェクトとが近接する位置の当該オブジェクトの形状を判定し、この判定結果に応じて、前記キャラクタオブジェクトの前記オブジェクトに対する位置及び姿勢を補正する。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００１４
【補正方法】変更
【補正の内容】
【００１４】
本発明のコンピュータプログラムは、仮想３次元空間を操作者による操作により移動可能なキャラクタオブジェクト及びこの仮想３次元空間で１以上のポリゴンにより形状が表されるオブジェクトについて、前記仮想３次元空間内における動作制御を行うオブジェクト動作制御手段を備えたコンピュータシステムに、前記動作制御の結果得られる前記キャラクタオブジェクトの位置及び前記オブジェクトの形状から、前記キャラクタオブジェクトと前記オブジェクトとが近接する位置の当該オブジェクトの形状を判定させ、この判定結果に応じて、前記キャラクタオブジェクトの前記オブジェクトに対する位置及び姿勢を補正させる、ためのコンピュータプログラムである。このようなコンピュータプログラムは、例えばコンピュータ読み取り可能な記録媒体に記録される。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００１５
【補正方法】変更
【補正の内容】
【００１５】
本発明の半導体装置は、仮想３次元空間を操作者による操作により移動可能なキャラクタオブジェクト及びこの仮想３次元空間で１以上のポリゴンにより形状が表されるオブジェクトについて、前記仮想３次元空間内における動作制御を行うオブジェクト動作制御手段を備えた画像処理装置に、前記動作制御の結果得られる前記キャラクタオブジェクトの位置及び前記オブジェクトの形状から、前記キャラクタオブジェクトと前記オブジェクトとが近接する位置の当該オブジェクトの形状を判定するキャラクタ位置判定手段；前記キャラクタ位置判定手段による判定結果に応じて、前記キャラクタオブジェクトの前記オブジェクトに対する位置及び姿勢を補正するキャラクタ位置・姿勢補正手段；を形成するための半導体装置である。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００１７
【補正方法】変更
【補正の内容】
【００１７】
【図１】本実施形態の画像処理装置の全体構成図である。
【図２】画像処理装置に実現される機能を表す機能ブロック図である。
【図３】オブジェクト形状記憶部に記憶される内容の具体例を表す図である。
【図４】キャラクタオブジェクト及びローカル座標系の例示図である。
【図５】オブジェクト上に位置するキャラクタオブジェクトを表す図である。
【図６】キャラクタオブジェクトがオブジェクトの平面部に存在することを表す図である。
【図７】キャラクタオブジェクトがオブジェクトの凸部に存在することを表す図である。
【図８】キャラクタオブジェクトがオブジェクトの凹部に存在することを説明する図である。
【図９】球とオブジェクトとの接点を説明するための図である。
【図１０】図１０（ａ）〜（ｃ）は、オブジェクトの平面上に存在するキャラクタオブジェクトの位置及び姿勢の補正を説明する図である。
【図１１】図１１（ａ）〜（ｃ）は、オブジェクトの凸部に存在するキャラクタオブジェクトの位置及び姿勢の補正を説明する図である。
【図１２】キャラクタオブジェクトが滑るように移動することを説明する図である。
【図１３】滑り防止を説明する図である。
【図１４】複数のポリゴンのエッジにキャラクタオブジェクトが存在する状態を説明する図である。
【図１５】キャラクタオブジェクトがオブジェクトの凹部に存在する場合のキャラクタオブジェクトの位置及び姿勢を補正する図である。
【図１６】キャラクタオブジェクトがオブジェクトの凹部に存在する場合のキャラクタオブジェクトの位置及び姿勢を補正する図である。
【図１７】キャラクタオブジェクトがオブジェクトの凹部に存在する場合のキャラクタオブジェクトの位置及び姿勢を補正する図である。
【図１８】キャラクタオブジェクトがオブジェクトの凹部に存在する場合のキャラクタオブジェクトの位置及び姿勢を補正する図である。
【図１９】キャラクタオブジェクトがオブジェクトの凸凹部に存在する場合のキャラクタオブジェクトの位置及び姿勢を補正する図である。
【図２０】画像処理装置を用いて行われるキャラクタオブジェクトの位置及び姿勢の補正を行う画像処理の処理手順を表す処理手順図である。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００２５
【補正方法】変更
【補正の内容】
【００２５】
図２は、画像処理装置１のＣＰＵ１０により本発明のコンピュータプログラムを実行することで実現される機能ブロックを表す図である。画像処理装置１には、入力部３０、オブジェクト動作制御部３１、オブジェクト形状記憶部３２、キャラクタ位置・姿勢記憶部３３、キャラクタ位置判定部３４、及びキャラクタ位置・姿勢補正部３５が形成される。画像処理装置１によるジオメトリ処理及びレンダリング処理では、この他にも必要な機能があるが、ここでは本発明を実現するために必要な機能についてのみ説明し、他の機能については従来通りであるので説明を省略する。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００２８
【補正方法】変更
【補正の内容】
【００２８】
オブジェクト形状記憶部３２は、オブジェクト動作制御部３１によるオブジェクトの動作制御の結果に応じたオブジェクトの位置、形状等を記憶する。図３は、オブジェクト形状記憶部３２に記憶される内容の具体例を表す図である。オブジェクトは、通常、複数のポリゴンにより構成される。そのために、オブジェクト形状記憶部３２は、１つのオブジェクトを構成する複数のポリゴンの各々の、頂点座標、色、法線ベクトル等を記憶する。図３の例では、オブジェクト形状記憶部３２に、オブジェクトを構成するポリゴン１〜３の頂点座標、色、法線ベクトル等が記憶される。複数のポリゴンの組み合わせにより、オブジェクトの凸凹が表現される。
オブジェクトが複数ある場合には、各オブジェクトについて、同様にポリゴンの頂点座標、色、法線ベクトル等がオブジェクト形状記憶部３２に記憶される。オブジェクトの形状が変化しない場合に、オブジェクト形状記憶部３２に記憶される当該オブジェクトを構成するポリゴンの位置、形状等は変化しない。オブジェクトの形状が変化する場合に、オブジェクト形状記憶部３２に記憶される当該オブジェクトを構成するポリゴンの位置、形状等は変化する。
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】００３５
【補正方法】変更
【補正の内容】
【００３５】
図９は、球とオブジェクト２との接点を説明するための図である。図９では、いわゆるレイキャスト法により、球とオブジェクト２との接点を決めている。レイキャスト法では、点ｐから球状にレイを放出し、ポリゴンとの交差点（図９中「×」で表す点）が最近接点ｑと同じ平面にあるか否かを判定する。交差点のあるポリゴンの法線ベクトルと交差点から最近接点ｑへのベクトルと内積値により、同一平面であるか否かを判定可能である。
内積値が正であれば当該交差点のポリゴンと最近接点ｑのポリゴンとが凹の関係にあり、内積値が“０”であれば当該交差点のポリゴンと最近接点ｑのポリゴンとが同一平面の関係にあり、内積値が負であれば当該交差点のポリゴンと最近接点ｑのポリゴンとが凸の関係にある。キャラクタ位置判定部３４は、交差点のうち、少なくとも一つが凹の関係にあれば、キャラクタオブジェクト３がオブジェクト２の凹部に存在すると判定する。また、図７により説明した方法によらず、内積値が負であれば凸部にキャラクタオブジェクトが存在すると判断できる。
なお、例えば、レイキャスト法で交差点毎に内積値が正負異なる場合には、キャラクタオブジェクト３が凸凹部に存在すると判断可能である。キャラクタ位置判定部３４は、キャラクタオブジェクト３がオブジェクト２の凸凹部に存在すると判定した場合に、凸フラグを「TRUE」にセットする。
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】００３７
【補正方法】変更
【補正の内容】
【００３７】
キャラクタ位置・姿勢補正部３５は、キャラクタ位置判定部３４により判定されたキャラクタオブジェクト３とオブジェクト２との位置関係により、キャラクタオブジェクト３の位置及び姿勢の補正を行う。なお、補正されたキャラクタオブジェクト３の位置及び姿勢は、キャラクタ位置・姿勢記憶部３３に記憶される。
【手続補正１３】
【補正対象書類名】明細書
【補正対象項目名】００３８
【補正方法】変更
【補正の内容】
【００３８】
キャラクタオブジェクト３がオブジェクト２の平面部に存在する場合、キャラクタ位置・姿勢補正部３５は、図１０（ａ）〜（ｃ）に示すようにしてキャラクタオブジェクト３の位置及び姿勢を補正する。
オブジェクト動作制御部３１によるキャラクタオブジェクト及びオブジェクトへの動作制御の結果、図１０（ａ）に示すように、キャラクタオブジェクト３がオブジェクトの平面上にあり、そのローカル座標系の原点ｐがポリゴンの平面上に存在する場合、キャラクタ位置・姿勢補正部３５は、図１０（ｂ）に示すように、Ｙ軸が当該平面の法線ベクトルｎの方向を向くように、ローカル座標系を回転する。ただし、回転角には制限を設け、ローカル座標系を回転することでキャラクタオブジェクト３の姿勢が急激に変化することを防止する。次いでキャラクタ位置・姿勢補正部３５は、図１０（ｃ）に示すように、キャラクタオブジェクト３の大きさに合うように、原点ｐの位置をＹ軸上で最近接点ｑから距離ｈの場所に移動させる。このようにして、キャラクタオブジェクト３の位置の補正が終了し、新しいローカル座標系の原点ｐ’が決定する。
距離ｈは、ローカル座標系の原点ｐがキャラクタオブジェクト３のどの部位に設けられるか、キャラクタオブジェクト３が起立しているのか或いは匍匐しているのか等により決められる値である。距離ｈは、キャラクタオブジェクト３のモデリング時或いは動作制御後のキャラクタオブジェクト３の姿勢に応じてオブジェクト動作制御部３１により決められる。
【手続補正１４】
【補正対象書類名】明細書
【補正対象項目名】００３９
【補正方法】変更
【補正の内容】
【００３９】
キャラクタオブジェクト３がオブジェクト２の凸部に存在する場合、キャラクタ位置・姿勢補正部３５は、図１１（ａ）〜（ｃ）に示すようにしてキャラクタオブジェクト３の位置及び姿勢を補正する。
オブジェクト動作制御部３１による動作制御の結果、図１１（ａ）に示すようにキャラクタオブジェクト３のローカル座標系の原点ｐがポリゴンのオブジェクト２の凸部上に存在する場合、キャラクタ位置・姿勢補正部３５は、図１１（ｂ）に示すように、Ｙ軸が最近接点ｑとローカル座標系の原点ｐとを結ぶ方向を向くように、ローカル座標系を回転する。ただし、回転角には制限を設け、ローカル座標系を回転することでキャラクタオブジェクト３の姿勢が急激に変化することを防止する。次いでキャラクタ位置・姿勢補正部３５は、図１１（ｃ）に示すように、キャラクタオブジェクト３の大きさに合うように、原点ｐの位置をＹ軸上で最近接点ｑから距離ｈの場所に移動させる。このようにして、キャラクタオブジェクト３の位置の補正が終了し、新しいローカル座標系の原点ｐ’が決定する。
【手続補正１５】
【補正対象書類名】明細書
【補正対象項目名】００４０
【補正方法】変更
【補正の内容】
【００４０】
キャラクタオブジェクト３がオブジェクト２の凸部に存在する場合、図１１（ａ）〜（ｃ）の処理を行うことで、外部からの入力信号が無いにもかかわらずキャラクタオブジェクト３が滑るように移動することがある。例えば、ローカル座標系の回転角に制限を設けているために、必ずしもローカル座標系のＹ軸の方向が原点ｐと最近接点ｑとを結ぶ線の方向と一致しない。そのために、図１１（ｃ）でＹ軸方向にキャラクタオブジェクト３の位置を移動させると、最近接点ｑの位置が変わる。図１２を用いて、キャラクタオブジェクト３が滑るように移動することを説明する。
図１２において、キャラクタ位置・姿勢補正部３５によりＹ軸が回転されたローカル座標系の原点ｐは、その後、Ｙ軸上を移動して原点ｐ’に位置が補正される。原点ｐ’は、最近接点ｑから距離ｈだけ離れている。キャラクタ位置・姿勢補正部３５による補正により原点ｐ’に移動したキャラクタオブジェクト３の最近接点ｑ’は、最近接点ｑとは異なる位置になる。そのために、次にキャラクタ位置・姿勢補正部３５による補正を行うことで、外部からの入力が無くてもキャラクタオブジェクト３の位置が移動してしまう。この処理が連続すると、キャラクタオブジェクト３が操作に無関係に滑っているように表示される。
【手続補正１６】
【補正対象書類名】明細書
【補正対象項目名】００４１
【補正方法】変更
【補正の内容】
【００４１】
そのために、凸部におけるキャラクタオブジェクト３の滑りを防止する対策が必要となる。図１３は、滑り防止を説明する図である。キャラクタ位置・姿勢補正部３５によるキャラクタオブジェクト３の姿勢の補正により、キャラクタオブジェクト３のローカル座標系のＹ軸がＹ＿０からＹ＿１に回転する。最近接点ｑ＿１はこの時点における最近接点である。ここで、最近接点ｑ＿１をＹ軸Ｙ＿１とポリゴンの接点ｑ＿２に変更する。その後に接点ｑ＿２を最近接点として位置の補正を行うことで、キャラクタオブジェクト３が操作内容にかかわらず移動してしまうことを防止することができる。
【手続補正１７】
【補正対象書類名】明細書
【補正対象項目名】００４５
【補正方法】変更
【補正の内容】
【００４５】
図１６〜図１８を参照して、補間する点をどのように求めるかを説明する。
図１６に示すように、最近接点ｑ＿０と最近接点ｑ＿１との間をａ：ｂに分割する分割点ｒを決める。分割点ｒの位置は、外部入力によるキャラクタオブジェクト３の動き量に応じて決まる。キャラクタオブジェクト３のローカル座標系の原点ｐ＿１から分割点ｒへの延長線とポリゴンとの接点を接点ｑ＿ｄとする。
【手続補正１８】
【補正対象書類名】明細書
【補正対象項目名】００５１
【補正方法】変更
【補正の内容】
【００５１】
図２０は、画像処理装置１を用いて行われるキャラクタオブジェクトの位置及び姿勢の補正を行う画像処理の処理手順を表す処理手順図である。図２０では、本発明にかかわる画像処理についてのみ処理手順を説明するが、レンダリング処理等の従来の画像処理については説明を省略する。この画像処理は動画についての処理であり、動画が終了するまで１フレームずつ連続して行われる。例えば動画がアクションアドベンチャゲームの画像であれば、ゲーム終了時まで、連続して処理が行われることになる。
【手続補正１９】
【補正対象書類名】明細書
【補正対象項目名】００５２
【補正方法】変更
【補正の内容】
【００５２】
画像処理装置１は、今フレームの画像を生成するために、まず、前フレームのオブジェクトの形状等をオブジェクト形状記憶部３２に記憶し、キャラクタオブジェクトの位置、姿勢等をキャラクタ位置・姿勢記憶部３３に記憶する（ステップＳ１０）。
次いで、操作装置１６１による外部入力が有る場合には（ステップＳ２０：有）、オブジェクト動作制御部３１により外部入力に応じたキャラクタオブジェクトの位置・姿勢等の動作制御が行われる。動作制御により、キャラクタ位置・姿勢記憶部３３に記憶されたキャラクタオブジェクトの位置、姿勢等が更新される。また、キャラクタオブジェクトの位置、姿勢の変更等によりオブジェクトの位置、形状等が変更される場合には、オブジェクト形状記憶部３２に記憶されたオブジェクトの形状、位置等も更新される（ステップＳ３０）。
外部入力によるキャラクタオブジェクトの位置、姿勢が変更後、或いは外部入力が無い場合（ステップＳ２０：無）、画像処理装置１は、キャラクタ位置判定部３４によりキャラクタオブジェクトのオブジェクトに対する位置を判定する（ステップＳ４０）。これにより、キャラクタオブジェクトがオブジェクトの平面部、凸部、凹部、凸凹部のいずれに位置するかが判定される。
【手続補正２０】
【補正対象書類名】明細書
【補正対象項目名】００５３
【補正方法】変更
【補正の内容】
【００５３】
次いで画像処理装置１は、キャラクタ位置・姿勢補正部３５により、キャラクタオブジェクトのオブジェクトに対する位置に応じて、上記の通り、キャラクタオブジェクトの位置及び姿勢を補正する（ステップＳ５０）。このようにして補正された結果は、キャラクタ位置・姿勢記憶部３３の記憶内容に反映される。
【手続補正２１】
【補正対象書類名】明細書
【補正対象項目名】００５５
【補正方法】変更
【補正の内容】
【００５５】
１…画像処理装置、１０…ＣＰＵ、１１…メモリ、１２…ＭＤＥＣ、１３…ＤＭＡＣ、１４…ＲＯＭ、１５…記憶装置、１６…入力インタフェース、１６１…操作装置、１７…メディアドライブ、１７１…メディア、１８…ＮＩＣ、１９…ＧＰＵ、２０…フレームメモリ、２１…ＣＲＴＣ、２２…ＳＰＵ、２３…サウンドメモリ、３０…入力部、３１…オブジェクト動作制御部、３２…オブジェクト形状記憶部、３３…キャラクタ位置・姿勢記憶部、３４…キャラクタ位置判定部、３５…キャラクタ位置・姿勢補正部、２…オブジェクト、３…キャラクタオブジェクト
【手続補正２２】
【補正対象書類名】図面
【補正対象項目名】図２
【補正方法】変更
【補正の内容】
【図２】
2011258117.tif 000023
【手続補正２３】
【補正対象書類名】図面
【補正対象項目名】図４
【補正方法】変更
【補正の内容】
【図４】
2011258117.tif 000024