(57)【特許請求の範囲】
【請求項１】
オブジェクトが配置された仮想３次元空間を所与の視点から見た画像を表示手段に表示させる画像処理装置であって、
前記視点と前記オブジェクトとの距離が基準距離未満である場合、前記オブジェクトとして、形状変化が可能な第１オブジェクトを前記仮想３次元空間に配置するオブジェクト配置手段と、
前記視点と前記オブジェクトとの距離が前記基準距離以上になった場合、前記第１オブジェクトから、所定形状の第２オブジェクトに切り替えるオブジェクト切替手段と、
前記視点と前記オブジェクトとの距離が前記基準距離未満である場合、前記視点と前記オブジェクトとの距離が前記基準距離に近づくほど、前記第１オブジェクトの形状が前記第２オブジェクトの形状に近づくように、前記第１オブジェクトの形状を、前記視点と前記オブジェクトとの距離に基づいて変化させる形状変化手段と、
を含むことを特徴とする画像処理装置。
【請求項２】
前記第１オブジェクトの形状は、前記第１オブジェクトに設定されるスケルトンの状態変化に基づいて変化し、
前記形状変化手段は、
前記第２オブジェクトの形状に対応する前記第１オブジェクトのスケルトンの状態を示す状態データを記憶する手段から前記状態データを取得する手段を含み、前記視点と前記オブジェクトとの距離が前記基準距離に近づくほど、前記第１オブジェクトのスケルトンの状態が前記状態データが示す状態に近づくように、前記第１オブジェクトのスケルトンの状態を、前記視点と前記オブジェクトとの距離及び前記状態データに基づいて変化させる、
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記形状変化手段は、
前記視点と前記オブジェクトとの距離と、前記第１オブジェクトの形状変化の程度を示す変化情報と、を対応付けてなる変化情報データを記憶する手段から前記変化情報データを記憶する手段を含み、前記視点と前記オブジェクトとの距離に対応する前記変化情報に基づいて、前記第１オブジェクトの形状を変化させる、
ことを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記オブジェクト切替手段は、
前記視点と前記オブジェクトとの距離が第１基準距離未満になった場合、前記第２オブジェクトを前記第１オブジェクトに切り替える切替処理を行う手段と、
前記視点と前記オブジェクトとの距離が前記第１基準距離よりも大きい第２基準距離以上になった場合、前記第１オブジェクトを前記第２オブジェクトに切り替える切替処理を行う手段と、
前記視点と前記オブジェクトとの距離が前記第１基準距離以上前記第２基準距離未満である場合、前記オブジェクトの位置又は姿勢が、位置又は姿勢に関する所与の条件を満たすか否かを判定し、当該判定結果に基づいて前記第１オブジェクトと前記第２オブジェクトとの切替処理を行う手段と、
を含むことを特徴とする請求項１〜３の何れか一項に記載の画像処理装置。
【請求項５】
前記オブジェクト切替手段は、
前記視点と前記オブジェクトとの距離が前記第１基準距離以上前記第２基準距離未満である場合、対象期間における前記オブジェクトの位置変化が基準量以上であるか否かを判定し、前記対象期間における前記オブジェクトの位置変化が前記基準量以上である場合、前記第１オブジェクトと前記第２オブジェクトとの切替処理を行う、
ことを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記オブジェクト切替手段は、
前記視点と前記オブジェクトとの距離が前記第１基準距離以上前記第２基準距離未満である場合、前記オブジェクトの姿勢が所与の姿勢であるか否かを判定し、前記オブジェクトの姿勢が所与の姿勢である場合、前記第１オブジェクトと前記第２オブジェクトとの切替処理を行う、
ことを特徴とする請求項４又は５に記載の画像処理装置。
【請求項７】
前記仮想３次元空間には移動物体を示すオブジェクトが配置され、
前記オブジェクト切替手段は、
前記視点と前記オブジェクトとの距離が前記第１基準距離以上前記第２基準距離未満である場合、前記オブジェクトと前記移動物体との位置関係が所与の位置関係であるか否かを判定し、前記オブジェクトと前記移動物体との位置関係が所与の位置関係である場合、前記第１オブジェクトと前記第２オブジェクトとの切替処理を行う、
ことを特徴とする請求項４〜６の何れか一項に記載の画像処理装置。
【請求項８】
前記オブジェクト切替手段は、
前記視点と前記オブジェクトとの距離が前記第１基準距離以上前記第２基準距離未満である場合、前記視点と前記オブジェクトとの位置関係が所与の位置関係であるか否かを判定し、前記視点と前記オブジェクトとの位置関係が所与の位置関係である場合、前記第１オブジェクトと前記第２オブジェクトとの切替処理を行う、
ことを特徴とする請求項４〜７の何れか一項に記載の画像処理装置。
【請求項９】
前記オブジェクト切替手段は、
前記視点と前記オブジェクトとの距離が前記第１基準距離以上前記第２基準距離未満である場合、前記オブジェクトの位置が所定領域内であるか否かを判定し、前記オブジェクトの位置が所定領域内である場合、前記第１オブジェクトと前記第２オブジェクトとの切替処理を行う、
ことを特徴とする請求項４〜８の何れか一項に記載の画像処理装置。
【請求項１０】
オブジェクトが配置された仮想３次元空間を所与の視点から見た画像を表示手段に表示させる画像処理装置の制御方法であって、
前記視点と前記オブジェクトとの距離が基準距離未満である場合、前記オブジェクトとして、形状変化が可能な第１オブジェクトを前記仮想３次元空間に配置するオブジェクト配置ステップと、
前記視点と前記オブジェクトとの距離が前記基準距離以上になった場合、前記第１オブジェクトから、所定形状の第２オブジェクトに切り替えるオブジェクト切替ステップと、
前記視点と前記オブジェクトとの距離が前記基準距離未満である場合、前記視点と前記オブジェクトとの距離が前記基準距離に近づくほど、前記第１オブジェクトの形状が前記第２オブジェクトの形状に近づくように、前記第１オブジェクトの形状を、前記視点と前記オブジェクトとの距離に基づいて変化させる形状変化ステップと、
を含むことを特徴とする画像処理装置の制御方法。
【請求項１１】
オブジェクトが配置された仮想３次元空間を所与の視点から見た画像を表示手段に表示させる画像処理装置としてコンピュータを機能させるためのプログラムであって、
前記視点と前記オブジェクトとの距離が基準距離未満である場合、前記オブジェクトとして、形状変化が可能な第１オブジェクトを前記仮想３次元空間に配置するオブジェクト配置手段、
前記視点と前記オブジェクトとの距離が前記基準距離以上になった場合、前記第１オブジェクトから、所定形状の第２オブジェクトに切り替えるオブジェクト切替手段、
前記視点と前記オブジェクトとの距離が前記基準距離未満である場合、前記視点と前記オブジェクトとの距離が前記基準距離に近づくほど、前記第１オブジェクトの形状が前記第２オブジェクトの形状に近づくように、前記第１オブジェクトの形状を、前記視点と前記オブジェクトとの距離に基づいて変化させる形状変化手段、
を含むことを特徴とする画像処理装置として前記コンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理装置の制御方法、及びプログラムに関する。
【背景技術】
【０００２】
従来、オブジェクトが配置された仮想３次元空間を所与の視点から見た画像を表示させる画像処理装置が知られている。このような画像処理装置においては、視野内のオブジェクトの数が多くなるほどオブジェクトの表示制御処理が複雑になり、画像処理装置の処理負荷が増大する。
【０００３】
特許文献１には、視点とオブジェクトとの距離に応じて詳細度の異なるオブジェクトを使い分けることによって、画像処理装置の処理負荷を軽減させるＬＯＤ（Level Of Detail）技術が記載されている。例えば、視点とオブジェクトとの距離が近い場合には、オブジェクトが画面に大きく映し出されるので、詳細度の高い緻密なオブジェクトを用いて細かい描写を実現する。一方、視点とオブジェクトとの距離が遠い場合には、オブジェクトが画面に小さく映し出されるため細かい描写を行う必要がなく、詳細度の低い簡易なオブジェクトを用いることによって処理負荷が軽減される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−２６４３５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来のＬＯＤ技術においては、オブジェクトを切り替える際に、画面に表示されるオブジェクトの見た目が急に変ってしまうため、ユーザが違和感を感じる場合があった。
【０００６】
図１８は、従来のＬＯＤ技術について説明するための図である。図１８に示すように、視点とオブジェクトとの距離ｒが基準距離ｒ０未満の場合には、詳細度の高いオブジェクトＯＢ１が配置される。距離ｒが基準距離以上になった場合、オブジェクトＯＢ１が詳細度の低いオブジェクトＯＢ２に切り替わる。オブジェクトＯＢ２はオブジェクトＯＢ１に比べて粗い作りであるため、オブジェクトＯＢ１からオブジェクトＯＢ２に切り替わると見た目（例えば、シルエット等）が急に変ってしまい、ユーザが違和感を感じてしまう。
【０００７】
本発明は上記課題に鑑みてなされたものであって、その目的は、ＬＯＤ技術のオブジェクト切り替えにおいて、ユーザに違和感を与えない画像処理装置、画像処理装置の制御方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明に係る画像処理装置は、オブジェクトが配置された仮想３次元空間を所与の視点から見た画像を表示手段に表示させる画像処理装置であって、前記視点と前記オブジェクトとの距離が基準距離未満である場合、前記オブジェクトとして、形状変化が可能な第１オブジェクトを前記仮想３次元空間に配置するオブジェクト配置手段と、前記視点と前記オブジェクトとの距離が前記基準距離以上になった場合、前記第１オブジェクトから、所定形状の第２オブジェクトに切り替えるオブジェクト切替手段と、前記視点と前記オブジェクトとの距離が前記基準距離未満である場合、前記視点と前記オブジェクトとの距離が前記基準距離に近づくほど、前記第１オブジェクトの形状が前記第２オブジェクトの形状に近づくように、前記第１オブジェクトの形状を、前記視点と前記オブジェクトとの距離に基づいて変化させる形状変化手段と、を含むことを特徴とする。
【０００９】
また、本発明に係る画像処理装置の制御方法は、オブジェクトが配置された仮想３次元空間を所与の視点から見た画像を表示手段に表示させる画像処理装置の制御方法であって、前記視点と前記オブジェクトとの距離が基準距離未満である場合、前記オブジェクトとして、形状変化が可能な第１オブジェクトを前記仮想３次元空間に配置するオブジェクト配置ステップと、前記視点と前記オブジェクトとの距離が前記基準距離以上になった場合、前記第１オブジェクトから、所定形状の第２オブジェクトに切り替えるオブジェクト切替ステップと、前記視点と前記オブジェクトとの距離が前記基準距離未満である場合、前記視点と前記オブジェクトとの距離が前記基準距離に近づくほど、前記第１オブジェクトの形状が前記第２オブジェクトの形状に近づくように、前記第１オブジェクトの形状を、前記視点と前記オブジェクトとの距離に基づいて変化させる形状変化ステップと、を含むことを特徴とする。
【００１０】
また、本発明に係るプログラムは、オブジェクトが配置された仮想３次元空間を所与の視点から見た画像を表示手段に表示させる画像処理装置としてコンピュータを機能させるためのプログラムであって、前記視点と前記オブジェクトとの距離が基準距離未満である場合、前記オブジェクトとして、形状変化が可能な第１オブジェクトを前記仮想３次元空間に配置するオブジェクト配置手段、前記視点と前記オブジェクトとの距離が前記基準距離以上になった場合、前記第１オブジェクトから、所定形状の第２オブジェクトに切り替えるオブジェクト切替手段、前記視点と前記オブジェクトとの距離が前記基準距離未満である場合、前記視点と前記オブジェクトとの距離が前記基準距離に近づくほど、前記第１オブジェクトの形状が前記第２オブジェクトの形状に近づくように、前記第１オブジェクトの形状を、前記視点と前記オブジェクトとの距離に基づいて変化させる形状変化手段、を含むことを特徴とする。
【００１１】
また、本発明に係る画像処理装置は、オブジェクトが配置された仮想３次元空間を所与の視点から見た画像を表示手段に表示させる画像処理装置であって、前記オブジェクトとして、第１オブジェクト又は前記第１オブジェクトよりも詳細度が低い第２オブジェクトを前記仮想３次元空間に配置するオブジェクト配置手段と、前記視点と前記オブジェクトとの距離が第１基準距離未満になった場合、前記第２オブジェクトを前記第１オブジェクトに切り替える切替処理を行い、前記視点と前記オブジェクトとの距離が前記第１基準距離よりも大きい第２基準距離以上になった場合、前記第１オブジェクトを前記第２オブジェクトに切り替える切替処理を行うオブジェクト切替手段と、を含み、前記オブジェクト切替手段は、前記視点と前記オブジェクトとの距離が前記第１基準距離以上前記第２基準距離未満である場合、前記オブジェクトの位置又は姿勢が、位置又は姿勢に関する所与の条件を満たすか否かを判定し、当該判定結果に基づいて、前記第１オブジェクトと前記第２オブジェクトとの切替処理を行う、ことを特徴とする。
【００１２】
また、本発明に係る情報記憶媒体は、上記プログラムを記憶したコンピュータ読み取り可能な情報記憶媒体である。
【００１３】
本発明によれば、ＬＯＤ技術のオブジェクト切り替えにおいて、ユーザに違和感を与えないようにすることができる。
【００１４】
また、本発明の一態様では、前記第１オブジェクトの形状は、前記第１オブジェクトに設定されるスケルトンの状態変化に基づいて変化し、前記形状変化手段は、前記第２オブジェクトの形状に対応する前記第１オブジェクトのスケルトンの状態を示す状態データを記憶する手段から前記状態データを取得する手段を含み、前記視点と前記オブジェクトとの距離が前記基準距離に近づくほど、前記第１オブジェクトのスケルトンの状態が前記状態データが示す状態に近づくように、前記第１オブジェクトのスケルトンの状態を、前記視点と前記オブジェクトとの距離及び前記状態データに基づいて変化させる、ことを特徴とする。
【００１５】
また、本発明の一態様では、前記形状変化手段は、前記視点と前記オブジェクトとの距離と、前記第１オブジェクトの形状変化の程度を示す変化情報と、を対応付けてなる変化情報データを記憶する手段から前記変化情報データを記憶する手段を含み、前記視点と前記オブジェクトとの距離に対応する前記変化情報に基づいて、前記第１オブジェクトの形状を変化させる、ことを特徴とする。
【００１６】
また、本発明の一態様では、前記オブジェクト切替手段は、前記視点と前記オブジェクトとの距離が第１基準距離未満になった場合、前記第２オブジェクトを前記第１オブジェクトに切り替える切替処理を行う手段と、前記視点と前記オブジェクトとの距離が前記第１基準距離よりも大きい第２基準距離以上になった場合、前記第１オブジェクトを前記第２オブジェクトに切り替える切替処理を行う手段と、前記視点と前記オブジェクトとの距離が前記第１基準距離以上前記第２基準距離未満である場合、前記オブジェクトの位置又は姿勢が、位置又は姿勢に関する所与の条件を満たすか否かを判定し、当該判定結果に基づいて前記第１オブジェクトと前記第２オブジェクトとの切替処理を行う手段と、を含むことを特徴とする。
【００１７】
また、本発明の一態様では、前記オブジェクト切替手段は、前記視点と前記オブジェクトとの距離が前記第１基準距離以上前記第２基準距離未満である場合、対象期間における前記オブジェクトの位置変化が基準量以上であるか否かを判定し、前記対象期間における前記オブジェクトの位置変化が前記基準量以上である場合、前記第１オブジェクトと前記第２オブジェクトとの切替処理を行う、ことを特徴とする。
【００１８】
また、本発明の一態様では、前記オブジェクト切替手段は、前記視点と前記オブジェクトとの距離が前記第１基準距離以上前記第２基準距離未満である場合、前記オブジェクトの姿勢が所与の姿勢であるか否かを判定し、前記オブジェクトの姿勢が所与の姿勢である場合、前記第１オブジェクトと前記第２オブジェクトとの切替処理を行う、ことを特徴とする。
【００１９】
また、本発明の一態様では、前記仮想３次元空間には移動物体を示すオブジェクトが配置され、前記オブジェクト切替手段は、前記視点と前記オブジェクトとの距離が前記第１基準距離以上前記第２基準距離未満である場合、前記オブジェクトと前記移動物体との位置関係が所与の位置関係であるか否かを判定し、前記オブジェクトと前記移動物体との位置関係が所与の位置関係である場合、前記第１オブジェクトと前記第２オブジェクトとの切替処理を行う、ことを特徴とする。
【００２０】
また、本発明の一態様では、前記オブジェクト切替手段は、前記視点と前記オブジェクトとの距離が前記第１基準距離以上前記第２基準距離未満である場合、前記視点と前記オブジェクトとの位置関係が所与の位置関係であるか否かを判定し、前記視点と前記オブジェクトとの位置関係が所与の位置関係である場合、前記第１オブジェクトと前記第２オブジェクトとの切替処理を行う、ことを特徴とする。
【００２１】
また、本発明の一態様では、前記オブジェクト切替手段は、前記視点と前記オブジェクトとの距離が前記第１基準距離以上前記第２基準距離未満である場合、前記オブジェクトの位置が所定領域内であるか否かを判定し、前記オブジェクトの位置が所定領域内である場合、前記第１オブジェクトと前記第２オブジェクトとの切替処理を行う、ことを特徴とする。
【図面の簡単な説明】
【００２２】
【図１】本実施形態に係るゲーム装置のハードウェア構成を示す図である。
【図２】ゲーム空間の一例を示す図である。
【図３】詳細度が異なるキャラクタを説明するための図である。
【図４】ゲーム装置で実現される機能を示す機能ブロック図である。
【図５】ハイモデルキャラクタのスケルトンの状態変化を説明するための図である。
【図６】ローモデルキャラクタのスケルトンの状態変化を説明するための図である。
【図７】状態データを説明するための図である。
【図８】変化情報データのデータ格納例を示す図である。
【図９】形状変化部により行われる処理を説明するための図である。
【図１０】ゲーム装置が実行する処理のうちの、本発明に関連する処理を主に示すフロー図である。
【図１１】ゲーム装置が実行する処理のうちの、本発明に関連する処理を主に示すフロー図である。
【図１２】ハイモデルキャラクタのスケルトンの状態が変更される様子を示す図である。
【図１３】実施形態２のオブジェクト切替部の処理内容を説明するための図である。
【図１４】ゲーム装置が実行する処理のうちの、本発明に関連する処理を主に示すフロー図である。
【図１５】ゲーム装置が実行する処理のうちの、本発明に関連する処理を主に示すフロー図である。
【図１６】移動物体が配置されたゲーム空間を示す図である。
【図１７】ゲーム空間の位置によってキャラクタの輝度が異なる様子を説明するための図である。
【図１８】従来のＬＯＤ技術について説明するための図である。
【発明を実施するための形態】
【００２３】
［１．実施形態１］
以下、本発明に係る実施形態について図面に基づき詳細に説明する。本発明に係る画像処理装置は、例えば、家庭用ゲーム機（据置型ゲーム機）、携帯ゲーム機、業務用ゲーム機、携帯電話機、携帯情報端末（ＰＤＡ）、又はパーソナルコンピュータを用いて実現される。ここでは、本発明の実施形態に係る画像処理装置を、携帯ゲーム機を用いて実現する場合について説明する。
【００２４】
［１−１．ゲーム装置のハードウェア構成］
図１は、本実施形態に係るゲーム装置１０のハードウェア構成を示す図である。図１に示すように、ゲーム装置１０は、携帯ゲーム機１１を含んでなる。携帯ゲーム機１１は、制御部１４、記憶部１６、主記憶１８、画像処理部２０、表示部２２、タッチパネル２４、入出力処理部２６、メモリカードスロット２８、光ディスク再生部３２、操作キー部３６、音声処理部３８、音声出力部４０、音声入力部４２、通信Ｉ／Ｆ（インタフェース）４４等を含む。
【００２５】
制御部１４は、記憶部１６に記憶されるオペレーティングシステムや、メモリカード３０、光ディスク３４に格納されるプログラムや各種データに基づいてゲーム装置１０の各部を制御する。
【００２６】
記憶部１６は、フラッシュメモリ等の不揮発性記憶媒体を含んで構成される。記憶部１６には、オペレーティングシステム等が記憶される。
【００２７】
主記憶１８は、例えば、ＲＡＭを含んで構成される。記憶部１６に記憶されたプログラム、メモリカードスロット２８を介してメモリカード３０から読み出されたプログラム、又は、光ディスク再生部３２を介して光ディスク３４から読み出されたプログラムは、必要に応じて主記憶１８に書き込まれる。主記憶１８は、制御部１４の作業用メモリとしても用いられる。
【００２８】
バス１２は、アドレス及び各種データをゲーム装置１０の各部でやり取りするために用いられる。制御部１４、記憶部１６、主記憶１８、画像処理部２０及び入出力処理部２６は、バス１２によって相互データ通信可能に接続される。
【００２９】
画像処理部２０は、ＶＲＡＭを含む。画像処理部２０は、制御部１４からの指示に従って画像をＶＲＡＭ上に描画する。ＶＲＡＭ上に描画された画像は、所定のタイミングで表示部２２に表示される。表示部２２は、例えば、一又は複数の公知の液晶表示パネルである。例えば、表示部２２に重畳するようにして、タッチパネル２４が設けられる。
【００３０】
入出力処理部２６は、制御部１４が、タッチパネル２４、メモリカードスロット２８、光ディスク再生部３２、操作キー部３６、音声処理部３８、通信Ｉ／Ｆ４４と、各種データを授受するためのインタフェースである。
【００３１】
メモリカードスロット２８は、メモリカード３０に記憶されたゲームプログラムやゲームデータを制御部１４からの指示に従って読み出す。メモリカード３０は、例えば、セーブデータ等のゲームデータが記憶される不揮発性記憶媒体を含む。
【００３２】
光ディスク再生部３２は、光ディスク３４に記録されたプログラムやデータを読み取る。本実施形態においては、光ディスク３４に記憶されたプログラムやデータが用いられてゲームが実行される場合を説明するが、例えば、メモリカード３０等の他のあらゆる情報記憶媒体を用いるようにしてもよい。また、インターネット等のデータ通信網を介して、遠隔地からプログラムやデータをゲーム装置１０に供給するようにしてもよい。
【００３３】
操作キー部３６は、ユーザが各種操作を行うための入力手段として機能する。操作キー部３６は、十字ボタン、スライドパッド、各種ボタン等を含む。入出力処理部２６は、一定周期毎（例えば、１／６０秒毎）に、操作キー部３６の各部の状態をスキャンする。このスキャン結果を表す操作信号は、バス１２を介して制御部１４に供給される。制御部１４は、ユーザの操作内容を、操作信号に基づいて判断する。
【００３４】
音声処理部３８は、サウンドバッファを含む。音声処理部３８は、サウンドバッファに格納された楽曲の出力用データや音声データに基づいて、楽曲や音声を音声出力部４０から出力する。
【００３５】
音声入力部４２は、マイク等を含む。音声入力部４２は、プレイヤの音声等を検出し、検出信号を入出力処理部２６を介して制御部１４に入力する。通信Ｉ／Ｆ４４は、ゲーム装置１０を通信ネットワークに接続するためのインタフェースである。
【００３６】
なお、ゲーム装置１０の構成は、上記の例に限られない。ゲーム装置１０は、他の構成を含んでいてもよい。他にも例えば、ジャイロセンサやモーションセンサ、ＣＣＤカメラ等が、ゲーム装置１０に含まれていてもよい。
【００３７】
［１−２．ゲーム装置において実行されるゲーム］
次に、ゲーム装置１０において実行されるゲームについて説明する。ゲーム装置１０が実行するゲームにおいては、キャラクタを示すオブジェクトが配置されたゲーム空間（仮想３次元空間）を所与の視点から見た様子を示す画像が表示部２２に表示される。ゲームが開始されると、主記憶１８にゲーム空間が構築される。
【００３８】
図２は、ゲーム空間の一例を示す図である。図２に示すように、ゲーム空間５０には、地面を示すオブジェクトであるフィールド５２、キャラクタを示すオブジェクトであるキャラクタ５４が配置される。キャラクタ５４は、フィールド５２上に複数体配置される。
【００３９】
キャラクタ５４は、例えば、ゲームプログラムが実行する処理に基づいて、フィールド５２上を移動したり、姿勢が変化したりする。なお、図２においては、キャラクタ５４の形状を簡略化して表現している。キャラクタ５４の位置は、ゲーム空間５０に設定される３次元座標（ワールド空間座標）によって定まる。
【００４０】
また、ゲーム空間５０には、仮想カメラ５６（視点）が設定される。表示部２２には、仮想カメラ５６からゲーム空間５０を見た様子を示す画像が表示される。例えば、ゲーム空間５０に配置されるオブジェクトのうち、仮想カメラ５６の視野内のオブジェクトが表示部２２に表示される。例えば、仮想カメラ５６の視錘台内のオブジェクトに、公知の座標変換処理が施されることによって、表示部２２に画像が表示される。
【００４１】
本実施形態においては、キャラクタ５４と仮想カメラ５６との距離に応じて、ゲーム空間５０に配置されるキャラクタ５４の詳細度（ＬＯＤレベル）が異なる構成になっている。詳細度とは、キャラクタ５４をどの程度詳細に描画するかを示す指標である。例えば、キャラクタ５４の詳細度が高くなるほど、キャラクタ５４に設定されるスケルトンの数が増加する。
【００４２】
スケルトンは、キャラクタ５４の形状（例えば、姿勢や表情等）が変化する様子を表現するためのものである。スケルトンは、関節部分に相当するジョイントと、ジョイント間を接続するボーンと、を含んで構成される。キャラクタ５４に設定されるジョイントやボーンには、キャラクタ５４を構成するポリゴンの頂点の少なくとも一部が関連づけられる。即ち、詳細度が高くなるほどポリゴンの頂点数も多くなる。
【００４３】
図３は、詳細度が異なるキャラクタ５４を説明するための図である。図３に示す距離ｒは、仮想カメラ５６とキャラクタ５４との距離である。図３に示すように、例えば、キャラクタ５４と仮想カメラ５６との距離ｒが比較的近い場合（例えば、距離ｒ＜基準距離ｒ０）には、詳細度が高いハイモデルキャラクタ５４ａ（例えば、ポリゴン数：５０００、ボーン数：５０）がゲーム空間５０に配置される。
【００４４】
距離ｒが小さい場合、キャラクタ５４が画面に占める割合が大きいので、ハイモデルキャラクタ５４ａを用いることによってキャラクタ５４の細部が詳細に描かれる。また、ハイモデルキャラクタ５４ａには、比較的多くのスケルトンが設定されるため、複雑な動作を表現することができる。例えば、図３に示すように、ハイモデルキャラクタ５４ａの指先にはボーンが設定されるため、手を開閉する様子等を表現することができる。
【００４５】
また例えば、図３に示すように、キャラクタ５４と仮想カメラ５６との距離ｒが比較的遠い場合（例えば、距離ｒ≧基準距離ｒ０）には、詳細度が低いローモデルキャラクタ５４ｂ（例えば、ポリゴン数：５００、ボーン数：１５）がゲーム空間５０に配置される。
【００４６】
キャラクタ５４と仮想カメラ５６との距離ｒが比較的遠い場合、表示部２２におけるキャラクタ５４の占める割合が小さいので、キャラクタ５４の詳細度を下げても表示部２２における見た目にはあまり影響がない。また、ローモデルキャラクタ５４ｂに設定されるスケルトンの数は比較的少ないため、あまり複雑な動作を表現することができない。例えば、図３に示すように、ローモデルキャラクタ５４ｂの指先にはスケルトンが設定されないため、手を開閉する様子等を表現することができない。例えば、ローモデルキャラクタ５４ｂの両手は、常に半開きの状態となる。
【００４７】
例えば、ハイモデルキャラクタ５４ａがゲーム空間５０に配置されている状態で、仮想カメラ５６がキャラクタ５４から遠ざかり、距離ｒが基準距離ｒ０以上になった場合、ハイモデルキャラクタ５４ａがローモデルキャラクタ５４ｂに切り替わる。先述したように、基準距離ｒ０の前後におけるキャラクタ５４の切り替えが目立つため、ユーザが違和感を感じてしまう。
【００４８】
本実施形態のゲーム装置１０は、キャラクタ５４と仮想カメラ５６との距離ｒが基準距離ｒ０に近づくにつれて、ハイモデルキャラクタ５４ａの手の形状をローモデルキャラクタ５４ｂの手の形状（例えば、半開きの状態）に近づけるように制御することによって、ユーザに違和感を与えないような構成になっている。以下、上記技術について詳細に説明する。
【００４９】
［１−３．ゲーム装置において実現される機能］
図４は、ゲーム装置１０で実現される機能を示す機能ブロック図である。図４に示すように、ゲーム装置１０は、ゲームデータ記憶部１、オブジェクト配置部２、オブジェクト切替部３、形状変化部４を含む。これら各機能は、例えば、制御部１４が光ディスク３４に記憶されたプログラムを実行することによって実現される。
【００５０】
［１−３−１．ゲームデータ記憶部］
ゲームデータ記憶部１は、主記憶１８、メモリカード３０、及び光ディスク３４を主として実現される。ゲームデータ記憶部１は、ゲーム空間５０に配置されたオブジェクトを表示させるために必要なデータを記憶する。本実施形態においては、ゲームデータ記憶部１は、下記のデータを記憶する。
（１）モーションデータ
（２）状態データ
（３）変化情報データ
（４）ゲーム状況データ
【００５１】
［モーションデータ］
例えば、ゲームデータ記憶部１は、キャラクタ５４の形状変化を定義したモーションデータを記憶する。モーションデータには、キャラクタ５４が各種動作を行う際のスケルトンの状態変化が定義されている。即ち、モーションデータには、キャラクタ５４が各種動作を行う際のジョイントやボーンの状態変化が定義されている。
【００５２】
スケルトンを構成するジョイントやボーンの状態（回転角度や位置）が変化した場合、そのジョイントやボーンに関連づけられたポリゴンの頂点が、そのジョイントやボーンの状態変化に基づいて移動する。即ち、キャラクタ５４の形状が変化する。こうして、キャラクタ５４の状態が変化する様子が、モーションデータによって表現される。
【００５３】
本実施形態においては、ハイモデルキャラクタ５４ａに設定されるスケルトンの状態変化を定義したハイモデルモーションデータと、ローモデルキャラクタ５４ｂに設定されるスケルトンの状態変化を定義したローモデルモーションデータと、が記憶される場合を説明する。本実施形態においては、モーションデータが定義するキャラクタ５４の動作として、キャラクタ５４が手を開閉する動作を例に挙げて説明する。
【００５４】
図５は、ハイモデルキャラクタ５４ａのスケルトンの状態変化を説明するための図である。ここでは、ハイモデルキャラクタ５４ａの左手に設定されるスケルトンの状態変化を例に挙げて説明する。図５は、ハイモデルキャラクタ５４ａが左手を広げている状態を示している。
【００５５】
図５に示す例では、複数のポリゴンを含んで構成されるハイモデルキャラクタ５４ａに対して、左前腕ジョイント６０、左前腕ボーン６１、左手首ジョイント６２が設定される。また、ハイモデルキャラクタ５４ａの小指の動作を表現するための第１左小指ボーン６３、第１左小指ジョイント６４、第２左小指ボーン６５、第２左小指ジョイント６６、第３左小指ボーン６７、第３左小指ジョイント６８が設定される。また、ハイモデルキャラクタ５４ａの薬指の動作を表現するための第１左薬指ボーン６９、第１左薬指ジョイント７０、第２左薬指ボーン７１、第２左薬指ジョイント７２、第３左薬指ボーン７３、第３左薬指ジョイント７４が設定される。
【００５６】
また、ハイモデルキャラクタ５４ａの中指の動作を表現するための第１左中指ボーン７５、第１左中指ジョイント７６、第２左中指ボーン７７、第２左中指ジョイント７８、第３左中指ボーン７９、第３左中指ジョイント８０が設定される。また、ハイモデルキャラクタ５４ａの人差指の動作を表現するための第１左人差指ボーン８１、第１左人差指ジョイント８２、第２左人差指ボーン８３、第２左人差指ジョイント８４、第３左人差指ボーン８５、第３左人差指ジョイント８６が設定される。また、ハイモデルキャラクタ５４ａの親指の動作を表現するための第１左親指ボーン８７、第１左親指ジョイント８８、第２左親指ボーン８９、第２左親指ジョイント９０、第３左親指ボーン９１、第３左親指ジョイント９２、が設定される。
【００５７】
上記の各ボーンは、各ジョイント間を接続している。各ボーン及び各ジョイントには親子関係があり、子のボーン及び子のジョイントは、親のボーン及び親のジョイントに従動する。即ち、子のボーン及び子のジョイントの状態（位置や回転角度）は、親のボーン及び親のジョイントの状態（位置や回転角度）に応じて変化する。
【００５８】
また、各ボーン及び各ジョイントには、例えば、ハイモデルキャラクタ５４ａの左手及び左指のポリゴンの頂点が関連づけられている。それらの頂点の位置は、各ボーン及び各ジョイントの状態（位置や回転角度）に応じて変化する。
【００５９】
例えば、ハイモデルキャラクタ５４ａが手を閉じる様子を表す場合には、所定のボーン及びジョイントが回転する。ここでは、ハイモデルキャラクタ５４ａが左手を閉じる際の左小指の動きを例に挙げて説明する。
【００６０】
例えば、ハイモデルキャラクタ５４ａが左手を閉じる場合、第１左小指ジョイント６４がＸ軸方向を回転軸としてＡ方向に回転する。この場合、第２左小指ボーン６５及び第２左小指ジョイント６６は、第１左小指ジョイント６４の回転に応じて、第１左小指ジョイント６４を回転の中心としてＡ方向に移動する。また、第２左小指ジョイント６６は、Ｘ軸方向を回転軸としてＢ方向に回転する。第３左小指ボーン６７及び第３左小指ジョイント６８は、第１小指ジョイント６４及び第２左小指ジョイント６６の回転及び位置変化に応じて、Ｂ方向に移動する。
【００６１】
そして、ハイモデルキャラクタ５４ａの左指のポリゴンの頂点の位置が、第１左小指ジョイント６４、第２左小指ボーン６５、第２左小指ジョイント６６、第３左小指ボーン６７、第３左小指ジョイント６８の位置変化に応じて変化する。即ち、ハイモデルキャラクタ５４ａが左手を閉じる様子が表現される。
【００６２】
なお、ハイモデルキャラクタ５４ａが手を開ける様子を表す場合には、第１左小指ジョイント６４、第２左小指ボーン６５、第２左小指ジョイント６６、第３左小指ボーン６７、第３左小指ジョイント６８を、それぞれ上記とは逆方向に回転及び位置変化させる。
【００６３】
また、ハイモデルキャラクタ５４ａの他の指が開閉する様子も、上記と同様にジョイントが回転することによって行われる。即ち、上記の「小指」を「薬指」、「中指」、「人差指」、又は「親指」に読み替えることによって、ハイモデルキャラクタ５４ａの手が開閉する様子が行われる。
【００６４】
例えば、ハイモデルモーションデータには、上記のように行われるジョイントの回転角度（例えば、Ｘ軸方向を回転軸とする回転角度）の所定時間毎（例えば、１／６０秒毎）の変化が定義されている。ハイモデルモーションデータが再生されることによって、即ち、ハイモデルモーションデータに従ってジョイントの回転角度が変化することによって、ハイモデルキャラクタ５４ａが各種動作をする様子（例えば、ハイモデルキャラクタ５４ａが手を開閉する様子）が表される。
【００６５】
ローモデルモーションデータも、上記説明したハイモデルモーションデータと同様のデータが格納される。ただし、図３を参照して説明したように、ローモデルキャラクタ５４ｂとハイモデルキャラクタ５４ａとは詳細度が異なるので、ローモデルモーションデータにより定義されるスケルトンの状態変化と、ハイモデルモーションデータにより定義されるスケルトンの状態変化と、は異なる。
【００６６】
図６は、ローモデルキャラクタ５４ｂのスケルトンの状態変化を説明するための図である。ここでは、ローモデルキャラクタ５４ｂの左手のスケルトンを例に挙げて説明する。ローモデルキャラクタ５４ｂの左手にも、ハイモデルキャラクタ５４ａと同様にスケルトンが設定される。ただし、図６に示すように、ローモデルキャラクタ５４ｂは、ハイモデルキャラクタ５４ａよりもスケルトンの数が少ない。
【００６７】
図６に示す例では、複数のポリゴンを含んで構成されるローモデルキャラクタ５４ｂに対して、左前腕ジョイント１００、左前腕ボーン１０１、左手首ジョイント１０２が設定されている。各ボーン及び各ジョイントに親子関係がある点、各ボーン及び各ジョイントにはポリゴンの頂点が関連づけられている点は、ローモデルキャラクタ５４ｂはハイモデルキャラクタ５４ａと同様であるので説明を省略する。
【００６８】
ローモデルキャラクタ５４ｂは、ハイモデルキャラクタ５４ａに比べてボーン及びジョイントの数が少ないので、左手を開閉する動作を表現することができない。例えば、ローモデルキャラクタ５４ｂには、指の動きを表現するためのスケルトンが設定されない。したがって、ローモデルキャラクタ５４ｂの左手は、図６に示すように、例えば、常に半開きの形状となっている。
【００６９】
［状態データ］
また例えば、ゲームデータ記憶部１は、第２オブジェクト（例えば、ローモデルキャラクタ５４ｂの左手）の形状に対応する第１オブジェクト（例えば、ハイモデルキャラクタ５４ａの左手）のスケルトンの状態を示す状態データを記憶する。
【００７０】
ローモデルキャラクタ５４ｂの左手の形状に対応するハイモデルキャラクタ５４ａのスケルトンの状態とは、ローモデルキャラクタ５４ｂの左手の形状に基づいて定まるハイモデルキャラクタ５４ａのスケルトンの状態であり、例えば、ローモデルキャラクタ５４ｂの左手の形状とハイモデルキャラクタ５４ａの左手の形状とが所定の関係を満たすためのハイモデルキャラクタ５４ａのスケルトンの状態である。別の言い方をすれば、ハイモデルキャラクタ５４ａとローモデルキャラクタ５４ｂとの形状（例えば、輪郭（シルエット））のずれが、所定範囲となるためのハイモデルキャラクタ５４ａのスケルトンの状態である。
【００７１】
状態データは、ローモデルキャラクタ５４ｂの形状に基づいて作成される。即ち、状態データは、ローモデルモーションデータが示すローモデルキャラクタ５４ｂの状態に基づいて作成される。状態データは、ゲーム制作者等によって予め用意されるデータである。本実施形態においては、状態データが、ハイモデルキャラクタ５４ａのジョイント及びボーンの位置及び回転角を定義したデータである場合を説明する。
【００７２】
図７は、状態データを説明するための図である。図７に示すように、状態データには、例えば、ハイモデルキャラクタ５４ａの左手が半開きになるためのスケルトンの状態が定義される。即ち、ハイモデルキャラクタ５４ａの左手が半開きの形状における、各ジョイント及びボーンの位置及び回転角が、状態データに定義される。
【００７３】
別の言い方をすれば、状態データには、各ボーン及び各ジョイントの所定の位置関係が格納される。状態データに基づいてハイモデルキャラクタ５４ａの状態を変化させると、ハイモデルキャラクタ５４ａとローモデルキャラクタ５４ｂとは、略同じ状態となって画面に表れる。
【００７４】
［変化情報データ］
本実施形態においては、視点（例えば、仮想カメラ５６）とキャラクタ５４との距離ｒと、第１オブジェクト（例えば、ハイモデルキャラクタ５４ａの左手）の形状変化の程度を示す変化情報と、を対応付けてなる変化情報データが、ゲームデータ記憶部１に記憶される場合を説明する。
【００７５】
図８は、変化情報データのデータ格納例を示す図である。例えば、仮想カメラ５６とキャラクタ５４との距離ｒと、形状変化レベル（変化情報）と、が対応付けられて記憶される。形状変化レベルは、例えば、ハイモデルモーションデータに基づいて定まるハイモデルキャラクタ５４ａの左手の形状を、どの程度ローモデルキャラクタ５４ｂの左手の形状に近づけるかを示す値である。ここでは、形状変化レベルが５段階に分けられている場合を説明する。
【００７６】
図８に示す基準変化値とは、ハイモデルモーションデータに基づいて定まるハイモデルキャラクタ５４ａのスケルトンの状態（位置及び回転角度）と、状態データが示すハイモデルキャラクタ５４ａのスケルトンの状態（位置及び回転角度）と、のずれを示す値である。即ち、ハイモデルモーションデータに基づいて定まるハイモデルキャラクタ５４ａのスケルトンの状態を基準変化値に基づいて変更すると、ハイモデルキャラクタ５４ａは状態になり、ローモデルキャラクタ５４ｂの状態に近づく。
【００７７】
なお、変化情報データはテーブル形式のデータであってもよいし、数式形式のデータであってもよい。また、変化情報データはテーブル形式のデータと数式形式のデータとを組み合わせた形式のデータであってもよい。
【００７８】
［ゲーム状況データ］
また、ゲームデータ記憶部１は、実行中のゲームの状況を示すゲーム状況データを記憶する。例えば、ゲーム状況データには、ゲーム空間５０の現在の様子を示すデータ（例えば、キャラクタ５４の現在の形状（即ち、スケルトンの状態。又は、ポリゴンの頂点の位置。）や位置、仮想カメラ５６の位置等）等が格納される。ゲーム状況データは、プレイヤのゲーム操作や所定のアルゴリズムに基づいて内容が更新される。例えば、プレイヤがゲーム操作を行うと、ゲーム状況データに格納されたキャラクタ５４の位置が変化したり、仮想カメラ５６の位置や視線方向が変化する。
【００７９】
なお、制御部１４は、ゲームデータ記憶部１に記憶される各種データを取得する手段として機能する。また、制御部１４は、ゲームデータ記憶部１に記憶される各種データを変更（更新）する手段として機能する。また、ゲームデータ記憶部１に記憶されるデータは、上記の例に限られず、ゲーム装置１０がゲームを実行するために必要なデータが記憶されていればよい。
【００８０】
［１−３−２．オブジェクト配置部］
オブジェクト配置部２は、制御部１４を主として実現される。オブジェクト配置部２は、視点（例えば、仮想カメラ５６）とオブジェクト（例えば、キャラクタ５４）との距離ｒが基準距離ｒ０未満である場合、オブジェクトとして、形状変化が可能な第１オブジェクト（例えば、ハイモデルキャラクタ５４ａの左手）を仮想３次元空間（例えば、ゲーム空間５０）に配置する。
【００８１】
仮想カメラ５６とキャラクタ５４との距離ｒは、ゲーム状況データに格納された仮想カメラ５６の位置とキャラクタ５４の位置とが参照されることによって取得される。基準距離ｒ０は、ハイモデルキャラクタ５４ａとローモデルキャラクタ５４ｂとの切り替え（ＬＯＤ切り替え）を行うか否かの基準となる距離であり、ゲーム制作者等によって予め定められた距離である。
【００８２】
オブジェクト配置部２は、ゲーム状況データに格納されたハイモデルキャラクタ５４ａの現在のスケルトンの状態をモーションデータに基づいて変化させ、ハイモデルキャラクタ５４ａのポリゴンの頂点位置を特定することによって、ハイモデルキャラクタ５４ａをゲーム空間５０配置する。
【００８３】
形状変化が可能なオブジェクトとは、オブジェクトの表面形状の変化が可能なことであり、例えば、オブジェクトの輪郭（シルエット）の変化が可能なことを示す。本実施形態においては、第１オブジェクト（例えば、ハイモデルキャラクタ５４ａの左手）の形状は、第１オブジェクトに設定されるスケルトンの状態変化に基づいて変化する。即ち、ハイモデルキャラクタ５４ａの左手にはスケルトンが設定されているため、ハイモデルキャラクタ５４ａの左手は開閉する動作が可能であり、形状変化が可能となる。
【００８４】
［１−３−３．オブジェクト切替部］
オブジェクト切替部３は、制御部１４を主として実現される。オブジェクト切替部３は、視点（例えば、仮想カメラ５６）とオブジェクト（例えば、キャラクタ５４）との距離ｒが基準距離ｒ０以上になった場合、第１オブジェクト（例えば、ハイモデルキャラクタ５４ａ）から、所定形状の第２オブジェクト（例えば、ローモデルキャラクタ５４ｂの左手）に切り替える。
【００８５】
オブジェクト切替部３は、ローモデルキャラクタ５４ｂのスケルトンの状態を定義したローモデルモーションデータを参照し、ゲーム空間５０にローモデルキャラクタ５４ｂを配置することによって、ハイモデルキャラクタ５４ａからローモデルキャラクタ５４ｂに切り替える。
【００８６】
所定形状のオブジェクトとは、オブジェクトの形状が変化しないことを示し、例えば、オブジェクトの表面形状が所定の形状となることである。例えば、ローモデルキャラクタ５４ｂの左手のように、スケルトンが設定されず、常に半開きの形状となるものが、所定形状のオブジェクトである。
【００８７】
［１−３−４．形状変化部］
形状変化部４は、制御部１４を主として実現される。形状変化部４は、視点（例えば、仮想カメラ５６）とオブジェクト（例えば、キャラクタ５４）との距離ｒが基準距離ｒ０未満である場合、視点とオブジェクトとの距離ｒが基準距離ｒ０に近づくほど、第１オブジェクト（例えば、ハイモデルキャラクタ５４ａの左手）の形状が第２オブジェクト（例えば、ローモデルキャラクタ５４ｂの左手）の形状に近づくように、第１オブジェクトの形状を、視点とオブジェクトとの距離ｒに基づいて変化させる。例えば、形状変化部４は、ハイモデルキャラクタ５４ａの左手の現在の形状と、ローモデルキャラクタ５４ｂの左手の形状と、視点とオブジェクトとの距離ｒと、に基づいてハイモデルキャラクタ５４ａの左手の形状を変化させる。
【００８８】
本実施形態においては、形状変化部４は、第２オブジェクト（例えば、ローモデルキャラクタ５４ｂの左手）の形状に対応する第１オブジェクト（例えば、ハイモデルキャラクタ５４ａの左手）のスケルトンの状態を示す状態データを記憶する手段から前記状態データを取得する手段を含み、視点（例えば、仮想カメラ５６）とオブジェクト（例えば、キャラクタ５４）との距離ｒが基準距離に近づくほど、第１オブジェクトのスケルトンの状態が状態データが示す状態に近づくように、第１オブジェクトのスケルトンの状態を、視点とキャラクタとの距離ｒ及び状態データに基づいて変化させる場合を説明する。
【００８９】
例えば、形状変化部４は、ハイモデルモーションデータに基づいてハイモデルキャラクタ５４ａに設定されるスケルトンの状態を仮決定する。仮決定されたハイモデルキャラクタ５４ａのスケルトンの状態が状態データに基づいて変更されることによって、ハイモデルキャラクタ５４ａの状態が制御される。この変更の程度が、仮想カメラ５６とキャラクタ５４との距離ｒに応じて決定される。
【００９０】
本実施形態においては、形状変化部４は、視点（例えば、仮想カメラ５６）とオブジェクト（例えば、キャラクタ５４）との距離ｒと、第１オブジェクト（例えば、ハイモデルキャラクタ５４ａの左手）の形状変化の程度を示す変化情報と、を対応付けてなる変化情報データを記憶する手段から変化情報データを記憶する手段を含み、視点とオブジェクトとの距離ｒに対応する変化情報（形状変化レベル）に基づいて、第１オブジェクトの形状を変更させる場合を説明する。
【００９１】
つまり、形状変化部４は、距離ｒに対応する形状変化レベルが示す変更量だけ、ハイモデルキャラクタ５４ａの左手の形状を変更させる。例えば、ハイモデルキャラクタ５４ａの左手のスケルトンの位置及び回転角が変更される。
【００９２】
図９は、形状変化部４により行われる処理を説明するための図である。ここでは、ハイモデルキャラクタ５４ａの左手の小指の形状が変更される場合を例に挙げて説明する。
【００９３】
図９においては、ハイモデルモーションデータに基づいて定まるハイモデルキャラクタ５４ａの左手の小指を、第１左小指ジョイント６４ａ、第２左小指ボーン６５ａ、第２左小指ジョイント６６ａ、第３左小指ボーン６７ａ、第３左小指ジョイント６８ａと記載する。一方、状態データに基づいて定まるキャラクタ５４の状態における左手の小指を、第１左小指ジョイント６４ｂ、第２左小指ボーン６５ｂ、第２左小指ジョイント６６ｂ、第３左小指ボーン６７ｂ、第３左小指ジョイント６８ｂと記載する。
【００９４】
例えば、第１左小指ジョイント６４ａをＸ軸を回転軸としてＣ方向へ回転させた場合、第２左小指ボーン６５ａと第２左小指ボーン６５ｂとが一致し、第２左小指ジョイント６６ａと第２左小指ジョイント６６ｂとが一致する。この場合、第２左小指ボーン６５ａと第２左小指ボーン６５ｂとのずれを示す基準変化値、及び、第２左小指ジョイント６６ａと第２左小指ジョイント６６ｂとのずれを示す基準変化値は、例えば、Ｘ軸を回転軸としてＣ方向に所定角度回転させることを示す値となる。
【００９５】
また例えば、第２左小指ジョイント６６ａをＸ軸を回転軸としてＤ方向へ回転させた場合、第３左小指ボーン６７ａと第３左小指ボーン６７ｂとが一致し、第３左小指ジョイント６８ａと第３左小指ジョイント６８ｂとが一致する。この場合、第３左小指ボーン６７ａと第３左小指ボーン６７ｂとのずれを示す基準変化値、及び、第３左小指ジョイント６８ａと第３左小指ジョイント６８ｂとのずれを示す基準変化値は、Ｘ軸を回転軸としてＤ方向に所定角度回転させることを示す値となる。
【００９６】
上記のように特定される基準変化値に基づいて、ハイモデルモーションデータにより仮決定されるハイモデルキャラクタ５４ａの状態が変更される。例えば、距離ｒが基準距離ｒ０の２／５倍である場合、図８に示す変化情報データにより、基準変化値の３／５倍の変更レベルで変更が行われる。
【００９７】
この場合、第２左小指ボーン６５ａ及び第２左小指ジョイント６６ａを、Ｘ軸を回転軸としてＤ方向に、基準変化値が示す回転角を３／５倍させた角度だけ回転させることによって、第２左小指ボーン６５ｃ及び第２左小指ジョイント６６ｃの状態が変更される。また、第３左小指ボーン６７ａ及び第３左小指ジョイント６８ａを、Ｘ軸を回転軸としてＥ方向に、基準変化値が示す回転角を３／５倍させた角度だけ回転させることによって、第３左小指ボーン６７ｃ及び第３左小指ジョイント６８ｃの状態が変更される。
【００９８】
このように、ハイモデルキャラクタ５４ａが左手を広げた形状から左手を半開きにした形状になるように変更される。即ち、仮想カメラ５６とキャラクタ５４との距離ｒが基準距離ｒ０に近づくほど、ハイモデルキャラクタ５４ａの左手の形状がローモデルキャラクタ５４ｂの左手の形状に近づくように制御される。状態データに格納される状態は、ローモデルモーションデータに基づいて定まる状態であるので、ハイモデルキャラクタ５４ａからローモデルキャラクタ５４ｂに切り替わった場合の切り替えが目立ちにくくなり、ユーザに与える違和感を軽減することができる。
【００９９】
［１−４．ゲーム装置において実行される処理］
次に、ゲーム装置１０が実行する処理について説明する。図１０及び図１１は、ゲーム装置１０が実行する処理のうちの、本発明に関連する処理を主に示すフロー図である。制御部１４は、例えば、光ディスク３４に記憶されるプログラムに従って、所定時間毎（例えば、１／６０秒毎）に図１０及び図１１に示す処理を実行する。
【０１００】
図１０に示すように、制御部１４は、ゲーム状況データを参照し、仮想カメラ５６とキャラクタ５４との距離ｒを算出する（Ｓ１）。制御部１４は、Ｓ１で算出された距離ｒが基準距離ｒ０以上であるか否かを判定する（Ｓ２）。
【０１０１】
距離ｒが基準距離ｒ０以上であると判定された場合（Ｓ２；Ｙ）、制御部１４は、キャラクタ５４がハイモデルキャラクタ５４ａとして描画されていたか否かを判定する（Ｓ３）。Ｓ３においては、ゲーム状況データに格納されているキャラクタ５４のスケルトンの数に基づいて判定されるようにしてもよいし、ハイモデルキャラクタ５４ａ又はローモデルキャラクタ５４ｂの何れか設定されているかを示すフラグを用意しておき、このフラグが参照されることによって判定が行われるようにしてもよい。他にも例えば、距離ｒが基準距離ｒ０未満の状態から基準距離ｒ０以上の状態に変化したか否かが判定されるようにしてもよい。
【０１０２】
キャラクタ５４がハイモデルキャラクタ５４ａとして描画されていたと判定された場合（Ｓ３；Ｙ）、制御部１４は、ハイモデルキャラクタ５４ａからローモデルキャラクタ５４ｂに切り替えて、ローモデルキャラクタ５４ｂをゲーム空間５０に配置する（Ｓ４）。即ち、ローモデルモーションデータが参照されることによって、ローモデルキャラクタ５４ｂがゲーム空間５０に配置される。このローモデルキャラクタ５４ｂの形状は、ゲーム状況データに格納された切り替え前のハイモデルキャラクタ５４ａに基づいて制御される。
【０１０３】
一方、キャラクタ５４がハイモデルキャラクタ５４ａとして描画されていないと判定された場合（Ｓ３；Ｎ）、制御部１４は、ローモデルモーションデータに基づいて、ローモデルキャラクタ５４ｂのスケルトンの状態を制御する（Ｓ５）。制御部１４は、Ｓ５において制御されたローモデルキャラクタ５４ｂのスケルトンの状態に基づいて、ゲーム状況データに格納されたキャラクタ５４の状態を更新する（Ｓ６）。Ｓ６においては、ローモデルキャラクタ５４ｂのスケルトンに基づいてポリゴンの頂点座標が特定され、ゲーム状況データに格納される。
【０１０４】
一方、距離ｒが基準距離ｒ０未満であると判定された場合（Ｓ２；Ｎ）、制御部１４は、キャラクタ５４がハイモデルキャラクタ５４ａとして描画されていたか否かを判定する（Ｓ７）。Ｓ７の判定方法は、Ｓ３と同様である。
【０１０５】
キャラクタ５４がハイモデルキャラクタ５４ａとして描画されていないと判定された場合（Ｓ７；Ｎ）、制御部１４は、ローモデルキャラクタ５４ｂからハイモデルキャラクタ５４ａに切り替える（Ｓ８）。
【０１０６】
一方、キャラクタ５４がハイモデルキャラクタ５４ａとして描画されていたと判定された場合（Ｓ７；Ｙ）、制御部１４は、ゲーム状況データとハイモデルモーションデータに基づいて、ハイモデルキャラクタ５４ａのスケルトンの状態を仮決定する（Ｓ９）。
【０１０７】
制御部１４は、仮決定されたハイモデルキャラクタ５４ａのスケルトンの状態を、距離ｒと状態データとに基づいて変化させる（Ｓ１０）。例えば、仮決定されたハイモデルキャラクタ５４ａのスケルトンの状態と、状態データが示すスケルトンの状態と、のずれが基準変化値として算出される。そして、距離ｒと変化情報データとに基づいて形状変化レベルが決定される。当該形状変化レベルと基準変化値とに基づいて決定される変更量だけ、Ｓ９で仮決定されたハイモデルキャラクタ５４ａのスケルトンの状態が変更される。
【０１０８】
図１２は、ハイモデルキャラクタ５４ａのスケルトンの状態が変更される様子を示す図である。図１２に示すように、例えば、距離ｒが基準距離ｒ０に近づくほど、ハイモデルキャラクタ５４ａの両手のスケルトンが半開きの状態になるように、ハイモデルキャラクタ５４ａのスケルトンの状態が変化することになる。
【０１０９】
制御部１４は、Ｓ１０で変更されたハイモデルキャラクタ５４ａのスケルトンの状態に基づいて、ゲーム状況データに格納されたキャラクタ５４の状態を更新する（Ｓ１１）。Ｓ１１においては、ハイモデルキャラクタ５４ａのスケルトンに基づいてポリゴンの頂点座標が特定され、ゲーム状況データに格納される。
【０１１０】
制御部１４は、仮想カメラ５６の視野内の全てのキャラクタ５４の形状を決定したか否かを判定する（Ｓ１２）。仮想カメラ５６の視野内の全てのキャラクタ５４の形状を決定したと判定されない場合（Ｓ１２；Ｎ）、処理はＳ１に戻り、次のキャラクタ５４の形状が決定される。仮想カメラ５６の視野内の全てのキャラクタ５４の形状を決定したと判定された場合（Ｓ１２；Ｙ）、制御部１４は、ゲーム状況データに基づいて画面を表示させる（Ｓ１３）。
【０１１１】
以上説明したゲーム装置１０によれば、距離ｒが基準距離ｒ０に近づくほどハイモデルキャラクタ５４ａの左手の形状が、ローモデルキャラクタ５４ｂの左手の形状に近づく。つまり、ハイモデルキャラクタ５４ａとローモデルキャラクタ５４ｂの切り替える場合には、ハイモデルキャラクタ５４ａの左手の形状とローモデルキャラクタ５４ｂの左手の形状とが似た状態になっているため、ハイモデルキャラクタ５４ａとローモデルキャラクタ５４ｂとが切り替えが目立ちにくくなり、ユーザの違和感を軽減することができる。
【０１１２】
［１−５．実施形態１の変形例］
なお、本発明は、以上に説明した実施の形態に限定されるものではない。本発明の趣旨を逸脱しない範囲で、適宜変更可能である。
【０１１３】
（１）例えば、実施形態においては、図９に示したように、ハイモデルモーションデータに基づいて定まるハイモデルキャラクタ５４ａのスケルトンの状態と、状態データに基づいて定まるスケルトンの状態と、のずれを示す回転角度によって、ハイモデルキャラクタ５４ａのスケルトンの状態が変化する場合を説明したが、ハイモデルキャラクタ５４ａの形状の変更方法は、これに限られない。
【０１１４】
形状変化部４は、ハイモデルモーションデータに基づいて定まるハイモデルキャラクタ５４ａの形状を、ローモデルモーションデータに基づいて定まるローモデルキャラクタ５４ｂの形状に近づけるようにすればよい。他にも例えば、ハイモデルモーションデータに基づいて定まるハイモデルキャラクタ５４ａのスケルトンの位置と、状態データに基づいて定まる状態におけるスケルトンの位置と、の位置関係（位置ずれ量）に基づいてハイモデルキャラクタ５４ａの状態の変更が行われるようにしてもよい。
【０１１５】
（２）また例えば、上記実施形態においては、ハイモデルキャラクタ５４ａの左手の形状を、距離ｒが基準距離ｒ０に近づくにつれてローモデルキャラクタ５４ｂの左手の形状（例えば、半開きの形状）に近づける場合を説明したが、ハイモデルキャラクタ５４ａの形状が制御されるのは、左手に限られない。
【０１１６】
ハイモデルキャラクタ５４ａの状態が変更されるのは、ハイモデルキャラクタ５４ａにより表現される部位であればよい。例えば、ハイモデルキャラクタ５４ａの右手の形状が半開きの状態に近づくように制御されるようにしてもよいし、ハイモデルキャラクタ５４ａの足首のスケルトンの状態が回転角度が少なくなるように制御されるようにしてもよい。他にも例えば、ハイモデルキャラクタ５４ａの髪の毛の形状が、あまり動かなくなるように制御されるようにしてもよい。即ち、キャラクタ５４の各部位を示すスケルトンの状態が、状態データが示す状態に近づくように変更されるようにすればよい。
【０１１７】
（３）また例えば、実施形態においては、距離ｒが基準距離ｒ０未満である場合に、形状変化部４による処理が行われる場合を説明したが、形状変化部４による処理は、距離ｒが所定範囲（例えば、ｒ０／２＜ｒ＜ｒ０）である場合にのみ実行されるようにしてもよい。即ち、距離ｒが所定範囲でない場合、形状変化部４による制御が制限され、ハイモデルモーションデータに基づいてハイモデルキャラクタ５４ａの形状が決定されるようにしてもよい。
【０１１８】
［２．実施形態２］
次に、本発明に係る画像処理装置の実施形態２について説明する。実施形態１においては、ＬＯＤ切り替えを目立ちにくくするために、ハイモデルキャラクタ５４ａの形状をローモデルキャラクタ５４ｂの形状に近づけるように、ハイモデルキャラクタ５４ａの形状を調整する場合を説明した。ＬＯＤ切り替えを目立ちにくくするための処理は、実施形態１の例に限られない。
【０１１９】
実施形態２においては、所定の条件を満たしたキャラクタ５４について、優先的にハイモデルキャラクタ５４ａとローモデルキャラクタ５４ｂとの切替処理が行われる。例えば、切替処理を行っても切り替えが目立ちにくい状態のキャラクタ５４や、ユーザが画面上で見ている可能性が低いと考えられるキャラクタ５４について、優先的に切替処理が行われる。
【０１２０】
例えば、ユーザは、立ち止まっているキャラクタ５４の輪郭は、はっきりと見えるため、このキャラクタ５４に切替処理が行われると切り替えが目立ちやすい。一方、ユーザは、動いているキャラクタ５４の輪郭は、あまりはっきりと捉えられないので、このキャラクタ５４に切替処理が行われると切り替えが目立ちにくく、ユーザが感じる違和感が軽減される。このように、実施形態２のゲーム装置１０においては、優先順位の高いキャラクタ５４について切替処理が行われる構成になっている。
【０１２１】
実施形態２におけるゲーム装置１０のハードウェア構成図及び機能ブロック図は、それぞれ図１及び図４と同様であるので説明を省略する。ただし、実施形態２においては、形状変化部４は含まれていてもよいし含まれなくてもよい。ここでは、ゲーム装置１０に形状変化部４が含まれない場合を説明する。
【０１２２】
［２−１．実施形態２において実現される機能］
実施形態２のオブジェクト配置部２は、キャラクタオブジェクトとして、所与の詳細度の第１オブジェクト（例えば、ハイモデルキャラクタ５４ａ）又は第１オブジェクトよりも詳細度の低い第２オブジェクト（例えば、ローモデルキャラクタ５４ｂ）を仮想３次元空間（例えば、ゲーム空間５０）に配置する。
【０１２３】
ハイモデルキャラクタ５４ａとローモデルキャラクタ５４ｂとの配置方法は、実施形態１と同様であり、例えば、ゲーム状況データに格納されたキャラクタ５４の現在の状態とモーションデータとに基づいて、キャラクタ５４として、ハイモデルキャラクタ５４ａ又はハイモデルキャラクタ５４ａよりも詳細度の低いローモデルキャラクタ５４ｂがゲーム空間５０に配置される。
【０１２４】
実施形態２のオブジェクト切替部３は、視点（例えば、仮想カメラ５６）とキャラクタとの距離ｒが第１基準距離ｒ１（例えば、ｒ１＜ｒ０）未満になった場合、第２オブジェクト（例えば、ローモデルキャラクタ５４ｂ）を第１オブジェクト（例えば、ハイモデルキャラクタ５４ａ）に切り替える切替処理を行い、視点とキャラクタとの距離が第１基準距離よりも大きい第２基準距離ｒ２（例えば、ｒ０≦ｒ２）以上になった場合、第１オブジェクトを第２オブジェクトに切り替える切替処理を行う。
【０１２５】
図１３は、実施形態２のオブジェクト切替部３の処理内容を説明するための図である。図１３に示すように、距離ｒが第１基準距離ｒ１未満である場合、ハイモデルキャラクタ５４ａがゲーム空間５０に配置される。一方、距離ｒが第２基準距離ｒ２以上である場合、ローモデルキャラクタ５４ｂがゲーム空間５０に配置される。
【０１２６】
実施形態２においては、実施形態１とは異なり、距離ｒが所定範囲（ｒ１≦ｒ＜ｒ２）である場合、ハイモデルキャラクタ５４ａ又はローモデルキャラクタ５４ｂの何れかが配置されることになる。即ち、距離ｒが所定範囲であるキャラクタ５４は、ハイモデルキャラクタ５４ａで描画される場合もあれば、ローモデルキャラクタ５４ｂで描画される場合もある。
【０１２７】
オブジェクト切替部３は、視点（例えば、仮想カメラ５６）とキャラクタとの距離が第１基準距離ｒ１以上第２基準距離ｒ２未満である場合、オブジェクト（例えば、キャラクタ５４）の位置又は姿勢が、位置又は姿勢に関する所与の条件を満たすか否かを判定し、当該判定結果に基づいて、第１オブジェクト（例えば、ハイモデルキャラクタ５４ａ）と第２オブジェクト（例えば、ローモデルキャラクタ５４ｂ）との切替処理を行う。例えば、キャラクタ５４の現在の位置又は姿勢と、所与の条件が示す位置又は姿勢と、が比較される。
【０１２８】
切替処理は、キャラクタ５４をハイモデルキャラクタ５４ａからローモデルキャラクタ５４ｂに切り替える処理、又は、キャラクタ５４をローモデルキャラクタ５４ｂからハイモデルキャラクタ５４ａに切り替える処理の何れかである。本実施形態においては、前者の処理が実行される場合を説明する。
【０１２９】
本実施形態においては、オブジェクト切替部３は、対象期間におけるキャラクタ（例えば、キャラクタ５４）の位置変化（移動量又は移動速度）が基準量以上であるか否かを判定し、対象期間におけるキャラクタの位置変化が基準量以上である場合、第１オブジェクト（例えば、ハイモデルキャラクタ５４ａ）と第２オブジェクト（例えば、ローモデルキャラクタ５４ｂ）との切替処理を行う、場合を説明する。
【０１３０】
キャラクタ５４の位置変化は、ゲーム状況データに格納されたキャラクタ５４の位置に基づいて取得される。基準量は、予め定められた位置変化量であればよい。オブジェクト切替部３は、位置変化量が大きいキャラクタ５４を優先的に、ハイモデルキャラクタ５４ａとローモデルキャラクタ５４ｂとの切替処理を行う。
【０１３１】
［２−２．実施形態２において実行される処理］
次に、ゲーム装置１０が実行する処理について説明する。図１４及び図１５は、ゲーム装置１０が実行する処理のうちの、本発明に関連する処理を主に示すフロー図である。制御部１４は、例えば、光ディスク３４に記憶されるプログラムに従って、所定時間毎（例えば、１／６０秒毎）に図１４及び図１５に示す処理を実行する。
【０１３２】
図１４に示すように、制御部１４は、ゲーム状況データを参照し、仮想カメラ５６とキャラクタ５４との距離ｒを算出する（Ｓ２０）。制御部１４は、Ｓ２０で算出された距離ｒが所定範囲であるか否かを判定する（Ｓ２１）。
【０１３３】
距離ｒが第１基準距離ｒ１未満であると判定された場合（Ｓ２１；ｒ＜ｒ１）、制御部１４は、キャラクタ５４として、ハイモデルキャラクタ５４ａを配置してハイモデルモーションデータに基づいてスケルトンの状態を制御する（Ｓ２２）。Ｓ２２においては、キャラクタ５４がローモデルキャラクタ５４ｂで描画されていた場合には、ローモデルキャラクタ５４ｂからハイモデルキャラクタ５４ａへの切替処理が実行される。ハイモデルモーションデータに基づいてハイモデルキャラクタ５４ａの状態変化を行う方法は、実施形態１と同様である。
【０１３４】
距離ｒが第２基準距離ｒ２以上であると判定された場合（Ｓ２１；ｒ≧ｒ２）、制御部１４は、キャラクタ５４として、ローモデルキャラクタ５４ｂを配置してローモデルモーションデータに基づいてスケルトンの状態を制御する（Ｓ２３）。Ｓ２３においては、キャラクタ５４がハイモデルキャラクタ５４ａで描画されていた場合には、ハイモデルキャラクタ５４ａからローモデルキャラクタ５４ｂへの切替処理が実行される。ローモデルモーションデータに基づいてローモデルキャラクタ５４ｂのスケルトンの状態変化を行う方法は、実施形態１と同様である。
【０１３５】
距離ｒが第１基準距離ｒ１以上第２基準距離ｒ２未満であると判定された場合（Ｓ２１；ｒ１≦ｒ＜ｒ２）、制御部１４は、キャラクタ５４がハイモデルキャラクタ５４ａとして描画されているか否かを判定する（Ｓ２４）。Ｓ２４における処理は、実施形態１のＳ３と同様である。
【０１３６】
ハイモデルキャラクタ５４ａが配置されていると判定された場合（Ｓ２４；Ｙ）、制御部１４は、ゲーム状況データを参照して、キャラクタ５４の位置又は姿勢が、位置又は姿勢に関する所与の条件を満たすか否かを判定する（Ｓ２５）。例えば、ゲーム状況データに格納されたキャラクタ５４の位置に基づいて、キャラクタ５４の位置変化が取得される。この取得された位置変化と予め定められた基準量とが比較されることによって、Ｓ２５の判定が行われる。
【０１３７】
キャラクタ５４の位置又は姿勢が、位置又は姿勢に関する所定の条件を満たすと判定された場合（Ｓ２５；Ｙ）、制御部１４は、ハイモデルキャラクタ５４ａからローモデルキャラクタ５４ｂへの切替処理を実行する（Ｓ２６）。制御部１４は、ローモデルモーションデータに基づいて、ローモデルキャラクタ５４ｂのスケルトンの状態を制御する（Ｓ２７）。
【０１３８】
キャラクタ５４の位置又は姿勢が、位置又は姿勢に関する所定の条件を満たさないと判定された場合（Ｓ２５；Ｎ）、制御部１４は、切替処理の実行を制限し、ハイモデルキャラクタ５４ａのスケルトンの状態をハイモデルモーションデータに基づいて制御する（Ｓ２８）。
【０１３９】
制御部１４は、決定されたキャラクタ５４の状態に基づいてゲーム状況データを更新する（Ｓ２９）。制御部１４は、仮想カメラ５６の視野内の全てのキャラクタ５４の形状を決定したか否かを判定する（Ｓ３０）。
【０１４０】
仮想カメラ５６の視野内の全てのキャラクタ５４の状態を決定したと判定されない場合（Ｓ３０；Ｎ）、処理はＳ２０に戻り、次のキャラクタ５４の状態が決定される。仮想カメラ５６の視野内の全てのキャラクタ５４の形状を決定したと判定された場合（Ｓ３０；Ｙ）、制御部１４は、ゲーム状況データに基づいて画面を表示させる（Ｓ３１）。
【０１４１】
以上説明したゲーム装置１０によれば、切替処理を行っても当該切り替えが目立たないキャラクタ５４について、優先的に、ハイモデルキャラクタ５４ａからローモデルキャラクタ５４ｂに切り替えることができる。したがって、切替処理によるキャラクタ５４の切り替えを目立ちにくくすることができ、ユーザが感じる違和感を軽減することができる。
【０１４２】
［２−３．実施形態２の変形例］
なお、本発明は、以上に説明した実施の形態に限定されるものではない。本発明の趣旨を逸脱しない範囲で、適宜変更可能である。
【０１４３】
（１）例えば、切り替えが目立ちにくい所定の姿勢（例えば、キャラクタ５４が屈んでいる姿勢等）をキャラクタ５４がとっている場合に切替処理を実行することによって、ハイモデルキャラクタ５４ａとローモデルキャラクタ５４ｂとの切り替えを目立ちにくくするようにしてもよい。
【０１４４】
本変形例のオブジェクト切替部３は、キャラクタ５４の姿勢が所与の姿勢であるか否かを判定し、キャラクタ５４の姿勢が所与の姿勢である場合、第１オブジェクト（例えば、ハイモデルキャラクタ５４ａ）と第２オブジェクト（例えば、ローモデルキャラクタ５４ｂ）との切替処理を行う。
【０１４５】
本変形例においては、図１４及び図１５と同様の処理が実行されるが、Ｓ２５における処理内容が実施形態２とは異なる。本変形例のＳ２５においては、ゲーム状況データに格納されたキャラクタ５４のスケルトンの位置関係が、所定の位置関係であるか否かが判定される。即ち、キャラクタ５４の所定のスケルトン（例えば、腰部分のスケルトン）と各部のスケルトンとの位置関係が、所定の位置関係であるかが判定されることによって、キャラクタ５４の姿勢が所与の姿勢であるか否かが判定される。
【０１４６】
Ｓ２５においてキャラクタ５４の姿勢が所与の姿勢であると判定された場合、処理はＳ２６に移行する。この場合、キャラクタ５４の切替処理を実行しても切り替えが目立たない姿勢であるので、Ｓ２６の処理が実行される。Ｓ２５においてキャラクタ５４の姿勢が所与の姿勢であると判定されない場合、処理はＳ２８に移行する。この場合、キャラクタ５４の切替処理を実行してしまうと切り替えが目立つ姿勢であるので、切替処理の実行が制限される。
【０１４７】
（２）また例えば、ユーザが見ている可能性が低いと考えられるキャラクタ５４について、優先的に切替処理を実行するようにしてもよい。例えば、仮想３次元空間（例えば、ゲーム空間５０）に移動物体（ボールやパック、車両等）を示すオブジェクトが配置される場合、ユーザは、移動物体を注視していると考えられる。即ち、画面上において移動物体から離れて表示されているキャラクタ５４は、ユーザが注視している可能性が低い。そこで、移動物体から離れているキャラクタ５４について、優先的に切替処理を実行することによって、切り替えを目立たなくさせるようにしてもよい。
【０１４８】
図１６は、移動物体が配置されたゲーム空間５０を示す図である。図１６に示すように、例えば、ゲーム空間５０にはボールを示すオブジェクトであるボール５７が配置される。この場合、例えば、ユーザがキャラクタ５４を操作してボール５７を移動させるサッカーゲームが実行される。ボール５７の位置や移動方向、移動速度を示す情報は、例えば、ゲーム状況データに格納される。
【０１４９】
このようなゲームにおいては、ユーザは、ボール５７に注目してゲームをプレイしていると考えられる。そこで、例えば、画面上においてボール５７との距離が所定距離以上であるキャラクタ５４について、優先的に切替処理を実行する。
【０１５０】
例えば、ゲーム空間５０が図１６に示す状況の場合、６体のキャラクタ５４−１〜５４−６について、距離ｒが第１基準距離ｒ１以上第２基準距離ｒ２未満であるとする。この場合、例えば、キャラクタ５４−１〜５４−４は、ボール５７の近くに表示される。また例えば、キャラクタ５４−５〜５４−６は、ボール５７から遠くに表示される。そこで、この場合、キャラクタ５４−５〜５４−６の２体について、切替処理を実行する。
【０１５１】
本変形例のオブジェクト切替部３は、キャラクタ５４と移動物体との位置関係が所与の位置関係であるか否かを判定し、キャラクタ５４と移動物体（例えば、ボール５７）との位置関係が所与の位置関係である場合、第１オブジェクト（例えば、ハイモデルキャラクタ５４ａ）と第２オブジェクト（例えば、ローモデルキャラクタ５４ｂ）との切替処理を行う。
【０１５２】
本変形例においては、図１４及び図１５と同様の処理が実行されるが、Ｓ２５における処理内容が実施形態２とは異なる。本変形例のＳ２５においては、ゲーム状況データに格納されたキャラクタ５４の位置と、ボール５７の位置と、の位置関係が所与の関係であるか否かが判定される。即ち、キャラクタ５４の表示位置とボール５７の表示位置との距離が所定範囲（例えば、基準距離以内）であるか否かが判定されることによって、キャラクタ５４とボール５７との位置関係が所与の位置関係であるか否かが判定される。
【０１５３】
Ｓ２５においてキャラクタ５４とボール５７との位置関係が所与の位置関係であると判定された場合、処理はＳ２６に移行する。この場合、キャラクタ５４の切替処理を実行しても切り替えが目立たない位置にキャラクタ５４がいるので、Ｓ２６の処理が実行される。Ｓ２５においてキャラクタ５４とボール５７との位置関係が所与の位置関係であると判定されない場合、処理はＳ２８に移行する。この場合、キャラクタ５４の切替処理を実行してしまうと切り替えが目立つ位置にキャラクタ５４がいるので、切替処理の実行が制限される。
【０１５４】
（３）また例えば、キャラクタ５４と仮想カメラ５６との位置関係に基づいて、ユーザが見ている可能性が低いキャラクタが判定されるようにしてもよい。例えば、ユーザは、仮想カメラ５６の注視点付近（つまり、画面の中央付近）を見ていると考えられるので、仮想カメラ５６の注視点から離れているキャラクタ５４について、優先的に切替処理を実行するようにしてもよい。
【０１５５】
本変形例のオブジェクト切替部３は、視点（例えば、仮想カメラ５６）とキャラクタ５４との位置関係が所与の位置関係であるか否かを判定し、視点とキャラクタ５４との位置関係が所与の位置関係である場合、第１オブジェクト（例えば、ハイモデルキャラクタ５４ａ）と第２オブジェクト（例えば、ローモデルキャラクタ５４ｂ）との切替処理を行う。
【０１５６】
本変形例においては、図１４及び図１５と同様の処理が実行されるが、Ｓ２５における処理内容が実施形態２とは異なる。本変形例のＳ２５においては、ゲーム状況データに格納されたキャラクタ５４の位置と、仮想カメラ５６の注視点と、の位置関係が所与の関係であるか否かが判定される。
【０１５７】
例えば、キャラクタ５４の位置と仮想カメラ５６の注視点との距離が所定範囲（例えば、基準距離以内）であるか否かが判定されることによって、キャラクタ５４と仮想カメラ５６との位置関係が所与の位置関係であるか否かが判定される。また例えば、キャラクタ５４の表示位置と画面の中心点との距離が所定範囲であるか否かが判定されることによって、キャラクタ５４と仮想カメラ５６との位置関係が所与の位置関係であるか否かが判定されるようにしてもよい。
【０１５８】
Ｓ２５においてキャラクタ５４と仮想カメラ５６との位置関係が所与の位置関係であると判定された場合、処理はＳ２６に移行する。この場合、キャラクタ５４の切替処理を実行しても切り替えが目立たない位置にキャラクタ５４がいるので、Ｓ２６の処理が実行される。Ｓ２５においてキャラクタ５４と仮想カメラ５６との位置関係が所与の姿勢であると判定されない場合、処理はＳ２８に移行する。この場合、キャラクタ５４の切替処理を実行してしまうと切り替えが目立つ位置にキャラクタ５４がいるので、切替処理の実行が制限される。
【０１５９】
例えば、ゲーム空間５０が図１６に示す状況の場合、キャラクタ５４−１〜５４−４は、画面の中央に表示されるので、切替処理が実行されない。一方、キャラクタ５４−５〜５４−６は、画面の端部付近に表示されるので、切替処理が実行される。ユーザは、画面の端部付近を見ている可能性は低いので、キャラクタ５４−５〜５４−６について、優先的に切替処理が行われることによって、ユーザの違和感を軽減させることができる。
【０１６０】
なお、上記においては、画面の端部付近に表示されるキャラクタ５４について、優先的に切替処理が実行される場合を説明したが、他にも例えば、仮想カメラ５６の視野から外れたキャラクタ５４について、優先的に切替処理が実行されるようにしてもよい。
【０１６１】
（４）また例えば、キャラクタ５４の位置によってキャラクタ５４の輝度が異なるような場合、キャラクタ５４の位置に応じて切替処理を行うか否かが判定されるようにしてもよい。例えば、キャラクタ５４が暗く表される位置にいた場合には、ユーザがキャラクタ５４を視認しにくいので、切替処理を行っても切り替えが目立たなくなる。そこで、例えば、暗く表される位置にいるキャラクタ５４について、優先的に切替処理が実行されるようにしてもよい。
【０１６２】
図１７は、ゲーム空間５０の位置によってキャラクタ５４の輝度が異なる様子を説明するための図である。図１７に示すように、例えば、ゲーム空間５０には、光源５８と、遮蔽物を示すオブジェクトである遮蔽物５９が配置される。例えば、光源５８と遮蔽物５９との位置関係に基づいて、キャラクタ５４の輝度が下がる領域５２ａが決定される。この領域５２ａにキャラクタ５４がいる場合、キャラクタ５４の輝度が下がるため、キャラクタ５４が視認しづらくなる。そこで、このキャラクタ５４について、優先的に切替処理が実行される。例えば、図１７に示す場合、キャラクタ５４−７について切替処理が実行されるが、キャラクタ５４−８については切替処理が実行されない。
【０１６３】
本変形例のオブジェクト切替部３は、キャラクタ５４の位置が所定領域内であるか否かを判定し、キャラクタ５４の位置が所定領域内である場合、第１オブジェクト（例えば、ハイモデルキャラクタ５４ａ）と第２オブジェクト（例えば、ローモデルキャラクタ５４ｂ）との切替処理を行う。
【０１６４】
本変形例においては、図１４及び図１５と同様の処理が実行されるが、Ｓ２５における処理内容が実施形態２とは異なる。本変形例のＳ２５においては、ゲーム状況データに格納されたキャラクタ５４の位置が所定領域内であるか否かが判定される。
【０１６５】
Ｓ２５においてキャラクタ５４の位置が所定領域内であると判定された場合、処理はＳ２６に移行する。この場合、キャラクタ５４の切替処理を実行しても切り替えが目立たない位置にキャラクタ５４がいるので、Ｓ２６の処理が実行される。Ｓ２５においてキャラクタ５４の位置が所定領域内であると判定されない場合、処理はＳ２８に移行する。この場合、キャラクタ５４の切替処理を実行してしまうと切り替えが目立つ位置にキャラクタ５４がいるので、切替処理の実行が制限される。
【０１６６】
（５）また例えば、実施形態２及び上記実施形態においては、ハイモデルキャラクタ５４ａからローモデルキャラクタ５４ｂに切り替える場合を説明したが、ローモデルキャラクタ５４ｂからハイモデルキャラクタ５４ａに切り替える処理が実行されるようにしてもよい。
【０１６７】
この場合、Ｓ２４において、キャラクタ５４がハイモデルキャラクタ５４ａとして描画されていると判定された場合、処理はＳ２７に移行する。また、Ｓ２４において、キャラクタ５４がローモデルキャラクタ５４ｂとして描画されていると判定された場合、処理はＳ２５に移行する。そして、Ｓ２７の処理とＳ２８の処理とが入れ替わる。即ち、Ｓ２６で切替処理が実行されると、ローモデルキャラクタ５４ｂからハイモデルキャラクタ５４ａへと切り替わる。Ｓ２７においては、ハイモデルキャラクタ５４ａの状態が制御される。Ｓ２８においては、ローモデルキャラクタ５４ｂの状態が制御される。
【０１６８】
（６）また例えば、実施形態１と実施形態２とを組み合わせるようにしてもよい。即ち、実施形態２においては、ゲーム装置１０に形状変化部４が含まれない場合を説明したが、ゲーム装置１０に、形状変化部４が含まれていてもよい。この場合、例えば、距離ｒが第１基準距離ｒ１以上第２基準距離ｒ２未満であり、ハイモデルキャラクタ５４ａが配置されていた場合、距離ｒが第２基準距離ｒ２に近づくにつれて、ハイモデルキャラクタ５４ａの状態が状態に近づくように、ハイモデルキャラクタ５４ａの状態が制御される。
【０１６９】
［３．その他変形例］
なお、本発明は、以上に説明した実施形態１及び実施形態２に限定されるものではない。
【０１７０】
例えば、本発明は、実施形態や変形例において説明したゲーム以外にも適用することができる。本発明は、仮想３次元空間を所与の視点から見た画像を表示させる技術に適用することができる。例えば、仮想３次元空間に配置されるオブジェクトはキャラクタを示すものに限られず、他にも例えば、風に揺れる樹木を表すアニメーション処理に、本発明を適用してもよい。
【符号の説明】
【０１７１】
１  ゲームデータ記憶部、２  オブジェクト配置部、３  オブジェクト切替部、４  形状変化部、１０  ゲーム装置、１１  携帯ゲーム機、１２  バス、１４  制御部、１６  記憶部、１８  主記憶、２０  画像処理部、２２  表示部、２４  タッチパネル、２６  入出力処理部、２８  メモリカードスロット、３０  メモリカード、３２  光ディスク再生部、３４  光ディスク、３６  操作キー部、３８  音声処理部、４０  音声出力部、４２  音声入力部、５０  ゲーム空間、５２  フィールド、５４  キャラクタ、５４ａ  ハイモデルキャラクタ、５４ｂ  ローモデルキャラクタ、５６  仮想カメラ、５７  ボール、５８  光源、５９  遮蔽物、ｒ  距離。
【図１】
0005325253.tif 000002
【図２】
0005325253.tif 000003
【図３】
0005325253.tif 000004
【図４】
0005325253.tif 000005
【図５】
0005325253.tif 000006
【図６】
0005325253.tif 000007
【図７】
0005325253.tif 000008
【図８】
0005325253.tif 000009
【図９】
0005325253.tif 000010
【図１０】
0005325253.tif 000011
【図１１】
0005325253.tif 000012
【図１２】
0005325253.tif 000013
【図１３】
0005325253.tif 000014
【図１４】
0005325253.tif 000015
【図１５】
0005325253.tif 000016
【図１６】
0005325253.tif 000017
【図１７】
0005325253.tif 000018
【図１８】
0005325253.tif 000019