(57)【要約】【課題】効率的に３ＤＣＧを制作することができる画像処理装置を提供する。【解決手段】画像処理装置１は、仮想３次元空間に配置された第１のオブジェクト又は第２のオブジェクトへの入力操作を受ける操作入力部１１と、仮想３次元空間における第１のオブジェクトと第２のオブジェクトとの重なりを検出する重なり検出部１２と、重なり検出部１２にて重なりが検出された場合、第２のオブジェクトを回避するように第１のオブジェクトを変形させるオブジェクト変形部１３と、仮想３次元空間に配置された第１のオブジェクトと第２のオブジェクトとを描画する描画部１４とを備え、重なり検出部１２が、操作入力部１１における入力操作の都度、第１のオブジェクトと第２のオブジェクトとの重なりを検出する。【選択図】図１
2018072974.tif 000002
【特許請求の範囲】
【請求項１】
仮想３次元空間に配置された第１のオブジェクト又は第２のオブジェクトへの入力操作を受ける操作入力部と、
前記仮想３次元空間における前記第１のオブジェクトと前記第２のオブジェクトとの重なりを検出する重なり検出部と、
前記重なり検出部にて重なりが検出された場合、前記第２のオブジェクトを回避するように前記第１のオブジェクトを変形させるオブジェクト変形部と、
前記仮想３次元空間に配置された前記第１のオブジェクトと前記第２のオブジェクトとを描画する描画部とを備え、
前記重なり検出部が、前記操作入力部における入力操作の都度、前記第１のオブジェクトと前記第２のオブジェクトとの重なりを検出する画像処理装置。
【請求項２】
仮想３次元空間に配置された第１のオブジェクト又は第２のオブジェクトを加工するオブジェクト加工部をさらに備え、
前記重なり検出部が、前記オブジェクト加工部における加工の都度、前記第１のオブジェクトと前記第２のオブジェクトとの重なりを検出する請求項１記載の画像処理装置。
【請求項３】
前記第１のオブジェクトが、幹と枝とを含む樹木モデルであり、
前記オブジェクト変形部が、前記樹木モデルの幹及び枝のうち少なくとも１つを変形させる請求項１記載の画像処理装置。
【請求項４】
前記第１のオブジェクトが、幹と枝とを含む樹木モデルであり、
前記オブジェクト加工部が、前記樹木モデルを生長させる請求項２記載の画像処理装置。
【請求項５】
前記第１のオブジェクトが、幹と枝とを含む樹木モデルであり、
前記オブジェクト加工部が、前記樹木モデルの幹及び枝のうち少なくとも１つを吸引する吸引オブジェクトを配置する請求項２記載の画像処理装置。
【請求項６】
仮想３次元空間に配置された第１のオブジェクト又は第２のオブジェクトへの入力操作を受ける操作入力ステップと、
前記仮想３次元空間における前記第１のオブジェクトと前記第２のオブジェクトとの重なりを検出する重なり検出ステップと、
前記重なり検出ステップにて重なりが検出された場合、前記第２のオブジェクトを回避するように前記第１のオブジェクトを変形させるオブジェクト変形ステップと、
前記仮想３次元空間に配置された前記第１のオブジェクトと前記第２のオブジェクトとを描画する描画ステップとを有し、
前記重なり検出ステップでは、前記操作入力ステップにおける入力操作の都度、前記第１のオブジェクトと前記第２のオブジェクトとの重なりを検出する画像処理方法。
【請求項７】
仮想３次元空間に配置された第１のオブジェクト又は第２のオブジェクトを加工するオブジェクト加工ステップをさらに有し、
前記重なり検出ステップでは、前記オブジェクト加工部における加工の都度、前記第１のオブジェクトと前記第２のオブジェクトとの重なりを検出する請求項６記載の画像処理方法。
【請求項８】
仮想３次元空間に配置された第１のオブジェクト又は第２のオブジェクトへの入力操作を受ける操作入力ステップと、
前記仮想３次元空間における前記第１のオブジェクトと前記第２のオブジェクトとの重なりを検出する重なり検出ステップと、
前記重なり検出ステップにて重なりが検出された場合、前記第２のオブジェクトを回避するように前記第１のオブジェクトを変形させるオブジェクト変形ステップと、
前記仮想３次元空間に配置された前記第１のオブジェクトと前記第２のオブジェクトとを描画する描画ステップとを有し、
前記重なり検出ステップでは、前記操作入力ステップにおける入力操作の都度、前記第１のオブジェクトと前記第２のオブジェクトとの重なりを検出する画像処理をコンピュータに実行させるプログラム。
【請求項９】
仮想３次元空間に配置された第１のオブジェクト又は第２のオブジェクトを加工するオブジェクト加工ステップをさらに有し、
前記重なり検出ステップでは、前記オブジェクト加工部における加工の都度、前記第１のオブジェクトと前記第２のオブジェクトとの重なりを検出する画像処理をコンピュータに実行させる請求項８記載のプログラム。
【請求項１０】
請求項８又は９に記載のプログラムを記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法、プログラム、及び記録媒体に関し、特に、３ＤＣＧ（Three-Dimensional Computer Graphics）の画像処理技術に関する。
【背景技術】
【０００２】
３ＤＣＧは、ゲーム、映画など、様々な分野における視覚化表現方法として用いられている。３ＤＣＧは、少なくとも次のような工程で制作される。
モデリング：仮想３次元空間内にオブジェクトの形状を作成する。
シーンレイアウト設定：オブジェクトを仮想３次元空間内に配置する。
レンダリング：オブジェクトの形状や位置、光のあたり具合などを計算し、仮想的なカメラに写されるはずの最終的な画像を生成する。
【０００３】
このような３ＤＣＧの制作は、膨大な人数のＣＧアーティストの共同作業で行われるため、作業を効率的に行うことができる制作システムが望まれている（例えば、特許文献１参照。）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−２０１１１１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来、山林などの３ＤＣＧを制作する場合、地形メッシュ、建造物などの基礎モデルのオブジェクトを作成、配置した後、樹木、ディテールテクスチャなどの詳細素材のオブジェクトをインポートして配置する。
【０００６】
このため、例えば、インポートした樹木のオブジェクトを建造物のオブジェクトに重なるように配置する場合、建造物のオブジェクトを回避するように樹木のオブジェクトを作成しなければならない。また、建造物のオブジェクトに変更が生じた場合、樹木のオブジェクトを再作成しなければならず、膨大な作業が必要である。
【０００７】
本発明は、上述した従来技術における課題を解決するものであり、効率的に３ＤＣＧを制作することができる画像処理装置、画像処理方法、プログラム、及び記録媒体を提供する。
【課題を解決するための手段】
【０００８】
上述した課題を解決するために、本発明に係る画像処理装置は、仮想３次元空間に配置された第１のオブジェクト又は第２のオブジェクトへの入力操作を受ける操作入力部と、前記仮想３次元空間における前記第１のオブジェクトと前記第２のオブジェクトとの重なりを検出する重なり検出部と、前記重なり検出部にて重なりが検出された場合、前記第２のオブジェクトを回避するように前記第１のオブジェクトを変形させるオブジェクト変形部と、前記仮想３次元空間に配置された前記第１のオブジェクトと前記第２のオブジェクトとを描画する描画部とを備え、前記重なり検出部が、前記操作入力部における入力操作の都度、前記第１のオブジェクトと前記第２のオブジェクトとの重なりを検出する。
【０００９】
また、本発明に係る画像処理方法は、仮想３次元空間に配置された第１のオブジェクト又は第２のオブジェクトへの入力操作を受ける操作入力ステップと、前記仮想３次元空間における前記第１のオブジェクトと前記第２のオブジェクトとの重なりを検出する重なり検出ステップと、前記重なり検出部にて重なりが検出された場合、前記第２のオブジェクトを回避するように前記第１のオブジェクトを変形させるオブジェクト変形ステップと、前記仮想３次元空間に配置された前記第１のオブジェクトと前記第２のオブジェクトとを描画する描画ステップとを有し、前記重なり検出ステップでは、前記操作入力ステップにおける入力操作の都度、前記第１のオブジェクトと前記第２のオブジェクトとの重なりを検出する。
【発明の効果】
【００１０】
本発明によれば、第１のオブジェクトの衝突回避を即座に描画する実時間処理を行うことができるため、効率的に３ＤＣＧを制作することができる。
【図面の簡単な説明】
【００１１】
【図１】図１は、第１の実施の形態に係る画像処理装置の機能構成を示すブロック図である。
【図２】図２は、画像処理装置の機能を発揮するためのハードウェア構成を示すブロック図である。
【図３】図３（Ａ）〜図３（Ｉ）は、樹木画像の例を示す図である。
【図４】図４は、具体例１として示す画像処理を説明するためのフローチャートである。
【図５】図５（Ａ）は、樹木画像の例を示す図であり、図５（Ｂ）は、樹木の近傍に岩が配置された樹木画像の例を示す図である。
【図６】図６（Ａ）は、樹木画像の例を示す図であり、図６（Ｂ）は、樹木の上方に四面体が配置された樹木画像の例を示す図である。
【図７】図７は、第２の実施の形態に係る画像処理装置の機能構成を示すブロック図である。
【図８】図８は、具体例２として示す画像処理を説明するためのフローチャートである。
【図９】図９（Ａ）は、アーチ下に配置された生長前の樹木画像の例を示す図であり、図９（Ｂ）は、アーチ下に配置された生長後の樹木画像の例を示す図である。
【図１０】図１０（Ａ）は、吸引力を有する椅子を遠方に配置した樹木画像の例を示す図であり、図１０（Ｂ）は、吸引力を有する椅子を近傍に配置した樹木画像の例を示す図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態（以下、本実施の形態と称する。）について、図面を参照しながら下記順序にて詳細に説明する。なお、本発明は、以下の実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変更が可能であることは勿論である。
１．第１の実施の形態
２．第２の実施の形態
【００１３】
＜１．第１の実施の形態＞
［１．１  機能構成］
図１は、第１の実施の形態に係る画像処理装置の機能構成を示すブロック図である。第１の実施の形態に係る画像処理装置１は、仮想３次元空間に配置された第１のオブジェクト又は第２のオブジェクトへの入力操作を受ける操作入力部１１と、仮想３次元空間における第１のオブジェクトと第２のオブジェクトとの重なりを検出する重なり検出部１２と、重なり検出部１２にて重なりが検出された場合、第２のオブジェクトを回避するように第１のオブジェクトを変形させるオブジェクト変形部１３と、仮想３次元空間に配置された第１のオブジェクトと第２のオブジェクトとを描画する描画部１４とを備え、重なり検出部１２は、操作入力部１２における入力操作の都度、第１のオブジェクトと第２のオブジェクトとの重なりを検出するものである。これにより、第１のオブジェクトが衝突回避した画像を即座に描画する実時間処理（リアルタイム処理）を行うことができ、効率的に３ＤＣＧを制作することができる。
【００１４】
第１のオブジェクトは、例えば、樹木、ディテールテクスチャなどの詳細素材のオブジェクトであることが好ましく、第２のオブジェクトは、例えば、地形メッシュ、建造物などの基礎モデルのオブジェクトであることが好ましい。これにより、例えば、建造物の周囲への樹木の配置をＣＧアーティストが確認しながら容易に行うことができる。
【００１５】
操作入力部１１は、３次元画像データを読み出し、仮想３次元空間に配置された第１のオブジェクト又は第２のオブジェクトへの入力操作を受ける。３次元画像データの表現方法としては、ポリゴンモデル、点群モデル、ボリューメトリックモデル、パラメトリック曲面モデルなどを用いることができる。
【００１６】
重なり検出部１２は、操作入力部１２における入力操作の都度、仮想３次元空間に配置された第１のオブジェクトと第２のオブジェクトとの重なりを検出する。重なり検出部１２における第１のオブジェクトと第２のオブジェクトとの重なりの検出方法としては、あるオブジェクトが別のオブジェクトに当たったか（衝突したか）どうかを判定する当たり判定（衝突判定）プログラムにより検出することができる。例えば、各オブジェクトの座標を解析して各オブジェクトの概形情報を生成し、第１のオブジェクトの概形情報と第２のオブジェクトの概形情報とを比較することにより重なりを検出する。
【００１７】
オブジェクト変形部１３は、重なり検出部１２にて重なりが検出された場合、第２のオブジェクトを回避するように第１のオブジェクトを変形させる。第１のオブジェクトの変形は、第１のオブジェクトの種類に応じて行う。例えば、第１のオブジェクトが、幹と枝とを含む樹木モデルである場合、オブジェクト変形部１３は、樹木モデルの幹及び枝のうち少なくとも１つを変形させることにより、第２のオブジェクトとの衝突を回避する。
【００１８】
描画部１４は、仮想３次元空間に配置された第１のオブジェクトと第２のオブジェクトとを、表示画面に対応するカメラ（視点）の位置及び方向の情報に従って描画する。
【００１９】
上述の画像処理装置１によれば、例えば、樹木、ディテールテクスチャなどの詳細素材のオブジェクトを、地形メッシュ、建造物などの基礎モデルのオブジェクトに重なるように配置した場合、詳細素材のオブジェクトが基礎モデルのオブジェクトとの衝突を回避するように変形して即座に描画される。このため、従来のように衝突を回避する詳細素材のオブジェクトを作成する必要がなく、また、基礎モデルのオブジェクトに変更が生じた場合も、詳細素材のオブジェクトを再作成する必要がないため、効率的に３ＤＣＧを制作することができる。
【００２０】
［１．２  ハードウェア構成］
図２は、画像処理装置の機能を発揮するためのハードウェア構成を示すブロック図である。図２に示すように、画像処理装置２は、プログラムの実行処理を行うＣＰＵ（Central Processing Unit）２１と、３ＤＣＧの演算処理を行うＧＰＵ（Graphics Processing Unit）２２と、ＣＰＵ２１により実行されるプログラムを格納するＲＯＭ（Read Only Memory）２３と、プログラムやデータを展開するＲＡＭ（Random Access Memory）２４と、ユーザにより各種の入力操作を受ける操作入力部２５と、プログラムやデータを固定的に保存するストレージ２６と、データを入出力する入出力インターフェース２７とを有する。すなわち、図２に示す画像処理装置２は、いわゆるコンピュータである。
【００２１】
ＣＰＵ２１は、図１に示す画像処理装置１における重なり検出部１２及びオブジェクト変形部１３の処理が可能であり、仮想３次元空間における第１のオブジェクトと第２のオブジェクトとの重なりを検出し、第２のオブジェクトを回避するように第１のオブジェクトを変形させる。
【００２２】
また、ＣＰＵ２１は、画像処理装置２が有する各ブロックの動作を制御する。具体的に、ＣＰＵ２１は、例えばＲＯＭ２３に記録されている画像処理の動作プログラムを読み出し、ＲＡＭ２４に展開して実行することにより、各ブロックの動作を制御する。
【００２３】
また、ＣＰＵ２１は、例えば、ゲームエンジンを実行し、時刻ｔにおける描画コマンド（ｔ）を順次生成する。描画コマンドとしては、オブジェクトの３次元モデルの視点設定命令、頂点計算プログラム、画素計算プログラム、頂点データなどが挙げられる。
【００２４】
ＧＰＵ２２は、図１に示す画像処理装置１における描画部１３の処理が可能であり、仮想３次元空間内の第１のオブジェクト及び第２のオブジェクトを、表示画面に対応するカメラ（視点）の位置及び方向の情報に従って描画する。ＧＰＵ２２は、表示画面の描画領域としてビデオメモリ（ＶＲＡＭ）を有し、ＣＰＵ２１からの描画コマンドに応じてオブジェクトをＶＲＡＭに描画する。具体的に、ＧＰＵ２２は、シェーダプログラムにしたがって、ジオメトリデータを用いてポリゴンのラスタライズデータを生成し、画像データをＶＲＡＭに格納する。さらに、ＧＰＵ２２は、ポリゴン表面にテクスチャをマッピングし、テクスチャマッピング後の画像データをＶＲＡＭに格納する。また、ＧＰＵ２２は、これらの描画処理をフレーム毎に計算、再計算することが可能である。
【００２５】
ＲＯＭ２３は、例えば読み込みのみ可能な不揮発性メモリである。ＲＯＭ２４は、画像処理などの動作プログラムに加え、画像処理装置２が有する各ブロックの動作に必要な定数等の情報を記憶する。
【００２６】
ＲＡＭ２４は、揮発性メモリである。ＲＡＭ２４は、動作プログラムの展開領域としてだけでなく、画像処理装置２が有する各ブロックの動作において出力された中間データ等を一時的に記憶する格納領域としても用いられる。
【００２７】
操作入力部２５は、図１に示す画像処理装置１における操作入力部１１の処理が可能であり、画像処理装置２に対して入力操作を行う際に用いられるユーザインタフェースである。操作入力部２５は、ユーザの入力操作に応じて画像処理の実行または停止等の命令をＣＰＵ２１に対して出力する。また、操作入力部２５は、コントローラーにより操作可能な主人公のゲームキャラクターを操作することができる。
【００２８】
ストレージ２６は、ＲＡＭ２４に展開された動作プログラム、画面に描画されるオブジェクトについてのモデルデータ、テクスチャデータ、設定パラメータなどを記録する。なお、ストレージ２６としては、ＨＤＤ（Hard disk drive）、ＳＳＤ（Solid State Drive）、光学ドライブなどを用いることができる。
【００２９】
入出力インターフェース２７は、ＧＰＵ２２によって生成した画像を表示装置に出力することが可能である。
【００３０】
このようなハードウェア構成において、図１に示す画像処理装置１の機能ブロックは、ＣＰＵ２１、ＧＰＵ２２、ＲＯＭ２３、ＲＡＭ２４、ＣＰＵ２１により実行されたソフトウェアの連携によって実現することができる。また、上述の機能ブロックは、ハードウェアのみ、ソフトウェアのみ、又はそれらの組み合わせによっても、実現することができる。また、ソフトウェアプログラムは、光ディスクや半導体メモリなどの記録媒体に記憶させて配布する他に、インターネットなどを経由してダウンロードさせる構成としてもよい。
【００３１】
［１．３  具体例１］
以下、第１のオブジェクトとして、根、幹、枝、及び葉から構成される樹木モデルを例に挙げて説明する。樹木モデルは、地面から下方に伸びた根と、地面から上方に伸びた幹と、その幹から分岐した枝と、枝に付けられる葉とで構成される。樹木の幹から枝、枝から別の枝へと順に分岐して行く分岐構造は、例えば、Ｌシステム（Lindenmayer system）のアルゴリズムにより表現することができる。Ｌシステムは、樹木の生長プロセスを記述・表現できるアルゴリズムであり、繰り返し再帰処理することにより樹木の生長を表現することができる。
【００３２】
枝の生成は、例えば、上述のＬシステムに基づき、樹木の性質、樹木の特性、乱数などを使ったベクトル演算により行われる。樹木の性質としては、例えば、日向性と、枝の枯死と、休眠打破と、頂芽優勢と、枝の幹化となどが挙げられる。日向性は、枝の生長点が日光の方に曲がる性質を持つ性質である。枝の枯死は、枝が枯れ果てる性質である。休眠打破は、活動を休止している休眠芽が発芽する性質である。頂芽優勢は、側芽に比べて頂芽の伸びが大きいという性質である。枝の幹化は、反重力方向の屈性である。また、樹木の特性としては、例えば、枝の太さ、枝の長さ、枝の長さの減少率、枝の世代、枝の世代の増加による枝の減少率、枝の強度、樹木の生命エネルギーなどのパラメータを用いることができる。また、乱数は、枝の太さなどのパラメータに導入することにより、樹木に多様性を与えることができる。
【００３３】
また、枝の生成は、例えば、枝の第１の世代の生成方向に対して許可領域及び禁止領域の設定を行い、第２の世代以降の枝の生成方向を許可領域内に決定することにより行われる。なお、枝の生成処理は、幹の生成処理、根の生成処理などにも適用することができる。
【００３４】
図３（Ａ）〜図３（Ｉ）は、樹木画像の例を示す図である。図３（Ａ）〜図３（Ｉ）に示すように、樹木の性質、樹木の特性、乱数などを使った演算や枝の第１の世代の生成方向に対する許可領域及び禁止領域の設定などにより、多様な樹木を再現することができる。
【００３５】
図４は、具体例１として示す画像処理を説明するためのフローチャートである。具体例１として示す画像処理は、例えば、上述の画像処理装置２のＣＰＵ２１にて実行される３ＤＣＧソフトウェアに組み込まれたプラグインの機能として提供することができる。
【００３６】
先ず、操作入力ステップＳ１１において、操作入力部２５は、仮想３次元空間に配置された第１のオブジェクトである樹木のオブジェクト、又は第２のオブジェクトである他のオブジェクトへの入力操作を受ける。入力操作としては、オブジェクトの挿入、移動などが挙げられる。なお、他のオブジェクトは、樹木であっても樹木以外の建造物などであってもよい。
【００３７】
重なり検出ステップＳ１２において、ＣＰＵ２１は、仮想３次元空間における樹木のオブジェクトと他のオブジェクトとの重なりを検出する。重なり検出方法としては、樹木のオブジェクトが他のオブジェクトに当たったか（衝突したか）どうかを判定する当たり判定（衝突判定）プログラムにより検出することができる。例えば、樹木のオブジェクト及び他のオブジェクトの座標を解析して各オブジェクトの概形情報を生成し、樹木のオブジェクトの概形情報と他のオブジェクトの概形情報とを比較することにより重なりを検出する。
【００３８】
オブジェクト変形ステップＳ１３において、ＣＰＵ２１は、重なり検出ステップＳ１２にて重なりが検出された場合、他のオブジェクトを回避するように樹木のオブジェクトを変形させる。樹木のオブジェクトの変形方法としては、例えば、樹木のオブジェクトの概形情報と他のオブジェクトの概形情報とを比較した比較情報に基づいて、樹木の幹を構成する円柱からなる複数の節に対して角度に変化をつけてもよい。また、例えば、樹木のオブジェクトの概形情報と他のオブジェクトの概形情報とを比較した比較情報に基づいて、枝の第１の世代の生成方向に対して、許可領域及び禁止領域の設定を行い、第２の世代以降の枝の生成方向を許可領域内に決定して樹木を生成してもよい。また、予め許可領域及び禁止領域の設定が行われた樹木のパラメータセットを複数記録しておき、樹木のオブジェクトの概形情報と他のオブジェクトの概形情報とを比較した比較情報に基づいて、予め許可領域及び禁止領域の設定が行われた樹木のパラメータセットを選択してもよい。
【００３９】
描画ステップＳ１４において、ＧＰＵ２２は、仮想３次元空間に配置された樹木のオブジェクトと他のオブジェクトとを、表示画面に対応するカメラ（視点）の位置及び方向の情報に従って描画する。例えば、ＧＰＵ２２は、ＣＰＵ２１から他のオブジェクトを回避するのに必要な条件を含む描画コマンドを受け取り、樹木の生成処理を行い、樹木のオブジェクトが他のオブジェクトを回避した画像データをＧＰＵ２２のビデオメモリに格納する。
【００４０】
図５（Ａ）は、樹木画像の例を示す図であり、図５（Ｂ）は、樹木の近傍に岩が配置された樹木画像の例を示す図である。このような樹木のオブジェクト５１の変形は、例えば、樹木のオブジェクト５１の概形情報と岩のオブジェクト５２の概形情報とを比較した比較情報に基づいて、樹木の幹を構成する円柱からなる複数の節に対して角度に変化をつけることにより実現することができる。
【００４１】
また、図６（Ａ）は、樹木画像の例を示す図であり、図６（Ｂ）は、樹木の上方に四面体が配置された樹木画像の例を示す図である。このような樹木のオブジェクト６１の変形は、例えば、樹木のオブジェクト６１の概形情報と四面体のオブジェクト６２の概形情報とを比較した比較情報に基づいて、枝の第１の世代の生成方向に対して、許可領域及び禁止領域の設定を行い、第２の世代以降の枝の生成方向を許可領域内に決定して樹木を生成することにより実現することができる。
【００４２】
以上のように、リアルタイムで樹木の形を周囲のオブジェクトに応じて変化させることにより、ＣＧアーティストの負担が軽減され、ＣＧアーティストの作業効率を向上させることができる。
【００４３】
なお、第１の実施の形態では、３ＤＣＧの制作を例に挙げて説明したが、これに限られることなく、例えば、３ＤＣＧのゲームに適用することも可能である。３ＤＣＧのゲームに適用する場合、例えば、第２のオブジェクトをコントローラーにより操作可能な主人公のゲームキャラクターとすることにより、ゲームキャラクターが第１のオブジェクトである樹木をなぎ倒す場面をリアルタイムでレンダリングすることが可能となる。
【００４４】
＜２．第２の実施の形態＞
［２．１  機能構成］
図７は、第２の実施の形態に係る画像処理装置の機能構成を示すブロック図である。第２の実施の形態に係る画像処理装置３は、第１の実施の形態に係る画像処理装置１に、さらにオブジェクト加工部１５を加えたものである。なお、第１の実施の形態に係る画像処理装置と同様な構成には、同一符号を付し、ここでは説明を省略する。
【００４５】
図７に示すように、画像処理装置３は、仮想３次元空間に配置された第１のオブジェクト又は第２のオブジェクトへの入力操作を受ける操作入力部１１と、仮想３次元空間に配置された第１のオブジェクトを加工するオブジェクト加工部１５と、仮想３次元空間における第１のオブジェクトと第２のオブジェクトとの重なりを検出する重なり検出部１２と、重なり検出部１２にて重なりが検出された場合、第２のオブジェクトを回避するように第１のオブジェクトを変形させるオブジェクト変形部１３と、仮想３次元空間に配置された第１のオブジェクトと第２のオブジェクトとを描画する描画部１４とを備え、重なり検出部１２は、オブジェクト加工部１５における加工の都度、第１のオブジェクトと第２のオブジェクトとの重なりを検出するものである。これにより、第１のオブジェクト又は第２のオブジェクトを加工した場合でも、第１のオブジェクトが衝突回避した画像を即座に描画する実時間処理（リアルタイム処理）を行うことができ、効率的に３ＤＣＧを制作することができる。
【００４６】
オブジェクト加工部１５は、仮想３次元空間に配置された第１のオブジェクト又は第２のオブジェクトを加工する。オブジェクトの加工としては、例えば、オブジェクトのサイズの変更、ベクトル方向の変更などが挙げられる。
【００４７】
例えば、オブジェクトのサイズの変更例として、第１のオブジェクトが、幹と枝とを含む樹木モデルである場合、オブジェクト加工部１５が、樹木モデルを生長させることが挙げられる。これにより、樹木モデルがどのように第２のオブジェクトを回避して生長するのかを確認することができ、ＣＧアーティストの作業効率を向上させることができる。
【００４８】
また、例えば、オブジェクトのベクトル方向の変更例として、第１のオブジェクトが、幹と枝とを含む樹木モデルである場合、前記オブジェクト加工部１３が、樹木モデルの幹及び枝のうち少なくとも１つを吸引する吸引オブジェクトを配置することが挙げられる。これにより、例えば、仮想３次元空間で樹木モデルが空洞に吸引されるシーンなどを第２のオブジェクトを回避した状態で確認することができ、ＣＧアーティストの作業効率を向上させることができる。
【００４９】
［２．２  ハードウェア構成］
上述の画像処理装置３の機能を発揮するためのハードウェア構成は、図２に示すブロック図と同様である。図７に示す画像処理装置３におけるオブジェクト加工部１５は、ＣＰＵ２１やＧＰＵ２２により、その機能が達成される。例えば、ＧＰＵ２２は、ＣＰＵ２１からの加工コマンドに応じて加工オブジェクトをＶＲＡＭに描画する。なお、その他のハードウェア構成は、図２に示すブロック図と同様であるため、ここでは説明を省略する。
【００５０】
［２．３  具体例２］
以下、上述の第１のオブジェクトとして、根、幹、枝、及び葉から構成される樹木モデルを例に挙げて説明する。樹木モデルは、上述の具体例１と同様であるため、ここでは説明を省略する。
【００５１】
図８は、具体例２として示す画像処理を説明するためのフローチャートである。具体例２として示す画像処理は、例えば、上述の画像処理装置２のＣＰＵ２１にて実行される３ＤＣＧソフトウェアに組み込まれたプラグインの機能として提供することができる。
【００５２】
先ず、オブジェクト加工ステップＳ２１において、操作入力部２５は、仮想３次元空間に配置された第１のオブジェクトである樹木のオブジェクト、又は第２のオブジェクトである他のオブジェクトへの加工操作を受ける。加工操作としては、樹木のオブジェクト、又は第２のオブジェクトのサイズの変更、ベクトル方向の変更などが挙げられる。なお、他のオブジェクトは、樹木であっても樹木以外の建造物などであってもよい。
【００５３】
樹木のオブジェクトのサイズの変更例として、樹木のオブジェクトを生長させてもよい。樹木のオブジェクトの生長は、例えば、生長速度に関する生命エネルギーのパラメータを用いて制御することができる。これにより、樹木モデルがどのように他のオブジェクトを回避して生長するのかを確認することができ、ＣＧアーティストの作業効率を向上させることができる。
【００５４】
また、樹木のベクトル方向の変更例として、樹木オブジェクトを吸引する吸引オブジェクトを配置し、樹木の枝のベクトルを吸引オブジェクトに向けてもよい。これにより、例えば、仮想３次元空間で樹木モデルが空洞に吸引されるシーンなどを他のオブジェクトを回避した状態で確認することができ、ＣＧアーティストの作業効率を向上させることができる。
【００５５】
次の重なり検出ステップＳ２２、オブジェクト変形ステップＳ２３、及び描画ステップＳ２４は、それぞれ上述した検出ステップＳ１２、オブジェクト変形ステップＳ１３、及び描画ステップＳ１４と同様であるため、ここでは説明を省略する。
【００５６】
図９（Ａ）は、アーチ下に配置された生長前の樹木画像の例を示す図であり、図９（Ｂ）は、アーチ下に配置された生長後の樹木画像の例を示す図である。このように樹木のオブジェクト９１を生長させた場合であっても、樹木のオブジェクト９１がアーチ９２を回避することができるため、樹木のオブジェクト９１がどのようにアーチ９２を回避して生長するのかを確認することができ、ＣＧアーティストの作業効率を向上させることができる。
【００５７】
また、図１０（Ａ）は、吸引力を有する椅子を遠方に配置した樹木画像の例を示す図であり、図１０（Ｂ）は、吸引力を有する椅子を近傍に配置した樹木画像の例を示す図である。このように吸引力を有する椅子のオブジェクト１０２を樹木のオブジェクト１０１の近傍に配置した場合であっても、樹木のオブジェクト１０１が椅子のオブジェクト１０１０を回避した状態を確認することができ、ＣＧアーティストの作業効率を向上させることができる。
【００５８】
以上のように、樹木のオブジェクトを加工した場合であっても、リアルタイムで樹木のオブジェクトが周囲のオブジェクトを回避して変化するため、ＣＧアーティストの負担が軽減され、ＣＧアーティストの作業効率を向上させることができる。
【００５９】
なお、第２の実施の形態では、３ＤＣＧの制作を例に挙げて説明したが、これに限られることなく、例えば、３ＤＣＧのゲームに適用することも可能である。例えば、ゲーム上の時間の経過に伴い、樹木のオブジェクトを周辺のオブジェクトを回避して生長させることにより、よりリアルな世界を実現することができる。
【符号の説明】
【００６０】
１  画像処理装置、２  画像処置装置、１１  操作入力部、１２  重なり検出部、  １３  オブジェクト変形部、１４  描画部、１５  オブジェクト加工部、２１  ＣＰＵ、２２  ＧＰＵ、２３  ＲＯＭ、２４  ＲＡＭ、２５  操作入力部、２６  ストレージ、２７  入出力インターフェース
【図１】
2018072974.tif 000003
【図２】
2018072974.tif 000004
【図３】
2018072974.tif 000005
【図４】
2018072974.tif 000006
【図５】
2018072974.tif 000007
【図６】
2018072974.tif 000008
【図７】
2018072974.tif 000009
【図８】
2018072974.tif 000010
【図９】
2018072974.tif 000011
【図１０】
2018072974.tif 000012