(57)【要約】      （修正有）【課題】２次元画像群による３次元的描画表現と３次元オブジェクトを用いた描画表現を混在させた場合であっても、好適な画像提示を行う。【解決手段】各々が２次元画像で構成されたパーツ群により３次元的表現を実現する第１種別の描画オブジェクトについて、３次元空間における配置位置と視点情報に基づいて描画方向を決定し、オブジェクトを構成する各パーツの形状及び奥行き順序を描画方向に応じて変更し、変更されたオブジェクトを構成する各パーツの２次元画像を視点からオブジェクトの配置位置の奥行き方向と直交する平板オブジェクトに適用することで、第１種別の描画オブジェクトを３次元空間に配置し、配置されたオブジェクトを描画する。また、第１種別の描画オブジェクトを構成する少なくとも一部のパーツに対応付けられた、３次元空間における起伏情報に基づき、パーツの２次元画像が適用された平板オブジェクトを変形させる。【選択図】図８
2019096165.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、各々が２次元画像で構成されたパーツ群によって３次元的表現を実現する第１の種別の描画オブジェクトであって、描画される方向に応じてパーツ群の形状及び奥行き順序を変更することで、該方向に係る３次元的表現を実現する第１の種別の描画オブジェクトと、３次元形状を定義した第２の種別の描画オブジェクトと、を３次元空間に配置して描画させるプログラムであって、
前記第１の種別の描画オブジェクトについて、該オブジェクトの前記３次元空間における配置位置と描画を行う視点を示す視点情報とに基づいて、該オブジェクトの描画される描画方向を決定する処理と、
前記第１の種別の描画オブジェクトを構成する各パーツの形状及び奥行き順序を、決定された前記描画方向に応じて変更する処理と、
前記変更がなされた前記第１の種別の描画オブジェクトを構成する各パーツの２次元画像を、前記視点から前記第１の種別の描画オブジェクトの配置位置に向かう奥行き方向と直交する平面を有する平板オブジェクトに適用することで、前記第１の種別の描画オブジェクトを前記３次元空間に配置する処理と、
前記第２の種別の描画オブジェクトを前記３次元空間に配置する処理と、
前記視点情報に基づいて、前記３次元空間に配置された前記第１の種別の描画オブジェクト及び前記第２の種別の描画オブジェクトを描画する処理と、
を有し、
前記第１の種別の描画オブジェクトを配置する処理が、前記第１の種別の描画オブジェクトを構成する少なくとも一部のパーツに対応付けられた、前記３次元空間における位置の情報を含む起伏情報に基づき、該パーツの２次元画像が適用された前記平板オブジェクトを変形させる処理を含む
ことを特徴とするプログラム。
【請求項２】
前記起伏情報に基づいて変形される前記平板オブジェクトは、該変形の前後で前記奥行き方向における面形状が変化しないことを特徴とする請求項１に記載のプログラム。
【請求項３】
前記第１の種別の描画オブジェクトは、前記３次元空間における該オブジェクトの配置位置を定める基準点を中心に回転するよう、姿勢が設定されるものであり、
前記描画方向は、前記視点と前記基準点の位置関係、及び前記基準点における前記第１の種別の描画オブジェクトの回転量に基づいて決定される
ことを特徴とする請求項１または２に記載のプログラム。
【請求項４】
前記プログラムは、動的要素の適用を行うことで、前記第１の種別の描画オブジェクトを構成する少なくともいずれかのパーツの状態に変更を加える処理を、前記コンピュータにさらに実行させ、
前記起伏情報は、前記動的要素の適用により変更される
ことを特徴とする請求項３に記載のプログラム。
【請求項５】
前記第１の種別の描画オブジェクトを構成する各パーツの形状及び奥行き順序を変更する処理は、前記動的要素の適用により前記起伏情報が変更されたことに応じて、前記起伏情報が対応付けられたパーツの形状及び奥行き順序の少なくともいずれかを変更する処理を含むことを特徴とする請求項４に記載のプログラム。
【請求項６】
前記起伏情報は、前記動的要素の適用がなされていない状態の前記第１の種別の描画オブジェクトに対し、前記３次元空間における前記基準点との相対位置が定められた点群の情報、及び該点群を結束する結束情報で構成され、
前記動的要素の適用がなされた状態の前記点群の各点の前記３次元空間における位置は、前記基準点の位置、該点に対する動的要素の適用により生じる移動、及び該点と結束された点との結束に係る前記結束情報に基づいて決定される
ことを特徴とする請求項４または５に記載のプログラム。
【請求項７】
前記点群は、前記結束情報で示されるボーンを介して、前記基準点から順に接続されるジョイント群であり、
各ジョイントには、前記第１の種別の描画オブジェクトに対する前記動的要素の適用の有無に依らず、前記基準点との相対位置を維持するか否かの情報が関連付けられ、
前記動的要素の適用による前記起伏情報の変更は、前記基準点との相対位置を維持しないとの情報が関連付けられたジョイントに対して行われる
ことを特徴とする請求項６に記載のプログラム。
【請求項８】
前記動的要素の適用がなされた状態の各ジョイントの前記３次元空間における位置の決定は、結束順において、前記基準点までの間に存在するボーン数が少ないジョイントから順に行われることを特徴とする請求項７に記載のプログラム。
【請求項９】
前記動的要素の適用がなされた状態の各ジョイントの前記３次元空間における位置は、物理演算に基づいて決定されることを特徴とする請求項７または８に記載のプログラム。
【請求項１０】
前記動的要素の適用がなされた状態の各ジョイントの前記３次元空間における位置は、前記第２の種別の描画オブジェクトと交差しないように決定されることを特徴とする請求項７乃至９のいずれか１項に記載のプログラム。
【請求項１１】
前記動的要素の適用がなされた状態の各ジョイントの前記３次元空間における位置を決定したことにより、いずれかのボーンが前記第２の種別の描画オブジェクトと交差する場合に、該ボーンに新たなジョイントを追加し、前記第２の種別の描画オブジェクトと交差しないように前記起伏情報を変更することを特徴とする請求項１０に記載のプログラム。
【請求項１２】
前記起伏情報に基づく前記平板オブジェクトの変形は、該平板オブジェクトを前記３次元空間に配置した際に、適用された２次元画像に対して定義されている各頂点と最も近接するジョイントまたはボーン上の点の前記３次元空間における位置に応じて、前記奥行き方向における該頂点の深度値を変更することにより行われることを特徴とする請求項７乃至１１のいずれか１項に記載のプログラム。
【請求項１３】
前記第１の種別の描画オブジェクトを構成する各パーツの形状及び奥行き順序を変更する処理は、前記視点との距離に応じて、該パーツの形状を変更する処理を含むことを特徴とする請求項１乃至１２のいずれか１項に記載のプログラム。
【請求項１４】
各々が２次元画像で構成されたパーツ群によって３次元的表現を実現する第１の種別の描画オブジェクトであって、描画される方向に応じてパーツ群の形状及び奥行き順序を変更することで、該方向に係る３次元的表現を実現する第１の種別の描画オブジェクトと、３次元形状を定義した第２の種別の描画オブジェクトと、を３次元空間に配置して描画する描画方法であって、
前記第１の種別の描画オブジェクトについて、該オブジェクトの前記３次元空間における配置位置と描画を行う視点を示す視点情報とに基づいて、該オブジェクトの描画される描画方向を決定する決定工程と、
前記第１の種別の描画オブジェクトを構成する各パーツの形状及び奥行き順序を、前記決定工程において決定された前記描画方向に応じて変更する変更工程と、
前記変更工程において変更がなされた前記第１の種別の描画オブジェクトを構成する各パーツの２次元画像を、前記視点から前記第１の種別の描画オブジェクトの配置位置に向かう奥行き方向と直交する平面を有する平板オブジェクトに適用することで、前記第１の種別の描画オブジェクトを前記３次元空間に配置する第１の配置工程と、
前記第２の種別の描画オブジェクトを前記３次元空間に配置する第２の配置処理と、
前記視点情報に基づいて、前記３次元空間に配置された前記第１の種別の描画オブジェクト及び前記第２の種別の描画オブジェクトを描画する描画工程と、
を有し、
前記第１の配置工程は、前記第１の種別の描画オブジェクトを構成する少なくとも一部のパーツに対応付けられた、前記３次元空間における位置の情報を含む起伏情報に基づき、該パーツの２次元画像が適用された前記平板オブジェクトを変形させる工程を含む
ことを特徴とする描画方法。
【請求項１５】
請求項１乃至１３のいずれか１項に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、記録媒体及び描画方法に関し、特に２次元画像の外観を変化させることで、該画像の３次元的な描画表現の提示を可能ならしめる技術に関する。
【背景技術】
【０００２】
デザイナによって描かれたキャラクタ等の２次元画像を、設定されたパラメータに応じて変形することで、該２次元画像による３次元的な描画表現を可能ならしめる技術がある。特許文献１に記載の技術では、２次元画像で各パーツがデザインされたキャラクタ等について、各パーツの位置や形状、奥行き順序を変更することで、種々の方向から該キャラクタを観賞した際の状態を、３次元モデルを用いることなく提示することができる。
【０００３】
ところで、近年では好適なプレイ体験を提供ならしめるべく、３次元コンピュータグラフィックス（３ＤＣＧ）を表示画面として提示する電子ゲームや映像コンテンツが増加傾向にある。これは、モーション適用の容易性や陰影描画等の描画表現の拡張性に依るところもある。一方で、３次元モデルを描画することにより画面提示を行う場合、トゥーンレンダリング等の表現技法も開発されているが、描画する方向によっては、特にキャラクタの顔等が２次元画像にてデザイナが想定していたような好適な描画表現とならないこともある。このため、キャラクタの頭部等の一部の部位は２次元画像による３次元的な描画表現を用い、それ以外の部位や周囲の環境オブジェクト等を３次元モデルを用いて表現する手法が提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許第８７９１９４２号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００５】
２次元画像群を用いた３次元的な描画表現（以下、簡易的に拡張２次元オブジェクトを用いた描画表現）と３次元オブジェクトを用いた描画表現とを混在させる場合、最終的には拡張２次元オブジェクトと３次元オブジェクトとが描画オブジェクトとして同一の３次元空間に配置され、３ＤＣＧと同様に、視点情報に基づく所定の視体積中の描画オブジェクト群が描画されることによって表示画面が生成される。
【０００６】
ここで、拡張２次元オブジェクトの描画は、図３に示されるように、視点３０１と拡張２次元オブジェクトの基準配置位置（基準点）３０２とを結ぶ直線に直交する平面群に、各パーツの２次元画像が配置されることで行われる。換言すれば、視点と基準点３０２との位置関係に応じて拡張２次元オブジェクトの描画される方向（観賞方向／描画方向）が定まり、該方向に対応付けられた各パーツの２次元画像の位置、形状及び奥行き順序に基づいて、対応する平板オブジェクト（所謂ビルボードであってよい）３０７が配置され、２次元画像が各々適用され、描画される。
【０００７】
拡張２次元オブジェクトの描画方式がこのようであるため、３次元オブジェクトと混在させる場合、視点から見た場合に該３次元オブジェクト４０１により遮蔽される関係にある拡張２次元オブジェクトの一部のパーツ（平板オブジェクト）４０２については、図４（ａ）に示されるように３次元オブジェクトよりも長い奥行き情報が設定され、３次元空間に配置される。
【０００８】
ところで、上述した通り、拡張２次元オブジェクトの各パーツの２次元画像を適用する平板オブジェクトは、視点と基準点とに応じて決定されるため、異なる位置に視点が設定される場合、図４（ｂ）に示されるように、拡張２次元オブジェクトに係る該視点に対応した平板オブジェクト４１１と３次元オブジェクト４０１とが空間内で干渉し、好適な描画表現がなされない可能性があった。
【０００９】
本発明は、上述の問題点に鑑みてなされたものであり、２次元画像群を用いた３次元的な描画表現と３次元オブジェクトを用いた描画表現を混在させた場合であっても、好適な画像提示を行うプログラム、記録媒体及び描画方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
前述の目的を達成するために、本発明のプログラムは、コンピュータに、各々が２次元画像で構成されたパーツ群によって３次元的表現を実現する第１の種別の描画オブジェクトであって、描画される方向に応じてパーツ群の形状及び奥行き順序を変更することで、該方向に係る３次元的表現を実現する第１の種別の描画オブジェクトと、３次元形状を定義した第２の種別の描画オブジェクトと、を３次元空間に配置して描画させるプログラムであって、第１の種別の描画オブジェクトについて、該オブジェクトの３次元空間における配置位置と描画を行う視点を示す視点情報とに基づいて、該オブジェクトの描画される描画方向を決定する処理と、第１の種別の描画オブジェクトを構成する各パーツの形状及び奥行き順序を、決定された描画方向に応じて変更する処理と、変更がなされた第１の種別の描画オブジェクトを構成する各パーツの２次元画像を、視点から第１の種別の描画オブジェクトの配置位置に向かう奥行き方向と直交する平面を有する平板オブジェクトに適用することで、第１の種別の描画オブジェクトを３次元空間に配置する処理と、第２の種別の描画オブジェクトを３次元空間に配置する処理と、視点情報に基づいて、３次元空間に配置された第１の種別の描画オブジェクト及び第２の種別の描画オブジェクトを描画する処理と、を有し、第１の種別の描画オブジェクトを配置する処理が、第１の種別の描画オブジェクトを構成する少なくとも一部のパーツに対応付けられた、３次元空間における位置の情報を含む起伏情報に基づき、該パーツの２次元画像が適用された平板オブジェクトを変形させる処理を含むことを特徴とする。
【発明の効果】
【００１１】
このような構成により本発明によれば、２次元画像群を用いた３次元的な描画表現と３次元オブジェクトを用いた描画表現を混在させた場合であっても、好適な画像提示を行うことが可能となる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態及び変形例に係るＰＣ１００の機能構成を示したブロック図
【図２】本発明の実施形態及び変形例に係るＰＣ１００で実行される描画アプリケーションについて、実現されるモジュール構成を示したブロック図
【図３】拡張２次元オブジェクトの描画方法を説明するための図
【図４】拡張２次元オブジェクト及び３次元オブジェクトを３次元空間に共存させる場合の描画方法を説明するための図
【図５】本発明の実施形態１に係る起伏情報を説明するための図
【図６】本発明の実施形態１に係る、起伏情報に基づく平板オブジェクトの形状制御を説明するための図
【図７】本発明の実施形態１に係る、起伏情報に基づく平板オブジェクトの形状制御を説明するための別の図
【図８】本発明の実施形態１に係る、ＰＣ１００で実行される表示制御処理を例示したフローチャート
【図９】本発明の実施形態２に係る、物理点に基づくメッシュ形状制御を説明するための図
【図１０】本発明の実施形態２に係る、起伏情報に基づく平板オブジェクトの形状制御を説明するための図
【図１１】本発明の実施形態２に係る、ＰＣ１００で実行される表示制御処理を例示したフローチャート
【図１２】本発明の変形例に係る、３次元オブジェクトに基づく平板オブジェクトの形状制御を説明するための図
【図１３】本発明の実施形態３に係る、視点との距離に応じた拡張２次元オブジェクトの描画を説明するための図
【図１４】本発明の実施形態３に係る、起伏情報に基づく平板オブジェクトの形状制御を説明するための図
【図１５】本発明の実施形態３に係る、ＰＣ１００で実行される表示制御処理を例示したフローチャート
【図１６】本発明の実施形態４に係る、ＰＣ１００で実行される表示制御処理を例示したフローチャート
【図１７】本発明の実施形態及び変形例の複合態様に係る効果を説明するための図
【図１８】本発明の実施形態及び変形例の複合態様に係る効果を説明するための別の図
【発明を実施するための形態】
【００１３】
［実施形態１］
以下、本発明の例示的な実施形態について、図面を参照して詳細に説明する。なお、以下に説明する一実施形態は、描画用プログラムの一例としての、画面描画機能を有する汎用的な情報処理端末（ＰＣ）にインストール・実行可能に構成された描画用ソフトウェアに、本発明を適用した例を説明する。しかし、本発明は、画面描画機能を有する任意の機器において実行されることで、本発明に係る拡張２次元オブジェクトの３次元的表現を提供することが可能な任意のプログラムに適用可能である。
【００１４】
本明細書において、本発明に係る第１の種別の描画オブジェクトとしての「拡張２次元オブジェクト」とは、各々が２次元画像で構成されたパーツ群を用いることで３次元的表現を提供可能に構成された描画オブジェクトであり、該オブジェクトを構成するパーツ群の位置、形状及び奥行き順序を描画される方向（描画方向）に応じて変更することで、該方向に係る３次元的表現を実現可能に構成された描画オブジェクトを指すものとする。即ち、拡張２次元オブジェクトは、３次元形状は定義しないが、パーツの２次元画像の変更を行うことで、種々の描画方向についての「３次元的」な描画表現を提供可能に構成されている。これに対し、本発明に係る第２の種別の描画オブジェクトとしての「３次元オブジェクト」とは、立体的な３次元形状を定義するものであり、描画方向毎の状態を定義しなくとも、「３次元」の描画表現を提供可能に構成される。
【００１５】
《ＰＣの機能構成》
図１は、本発明の実施形態に係るＰＣ１００の機能構成を示すブロック図である。
【００１６】
制御部１０１は、例えばＣＰＵ等の制御装置であり、ＰＣ１００が有する各ブロックの動作を制御する。具体的には制御部１０１は、記録媒体１０２に格納されているオペレーティングシステムに係るプログラムや、３次元空間の描画を行う描画アプリケーションに係るプログラム等を読み出し、メモリ１０３に展開して実行することにより、各ブロックの動作を制御する。
【００１７】
記録媒体１０２は、例えば書き換え可能なＲＯＭ等の不揮発性メモリや、ＰＣ１００に着脱可能に接続されたＨＤＤ等の記憶装置である。また、記録媒体１０２は、例えば光学ドライブ等の所定の読み書き可能なインタフェースを介してアクセス可能な、描画アプリケーションにより提供される機能を有するゲームプログラムを記録したディスク等の記録媒体を含んでいてもよい。記録媒体１０２は、上述したプログラムだけでなく、各ブロックの動作において必要なパラメータ等の情報、描画オブジェクト（拡張２次元オブジェクト及び３次元オブジェクト）の提示に用いられる各種データ等を記憶する。
【００１８】
メモリ１０３は、例えばＲＡＭ等の揮発性メモリであってよい。メモリ１０３は、記録媒体１０２から読み出されたプログラム等を展開する展開領域としてだけでなく、各ブロックの動作において出力された中間データ等を記憶する格納領域としても用いられる。
【００１９】
描画部１０４は、例えばＧＰＵ等の描画装置であってよく、表示部１１０の表示領域に表示される画面（画像）を生成する。本実施形態では描画部１０４は、３次元空間に配置された拡張２次元オブジェクト及び３次元オブジェクトを、位置、視線方向もしくは姿勢、画角等の各種カメラパラメータが設定された視点の情報（視点情報）に基づいて描画を行うことにより、表示部１１０に表示される画面を生成する。各種描画部１０４によって、描画アプリケーションに係り生成された画面は、表示制御部１０５により表示部１１０に表示させるための制御（表示更新）が行われる。
【００２０】
表示部１１０は、例えばＬＣＤ等の表示装置であってよい。本実施形態では表示部１１０は、ＰＣ１００が有する構成要素であるものとして説明するが、本発明の実施はこれに限られるものではない。表示部１１０は、ＰＣ１００と筐体を同じに構成されるものである必要はなく、ＰＣ１００に着脱可能に接続される外部の表示装置であってもよい。
【００２１】
操作入力部１０６は、例えばマウス、キーボード、ペンタブレット、ゲームコントローラ等、ＰＣ１００が有するユーザインタフェースである。操作入力部１０９は、各種インタフェースによりなされた操作入力を検出すると、該操作入力に対応する制御信号を制御部１０１に出力する。または操作入力部１０６は、該操作入力対応するイベントの発生を制御部１０１に通知する。
【００２２】
〈モジュール構成〉
次に、このような機能構成を備えるＰＣ１００において、本実施形態の描画アプリケーションに係るプログラムを実行することで実現される、３次元空間の描画のうちの、本発明に係る機能モジュール（主として拡張２次元オブジェクトと３次元オブジェクトとを描画する機能モジュール）について、図２を用いて説明する。図２に示されるモジュール構成のうち、本実施形態のＰＣ１００において実現される機能モジュールは実線で示される構成であり、破線、一点鎖線を用いて示される構成は、本実施形態に含まれないものとする。なお、本実施形態では描画アプリケーションに係るプログラムによって、下記の機能モジュールがソフトウェアにより実現されるものとして説明するが、本発明の実施はこれに限られるものではない。即ち、各モジュールが実現する機能の一部または全部は、該機能を有する特定のハードウェアにより提供されるものであってもよいし、ソフトウェアとハードウェアの双方を用いて実現されるものであってもよい。
【００２３】
描画方向設定モジュール２０１は、描画する画面に係る視点情報に基づいて、描画対象の３次元空間に配置する拡張２次元オブジェクトのそれぞれについて、該オブジェクトが描画される描画方向を導出し、設定する。ここで、描画方向とは、描画される画面において拡張２次元オブジェクトがいずれの方向から観賞されることになるかを示す、即ち、描画された画面が提示された際に、観賞者（視点）に正対している拡張２次元オブジェクトの面（方向）を特定するために導かれる。描画方向は、拡張２次元オブジェクトが配置される３次元空間中の位置と視点の位置関係に限らず、拡張２次元オブジェクト自身の姿勢変化を考慮することで特定される。詳細は後述するが、本実施形態の描画アプリケーションでは、１体のキャラクタに係る胴体部を３次元オブジェクトで構成し、これに連結させる形で頭部に１つの拡張２次元オブジェクトを配置させるよう構成されている。１つの拡張２次元オブジェクトには、回転の中心及び配置位置の基準となる基準点（ルートジョイント）が定められており、該ルートジョイントが３次元オブジェクトのキャラクタの首元に相当する位置に対応付けられている。故に、描画方向設定モジュール２０１は、視点情報に基づく視点の位置、視線方向、ルートジョイントの位置、及びルートジョイントにおける拡張２次元オブジェクトの各回転方向の回転量に基づいて描画方向を導出する。
【００２４】
位置形状決定モジュール２０２は、設定された描画方向の情報に基づき、該描画方向に係る描画表現を実現するための、各パーツの位置及び形状を決定する。詳細は後述するが、拡張２次元オブジェクトには種々の描画方向について、各パーツがどのような表示態様（状態）となるかの情報が予め定義されている。このため、位置形状決定モジュール２０２は、設定された描画方向について予め定義された各パーツの状態の情報に基づいて、あるいは設定された描画方向についての定義がなされていない場合は、他の定義された状態からの補間に基づいて、設定された描画方向についての状態を導出し、各パーツの２次元画像の形状や、配置位置及び奥行き順序の変更を行う。ここで、奥行き順序とは、パーツ間、及びパーツと３次元オブジェクトとの遮蔽関係を実現するために、視点からルートジョイントに向かう方向について設定されるものであり、３次元空間に拡張２次元オブジェクトを配置する際に参照される。
【００２５】
起伏適用モジュール２０３は、拡張２次元オブジェクトの少なくとも一部のパーツについて、３次元空間への配置時に、該パーツに対応付けられた３次元的な起伏の情報（起伏情報）に基づく変形を適用する。２次元のグラフィックスにより形成される好適な（デザイナ所望の）観賞体験を担保するため、拡張２次元オブジェクトの各パーツは、基本的には、対応付けられた２次元画像を、後述のような、視点からルートジョイントに向かう方向に面が直交するように３次元空間に配置した平板オブジェクトに適用されることで、所謂ビルボードオブジェクトとして提示される。即ち、拡張２次元オブジェクトの編集時に定義された２次元で表現された絵面を、３次元空間の描画においても同様に表現するため、立体的な３次元形状を有する３次元オブジェクトにテクスチャを適用するような態様ではなく、ビルボーディングと同様の手法を採用する。一方で、後述する通り、該手法によって好適な描画表現がなされない態様も存在するため、本実施形態の描画アプリケーションでは、起伏適用モジュール２０３がパーツの２次元画像を適用する平板オブジェクトの起伏を変更させる処理を行う。
【００２６】
配置モジュール２０４は、描画対象である３次元空間に拡張２次元オブジェクト及び３次元オブジェクトを配置する。配置においては、３次元オブジェクトは該オブジェクト自身に対する移動や状態変化がなければ、毎フレーム配置変更の必要はない。一方で、拡張２次元オブジェクトは上述したようにビルボードのように提示されるものであるため、拡張２次元オブジェクト自身に対する移動や状態変化がなくとも、フレーム間で生じる視点変更に応じて、提示される描画表現も各パーツの状態も変化し得、３次元空間に配置する平板オブジェクトの状態を動的に変更する必要がある。
【００２７】
描画モジュール２０５は、配置モジュール２０４により必要な描画オブジェクトが配置された３次元空間を、視点情報に基づくカメラパラメータに従って描画し、表示部１１０に提示する画面を描画部１０４に生成させる。描画においては、奥行き順序や深度バッファの参照等を行うため、３次元空間に配置された各オブジェクトの遮蔽関係が画面に現れる。
【００２８】
《描画オブジェクトの基本的な描画方法》
以下、拡張２次元オブジェクトと３次元オブジェクトとを連結させた描画オブジェクト（群）の基本的な描画方法について、図を用いて詳細を説明する。
【００２９】
上述した通り、拡張２次元オブジェクトについては、その編集時に所定の描画される方向（描画方向）における各パーツの２次元画像の位置、形状及び奥行き順序を含む状態の情報が定義されている。より詳しくは、各パーツの２次元画像は、複数の頂点及びポリゴンが定義づけられた（２次元の）メッシュとして構成され、編集時に描画方向それぞれで頂点の位置を移動させることで、各パーツのメッシュの位置や形状の定義が可能となる。また、描画方向によってはパーツの遮蔽関係も変化し得るため、パーツごと（もしくは頂点単位で）奥行き順序の設定が可能に構成される。またパーツの状態定義がなされなかった描画方向については、定義のなされている他の描画方向での状態から補間により導出することができる。編集時において描画方向は、例えば拡張２次元オブジェクトのルートジョイントについて定められた該オブジェクトの正面方向を示すベクトル（基準ベクトル）が、該ルートジョイントを中心に回転した回転量（２軸または３軸の回転角度）を基準に定められるものであってよい。従って、拡張２次元オブジェクトは、描画方向が確定すると、該方向に対応する形状や位置、奥行き順序に各パーツの状態を変更することで、少なくとも２次元画像として描画方向に係る描画表現が提供可能に構成されている。
【００３０】
ところで、拡張２次元オブジェクトを３次元オブジェクトと連結させて３次元の描画表現を実現すべく、３次元空間に両オブジェクトを配置する場合には、描画方向は、３次元空間を描画するために定められた視点と、３次元空間における３次元オブジェクトの連結点、即ち拡張２次元オブジェクトのルートジョイントとを結ぶ直線に対して、該拡張２次元オブジェクトの基準ベクトルがなす角度に応じて定まる。即ち、３次元空間に拡張２次元オブジェクトを配置する場合の描画方向は、視点とルートジョイントの位置関係、及びルートジョイントを中心として行われる拡張２次元オブジェクトの回転量に基づいて定まる。このとき、基準ベクトルがルートジョイントと視点とを結ぶ直線と一致するのであれば、拡張２次元オブジェクトは視点に対して正対している（正面を向けている）状態となる。
【００３１】
まず、簡単のため、３次元空間に拡張２次元オブジェクトのみを配置した場合に、該オブジェクトの正面方向の描画表現を提示する際の処理について説明する。上述した通り、正面方向の状態の拡張２次元オブジェクトを描画する際には、図３に示されるように、視点３０１とルートジョイント３０２とを結ぶ直線３０３と、拡張２次元オブジェクトの基準ベクトル３０４とが一致する（基準ベクトル３０４が直線３０３の一部と重なる）状態であり、正面方向について定義された位置、形状及び奥行き順序に従って、各パーツが３次元空間中に配置される。図３は、パーツ間の奥行き方向（視点からルートオブジェクトに向かう方向）３０５における分布を容易に把握可能ならしめるため、視点とは異なる位置から俯瞰した図となっている。ここで、奥行き方向３０５は、視点３０１とルートジョイント３０２との位置関係についてのみ定められるものであり、ルートジョイントにおける回転量も考慮し得る描画方向とは異なる概念である。
【００３２】
各パーツの３次元空間への配置は、まず該パーツのメッシュを描画方向（正面方向）に対応する形状に変形（メッシュ頂点の位置を変更）し、さらに該変形後のメッシュと同形状の平板オブジェクトを３次元空間に配置し、該平板オブジェクトに変形後のメッシュを（テクスチャとして）適用することにより行われる。このとき、平板オブジェクト３０７の配置位置は、奥行き方向に平行な方向を法線とするキャンバス平面（例えばルートジョイントを含み、ルートジョイント３０２をキャンバス平面の座標系（キャンバス座標系）の原点としており、奥行き方向において視点と正対する。）３０６への射影位置が、描画方向（正面方向）について定められた各パーツの（２次元）位置となり、かつ奥行き順序を考慮して、図３のように奥行き方向３０５における深度値が定められる。ここで、キャンバス平面３０６は、本実施形態において、拡張２次元オブジェクトのパーツ群の配置や変形がどのように行われるかを導出するために設けている概念であって、実際の描画処理において描画されるオブジェクトではなく、また処理上必須の概念でもない。
【００３３】
故に、拡張２次元オブジェクトの３次元的な描画表現を実現するために３次元空間に配置される平板オブジェクト群３０７は、奥行き方向におけるキャンバス平面３０６への正射影が描画方向について定められた各パーツの形状となるように構成されており、基本的には各平板オブジェクト３０７の面が奥行き方向３０５に直交するように構成される。即ち、平板オブジェクト群３０７の面は、該オブジェクト間で基本的には平行に構成される。
【００３４】
このような描画方式の拡張２次元オブジェクトを３次元オブジェクトと共に３次元空間に配置する場合には、３次元オブジェクトとの遮蔽関係を考慮して、各パーツのメッシュを適用する平板オブジェクトの奥行き方向の深度値を変更する必要がある。例えば図４（ａ）に示されるように、後ろ髪等のパーツは胴体である３次元オブジェクト４０１により遮蔽されるよう、各パーツの奥行き順序の情報には、対応する平板オブジェクト４０２をルートジョイントから奥行き方向３０５において、どの程度遠離させて配置するかを示す距離の情報が含まれていればよい。
【００３５】
図４（ａ）の例では、拡張２次元オブジェクトが正面を向く姿勢である場合、即ち拡張２次元オブジェクトの正面に視点が設けられ正面方向の描画表現が提示される場合、３次元オブジェクト４０１との干渉がないように、拡張２次元オブジェクトの一部のパーツを適用する平板オブジェクト４０２の深度値の情報が、予め規定されているものとして説明した。一方で、上述したように拡張２次元オブジェクトと３次元オブジェクト４０１とはその描画方式が異なるため、拡張２次元オブジェクト自体の移動や姿勢の変化がなくとも、視点の移動がなされることよって、移動後の視点に応じた描画方向の描画表現を提示すべく、各パーツの状態を変更する必要がある。より詳しくは、視点３０１が移動した場合、移動後の視点３０１’から見える拡張２次元オブジェクトの方向（描画方向）、及び視点３０１とルートジョイント３０２とを結ぶ奥行き方向が変化するため、適用する平板オブジェクト３０７の形状（各パーツの形状）、位置、及び奥行き順序の少なくともいずれかを変更する必要がある。図４（ｂ）は、図４（ａ）に示した拡張２次元オブジェクトと３次元オブジェクト４０１とについて、正面上方からこれらを斜めに見下ろす視点が設定された例を示している。
【００３６】
図４（ｂ）において、後ろ髪のパーツの２次元画像が適用される平板オブジェクト４１１は、視点３０１’とルートジョイント３０２とで定まる新たな奥行き方向４１２について、図４（ａ）と同様に、ルートジョイント３０２よりも視点から遠離する深度値が割り当てられている。しかしながら、図４（ｂ）に示されるように後ろ髪のパーツが３次元空間のワールド座標系において高さ方向に所定の長さを有する場合等では、拡張２次元オブジェクトの編集時には３次元オブジェクト４０１を考慮せずに描画方向における該パーツの形状が定義されているため、適用する平板オブジェクト４１１と３次元オブジェクト４０１とが３次元空間中で干渉し得る。このような場合、図４（ｂ）に示されるように後ろ髪のパーツが３次元オブジェクトで構成される胴体（図の例では腕部）のパーツとの間で前後関係の齟齬が生じているような描画表現がなされる。
【００３７】
これに対し、平板オブジェクト４１１が３次元オブジェクト４０１と干渉しないよう、視点の移動に伴って奥行き方向の深度値を変更することによって回避することも可能であるが、３次元空間に配置される他の３次元オブジェクトとの干渉の可能性もある。
【００３８】
なお、拡張２次元オブジェクトの編集に際しては、デザイナ所望の描画表現が容易に可能なように、また定義すべき状態の数を低減させるように、拡張２次元オブジェクトは平行投影方式で描画されて提示され、デザイナは、視点との距離とは無関係に所定の描画方向についての各パーツの状態定義を行えばよいように構成されているものとする。一方、３次元空間の描画に際しては、遠近感を提示するために透視投影方式で空間に配置される各オブジェクトは描画されるが、上述したようにビルボードとして各パーツが描画される拡張２次元オブジェクトについては、もともと平行投影方式で形状等が定義されているため、透視投影方式で描画したとしても遠近感を観賞者に与えにくい態様となり得る。このため、視点と拡張２次元オブジェクト（より詳細には各パーツ）との距離に応じて、パーツのメッシュ及び適用される平板オブジェクトの形状（サイズ）を調整することで、ビルボードについても透視投影方式のような遠近感を強制的に生じさせる処理が適用される。上記干渉の問題は、このような平板オブジェクトのサイズ変更によっても発生は軽減され得るが、視点との距離に応じて行われるものであるため、根本的な解決とはならない。
【００３９】
《起伏情報の定義》
上述したような拡張２次元オブジェクトと３次元オブジェクトとの描画方式が異なることによって発生し得るオブジェクト間の干渉を回避するため、本実施形態の描画アプリケーションでは、拡張２次元オブジェクトを構成する少なくとも一部のパーツに、該パーツのメッシュを適用する平板オブジェクトに起伏を付与せしめる起伏情報を対応付ける。起伏情報は、対応付けられるパーツのメッシュとは別に設けられる情報であり、パーツに対応付けられている場合に、描画方向確定後の平板オブジェクトに係る処理において参照される。換言すれば、起伏情報が対応付けられていないパーツについては、適用する平板オブジェクトに対する起伏情報を参照する変形処理等は行われない。
【００４０】
本実施形態では起伏情報は、図５に示されるように、ボーンを介してルートジョイントに接続された点（ジョイント）群により構成され、各ジョイントが３次元空間における位置を特定する情報を有して構成される。より詳しくは、本実施形態では、ボーンはジョイント間またはジョイントとルートジョイント間を結束するオブジェクトであり、各ジョイントには、３次元空間におけるルートジョイントとの相対位置の情報が特定可能な情報が付されているものとする。相対位置の情報は、拡張２次元オブジェクトがルートジョイントにおいて回転していない状態について定義されているものとし、ルートジョイントの３次元空間におけるワールド座標が確定することで、各ジョイントのワールド座標も確定する。ここで、相対位置の情報は、ルートジョイントとの位置の差分として各ジョイントが有するものであってもよいし、本実施形態ではボーンを介して結束する一連のジョイント群のうち、ルートジョイントからの結束順において１つ前のジョイント（親ジョイント）との位置の差分として各ジョイントが有するものであってもよい。後者の場合、ルートジョイントからの結束順において、結束されているボーンの数が少ないジョイントから順に位置導出の処理を行うことで、各ジョイントの位置が特定可能となる。またジョイント間の親子関係や結束順等の結束関係を示す情報は、ボーンが結束情報として有するものであってよい。従って、本実施形態では起伏情報は、拡張２次元オブジェクトの位置や姿勢が変化しない限りは３次元空間中の固定の座標群を常に示すものであり、視点移動に依存した変形をしない、ジョイントとボーンで形成された立体的な起伏を示す。
【００４１】
なお、本実施形態では起伏情報は、ルートジョイントに接続されたジョイント及びボーンで構成されるものとして説明するが、本発明の実施はこれに限られるものではない。即ち、起伏情報は、パーツについて描画方向に依らない立体的な起伏の情報を与えるものであれば、ボーンとジョイントとで構成されているものである必要はなく、特定の描画方向について、ルートジョイントとの相対的な位置関係を定義するものであればどのような構成であってもよい。
【００４２】
また起伏情報は、拡張２次元オブジェクトを構成する全てのパーツについて定義されるものである必要はなく、少なくとも一部のパーツについて定義されるものであればよい。好適には、他の描画オブジェクトとの間において遮蔽関係を考慮する必要があるパーツや、後述の異なる実施形態で説明するような、パーツについての３次元的な形状や位置の動的変更を考慮する必要があるパーツについて、対応付けられるものであってよい。本実施形態では簡単のため、拡張２次元オブジェクトの姿勢変更に伴う描画方向の変更の要素は除外し、視点変更に伴う描画方向の変更が行われる態様における、起伏情報を用いた平板オブジェクトの形状制御について説明する。
【００４３】
〈起伏情報に基づく平板オブジェクトの形状制御〉
以下、拡張２次元オブジェクトを構成する、起伏情報が対応付けられたパーツに対して起伏適用モジュール２０３により行われる起伏適用処理について、図を用いて詳細を説明する。
【００４４】
パーツに対応付けられた起伏情報が存在する場合、該パーツを適用する平板オブジェクトが起伏情報に基づいて行われる変形の対象となる。パーツへの起伏情報の対応付けは、パーツについて管理される情報に対して、起伏情報の内容を取得可能な情報が付されることによりなされればよい。ここで、ルートジョイントからボーンを介して接続されているジョイント群及びそのボーン群の全てが、３次元空間への平板オブジェクト配置時に参照される情報としてパーツの情報に付されることにより、パーツへの起伏情報の対応付けが行われる必要はない。特に、起伏情報に含まれるジョイント群及びボーン群は、複数のパーツに係る平板オブジェクトの変形において参照されるよう構成されるものであってもよいため、対応付けとしてパーツに付される情報は、起伏情報のうちの一部を特定できるものであってもよい。また起伏情報に含まれるジョイントのみ特定可能であれば、該ジョイントに接続されるボーンの有無やボーンの情報は起伏情報から取得可能であるため、起伏情報の対応付けとしてパーツに付される情報は、いずれかのジョイントを特定するものであってもよい。
【００４５】
例えば図６（ａ）に示されるように、拡張２次元オブジェクトが視点と正対している（視点の視線方向ベクトルと基準ベクトルとが同一直線状で正対している）態様において、起伏情報６０１のうちのジョイント６０２ｂ〜ｄを特定する情報が、後ろ髪のパーツ（対象パーツ）に付されている場合の、該パーツのメッシュを提供する平板オブジェクト６０４に対して起伏適用モジュール２０３が行う起伏適用処理の内容を、以下に説明する。
【００４６】
平板オブジェクト６０４に対して起伏情報に基づく起伏を与えるために、起伏適用モジュール２０３はまず、対象パーツのメッシュ頂点の各々について、対応付けられた起伏情報のうちから、最も近接するボーンを特定する処理を実行する。本実施形態では対象パーツにはジョイント６０２ｂ〜ｄの情報が付されているため、対応付けられている起伏情報は、ジョイント６０２ｂ〜ｄ、及びそれらを結束するボーン６０３ｂ〜ｄとなる。上述した通り、対象パーツのメッシュを適用する平板オブジェクト６０４は、奥行き方向におけるキャンバス平面への正射影の形状が、描画方向に応じて定まる状態の該パーツのメッシュと同形状となっている。故に、本実施形態では平板オブジェクト６０４に対する、対象パーツのメッシュに係る２次元画像の適用に不整合が生じないよう、平板オブジェクト６０４は、メッシュと同様の頂点分布を示すポリゴンモデルであるものとする。従って、起伏適用モジュール２０３はまず、対象パーツのメッシュに含まれる頂点、即ち該メッシュを適用する平板オブジェクト６０４の対応する頂点のそれぞれについて、起伏情報のボーンのうちから最も近接するボーン（もしくはジョイント）を特定する。
【００４７】
例えば、対象パーツに係る平板オブジェクト６０４と、該対象パーツに対応付けられた起伏情報（ジョイント及びボーン）とを、奥行き方向（視線方向）についてキャンバス平面に投影すると、それぞれの正射影がキャンバス座標系において、図７（ａ）のようになるとする。このとき、起伏適用モジュール２０３は、平板オブジェクト６０４に含まれる各頂点（適用されるメッシュの頂点に相当）について、最近接ボーンを特定すべく、次の処理を行う。以下、頂点７０１を例に詳細を説明する。
【００４８】
起伏適用モジュール２０３は、起伏情報に含まれるジョイント６０２を順に選択し、当該ジョイント（子ジョイント）と親ジョイントとを結束するボーン６０３と頂点７０１との距離をまず導出する。まずボーン６０３ｂに注目すると、ボーン６０３ｂと頂点７０１との距離は、図７（ｂ）に示されるように、該ボーン６０３ｂと該ボーン６０３ｂに係る直線を子ジョイント６０２ｂ方向に延長した直線とで形成される線分７０２について、頂点７０１を通過し、キャンバス平面において該線分７０２と直交する線分７０３を特定し、その交点７０４がボーン６０３ｂと延長線のいずれに属するかによって異なる。交点７０４がボーン６０３ｂ上にある場合、頂点７０１と該ボーン６０３ｂとの距離は、線分７０３における頂点７０１と交点７０４の距離となる。一方、交点７０４が延長線上（もしくは子ジョイント６０２）にある場合、頂点７０１とボーン６０３ｂとの距離は、頂点７０１とジョイント６０２ｂとの距離となる。図７（ｂ）の例では交点７０４は延長線上にあるため、距離７０５ｂは頂点７０１とジョイント６０２ｂとの距離になる。
【００４９】
このように、起伏情報に含まれる全てのジョイントを選択しながら、各ジョイントを子ジョイントとするボーンとの距離を上記手法で特定することで、図７（ｃ）に示されるように、各ボーン６０３と頂点７０１との距離を導出することができる。即ち、起伏情報と平板オブジェクトとが図７（ａ）のような態様である場合、図７（ｃ）に示されるように頂点７０１について３種類の距離７０５ｂ〜ｄが得られるため、これらの最小値である距離７０５ｄから、起伏適用モジュール２０３は、頂点７０１の最近接ボーンがボーン６０３ｄであることを特定することができる。
【００５０】
頂点７０１について最近接ボーンを特定すると、起伏適用モジュール２０３は、該頂点７０１について与える奥行き方向の深度値を決定する。奥行き方向の深度値は、図７（ｄ）に示されるように、最近接ボーンの導出時に求めた交点の、該ボーン中における内分比に基づいて、該ボーンに結束されている２つのジョイントの３次元空間における深度値から導出すればよい。なお、図７（ａ）に示した頂点７０６のように、交点が最近接ボーン（ボーン６０３ｄ）上ではなく延長線上に存在する頂点については、図７（ｅ）に示されるように、距離の導出に用いたジョイント６０２ｄの３次元空間における深度値を、そのまま頂点７０６の奥行き方向の深度値として決定すればよい。
【００５１】
起伏適用モジュール２０３は、このように導出した各頂点の奥行き方向（視線方向）の深度値に基づいて平板オブジェクト６０４を変形させることで、該オブジェクトを図６（ｂ）に示されるような、起伏情報に応じて隆起する、単一平面ではない描画オブジェクト６０５とすることができる。
【００５２】
ここで、図からも明らかなように、頂点単位で深度値が決定されるため、奥行き方向における平板オブジェクト６０４の起伏と、起伏情報により示される起伏とは完全には一致しない場合がある。また、起伏適用モジュール２０３により行われる平板オブジェクト６０４の形状変更は、あくまでも該オブジェクト中の頂点の深度値の変更により行われるため、奥行き方向における該オブジェクトのキャンバス平面への正射影形状は変化しない。
【００５３】
また、上述した通り、拡張２次元オブジェクト自身の移動や回転が生じないのであれば、起伏情報は視点移動に依らず維持されるため、拡張２次元オブジェクトの正面上方から斜めに見下ろす視点が設定されたとしても、起伏適用モジュール２０３は、後ろ髪のパーツについて、同様の処理を行う。結果、図６（ｃ）に示されるように、後ろ髪のパーツのメッシュを適用する平板オブジェクト６０７も、起伏情報に沿うような描画オブジェクト６０８に変形される。
【００５４】
このように、本実施形態の描画アプリケーションによれば、構造上、描画方式が異なり、遮蔽関係における不整合が生じ得る、拡張２次元オブジェクトと３次元オブジェクトとを共存させて描画する場合であっても、起伏情報を対応付けることにより、３次元空間における干渉を回避し、好適な描画表現を示す画面を提供することができる。
【００５５】
《表示制御処理》
以下、上述のようなモジュール構成の描画アプリケーションを実行した場合にＰＣ１００において実現される、本実施形態の表示制御処理について、図８のフローチャートを用いて具体的な処理を説明する。該フローチャートに対応する処理は、制御部１０１が、例えば記録媒体１０２に記憶されている描画アプリケーションに対応する処理プログラムを読み出し、メモリ１０３に展開して実行することにより実現することができる。なお、本表示制御処理は、例えば描画アプリケーションが実行された際に開始され、各フレームの画面描画のために繰り返し実行されるものとして説明する。
【００５６】
また本実施形態では簡単のため、拡張２次元オブジェクトや３次元オブジェクトの移動や姿勢変更は発生せず、視点移動のみが行われる態様について説明する。即ち、以下に説明する態様では、３次元空間における拡張２次元オブジェクトのルートジョイントの位置が固定されており、かつルートジョイントにおける拡張２次元オブジェクトの回転がなく、基準の姿勢（基準ベクトルの回転量が、いずれの軸も０である状態を指す）を保持しているものとする。同様に起伏情報も、拡張２次元オブジェクトが基準姿勢であるため、３次元空間におけるルートジョイントの位置と基準ベクトルの向きとに基づいて導出することができ、以下の態様において起伏情報の各ジョイントのワールド座標は固定である。
【００５７】
Ｓ８０１で、制御部１０１は、前のフレームからの視点移動が生じたか否かを判断する。視点移動は、例えば操作入力に基づいて行われるものであってよく、制御部１０１は、操作入力部１０６の検出結果に基づいて、視点移動に係る操作入力がなされたことを示すイベントが派生したか否かにより本ステップの判断を行えばよい。制御部１０１は、前のフレームからの視点移動が生じたと判断した場合は処理をＳ８０２に移し、生じていないと判断した場合は前フレームの各オブジェクトの配置情報が使用できるため処理をＳ８０８に移す。
【００５８】
Ｓ８０２で、描画方向設定モジュール２０１は、移動後の視点と拡張２次元オブジェクトとの位置関係、及び拡張２次元オブジェクトの状態に基づいて、該オブジェクトについての描画方向を設定する。より詳しくは、描画方向設定モジュール２０１は、移動後の視点の各種パラメータを示す視点情報と拡張２次元オブジェクトの位置及び姿勢（基準姿勢）の情報に基づいて、視点からルートジョイントに向かうベクトルと、拡張２次元オブジェクトの正面方向を示す基準ベクトルとのなす角度を導出し、描画方向を決定して設定する。設定した描画方向の情報は、例えばメモリ１０３に格納されるものであってよい。
【００５９】
Ｓ８０３で、位置形状決定モジュール２０２は、まず拡張２次元オブジェクトの各パーツのメッシュ形状（各メッシュ頂点のキャンバス平面における位置）及び奥行き順序を、設定された描画方向に応じた状態に設定する。本ステップの処理は、拡張２次元オブジェクトについて描画方向に係る各パーツの状態が定義されている場合と定義されていない場合とで補間処理の有無が異なるが、基本的には位置形状決定モジュール２０２は、拡張２次元オブジェクトについて対応する描画方向について定義されている情報に従って、設定を行う。ここで、各パーツについての情報設定は、該パーツのメッシュを適用する平板オブジェクトの形状、及び奥行き方向における配置位置を決定していることに相当し、本ステップの処理により、各平板オブジェクトが有する頂点のキャンバス座標系における位置（２次元）と、奥行き方向における深度値とが「暫定的に」決定する。なお、奥行き方向における深度値は、例えば予め設定された奥行き方向の配置間隔の情報に基づき、ルートジョイントから視点寄りに配置されるか否かと、奥行き順序とを考慮して機械的に決定されるものであってよい。
【００６０】
また、上述した通り拡張２次元オブジェクトの各パーツは、平行投影方式でメッシュの形状が定義されているため、これらの遠近感を強調させて擬似的に透視変換方式の描画表現を実現できるよう、本ステップの処理において、各パーツと視点との距離に応じて該パーツ（及び対応する平板オブジェクト）の形状を拡縮する処理を行ってもよい。例えば視点と拡張２次元オブジェクトとの距離が遠離している場合は、パーツ間での深度値の差は無視できるため、当該処理は、視点とルートジョイントとの距離に応じて行うか否かを判断するものであってもよい。また、例えば視点と拡張２次元オブジェクトとの距離が近接している場合や、急峻な角度の煽りや俯瞰の構図の視点となる場合は、視点とルートジョイントの距離に対して、パーツ間の深度値の差が無視できないため、視点から遠離するパーツの形状を縮小する処理を行うことで、擬似的に透視投影方式の描画表現を、拡張２次元オブジェクトについても提示できるように処理すればよい。
【００６１】
Ｓ８０４で、位置形状決定モジュール２０２は、対応する平板オブジェクトの３次元空間における「最終的な」配置位置の決定を行っていないパーツを処理対象のパーツ（対象パーツ）として選択する。本実施形態の描画アプリケーションでは、拡張２次元オブジェクトの各パーツについて、該パーツのメッシュを適用する平板オブジェクトの３次元空間における最終的な配置位置を確定すべく、１つずつパーツを選択しながら以下のＳ８０５〜Ｓ８０７の処理を行う。
【００６２】
Ｓ８０５で、位置形状決定モジュール２０２は、対象パーツに対応付けられた起伏情報が存在するか否かを判断する。位置形状決定モジュール２０２は、対象パーツに対応付けられた起伏情報が存在すると判断した場合は処理をＳ８０７に移し、存在しないと判断した場合は処理をＳ８０６に移す。
【００６３】
Ｓ８０６で、位置形状決定モジュール２０２は、Ｓ８０３において対象パーツのメッシュを適用する平板オブジェクトについて決定した情報に基づき、該平板オブジェクトの３次元空間における最終的な配置位置を決定する。即ち、位置形状決定モジュール２０２は、対象パーツのメッシュを適用する平板オブジェクトの各頂点について決定した、キャンバス座標及び奥行き方向の深度値を最終的な配置位置の情報として確定し、これをワールド座標系の位置情報に変換する。
【００６４】
一方、Ｓ８０５において対象パーツに対応付けられた起伏情報が存在すると判断された場合、起伏適用モジュール２０３はＳ８０７で、対象パーツのメッシュを適用する平板オブジェクトの各頂点について、該起伏情報に基づく深度値を決定することで、各頂点の最終的な位置を決定する。即ち、本ステップの処理により、対象パーツに係る平板オブジェクトの各頂点の奥行き方向の位置が変化するため、平板オブジェクトの形状が単一平面ではなく、起伏情報に沿った形状に変更される。上述した通り、起伏適用モジュール２０３は、対象パーツに係る平板オブジェクトの頂点ごとに、最近接ボーンの特定及び該最近接ボーンで結束されるジョイントに基づく深度値の決定を行う。また起伏適用モジュール２０３は、Ｓ８０６と同様に、対象パーツに係る平板オブジェクトの各頂点について、本ステップの処理によって最終的に決定したキャンバス座標及び深度値を、ワールド座標系の位置情報に変換する。
【００６５】
従って、Ｓ８０５〜Ｓ８０７の処理によって、対象パーツのメッシュを適用する平板オブジェクトの最終的な形状及び配置位置が確定する。即ち、起伏情報の対応付けの有無に基づいて、平板オブジェクトの変形を行うか否かが確定し、必要に応じて起伏適用モジュール２０３が頂点ごとに深度値を変更する処理を行う。
【００６６】
Ｓ８０８で、位置形状決定モジュール２０２は、拡張２次元オブジェクトの全てのパーツについて、対応する平板オブジェクトの最終的な配置位置の決定を行ったか否かを判断する。位置形状決定モジュール２０２は、全てのパーツについて対応する平板オブジェクトの最終的な配置位置の決定を行ったと判断した場合は処理をＳ８０９に移し、まだ最終的な配置位置の決定を行っていないパーツが存在すると判断した場合は処理をＳ８０４に戻す。
【００６７】
Ｓ８０９で、配置モジュール２０４は、拡張２次元オブジェクトと３次元オブジェクトとを３次元空間に配置する。ここで、拡張２次元オブジェクトの各パーツについては、配置モジュール２０４は決定された最終的な配置位置の情報に基づいて、各パーツのメッシュを適用する平板オブジェクト（変形がなされているものも含む）を３次元空間に配置する。
【００６８】
Ｓ８１０で、描画モジュール２０５は、３次元空間に配置された各オブジェクト（３次元オブジェクト及び平板オブジェクト群）を視点情報に基づいて描画し、表示部１１０に提示する画面の生成を行う。本ステップの描画処理では、一般的な３次元空間の描画処理と同様に、順次深度バッファを形成し、遮蔽関係を考慮しながらピクセル単位の描画が行われる。
【００６９】
このようにすることで、視点移動に応じて３次元空間に配置する平板オブジェクトを異ならせる必要がある拡張２次元オブジェクトであっても、３次元オブジェクトとの遮蔽関係を整合させた好適な描画表現を提供できるように取り扱うことが可能となる。
【００７０】
［実施形態２］
上述した実施形態１では、簡単のため拡張２次元オブジェクトは基準姿勢を保持し、かつ拡張２次元オブジェクト及び３次元オブジェクトの移動が生じない、即ち描画オブジェクトが静的である状態について、視点情報の変更に伴う遮蔽関係を整合させる拡張２次元オブジェクトの描画方法について説明した。一方で、本発明に係る拡張２次元オブジェクトと３次元オブジェクトとを３次元空間に共存させた描画は、これら描画オブジェクトが静的な状態に限られるものではない。以下、本実施形態では、描画オブジェクトに対して適用されるモーションや、障害物等の外的要因に基づいて描画オブジェクトに生じる状態変更等を含む、動的要素を考慮した状態変更を行う態様についての、拡張２次元オブジェクトの描画方法について説明する。なお、本実施形態の描画アプリケーションに係るプログラムを実行するＰＣ１００は、実施形態１と同様の構成であるものとして各機能ブロックの説明は省略する。
【００７１】
キャラクタ等の拡張２次元オブジェクトに動きを生じさせた場合には、該オブジェクトを構成する大部分のパーツ（顔の各パーツ、輪郭等）は、ルートジョイントの位置変更及びルートジョイントにおける回転に追従する形で配置位置は変更されるが、基本的にはその際視点に対応した描画方向について定められた形状や奥行き順序のメッシュが描画に用いられる。一方で、例えばキャラクタの髪型や長い耳のように、拡張２次元オブジェクトに生じたルートオブジェクト周りの動き（加速度や角加速度（回転加速度））に起因してはいるが、独立した挙動や形状変化を示すことが好ましいパーツも存在する。このように、一部のパーツについて独立した挙動や形状変化を生じさせようとした場合、やはり３次元空間に共存させる３次元オブジェクトとの間で意図しない干渉、遮蔽関係の不整合等が生じ得る。従って、本実施形態では、このようなルートオブジェクト周りの動きや、重力加速度・風等の存在によって生じる動的要素による影響を反映させるべく、起伏情報のジョイントを、動的要素の適用によって位置や姿勢の変更を可能ならしめる「物理点」として取り扱う。
【００７２】
《モジュール構成》
以下、本実施形態の描画アプリケーションに係るプログラムを実行することで実現される、本発明に係る機能モジュールについて、図２を用いて説明する。本実施形態のように動的要素を考慮した状態変更を行う態様では、機能モジュールは実施形態１の構成に加え、図２において破線を用いて示した構成をさらに含む（一点鎖線を用いて示した構成は含まない）。なお、実施形態１と同様に、本実施形態では描画アプリケーションに係るプログラムによって、下記の機能モジュールがソフトウェアにより実現されるものとして説明するが、各モジュールが実現する機能の一部または全部は、該機能を有する特定のハードウェアにより提供されるものであってもよいし、ソフトウェアとハードウェアの双方を用いて実現されるものであってもよい。
【００７３】
物理演算モジュール２１１は、拡張２次元オブジェクトに動的要素の適用を行う場合の、各物理点の挙動を導出する。本実施形態では簡単のため、拡張２次元オブジェクトと３次元ブジェクトとで構成される描画オブジェクトについて、予め定められたモーションの適用や位置／姿勢変更がなされた場合に、物理演算モジュール２１１はその過程で、３次元空間の環境（他のオブジェクトの存在等）、該描画オブジェクトの初期姿勢、風や重力加速度といった外的要因を考慮し、起伏情報に含まれる各物理点の挙動を動的に導出する。このとき、物理演算モジュール２１１は、重力による影響だけでなく、衝突による反発性能や弾性等を考慮するものであってよい、所謂物理演算を行うことで、このような動的要素に起因する物理点の位置及び姿勢変更を導出する。
【００７４】
形状変更モジュール２１２は、物理演算モジュール２１１により行われた物理演算の結果に基づき、位置や姿勢変更の行われた起伏情報が対応付けられたパーツのメッシュ（もしくは平板オブジェクト）について、キャンバス平面における形状変更を行う。上述した実施形態１では、起伏情報に基づく描画工程の変更は、起伏適用モジュール２０３が、起伏情報が対応付けられたパーツに係る平板オブジェクトの各頂点について、奥行き方向の深度値を変更することについてのみ行われるものとして説明した。即ち、実施形態１では、拡張２次元オブジェクトの位置及び姿勢の変更が行われない静的な状態を想定していたため、起伏情報は平板オブジェクトの凹凸形状の変更（頂点単位での深度値の変更）にのみ用いられるものとして説明した。本実施形態では、拡張２次元オブジェクトに対して動的要素の適用がなされた場合の状態変化を提示するため、形状変更モジュール２１２が、パーツのメッシュに対して描画方向について予め定められた形状を動的要素に応じて変更しつつ、かつ、起伏適用モジュール２０３が、このように形状変更されたメッシュを適用する平板オブジェクトの凹凸形状を変更する態様について説明する。換言すれば、本実施形態では起伏情報は、対応付けられたパーツのメッシュに対して動的要素の適用によって生じる２次元の変形（もしくは表現変更）と、当該変形を反映した上で変化した起伏に基づく、該パーツのメッシュを適用する平板オブジェクトにおける各頂点の深度値の変更と、に用いられる。
【００７５】
《物理点によるメッシュ形状変更》
ここで、動的要素の適用によって起伏情報の変更が生じたことに応じて生じる、該起伏情報が対応付けられたパーツのメッシュ形状の変更について説明する。
【００７６】
起伏情報は、上述した実施形態１と同様に、ボーンを介してルートジョイントに接続されたジョイント群により構成され、本実施形態ではこれらジョイントが物理点として取り扱われることで、例えば慣性表現や重力表現等を動的に反映させることができる。一方で、起伏情報により示されるジョイント群は、上述したように拡張２次元オブジェクトの基準姿勢について、３次元空間におけるルートジョイントとの相対位置が定められ、拡張２次元オブジェクト自体の移動もしくはルートジョイントにおける拡張２次元オブジェクトの回転に応じて位置を変えるものであるため、ルートジョイントから離間させた位置における部分的な隆起表現を姿勢に依らず担保させる等の側面も有する。故に、跳ね髪や結い髪のように、動的要素の適用による変化は生じさせたいが、重力に反発するような立体表現をデザイナが所望することも考慮し、物理点の各々には、動的要素による影響を受けないか否か、即ちルートジョイント（もしくは親ジョイント）との相対位置を維持するか否かの情報（例えば論理型の拘束情報：真で動的要素による影響を受けない、偽で動的要素による影響を受ける）が関連付けられる。従って、物理演算モジュール２１１は、起伏情報に含まれる物理点のうち、関連付けられた拘束情報が偽である物理点のみについて、動的要素の適用に応じた３次元空間における位置の導出を行う。
【００７７】
動的要素を適用するイベントが発生すると、物理演算モジュール２１１は、起伏情報の各物理点（拘束情報が偽のもの）について、適用する動的要素に係る物理演算を行って変化後の位置を決定する。拡張２次元オブジェクトの移動や姿勢変更によって生じる影響を適用する場合、ルートジョイントに対して与えられた加速度、角加速度の伝播を表現するため、物理演算モジュール２１１は、起伏情報に係るボーンで結束された物理点を結束順においてルートジョイントに近いものから順に選択して、変化後の位置を導出する処理を行えばよい。ここで、物理演算モジュール２１１が導出する位置は、３次元空間における絶対位置を示すワールド座標、ルートジョイントとの相対位置を示す座標、親ジョイントである物理点との相対位置を各々示す座標のいずれとして導出されるものであってもよい。本実施形態では、拡張２次元オブジェクトの姿勢変更に係るルートジョイント周りの回転がなされた場合に、該回転後の起伏情報の各物理点の位置の情報をワールド座標に変換するため、物理演算モジュール２１１は、物理演算の実行後の起伏情報の各物理点の位置の情報を、ワールド座標として導出するものとして説明する。
【００７８】
このように動的要素の適用による変更後の起伏情報が導出されると、形状変更モジュール２１２は、該変更後の起伏情報に基づき、対応付けられたパーツのメッシュ形状の変更処理を行う。
【００７９】
対応付けられたパーツのメッシュ形状の変更にあたり、形状変更モジュール２１２はまず、起伏情報の各物理点に生じた空間座標の変更を、キャンバス平面における２次元の位置変更の情報に変換する。即ち、拡張２次元オブジェクトの描画は、基本的には視点から奥行き方向に配置される平板オブジェクト群により行われるため、３次元的に行われた起伏情報の変形を該当のパーツの２次元画像であるメッシュに適用すべく、形状変更モジュール２１２は、起伏情報に係る物理点に生じた変更の内容を、奥行き方向の移動を排除した変更情報に変換する。具体的には形状変更モジュール２１２は、動的要素の適用前後の起伏情報をキャンバス平面に投影し、各物理点について
・該物理点が結束される親ジョイント（もしくはルートジョイント）の、動的要素の適用前から適用後の移動量ｔ
・該物理点が結束される親ジョイント（もしくはルートジョイント）の位置を中心とした回転角の、動的要素の適用前から適用後の差分θ
を導出する。ここで、回転角の差分θは、例えばキャンバス平面のいずれかの軸を基準に、親ジョイントからの回転量を動的要素の適用前後のそれぞれ求め、その差分として導出すればよい（正負により回転方向の判断可）。このようにすることで、動的要素の適用による起伏情報に生じた変更を、描画方向に係る該当パーツのメッシュに適用するための情報に変換することができる。
【００８０】
物理点（拘束情報が真のものも含む）ごとのキャンバス平面での変更情報（移動量ｔ及び回転角差分θ）を導出すると、形状変更モジュール２１２は、該当パーツのメッシュの各頂点について、起伏情報の各物理点からの影響をどの程度反映させるかを示す重み分布を導出する。本実施形態の描画アプリケーションでは、パーツのメッシュに動的要素の影響を反映させるため、メッシュの頂点ごとに行う位置の変更量（移動及び回転）を、対応付けられた起伏情報の各物理点について得られた変更情報を重み付け加算することにより導出する。重み分布は、キャンバス平面に投影した際の、メッシュの頂点と動的要素の適用前の状態の各物理点との距離に応じて定まるものであってよく、頂点に近接する物理点に係る変更情報ほど重みが高くなるよう決定される（重みの総和は１となる）。
【００８１】
形状変更モジュール２１２は、重み分布を決定すると、該当パーツのメッシュの各頂点について、該頂点に係る重み分布に基づいて各物理点の変更情報を重み付け加算し、動的要素の変更後の頂点位置を決定する。このようにすることで、動的要素の適用を受けない物理点周辺に存在する頂点はあまり移動せず、動的要素の適用を受ける物理点周辺に存在する頂点ほど移動するといった、デザイナの所望する描画表現を担保した、動的要素によるパーツ変形を実現することができる。
【００８２】
ここで、例えば後ろ髪パーツに対し、図９（ａ）に示されるような、ボーン９０３ａ、物理点９０２ａ及びボーン９０３ｂを介してルートジョイントに結束される起伏情報９０１（物理点９０２ｂ〜ｄとボーン９０３ｃ及びｄ）が拡張２次元オブジェクトに定義されている態様において、ルートジョイントを中心として、拡張２次元オブジェクトにピッチ成分の回転が生じた場合を考える。このとき、起伏情報９０１は、拡張２次元オブジェクトの基準姿勢についての相対位置を定義しているため、動的要素の適応を行わなければ図９（ｂ）に示されるように、起伏情報自体が３次元オブジェクトに干渉し得る。
【００８３】
一方で、起伏情報９０１において、拘束情報は物理点９０２ｂにのみ真を示すものが関連付けられ、他の物理点９０２ｃ及びｄには偽を示すものが関連付けられているものとした場合、後者の物理点群については動的要素の適用に応じた３次元空間における位置変更が生じる。従って、物理演算モジュール２１１による物理演算を基に動的要素の適用を行うことで、起伏情報９０１は、３次元モデルと干渉しない図９（ｃ）の起伏情報９０１’のような状態となる。
【００８４】
従って、このように動的要素の適用がなされることで起伏情報９０１の３次元形状が変更されるため、これに基づいて実施形態１と同様に、対応付けられたパーツに係る平板オブジェクトの奥行き方向の深度値の変形を行うことで、図１０に示されるように後ろ髪パーツのメッシュを適用する平板オブジェクトを、変更後の起伏情報９０１’に沿う３次元形状に変更することができ、やはり３次元オブジェクトとの干渉を回避させつつ、好適な描画表現の提示を行うことができる。なお、ここで、平板オブジェクトの奥行き方向に係るキャンバス平面への正射影の形状は、描画方向に対応付けられた該パーツのメッシュの形状が、起伏情報９０１及び９０１’に基づく変形が適用された形状となっているものとする。
【００８５】
《表示制御処理》
以下、上記のモジュール構成を有する描画アプリケーションを実行した場合にＰＣ１００において実現される、本実施形態の表示制御処理について、図１１のフローチャートを用いて具体的な処理を説明する。該フローチャートに対応する処理は実施形態１と同様に、制御部１０１が、例えば記録媒体１０２に記憶されている描画アプリケーションに対応する処理プログラムを読み出し、メモリ１０３に展開して実行することにより実現することができる。なお、本表示制御処理は、例えば描画アプリケーションが実行された際に開始され、各フレームの画面描画のために繰り返し実行されるものとして説明する。また本実施形態の表示制御処理において、実施形態１の表示制御処理と同様の処理を行うステップについては同一の参照番号を付して説明を省略し、以下では、本実施形態において特徴的な処理についてのみ説明する。
【００８６】
Ｓ１１０１で、制御部１０１は、前のフレームからの視点移動、描画オブジェクト（拡張２次元オブジェクト及び３次元オブジェクト）の状態変更、及び影響を及ぼす動的要素の発生、の少なくともいずれかが生じたか否かを判断する。これらの要素は、実施形態１と同様に、所定の操作入力の有無により発生の有無を判断するものであってもよいし、描画オブジェクトの姿勢変更がなされたか、描画オブジェクトへのモーションの適用中であるか、または物理点の移動を生じせしめる外的要因が生じているか、により発生の有無を判断するものであってもよい。制御部１０１は、前のフレームからの視点移動、描画オブジェクトの状態変更、及び影響を及ぼす動的要素の発生の少なくともいずれかが生じたと判断する場合は処理をＳ１１０２に移し、いずれも生じていないと判断した場合は処理をＳ８０８に移す。
【００８７】
Ｓ１１０２で、描画方向設定モジュール２０１は、現在の視点と拡張２次元オブジェクトとの位置関係、及び拡張２次元オブジェクトの状態に基づいて、拡張２次元オブジェクトについての描画方向を決定する。実施形態１と異なり、本実施形態では拡張２次元オブジェクト自体のルートジョイント周りの姿勢変更（基準ベクトルの方向変更）も行われるため、描画方向設定モジュール２０１は、視点情報と拡張２次元オブジェクトの位置及び姿勢の情報に基づいて、視点からルートジョイントに向かうベクトルと、拡張２次元オブジェクトの正面方向を示す基準ベクトルとのなす角度を導出し、描画方向を決定する。
【００８８】
Ｓ１１０３で、物理演算モジュール２１１は、拡張２次元オブジェクトのいずれかのパーツに対応付けられている起伏情報が存在するか否かを判断する。物理演算モジュール２１１は、いずれかのパーツに対応付けられている起伏情報が存在すると判断した場合、処理をＳ１１０４に移し、存在しないと判断した場合は処理をＳ８０３に移す。
【００８９】
Ｓ１１０４で、物理演算モジュール２１１は、現在の起伏情報の各ジョイントの３次元空間中の位置（ワールド座標）を、現在の拡張２次元オブジェクトの位置及び姿勢の情報に基づいて導出する。
【００９０】
Ｓ１１０５で、物理演算モジュール２１１は、起伏情報に拘束情報が偽である物理点が含まれ、かつ起伏情報に影響を及ぼす動的要素が発生したか否かを判断する。物理演算モジュール２１１は、拘束情報が偽である物理点が含まれ、かつ起伏情報に影響を及ぼす動的要素が発生したと判断した場合は処理をＳ１１０６に移し、拘束情報が偽である物理点が含まれない、または影響を及ぼす動的要素が発生していないと判断した場合は処理をＳ８０３に移す。
【００９１】
Ｓ１１０６で、物理演算モジュール２１１は、適用される動的要素に基づいて起伏情報の各物理点について物理演算を行い、動的要素の適用後の起伏情報をさらに構成する。このとき、後の処理で使用するため適用前の起伏情報も保持されているものとする。
【００９２】
Ｓ１１０７で、形状変更モジュール２１２は、動的要素の適用前後の起伏情報をそれぞれキャンバス平面に投影し、各物理点について変更情報を導出する。
【００９３】
Ｓ８０３において、拡張２次元オブジェクトの各パーツのメッシュ形状及び奥行き順序が決定された描画方向に係る状態に設定され、各メッシュを適用する平板オブジェクトの各頂点の位置及び奥行き方向の深度値が暫定的に決定されると、形状変更モジュール２１２はＳ１１０８で、導出した変更情報に基づくメッシュ形状及び該メッシュを適用する平板オブジェクトの面形状の変形を行う。上述の説明から、本変形の対象は、起伏情報が対応付けられたパーツのメッシュ及びこれを適用する平板オブジェクトであり、該当しないパーツについて本ステップの処理が行われないことは容易に理解されよう。なお、本ステップの処理において、変形の実行前には、メッシュの各頂点に対する重み分布の生成が行われる。
【００９４】
このようにすることで、動的要素の適用を含む態様においても、拡張２次元オブジェクトと３次元オブジェクトとを３次元空間に共存させて描画する際に、３次元オブジェクトとの遮蔽関係を整合させた好適な描画表現を提供することが可能となる。
【００９５】
［変形例］
上述した実施形態２では、動的要素の適用によって起伏情報を変更することで、拡張２次元オブジェクトと３次元オブジェクトとが干渉する状況の発生を低減できるものとして説明した。しかしながら、３次元オブジェクトに対して適用されるモーションや拡張２次元オブジェクトの姿勢によっては、動的要素の適用によって起伏情報を変更したとしてもオブジェクト間の干渉が生じ得る。
【００９６】
例えば、図９（ａ）に示したような、起伏情報が定義された拡張２次元オブジェクトと３次元オブジェクトとで構成されるキャラクタが、図１２（ａ）に示されるような「お辞儀」の姿勢をとるとすると、後ろ髪パーツに対応付けられた起伏情報のうちの拘束情報が偽である物理点は、図示されるように３次元オブジェクトよりも視点寄りの３次元位置に移動する。しかしながら、拡張２次元オブジェクトが正面方向を向いている基準姿勢から該お辞儀の動作が開始される場合、起伏情報の物理点が３次元オブジェクトの背面側から前面側に移動遷移することになるため、その過程において後ろ髪パーツが３次元オブジェクトを貫通する（すり抜ける）ような描画表現がなされ得る。
【００９７】
このため、起伏情報に含まれる各物理点には３次元オブジェクトとの接触判定を行うためのオブジェクト（所謂コリジョン）が設定され、物理演算モジュール２１１は物理演算において、３次元オブジェクトについて設定されるコリジョンと物理点について設定されるコリジョンとが交差（重複）し得るか否かを判定し、交差するのであれば、交差しない状態（接触している状態）となるよう該物理点の３次元空間における位置を決定すればよい。
【００９８】
また、起伏情報と３次元オブジェクトとは、必ずしも物理点におけるコリジョンで接触判定ができるとは限らない。例えば拡張２次元オブジェクトが基準姿勢から図１２（ａ）に示される姿勢まで遷移する態様では、遷移の過程で３次元オブジェクトの腕部のコリジョン１２０１と最初に接触する起伏情報の部位は、物理点９０２ｂや物理点９０２ｃに係るコリジョンではなく、該物理点間を結束するボーン上の点となり得る。故に、該ボーン上の点に基づいて深度値を決定する平板オブジェクトの頂点が存在した場合、やはり後ろ髪パーツが３次元オブジェクトを貫通する描画表現がなされてしまう。
【００９９】
故に、動的要素の適用に応じた起伏情報の変更遷移において、３次元オブジェクトのコリジョンとボーンとが最初に接触する場合、物理演算モジュール２１１は、該ボーン上の接触点の位置に新たな物理点を追加するよう起伏情報を変更し、接触判定及び接触に伴う起伏情報の変更を行うようにしてもよい。例えば図１２（ａ）の態様に対してこれを適用する場合、物理演算モジュール２１１は図１２（ｂ）に示されるように新たな物理点１２０２を追加し、該物理点のコリジョン１２０３が腕部のコリジョン１２０１と交差しないよう、物理点１２０２の３次元空間における位置を決定し、これを反映した上で物理点９０２ｃ及びｄの位置を物理演算により決定するようにしてもよい。
【０１００】
このように起伏情報について３次元オブジェクトとの間で接触判定（衝突判定）を行うことにより、不整合な描画表現が提示されないよう、遮蔽関係にあるパーツの平板オブジェクトの立体的形状を定義することが可能となる。
【０１０１】
［実施形態３］
ところで、上述した実施形態及び変形例では、拡張２次元オブジェクトの描画にあたり、視点と該オブジェクトのルートジョイントとの位置関係、及び該オブジェクトのルートジョイントにおける姿勢とに基づいて描画方向を設定し、設定した描画方向について定められた描画表現で拡張２次元オブジェクトを提示するものとして説明した。即ち、描画方向が設定されると、拡張２次元オブジェクトの全パーツのメッシュは、該描画方向について定められた形状に変形され、キャンバス平面にて同一形状を有する平板オブジェクトに適用されることで３次元空間に配置、描画される態様について説明した。
【０１０２】
このような態様は、上述した透視投影方式の描画表現を実現するための調整処理と同様で、視点と拡張２次元オブジェクトとの距離が遠離している場合には好適な描画表現を提示することが可能であるが、視点と拡張２次元オブジェクトが近接している場合や、急峻な角度の煽りや俯瞰の構図の視点となる場合には、好適な描画表現とならない可能性がある。これは、拡張２次元オブジェクトの全てのパーツについての描画方向を、該オブジェクトのルートジョイントを基準に定めていることに依るものである。
【０１０３】
視点と拡張２次元オブジェクトとが遠離している場合、視点情報に基づいて描画されるスクリーン座標系において、ルートジョイントと、該ルートジョイント周辺に配置される各パーツのメッシュ（平板オブジェクト）とは近接する。つまり、拡張２次元オブジェクトが現れる領域はスクリーン中の所定の範囲に収まるため、視点から拡張２次元オブジェクトの各パーツを鑑賞する方向の差異を無視することができ、各パーツのメッシュが同一の描画方向について定められた形状となっていても、観賞者に違和感を与えない。
【０１０４】
一方で、視点と拡張２次元オブジェクトとが近接している場合や、急峻な角度の煽りや俯瞰の構図の視点となる場合等では、スクリーン座標において、ルートジョイントと、該ルートジョイント周辺に配置される各パーツのメッシュとが離間する。つまり、拡張２次元オブジェクトが現れる領域がスクリーン中の所定の範囲に収まらないため、視点から拡張２次元オブジェクトの各パーツを鑑賞する方向に無視できない差異が生じ、各パーツのメッシュが同一の描画方向について定められた形状となっていた場合、図１３（ａ）に示されるように観賞者に違和感を与え得る。特に、視点が描画オブジェクトに向かって近接する、もしくは描画オブジェクトから遠離する方向に移動遷移する場合、透視投影方式では、視点との位置関係によって観賞される面が異なる、あるいは遮蔽関係が異なるといった描画表現がなされることが好適であるが、描画方向についてメッシュ形状や奥行き順序が定義されている拡張２次元オブジェクトではこのような表現ができなかった。また、視点と拡張２次元オブジェクトとが遠離していたとしても、スクリーン座標系においてルートジョイントから離間した位置に及んでメッシュが展開されるパーツが含まれる場合、同様に好適な描画表現とならない。
【０１０５】
即ち、３次元形状が定義され、透視投影方式に対応している３次元オブジェクトと、そもそも描画方式の異なる拡張２次元オブジェクトとを３次元空間に共存させて描画する場合には、スクリーンとして提供される画角内で、視点との距離に応じて好適な遠近感の描画表現を提示するための処理が必要となる。従って、本実施形態では、拡張２次元オブジェクトの描画用に決定された描画方向を、該オブジェクトを構成するパーツごとに、その状態に応じて変更することで好適な描画表現を提供する方法について説明する。
【０１０６】
《モジュール構成》
以下、本実施形態の描画アプリケーションに係るプログラムを実行することで実現される、本実施形態の発明に係る機能モジュールについて、図２を用いて説明する。本実施形態のようにパーツの配置位置と視点との位置関係に応じて描画方向の変更を行う態様では、機能モジュールは実施形態１の構成に加え、図２において一点鎖線を用いて示した構成をさらに含む（破線を用いて示した構成は含まない）。即ち、本実施形態では説明を簡単にするため、拡張２次元オブジェクトは基準姿勢を保持し、拡張２次元オブジェクト及び３次元オブジェクトの移動は生じず、動的要素の適用もない態様を例に説明する。
【０１０７】
なお、上述の実施形態と同様に、本実施形態では描画アプリケーションに係るプログラムによって、下記の機能モジュールがソフトウェアにより実現されるものとして説明するが、各モジュールが実現する機能の一部または全部は、該機能を有する特定のハードウェアにより提供されるものであってもよいし、ソフトウェアとハードウェアの双方を用いて実現されるものであってもよい。
【０１０８】
描画方向変更モジュール２２１は、拡張２次元オブジェクトの各パーツについて、該パーツの提示にあたって描画方向設定モジュール２０１により設定された描画方向（基準描画方向）を変更するか否かの判断、及び該パーツについて適用する新たな描画方向（整合描画方向）を決定する。パーツについて描画方向を変更するか否かの判断は、パーツの状態について定められた条件を満たすか否かにより行われる。本実施形態では簡単のため、描画方向変更モジュール２２１は、ルートジョイントと所定の距離離間するものとして特定可能であるため、パーツに起伏情報が対応付けられていることを条件として、描画方向の変更を行うと判断するものとする。
【０１０９】
補正モジュール２２２は、描画方向変更モジュール２２１によりパーツに対して整合描画方向が決定された場合に、該パーツのメッシュ及び平板オブジェクトを整合描画方向に応じた位置に補正する補正量を導出する。ここで、描画方向設定モジュール２０１によって設定された基準描画方向と、描画方向変更モジュール２２１により変更された整合描画方向とでは、パーツのメッシュについて定められる位置、形状及び奥行き順序は異なり得る。即ち、単純に整合描画方向について定められた情報に基づいてパーツのメッシュ（及び平板オブジェクト）の配置位置を決定すると、もともと設定されていた基準描画方向について配置位置が確定している他のパーツとの間で描画表現に齟齬が生じ得るため、補正モジュール２２２は、整合描画方向について形状変更したメッシュの位置を、変更前の基準描画方向に対応する位置に変更する補正を行う。本実施形態では、メッシュあるいは該メッシュを適用する平板オブジェクトの配置位置は、対応付けられた起伏情報のジョイントを基準に定まるものであるため、補正モジュール２２２は、整合描画方向の描画表現に変更したメッシュの配置位置を、配置位置の基準とするジョイントの位置に応じて変更し、描画表現を整合させる。
【０１１０】
《描画方向の変更》
ここで、描画方向変更モジュール２２１により条件を満たすパーツについて行われる、整合描画方向の決定方法について、図１４を用いて説明する。図１４の例では説明を簡単にするため、視点に係る視線方向ベクトル１４０１と拡張２次元オブジェクトの基準ベクトル１４０２とが正対しており、拡張２次元オブジェクトの後ろ髪パーツに、ジョイント１４０３ｂ及びｃとボーン１４０４ｂ及びｃとで構成される起伏情報が対応付けられているものとする。図は、決定される整合描画方向を把握しやすいよう、これらオブジェクト及び起伏情報を鳥瞰する態様にて示している。
【０１１１】
上述した通り、図１４に示される例では、視線方向ベクトル１４０１と基準ベクトルが正対しているため、描画方向設定モジュール２０１は拡張２次元オブジェクトについて正面方向に対応する描画方向を基準描画方向として設定している。従って、各パーツのメッシュは、設定された基準描画方向に応じた形状に変更される。一方で、後ろ髪パーツについて対応付けられた起伏情報のうち、パーツ上部の配置位置の基準となるジョイント１４０３ｂと視点とを結ぶ直線は、ルートジョイントと視点とを結ぶ直線と角度φをなしている。即ち、後ろ髪パーツのメッシュを基準描画方向に応じた形状とした場合、当該角度φが大きいほど、視点からジョイント１４０３ｂに向かう方向に存在する後ろ髪パーツを観賞する際に提示されるであろう描画表現と乖離することになる。
【０１１２】
このため、描画方向変更モジュール２２１は、後ろ髪パーツについての描画方向（整合描画方向）を、視点とルートジョイントとの位置関係に基づいて設定された基準描画方向から、視点とジョイント１４０３ｂとの位置関係に基づく方向に変更する。なお、本実施形態では簡単のため、パーツについて起伏情報が対応付けられている場合に、該起伏情報のうちの１つのジョイントに基づいて決定した整合描画方向を、該パーツに対して適用するものとして説明するが、本実施形態の発明の実施はこれに限られるものではない。即ち、起伏情報が対応付けられたパーツについての整合描画方向は複数決定されるものであってもよく、例えば起伏情報のボーンのそれぞれに対応する部位にパーツを細分化し、細分化された部位ごとに親ジョイントに基づいて決定した整合描画方向を割り当てるものとしてもよい。
【０１１３】
《表示制御処理》
以下、上記のモジュール構成を有する描画アプリケーションを実行した場合にＰＣ１００において実現される、本実施形態の表示制御処理について、図１５のフローチャートを用いて具体的な処理を説明する。該フローチャートに対応する処理は上述の実施形態と同様に、制御部１０１が、例えば記録媒体１０２に記憶されている描画アプリケーションに対応する処理プログラムを読み出し、メモリ１０３に展開して実行することにより実現することができる。なお、本表示制御処理は、例えば描画アプリケーションが実行された際に開始され、各フレームの画面描画のために繰り返し実行されるものとして説明する。また本実施形態の表示制御処理において、実施形態１の表示制御処理と同様の処理を行うステップについては同一の参照番号を付して説明を省略し、以下では、本実施形態において特徴的な処理についてのみ説明する。
【０１１４】
Ｓ８０２における基準描画方向の設定がなされた後、描画方向変更モジュール２２１はＳ１５０１で、描画方向の変更を行うパーツが存在するか否かを判断する。本実施形態では描画方向変更モジュール２２１は、上述した通り、起伏情報が対応付けられているパーツの有無に応じて本ステップの判断を行う。描画方向変更モジュール２２１は、描画方向の変更を行うパーツが存在すると判断した場合は処理をＳ１５０２に移し、存在しないと判断した場合は処理をＳ８０３に移す。
【０１１５】
Ｓ１５０２で、描画方向変更モジュール２２１は、描画方向の変更を行うパーツのそれぞれについて、整合描画方向を決定する。より詳しくは描画方向変更モジュール２２１は、起伏情報に含まれるジョイントと視点とを結ぶ直線と、ルートジョイントと視点とを結ぶ直線のなす角度に基づいて、整合描画方向の決定を行う。
【０１１６】
Ｓ１５０３で、位置形状決定モジュール２０２は、拡張２次元オブジェクトの各パーツのメッシュ形状及び奥行き順序を決定された描画方向に係る状態に設定し、各メッシュを適用する平板オブジェクトの各頂点の位置及び奥行き方向の深度値を暫定的に決定する。本ステップの処理は、基本的にはＳ８０３において行われるものとして説明した処理と同様であるが、描画方向の変更を行うものとして判断されたパーツについては、基準描画方向に基づいて処理が行われるのではなく、Ｓ１５０２において決定された整合描画方向に基づいて処理が行われる。
【０１１７】
Ｓ１５０４で、補正モジュール２２２は、描画方向の変更を行うものとして判断されたパーツについて、キャバス平面上における該パーツのメッシュの位置を、整合描画方向について定まる位置から、基準描画方向について定まる同パーツのメッシュの位置に変更する補正量を導出する。そして位置形状決定モジュール２０２は、導出された補正量にもとづき、該パーツのメッシュ及びこれを適用する平板オブジェクトのキャンバス空間における位置を変更して、処理をＳ８０４に移す。
【０１１８】
このようにすることで、拡張２次元オブジェクトの描画において、視点との位置関係に応じたより好適な描画表現を提示することができる。例えば、拡張２次元オブジェクトの全てのパーツを、基準描画方向について定まるメッシュ形状で描画した場合には、図１３（ａ）に示されるような描画表現となって遠近表現が好適になされないが、本実施形態の描画アプリケーションによれば、ルートジョイントから遠離するよう起伏情報が対応付けられているパーツの描画方向が変更されるため、図１３（ｂ）に示されるような描画表現とすることができる。
【０１１９】
なお、本実施形態では、パーツについて新たな描画方向を決定するか否かを、該パーツに起伏情報が対応付けられているか否かに基づいて判断するものとして説明したが、判断基準はこれに限られるものではない。上述したように視点とルートジョイントとを結ぶ直線とのなす角度に基づいて整合描画方向を決定する方式では、例えば設定された基準描画方向に係るパーツをいずれの位置に配置する際に参照される、３次元空間中の参照点が特定できる態様であれば、起伏情報に含まれるジョイントに代えて利用してもよい。即ち、パーツについて起伏情報が対応付けられていなくても、該パーツに係るメッシュや平板オブジェクトの配置位置の決定の基準となる参照点と視点とを結ぶ直線と、ルートジョイントと視点とを結ぶ直線とのなす角に基づいて、描画方向変更モジュール２２１は整合描画方向を決定するものとしてもよい。
【０１２０】
また整合描画方向は、このようにパーツへの参照点の対応付けがなされる態様でなくとも、視点情報に基づいて描画を行った際に、スクリーン座標系においてパーツがどのように分布するかを特定可能な態様であれば、同様に決定可能である。つまり、透視投影方式の描画では、１つの拡張２次元オブジェクトを描画する画面において、即ち、視点に係る画角内において、各パーツがルートジョイントとどのように分布するかに依って、好適な遠近表現や観賞されるべき方向が定まるため、スクリーン座標におけるルートジョイントと各パーツの位置関係に応じて、描画方向変更モジュール２２１は整合描画方向を決定してもよい。このような態様では、スクリーン座標においてルートジョイントと近接するパーツについては、基準描画方向から変更したとしても、生じる描画表現の差異は微差とみなすことができるため、新たに整合描画方向を決定するパーツは、演算量を低減せしめるべく、スクリーン座標においてルートジョイントから所定の距離を越えて離間した位置に配置されるものに限定するものとしてもよい。
【０１２１】
また、本実施形態のように拡張２次元オブジェクトであっても、パーツごとに描画方向を決定する手法を採用するのであれば、描画オブジェクトを拡張２次元オブジェクトと３次元オブジェクトとで構成せずに、全て拡張２次元オブジェクトで構成したとしても、透視投影方式に相当する描画表現を提示することもできることは容易に理解されよう。
【０１２２】
［実施形態４］
上述した実施形態１乃至３及び変形例では、特徴的な機能構成を簡素に説明すべく、それぞれ該当の機能構成による効果が現れやすい独立した態様を例として挙げたが、本発明の実施において、これらの機能構成は如何様に組み合わせられるものであってよい。
【０１２３】
本実施形態では、全ての機能構成を組み合わせた態様について説明する。即ち、本実施形態の描画アプリケーションに係るプログラムを実行することで実現される機能モジュールは、図２に実線、破線、及び一点鎖線を用いて示した全ての構成を含む。
【０１２４】
《表示制御処理》
以下、図２に示されるモジュール構成を有する描画アプリケーションを実行した場合にＰＣ１００において実現される、本実施形態の表示制御処理について、図１６のフローチャートを用いて具体的な処理を説明する。該フローチャートに対応する処理は実施形態１と同様に、制御部１０１が、例えば記録媒体１０２に記憶されている描画アプリケーションに対応する処理プログラムを読み出し、メモリ１０３に展開して実行することにより実現することができる。なお、本表示制御処理は、例えば描画アプリケーションが実行された際に開始され、各フレームの画面描画のために繰り返し実行されるものとして説明する。また本実施形態の表示制御処理において、実施形態１乃至３の表示制御処理と同様の処理を行うステップについては同一の参照番号を付して説明を省略し、以下では、本実施形態において特徴的な処理についてのみ説明する。
【０１２５】
Ｓ１１０５において、起伏情報に拘束情報が偽である物理点が含まれ、かつ気風情報に影響を及ぼす動的要素が発生したと判断した場合、物理演算モジュール２１１はＳ１６０１で、適用される動的要素に基づいて物理演算を行い、動的要素の適用後の起伏情報を更に構成する。このとき、物理演算モジュール２１１は、起伏情報に含まれる物理点またはボーンと３次元オブジェクトとの接触判定を行い、必要に応じて起伏情報の物理点を増やしつつ、３次元オブジェクトと交差しないような状態の起伏情報を構成する。
【０１２６】
またＳ１５０１において描画方向の変更を行うパーツが存在すると判断した場合、描画方向変更モジュール２２１はＳ１６０２で、描画方向の変更を行うパーツのそれぞれについて整合描画方向を決定する。本実施形態の表示制御処理では、動的要素の適用も考慮しているため、起伏情報に変更が生じた場合、各物理点における正面方向にも変化が生じ得る。即ち、起伏情報の各物理点は、拡張２次元オブジェクトが基準姿勢であって静的な状態にある場合に、基準ベクトルと同一の方向に正面方向が定義されているが、拡張２次元オブジェクトの姿勢変更や動的要素の適用によって、親ジョイント周りの回転や子の物理点の移動が生じた場合、対象の物理点における正面方向が変化する。換言すれば、動的要素の適用がなされた場合、起伏情報により示される起伏（物理点とボーンにより形成される３次元的形状）中に、所謂「ねじれ」のような影響が生じる。
【０１２７】
このため、本実施形態の描画アプリケーションでは、描画方向の変更を行うパーツについての整合描画方向は、ルートジョイントと物理点との３次元空間における位置関係だけでなく、該物理点における姿勢変更も考慮して、整合描画方向の決定を行う。
【０１２８】
またＳ１５０３及びＳ１５０４、あるいはＳ８０３において、拡張２次元オブジェクトの各パーツのメッシュ形状及び奥行き順序が決定された基準描画方向または整合描画方向に係る状態に設定され、各メッシュを適用する平板オブジェクトの各頂点の位置及び奥行き方向の深度値が暫定的に決定されると、形状変更モジュール２１２はＳ１６０３で、導出した変更情報に基づくメッシュ形状及び該メッシュを適用する平板オブジェクトの面形状の変形を行う。このとき、変形の実行前に生成されるメッシュの各頂点に対する重み分布は、描画方向の変更が行われたパーツについては、整合描画方向に係るメッシュに基づいて生成される。
【０１２９】
このようにすることで、起伏情報への動的要素の適用、動的要素の適用に伴う拡張２次元オブジェクトと３次元的表現との間における干渉の発生回避、及び視点との位置関係に応じた描画方向の動的な変更を複合的に実現した、拡張２次元オブジェクトの好適な描画表現を示す画面を提示することができる。
【０１３０】
例えば、上記複合的な態様によれば、以下のような態様においても、よりデザイナの所望する描画表現を実現することができる。図１７（ａ）に示されるように、キャラクタの描画オブジェクトに対して「お辞儀」のモーションを適用する際に、正面上方からキャラクタ頭頂部と正対する視点１７０１が設定される態様を考える。実施形態２＋変形例の構成では、拡張２次元オブジェクトのパーツ群は、基準描画方向となるキャラクタ頭頂部について定められた、図１８（ａ）のようなメッシュ形状に変形されるため、これを図１７（ｂ）に示されるような起伏情報１７０２に沿った形状の板オブジェクト１７０３に適用すると、図１８（ｂ）に示されるように、後ろ髪のパーツの毛先の描画表現が適切でなくなる。即ち、後ろ髪のパーツのメッシュを適用する平板オブジェクト１７０４は、頭頂部と正対する描画方向においてｙ成分の拡がりがない状態となるが、動的要素を考慮した頂点の位置変更がなされることで、キャンバス平面内で拡大され、これを起伏情報１７０２に基づいて深度値を決定することになるため、毛先の描画表現等が失われた状態で提示されることになる。一方で、さらに実施形態３の構成を含めた場合、後ろ髪のパーツについては起伏情報１７０２の物理点に応じた整合描画方向が設定されるため、図１８（ｃ）に示されるような、拡張２次元オブジェクトの基準姿勢を正面上方から見下ろす描画表現を、該パーツのメッシュに反映させることができる。結果、起伏情報１７０２に沿った形状の板オブジェクト１７０３に適用したとしても、図１８（ｄ）に示されるように、デザイナ所望の毛先の描画表現を提示することができる。
【０１３１】
［その他の実施形態］
本発明は上記実施の形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。また本発明に係るプログラムは、コンピュータが読み取り可能な記録媒体に記録されることにより、あるいは電気通信回線を通じて、提供／配布することができる。
【符号の説明】
【０１３２】
１００：ＰＣ、１０１：制御部、１０２：記録媒体、１０３：メモリ、１０４：描画部、１０５：表示制御部、１０６：操作入力部、１１０：表示部、２０１：描画方向設定モジュール、２０２：位置形状決定モジュール、２０３：起伏適用モジュール、２０４：配置モジュール、２０５：描画モジュール、２１１：物理演算モジュール、２１２：形状変更モジュール、２２１：描画方向変更モジュール、２２２：補正モジュール
【図１】
2019096165.tif 000003
【図２】
2019096165.tif 000004
【図３】
2019096165.tif 000005
【図４】
2019096165.tif 000006
【図５】
2019096165.tif 000007
【図６】
2019096165.tif 000008
【図７】
2019096165.tif 000009
【図８】
2019096165.tif 000010
【図９】
2019096165.tif 000011
【図１０】
2019096165.tif 000012
【図１１】
2019096165.tif 000013
【図１２】
2019096165.tif 000014
【図１３】
2019096165.tif 000015
【図１４】
2019096165.tif 000016
【図１５】
2019096165.tif 000017
【図１６】
2019096165.tif 000018
【図１７】
2019096165.tif 000019
【図１８】
2019096165.tif 000020
【手続補正書】
【提出日】平成30年11月29日(2018.11.29)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１
【補正方法】変更
【補正の内容】
【請求項１】
コンピュータに、各々が２次元画像で構成されたパーツ群によって３次元的表現を実現する第１の種別の描画オブジェクトであって、描画される方向に応じてパーツ群の形状及び奥行き順序を変更することで、該方向に係る３次元的表現を実現する第１の種別の描画オブジェクトと、３次元形状を定義した第２の種別の描画オブジェクトと、を３次元空間に配置して描画させるプログラムであって、
前記プログラムは、
前記第１の種別の描画オブジェクトについて、該オブジェクトの前記３次元空間における配置位置と描画を行う視点を示す視点情報とに基づいて、該オブジェクトの描画される描画方向を決定する処理と、
前記第１の種別の描画オブジェクトを構成する各パーツの形状及び奥行き順序を、決定された前記描画方向に応じて変更する処理と、
前記変更がなされた前記第１の種別の描画オブジェクトを構成する各パーツの２次元画像を、前記視点から前記第１の種別の描画オブジェクトの配置位置に向かう奥行き方向と直交する平面を有する平板オブジェクトに適用することで、前記第１の種別の描画オブジェクトを前記３次元空間に配置する処理と、
前記第２の種別の描画オブジェクトを前記３次元空間に配置する処理と、
前記視点情報に基づいて、前記３次元空間に配置された前記第１の種別の描画オブジェクト及び前記第２の種別の描画オブジェクトを描画する処理と、
を前記コンピュータに実行させ、
前記第１の種別の描画オブジェクトを配置する処理が、前記第１の種別の描画オブジェクトを構成する少なくとも一部のパーツに対応付けられた、前記３次元空間における位置の情報を含む起伏情報に基づき、該パーツの２次元画像が適用された前記平板オブジェクトを変形させる処理を含む
ことを特徴とするプログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】変更
【補正の内容】
【００１０】
前述の目的を達成するために、本発明のプログラムは、コンピュータに、各々が２次元画像で構成されたパーツ群によって３次元的表現を実現する第１の種別の描画オブジェクトであって、描画される方向に応じてパーツ群の形状及び奥行き順序を変更することで、該方向に係る３次元的表現を実現する第１の種別の描画オブジェクトと、３次元形状を定義した第２の種別の描画オブジェクトと、を３次元空間に配置して描画させるプログラムであって、プログラムは、第１の種別の描画オブジェクトについて、該オブジェクトの３次元空間における配置位置と描画を行う視点を示す視点情報とに基づいて、該オブジェクトの描画される描画方向を決定する処理と、第１の種別の描画オブジェクトを構成する各パーツの形状及び奥行き順序を、決定された描画方向に応じて変更する処理と、変更がなされた第１の種別の描画オブジェクトを構成する各パーツの２次元画像を、視点から第１の種別の描画オブジェクトの配置位置に向かう奥行き方向と直交する平面を有する平板オブジェクトに適用することで、第１の種別の描画オブジェクトを３次元空間に配置する処理と、第２の種別の描画オブジェクトを３次元空間に配置する処理と、視点情報に基づいて、３次元空間に配置された第１の種別の描画オブジェクト及び第２の種別の描画オブジェクトを描画する処理と、をコンピュータに実行させ、第１の種別の描画オブジェクトを配置する処理が、第１の種別の描画オブジェクトを構成する少なくとも一部のパーツに対応付けられた、３次元空間における位置の情報を含む起伏情報に基づき、該パーツの２次元画像が適用された平板オブジェクトを変形させる処理を含むことを特徴とする。