特許第6454671号(P6454671)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社スクウェア・エニックスの特許一覧

特許6454671画像処理装置、画像処理方法、プログラム、及び記録媒体
<>
  • 特許6454671-画像処理装置、画像処理方法、プログラム、及び記録媒体 図000002
  • 特許6454671-画像処理装置、画像処理方法、プログラム、及び記録媒体 図000003
  • 特許6454671-画像処理装置、画像処理方法、プログラム、及び記録媒体 図000004
  • 特許6454671-画像処理装置、画像処理方法、プログラム、及び記録媒体 図000005
  • 特許6454671-画像処理装置、画像処理方法、プログラム、及び記録媒体 図000006
  • 特許6454671-画像処理装置、画像処理方法、プログラム、及び記録媒体 図000007
  • 特許6454671-画像処理装置、画像処理方法、プログラム、及び記録媒体 図000008
  • 特許6454671-画像処理装置、画像処理方法、プログラム、及び記録媒体 図000009
  • 特許6454671-画像処理装置、画像処理方法、プログラム、及び記録媒体 図000010
  • 特許6454671-画像処理装置、画像処理方法、プログラム、及び記録媒体 図000011
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6454671
(24)【登録日】2018年12月21日
(45)【発行日】2019年1月16日
(54)【発明の名称】画像処理装置、画像処理方法、プログラム、及び記録媒体
(51)【国際特許分類】
   G06T 19/00 20110101AFI20190107BHJP
   A63F 13/52 20140101ALI20190107BHJP
【FI】
   G06T19/00 A
   A63F13/52
【請求項の数】7
【全頁数】14
(21)【出願番号】特願2016-209298(P2016-209298)
(22)【出願日】2016年10月26日
(65)【公開番号】特開2018-72974(P2018-72974A)
(43)【公開日】2018年5月10日
【審査請求日】2017年9月11日
(73)【特許権者】
【識別番号】308033283
【氏名又は名称】株式会社スクウェア・エニックス
(74)【代理人】
【識別番号】100113424
【弁理士】
【氏名又は名称】野口 信博
(72)【発明者】
【氏名】クシシトフ リウ パセック
(72)【発明者】
【氏名】ヤン パイプレス
(72)【発明者】
【氏名】レミ ドリアンクール
【審査官】 松田 直也
(56)【参考文献】
【文献】 特開2003−251076(JP,A)
【文献】 特開2006−285509(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 19/00
A63F 13/52
(57)【特許請求の範囲】
【請求項1】
仮想3次元空間に配置された第1のオブジェクト又は第2のオブジェクトへの入力操作を受ける操作入力部と、
仮想3次元空間に配置された第1のオブジェクト又は第2のオブジェクトを加工するオブジェクト加工部と、
前記仮想3次元空間における前記第1のオブジェクトと前記第2のオブジェクトとの衝突を検出する重なり検出部と、
前記重なり検出部にて衝突が検出された場合、前記第2のオブジェクトとの衝突を回避するように前記第1のオブジェクトを変形させるオブジェクト変形部と、
前記仮想3次元空間に配置された前記第1のオブジェクトと前記第2のオブジェクトとを描画する描画部とを備え、
前記重なり検出部が、前記操作入力部における入力操作の都度及び前記オブジェクト加工部における加工の都度、前記第1のオブジェクトと前記第2のオブジェクトとの衝突を検出する画像処理装置。
【請求項2】
前記第1のオブジェクトが、幹と枝とを含む樹木モデルであり、
前記オブジェクト変形部が、前記樹木モデルの幹及び枝のうち少なくとも1つを変形させる請求項1記載の画像処理装置。
【請求項3】
前記第1のオブジェクトが、幹と枝とを含む樹木モデルであり、
前記オブジェクト加工部が、前記樹木モデルを生長させる請求項記載の画像処理装置。
【請求項4】
前記第1のオブジェクトが、幹と枝とを含む樹木モデルであり、
前記オブジェクト加工部が、前記樹木モデルの幹及び枝のうち少なくとも1つを吸引する吸引オブジェクトを配置する請求項記載の画像処理装置。
【請求項5】
仮想3次元空間に配置された第1のオブジェクト又は第2のオブジェクトへの入力操作を受ける操作入力ステップと、
仮想3次元空間に配置された第1のオブジェクト又は第2のオブジェクトを加工するオブジェクト加工ステップと、
前記仮想3次元空間における前記第1のオブジェクトと前記第2のオブジェクトとの衝突を検出する重なり検出ステップと、
前記重なり検出ステップにて衝突が検出された場合、前記第2のオブジェクトとの衝突を回避するように前記第1のオブジェクトを変形させるオブジェクト変形ステップと、
前記仮想3次元空間に配置された前記第1のオブジェクトと前記第2のオブジェクトとを描画する描画ステップとを有し、
前記重なり検出ステップでは、前記操作入力ステップにおける入力操作の都度及び前記オブジェクト加工ステップにおける加工の都度、前記第1のオブジェクトと前記第2のオブジェクトとの衝突を検出する画像処理方法。
【請求項6】
仮想3次元空間に配置された第1のオブジェクト又は第2のオブジェクトへの入力操作を受ける操作入力ステップと、
仮想3次元空間に配置された第1のオブジェクト又は第2のオブジェクトを加工するオブジェクト加工ステップと、
前記仮想3次元空間における前記第1のオブジェクトと前記第2のオブジェクトとの衝突を検出する重なり検出ステップと、
前記重なり検出ステップにて衝突が検出された場合、前記第2のオブジェクトとの衝突を回避するように前記第1のオブジェクトを変形させるオブジェクト変形ステップと、
前記仮想3次元空間に配置された前記第1のオブジェクトと前記第2のオブジェクトとを描画する描画ステップとを有し、
前記重なり検出ステップでは、前記操作入力ステップにおける入力操作の都度及び前記オブジェクト加工ステップにおける加工の都度、前記第1のオブジェクトと前記第2のオブジェクトとの衝突を検出する画像処理をコンピュータに実行させるプログラム。
【請求項7】
請求項に記載のプログラムを記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置、画像処理方法、プログラム、及び記録媒体に関し、特に、3DCG(Three-Dimensional Computer Graphics)の画像処理技術に関する。
【背景技術】
【0002】
3DCGは、ゲーム、映画など、様々な分野における視覚化表現方法として用いられている。3DCGは、少なくとも次のような工程で制作される。
モデリング:仮想3次元空間内にオブジェクトの形状を作成する。
シーンレイアウト設定:オブジェクトを仮想3次元空間内に配置する。
レンダリング:オブジェクトの形状や位置、光のあたり具合などを計算し、仮想的なカメラに写されるはずの最終的な画像を生成する。
【0003】
このような3DCGの制作は、膨大な人数のCGアーティストの共同作業で行われるため、作業を効率的に行うことができる制作システムが望まれている(例えば、特許文献1参照。)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2009−201111号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
従来、山林などの3DCGを制作する場合、地形メッシュ、建造物などの基礎モデルのオブジェクトを作成、配置した後、樹木、ディテールテクスチャなどの詳細素材のオブジェクトをインポートして配置する。
【0006】
このため、例えば、インポートした樹木のオブジェクトを建造物のオブジェクトに重なるように配置する場合、建造物のオブジェクトを回避するように樹木のオブジェクトを作成しなければならない。また、建造物のオブジェクトに変更が生じた場合、樹木のオブジェクトを再作成しなければならず、膨大な作業が必要である。
【0007】
本発明は、上述した従来技術における課題を解決するものであり、効率的に3DCGを制作することができる画像処理装置、画像処理方法、プログラム、及び記録媒体を提供する。
【課題を解決するための手段】
【0008】
上述した課題を解決するために、本発明に係る画像処理装置は、仮想3次元空間に配置された第1のオブジェクト又は第2のオブジェクトへの入力操作を受ける操作入力部と、仮想3次元空間に配置された第1のオブジェクト又は第2のオブジェクトを加工するオブジェクト加工部と、前記仮想3次元空間における前記第1のオブジェクトと前記第2のオブジェクトとの衝突を検出する重なり検出部と、前記重なり検出部にて衝突が検出された場合、前記第2のオブジェクトとの衝突を回避するように前記第1のオブジェクトを変形させるオブジェクト変形部と、前記仮想3次元空間に配置された前記第1のオブジェクトと前記第2のオブジェクトとを描画する描画部とを備え、前記重なり検出部が、前記操作入力部における入力操作の都度及び前記オブジェクト加工部における加工の都度、前記第1のオブジェクトと前記第2のオブジェクトとの衝突を検出する。
【0009】
また、本発明に係る画像処理方法は、仮想3次元空間に配置された第1のオブジェクト又は第2のオブジェクトへの入力操作を受ける操作入力ステップと、仮想3次元空間に配置された第1のオブジェクト又は第2のオブジェクトを加工するオブジェクト加工ステップと、前記仮想3次元空間における前記第1のオブジェクトと前記第2のオブジェクトとの衝突を検出する重なり検出ステップと、前記重なり検出ステップにて衝突が検出された場合、前記第2のオブジェクトとの衝突を回避するように前記第1のオブジェクトを変形させるオブジェクト変形ステップと、前記仮想3次元空間に配置された前記第1のオブジェクトと前記第2のオブジェクトとを描画する描画ステップとを有し、前記重なり検出ステップでは、前記操作入力ステップにおける入力操作の都度及び前記オブジェクト加工ステップにおける加工の都度、前記第1のオブジェクトと前記第2のオブジェクトとの衝突を検出する。
【発明の効果】
【0010】
本発明によれば、第1のオブジェクトの衝突回避を即座に描画する実時間処理を行うことができるため、効率的に3DCGを制作することができる。
【図面の簡単な説明】
【0011】
図1図1は、第1の実施の形態に係る画像処理装置の機能構成を示すブロック図である。
図2図2は、画像処理装置の機能を発揮するためのハードウェア構成を示すブロック図である。
図3図3(A)〜図3(I)は、樹木画像の例を示す図である。
図4図4は、具体例1として示す画像処理を説明するためのフローチャートである。
図5図5(A)は、樹木画像の例を示す図であり、図5(B)は、樹木の近傍に岩が配置された樹木画像の例を示す図である。
図6図6(A)は、樹木画像の例を示す図であり、図6(B)は、樹木の上方に四面体が配置された樹木画像の例を示す図である。
図7図7は、第2の実施の形態に係る画像処理装置の機能構成を示すブロック図である。
図8図8は、具体例2として示す画像処理を説明するためのフローチャートである。
図9図9(A)は、アーチ下に配置された生長前の樹木画像の例を示す図であり、図9(B)は、アーチ下に配置された生長後の樹木画像の例を示す図である。
図10図10(A)は、吸引力を有する椅子を遠方に配置した樹木画像の例を示す図であり、図10(B)は、吸引力を有する椅子を近傍に配置した樹木画像の例を示す図である。
【発明を実施するための形態】
【0012】
以下、本発明の実施の形態(以下、本実施の形態と称する。)について、図面を参照しながら下記順序にて詳細に説明する。なお、本発明は、以下の実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変更が可能であることは勿論である。
1.第1の実施の形態
2.第2の実施の形態
【0013】
<1.第1の実施の形態>
[1.1 機能構成]
図1は、第1の実施の形態に係る画像処理装置の機能構成を示すブロック図である。第1の実施の形態に係る画像処理装置1は、仮想3次元空間に配置された第1のオブジェクト又は第2のオブジェクトへの入力操作を受ける操作入力部11と、仮想3次元空間における第1のオブジェクトと第2のオブジェクトとの重なりを検出する重なり検出部12と、重なり検出部12にて重なりが検出された場合、第2のオブジェクトを回避するように第1のオブジェクトを変形させるオブジェクト変形部13と、仮想3次元空間に配置された第1のオブジェクトと第2のオブジェクトとを描画する描画部14とを備え、重なり検出部12は、操作入力部12における入力操作の都度、第1のオブジェクトと第2のオブジェクトとの重なりを検出するものである。これにより、第1のオブジェクトが衝突回避した画像を即座に描画する実時間処理(リアルタイム処理)を行うことができ、効率的に3DCGを制作することができる。
【0014】
第1のオブジェクトは、例えば、樹木、ディテールテクスチャなどの詳細素材のオブジェクトであることが好ましく、第2のオブジェクトは、例えば、地形メッシュ、建造物などの基礎モデルのオブジェクトであることが好ましい。これにより、例えば、建造物の周囲への樹木の配置をCGアーティストが確認しながら容易に行うことができる。
【0015】
操作入力部11は、3次元画像データを読み出し、仮想3次元空間に配置された第1のオブジェクト又は第2のオブジェクトへの入力操作を受ける。3次元画像データの表現方法としては、ポリゴンモデル、点群モデル、ボリューメトリックモデル、パラメトリック曲面モデルなどを用いることができる。
【0016】
重なり検出部12は、操作入力部12における入力操作の都度、仮想3次元空間に配置された第1のオブジェクトと第2のオブジェクトとの重なりを検出する。重なり検出部12における第1のオブジェクトと第2のオブジェクトとの重なりの検出方法としては、あるオブジェクトが別のオブジェクトに当たったか(衝突したか)どうかを判定する当たり判定(衝突判定)プログラムにより検出することができる。例えば、各オブジェクトの座標を解析して各オブジェクトの概形情報を生成し、第1のオブジェクトの概形情報と第2のオブジェクトの概形情報とを比較することにより重なりを検出する。
【0017】
オブジェクト変形部13は、重なり検出部12にて重なりが検出された場合、第2のオブジェクトを回避するように第1のオブジェクトを変形させる。第1のオブジェクトの変形は、第1のオブジェクトの種類に応じて行う。例えば、第1のオブジェクトが、幹と枝とを含む樹木モデルである場合、オブジェクト変形部13は、樹木モデルの幹及び枝のうち少なくとも1つを変形させることにより、第2のオブジェクトとの衝突を回避する。
【0018】
描画部14は、仮想3次元空間に配置された第1のオブジェクトと第2のオブジェクトとを、表示画面に対応するカメラ(視点)の位置及び方向の情報に従って描画する。
【0019】
上述の画像処理装置1によれば、例えば、樹木、ディテールテクスチャなどの詳細素材のオブジェクトを、地形メッシュ、建造物などの基礎モデルのオブジェクトに重なるように配置した場合、詳細素材のオブジェクトが基礎モデルのオブジェクトとの衝突を回避するように変形して即座に描画される。このため、従来のように衝突を回避する詳細素材のオブジェクトを作成する必要がなく、また、基礎モデルのオブジェクトに変更が生じた場合も、詳細素材のオブジェクトを再作成する必要がないため、効率的に3DCGを制作することができる。
【0020】
[1.2 ハードウェア構成]
図2は、画像処理装置の機能を発揮するためのハードウェア構成を示すブロック図である。図2に示すように、画像処理装置2は、プログラムの実行処理を行うCPU(Central Processing Unit)21と、3DCGの演算処理を行うGPU(Graphics Processing Unit)22と、CPU21により実行されるプログラムを格納するROM(Read Only Memory)23と、プログラムやデータを展開するRAM(Random Access Memory)24と、ユーザにより各種の入力操作を受ける操作入力部25と、プログラムやデータを固定的に保存するストレージ26と、データを入出力する入出力インターフェース27とを有する。すなわち、図2に示す画像処理装置2は、いわゆるコンピュータである。
【0021】
CPU21は、図1に示す画像処理装置1における重なり検出部12及びオブジェクト変形部13の処理が可能であり、仮想3次元空間における第1のオブジェクトと第2のオブジェクトとの重なりを検出し、第2のオブジェクトを回避するように第1のオブジェクトを変形させる。
【0022】
また、CPU21は、画像処理装置2が有する各ブロックの動作を制御する。具体的に、CPU21は、例えばROM23に記録されている画像処理の動作プログラムを読み出し、RAM24に展開して実行することにより、各ブロックの動作を制御する。
【0023】
また、CPU21は、例えば、ゲームエンジンを実行し、時刻tにおける描画コマンド(t)を順次生成する。描画コマンドとしては、オブジェクトの3次元モデルの視点設定命令、頂点計算プログラム、画素計算プログラム、頂点データなどが挙げられる。
【0024】
GPU22は、図1に示す画像処理装置1における描画部13の処理が可能であり、仮想3次元空間内の第1のオブジェクト及び第2のオブジェクトを、表示画面に対応するカメラ(視点)の位置及び方向の情報に従って描画する。GPU22は、表示画面の描画領域としてビデオメモリ(VRAM)を有し、CPU21からの描画コマンドに応じてオブジェクトをVRAMに描画する。具体的に、GPU22は、シェーダプログラムにしたがって、ジオメトリデータを用いてポリゴンのラスタライズデータを生成し、画像データをVRAMに格納する。さらに、GPU22は、ポリゴン表面にテクスチャをマッピングし、テクスチャマッピング後の画像データをVRAMに格納する。また、GPU22は、これらの描画処理をフレーム毎に計算、再計算することが可能である。
【0025】
ROM23は、例えば読み込みのみ可能な不揮発性メモリである。ROM24は、画像処理などの動作プログラムに加え、画像処理装置2が有する各ブロックの動作に必要な定数等の情報を記憶する。
【0026】
RAM24は、揮発性メモリである。RAM24は、動作プログラムの展開領域としてだけでなく、画像処理装置2が有する各ブロックの動作において出力された中間データ等を一時的に記憶する格納領域としても用いられる。
【0027】
操作入力部25は、図1に示す画像処理装置1における操作入力部11の処理が可能であり、画像処理装置2に対して入力操作を行う際に用いられるユーザインタフェースである。操作入力部25は、ユーザの入力操作に応じて画像処理の実行または停止等の命令をCPU21に対して出力する。また、操作入力部25は、コントローラーにより操作可能な主人公のゲームキャラクターを操作することができる。
【0028】
ストレージ26は、RAM24に展開された動作プログラム、画面に描画されるオブジェクトについてのモデルデータ、テクスチャデータ、設定パラメータなどを記録する。なお、ストレージ26としては、HDD(Hard disk drive)、SSD(Solid State Drive)、光学ドライブなどを用いることができる。
【0029】
入出力インターフェース27は、GPU22によって生成した画像を表示装置に出力することが可能である。
【0030】
このようなハードウェア構成において、図1に示す画像処理装置1の機能ブロックは、CPU21、GPU22、ROM23、RAM24、CPU21により実行されたソフトウェアの連携によって実現することができる。また、上述の機能ブロックは、ハードウェアのみ、ソフトウェアのみ、又はそれらの組み合わせによっても、実現することができる。また、ソフトウェアプログラムは、光ディスクや半導体メモリなどの記録媒体に記憶させて配布する他に、インターネットなどを経由してダウンロードさせる構成としてもよい。
【0031】
[1.3 具体例1]
以下、第1のオブジェクトとして、根、幹、枝、及び葉から構成される樹木モデルを例に挙げて説明する。樹木モデルは、地面から下方に伸びた根と、地面から上方に伸びた幹と、その幹から分岐した枝と、枝に付けられる葉とで構成される。樹木の幹から枝、枝から別の枝へと順に分岐して行く分岐構造は、例えば、Lシステム(Lindenmayer system)のアルゴリズムにより表現することができる。Lシステムは、樹木の生長プロセスを記述・表現できるアルゴリズムであり、繰り返し再帰処理することにより樹木の生長を表現することができる。
【0032】
枝の生成は、例えば、上述のLシステムに基づき、樹木の性質、樹木の特性、乱数などを使ったベクトル演算により行われる。樹木の性質としては、例えば、日向性と、枝の枯死と、休眠打破と、頂芽優勢と、枝の幹化となどが挙げられる。日向性は、枝の生長点が日光の方に曲がる性質を持つ性質である。枝の枯死は、枝が枯れ果てる性質である。休眠打破は、活動を休止している休眠芽が発芽する性質である。頂芽優勢は、側芽に比べて頂芽の伸びが大きいという性質である。枝の幹化は、反重力方向の屈性である。また、樹木の特性としては、例えば、枝の太さ、枝の長さ、枝の長さの減少率、枝の世代、枝の世代の増加による枝の減少率、枝の強度、樹木の生命エネルギーなどのパラメータを用いることができる。また、乱数は、枝の太さなどのパラメータに導入することにより、樹木に多様性を与えることができる。
【0033】
また、枝の生成は、例えば、枝の第1の世代の生成方向に対して許可領域及び禁止領域の設定を行い、第2の世代以降の枝の生成方向を許可領域内に決定することにより行われる。なお、枝の生成処理は、幹の生成処理、根の生成処理などにも適用することができる。
【0034】
図3(A)〜図3(I)は、樹木画像の例を示す図である。図3(A)〜図3(I)に示すように、樹木の性質、樹木の特性、乱数などを使った演算や枝の第1の世代の生成方向に対する許可領域及び禁止領域の設定などにより、多様な樹木を再現することができる。
【0035】
図4は、具体例1として示す画像処理を説明するためのフローチャートである。具体例1として示す画像処理は、例えば、上述の画像処理装置2のCPU21にて実行される3DCGソフトウェアに組み込まれたプラグインの機能として提供することができる。
【0036】
先ず、操作入力ステップS11において、操作入力部25は、仮想3次元空間に配置された第1のオブジェクトである樹木のオブジェクト、又は第2のオブジェクトである他のオブジェクトへの入力操作を受ける。入力操作としては、オブジェクトの挿入、移動などが挙げられる。なお、他のオブジェクトは、樹木であっても樹木以外の建造物などであってもよい。
【0037】
重なり検出ステップS12において、CPU21は、仮想3次元空間における樹木のオブジェクトと他のオブジェクトとの重なりを検出する。重なり検出方法としては、樹木のオブジェクトが他のオブジェクトに当たったか(衝突したか)どうかを判定する当たり判定(衝突判定)プログラムにより検出することができる。例えば、樹木のオブジェクト及び他のオブジェクトの座標を解析して各オブジェクトの概形情報を生成し、樹木のオブジェクトの概形情報と他のオブジェクトの概形情報とを比較することにより重なりを検出する。
【0038】
オブジェクト変形ステップS13において、CPU21は、重なり検出ステップS12にて重なりが検出された場合、他のオブジェクトを回避するように樹木のオブジェクトを変形させる。樹木のオブジェクトの変形方法としては、例えば、樹木のオブジェクトの概形情報と他のオブジェクトの概形情報とを比較した比較情報に基づいて、樹木の幹を構成する円柱からなる複数の節に対して角度に変化をつけてもよい。また、例えば、樹木のオブジェクトの概形情報と他のオブジェクトの概形情報とを比較した比較情報に基づいて、枝の第1の世代の生成方向に対して、許可領域及び禁止領域の設定を行い、第2の世代以降の枝の生成方向を許可領域内に決定して樹木を生成してもよい。また、予め許可領域及び禁止領域の設定が行われた樹木のパラメータセットを複数記録しておき、樹木のオブジェクトの概形情報と他のオブジェクトの概形情報とを比較した比較情報に基づいて、予め許可領域及び禁止領域の設定が行われた樹木のパラメータセットを選択してもよい。
【0039】
描画ステップS14において、GPU22は、仮想3次元空間に配置された樹木のオブジェクトと他のオブジェクトとを、表示画面に対応するカメラ(視点)の位置及び方向の情報に従って描画する。例えば、GPU22は、CPU21から他のオブジェクトを回避するのに必要な条件を含む描画コマンドを受け取り、樹木の生成処理を行い、樹木のオブジェクトが他のオブジェクトを回避した画像データをGPU22のビデオメモリに格納する。
【0040】
図5(A)は、樹木画像の例を示す図であり、図5(B)は、樹木の近傍に岩が配置された樹木画像の例を示す図である。このような樹木のオブジェクト51の変形は、例えば、樹木のオブジェクト51の概形情報と岩のオブジェクト52の概形情報とを比較した比較情報に基づいて、樹木の幹を構成する円柱からなる複数の節に対して角度に変化をつけることにより実現することができる。
【0041】
また、図6(A)は、樹木画像の例を示す図であり、図6(B)は、樹木の上方に四面体が配置された樹木画像の例を示す図である。このような樹木のオブジェクト61の変形は、例えば、樹木のオブジェクト61の概形情報と四面体のオブジェクト62の概形情報とを比較した比較情報に基づいて、枝の第1の世代の生成方向に対して、許可領域及び禁止領域の設定を行い、第2の世代以降の枝の生成方向を許可領域内に決定して樹木を生成することにより実現することができる。
【0042】
以上のように、リアルタイムで樹木の形を周囲のオブジェクトに応じて変化させることにより、CGアーティストの負担が軽減され、CGアーティストの作業効率を向上させることができる。
【0043】
なお、第1の実施の形態では、3DCGの制作を例に挙げて説明したが、これに限られることなく、例えば、3DCGのゲームに適用することも可能である。3DCGのゲームに適用する場合、例えば、第2のオブジェクトをコントローラーにより操作可能な主人公のゲームキャラクターとすることにより、ゲームキャラクターが第1のオブジェクトである樹木をなぎ倒す場面をリアルタイムでレンダリングすることが可能となる。
【0044】
<2.第2の実施の形態>
[2.1 機能構成]
図7は、第2の実施の形態に係る画像処理装置の機能構成を示すブロック図である。第2の実施の形態に係る画像処理装置3は、第1の実施の形態に係る画像処理装置1に、さらにオブジェクト加工部15を加えたものである。なお、第1の実施の形態に係る画像処理装置と同様な構成には、同一符号を付し、ここでは説明を省略する。
【0045】
図7に示すように、画像処理装置3は、仮想3次元空間に配置された第1のオブジェクト又は第2のオブジェクトへの入力操作を受ける操作入力部11と、仮想3次元空間に配置された第1のオブジェクトを加工するオブジェクト加工部15と、仮想3次元空間における第1のオブジェクトと第2のオブジェクトとの重なりを検出する重なり検出部12と、重なり検出部12にて重なりが検出された場合、第2のオブジェクトを回避するように第1のオブジェクトを変形させるオブジェクト変形部13と、仮想3次元空間に配置された第1のオブジェクトと第2のオブジェクトとを描画する描画部14とを備え、重なり検出部12は、オブジェクト加工部15における加工の都度、第1のオブジェクトと第2のオブジェクトとの重なりを検出するものである。これにより、第1のオブジェクト又は第2のオブジェクトを加工した場合でも、第1のオブジェクトが衝突回避した画像を即座に描画する実時間処理(リアルタイム処理)を行うことができ、効率的に3DCGを制作することができる。
【0046】
オブジェクト加工部15は、仮想3次元空間に配置された第1のオブジェクト又は第2のオブジェクトを加工する。オブジェクトの加工としては、例えば、オブジェクトのサイズの変更、ベクトル方向の変更などが挙げられる。
【0047】
例えば、オブジェクトのサイズの変更例として、第1のオブジェクトが、幹と枝とを含む樹木モデルである場合、オブジェクト加工部15が、樹木モデルを生長させることが挙げられる。これにより、樹木モデルがどのように第2のオブジェクトを回避して生長するのかを確認することができ、CGアーティストの作業効率を向上させることができる。
【0048】
また、例えば、オブジェクトのベクトル方向の変更例として、第1のオブジェクトが、幹と枝とを含む樹木モデルである場合、前記オブジェクト加工部13が、樹木モデルの幹及び枝のうち少なくとも1つを吸引する吸引オブジェクトを配置することが挙げられる。これにより、例えば、仮想3次元空間で樹木モデルが空洞に吸引されるシーンなどを第2のオブジェクトを回避した状態で確認することができ、CGアーティストの作業効率を向上させることができる。
【0049】
[2.2 ハードウェア構成]
上述の画像処理装置3の機能を発揮するためのハードウェア構成は、図2に示すブロック図と同様である。図7に示す画像処理装置3におけるオブジェクト加工部15は、CPU21やGPU22により、その機能が達成される。例えば、GPU22は、CPU21からの加工コマンドに応じて加工オブジェクトをVRAMに描画する。なお、その他のハードウェア構成は、図2に示すブロック図と同様であるため、ここでは説明を省略する。
【0050】
[2.3 具体例2]
以下、上述の第1のオブジェクトとして、根、幹、枝、及び葉から構成される樹木モデルを例に挙げて説明する。樹木モデルは、上述の具体例1と同様であるため、ここでは説明を省略する。
【0051】
図8は、具体例2として示す画像処理を説明するためのフローチャートである。具体例2として示す画像処理は、例えば、上述の画像処理装置2のCPU21にて実行される3DCGソフトウェアに組み込まれたプラグインの機能として提供することができる。
【0052】
先ず、オブジェクト加工ステップS21において、操作入力部25は、仮想3次元空間に配置された第1のオブジェクトである樹木のオブジェクト、又は第2のオブジェクトである他のオブジェクトへの加工操作を受ける。加工操作としては、樹木のオブジェクト、又は第2のオブジェクトのサイズの変更、ベクトル方向の変更などが挙げられる。なお、他のオブジェクトは、樹木であっても樹木以外の建造物などであってもよい。
【0053】
樹木のオブジェクトのサイズの変更例として、樹木のオブジェクトを生長させてもよい。樹木のオブジェクトの生長は、例えば、生長速度に関する生命エネルギーのパラメータを用いて制御することができる。これにより、樹木モデルがどのように他のオブジェクトを回避して生長するのかを確認することができ、CGアーティストの作業効率を向上させることができる。
【0054】
また、樹木のベクトル方向の変更例として、樹木オブジェクトを吸引する吸引オブジェクトを配置し、樹木の枝のベクトルを吸引オブジェクトに向けてもよい。これにより、例えば、仮想3次元空間で樹木モデルが空洞に吸引されるシーンなどを他のオブジェクトを回避した状態で確認することができ、CGアーティストの作業効率を向上させることができる。
【0055】
次の重なり検出ステップS22、オブジェクト変形ステップS23、及び描画ステップS24は、それぞれ上述した検出ステップS12、オブジェクト変形ステップS13、及び描画ステップS14と同様であるため、ここでは説明を省略する。
【0056】
図9(A)は、アーチ下に配置された生長前の樹木画像の例を示す図であり、図9(B)は、アーチ下に配置された生長後の樹木画像の例を示す図である。このように樹木のオブジェクト91を生長させた場合であっても、樹木のオブジェクト91がアーチ92を回避することができるため、樹木のオブジェクト91がどのようにアーチ92を回避して生長するのかを確認することができ、CGアーティストの作業効率を向上させることができる。
【0057】
また、図10(A)は、吸引力を有する椅子を遠方に配置した樹木画像の例を示す図であり、図10(B)は、吸引力を有する椅子を近傍に配置した樹木画像の例を示す図である。このように吸引力を有する椅子のオブジェクト102を樹木のオブジェクト101の近傍に配置した場合であっても、樹木のオブジェクト101が椅子のオブジェクト1010を回避した状態を確認することができ、CGアーティストの作業効率を向上させることができる。
【0058】
以上のように、樹木のオブジェクトを加工した場合であっても、リアルタイムで樹木のオブジェクトが周囲のオブジェクトを回避して変化するため、CGアーティストの負担が軽減され、CGアーティストの作業効率を向上させることができる。
【0059】
なお、第2の実施の形態では、3DCGの制作を例に挙げて説明したが、これに限られることなく、例えば、3DCGのゲームに適用することも可能である。例えば、ゲーム上の時間の経過に伴い、樹木のオブジェクトを周辺のオブジェクトを回避して生長させることにより、よりリアルな世界を実現することができる。
【符号の説明】
【0060】
1 画像処理装置、2 画像処置装置、11 操作入力部、12 重なり検出部、 13 オブジェクト変形部、14 描画部、15 オブジェクト加工部、21 CPU、22 GPU、23 ROM、24 RAM、25 操作入力部、26 ストレージ、27 入出力インターフェース
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10