JP2011198139A - 漫画作成支援装置、漫画作成支援方法およびプログラム - Google Patents
漫画作成支援装置、漫画作成支援方法およびプログラム Download PDFInfo
- Publication number
- JP2011198139A JP2011198139A JP2010065158A JP2010065158A JP2011198139A JP 2011198139 A JP2011198139 A JP 2011198139A JP 2010065158 A JP2010065158 A JP 2010065158A JP 2010065158 A JP2010065158 A JP 2010065158A JP 2011198139 A JP2011198139 A JP 2011198139A
- Authority
- JP
- Japan
- Prior art keywords
- face
- character
- viewpoint
- image
- predetermined angle
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
Abstract
【課題】コマ画像として用いる画像に、必ず、キャラクタの顔が含まれるようにすることができる漫画作成支援装置、漫画作成支援方法およびプログラムを提供する。
【解決手段】未選択の仮想カメラを順に選択し(S46)、選択した仮想カメラの撮影方向と、キャラクタの顔方向とがなす角αを求める(S48)。なす角αが所定の角度範囲内にあり(S49:YES)、その仮想カメラでキャラクタの顔が撮影できるのならば(S52:YES)、選択した仮想カメラを候補カメラとし(S53)、候補カメラで撮影した画像をコマ画像の候補として提示する。また、キャラクタが複数の場合は顔方向の合成方向を求め、撮影方向と合成方向とがなす角βが所定の角度範囲内にあり、1以上のキャラクタの顔を撮影可能な仮想カメラを候補カメラとする。
【選択図】図8
【解決手段】未選択の仮想カメラを順に選択し(S46)、選択した仮想カメラの撮影方向と、キャラクタの顔方向とがなす角αを求める(S48)。なす角αが所定の角度範囲内にあり(S49:YES)、その仮想カメラでキャラクタの顔が撮影できるのならば(S52:YES)、選択した仮想カメラを候補カメラとし(S53)、候補カメラで撮影した画像をコマ画像の候補として提示する。また、キャラクタが複数の場合は顔方向の合成方向を求め、撮影方向と合成方向とがなす角βが所定の角度範囲内にあり、1以上のキャラクタの顔を撮影可能な仮想カメラを候補カメラとする。
【選択図】図8
Description
本発明は、三次元仮想空間内の一場面を撮影した画像をコマに用いた漫画の作成を支援する漫画作成支援装置、漫画作成支援方法およびプログラムに関する。
従来、映画やアニメーション、ゲーム、漫画、写真集など様々なコンテンツの作成に、三次元コンピュータグラフィックス(CG)が用いられている。CGでは、例えば、三次元仮想空間内の様子が、同空間内に配置された仮想的なカメラであたかも撮影されたかのように、静止画(二次元画像)に変換される。CGアニメーションは、その静止画を時系列に沿って連続的に表示することで、動きのある映像(動画)として表現したものである(例えば特許文献1参照)。動画では、静止画としての視覚効果のみならず、三次元仮想空間内に配置されたオブジェクトの細かな動きを表現することができ、さらにBGMや音声、効果音などを付加して聴覚効果をも得ることができる。このように、動画により作成された作品においては、例えば作品中に登場するキャラクタの喜怒哀楽を、キャラクタの表情のみならず、動きや音声等、様々な手段を用いて容易に表現することができる。
ところで、キャラクタの喜怒哀楽を表現する手法として、例えば、キャラクタの顔をアップにした顔画像を撮影し、視聴者にキャラクタの表情等を識別させ易くすることで、喜怒哀楽を表現する手法がある。漫画は、動画とは異なり動きや音声等による表現を付加できない。このため、上記のように撮影された顔画像が漫画のコマ(漫画における場面の一単位)に用いる画像(以下、「コマ画像」ともいう。)として使用されることが多い。こうした手法を、作品において語られる物語の展開に応じて適宜用いることによって、喜怒哀楽を表現する上でメリハリの効いた表現が実現され、読者に印象づけることができる。
特許文献1は動画を対象とするが、キャラクタの動作や表情、セリフなどのシナリオ要素に応じてカメラ距離が選択され、映画文法に基づく優先度に従って使用するカメラを決定するカメラワークが提案されている。例えば、キャラクタの表情に変化がある場面では、キャラクタの顔をアップにして撮影するカメラが選択され、動きのある場面では、キャラクタの全身を撮影するカメラが選択される。
しかしながら、漫画においては、上記のように動きや音声等による表現を付加できないため、キャラクタの顔の表情による表現が重要視されている。そのため、キャラクタの顔の正面の少なくとも一部が、必ず、コマ画像内に含まれるようにしたいという要望がある。特許文献1では、カメラがキャラクタの周囲に配置されており、カメラワークによってはキャラクタの後方に配置されたカメラが使用されるため、キャラクタの顔の正面の少なくとも一部が必ずコマ画像内に含まれるとは限らなかった。
本発明は、上記課題を解決するためになされたものであり、コマ画像として用いる画像に、必ず、キャラクタの顔が含まれるようにすることができる漫画作成支援装置、漫画作成支援方法およびプログラムを提供することを目的とする。
本発明の第1態様によれば、少なくとも一コマ以上のコマを含む漫画の作成を支援する漫画作成支援装置であって、三次元仮想空間内の所定の位置に、少なくとも顔と、顔と異なる身体部位とを含むオブジェクトを配置する配置手段と、前記オブジェクトの顔の位置を示す顔位置情報と、顔が向く顔方向を示す顔方向情報とを取得する第1取得手段と、三次元仮想空間内の複数の所定の位置に配置されたそれぞれの視点の位置を示す視点位置情報と、前記視点の視線方向を示す視線方向情報とを取得する第2取得手段と、それぞれの前記視点について、前記顔方向情報に基づく前記顔方向と、前記視線方向情報に基づく前記視線方向とがなす角が所定の角度範囲内であるか否かを判定する第1判定手段と、前記第1判定手段に所定の角度範囲内であると判定された前記視点により取得された画像を、前記コマの画像の候補として提示する提示信号を発生する信号発生手段と、を備える漫画作成支援装置が提供される。
第1態様では、オブジェクトの顔方向と視点の視線方向とがなす角が所定の角度範囲内にある視点により撮影された画像のみが、コマ画像の候補として提示される。すなわち、オブジェクトの顔が前方より撮影された画像がコマ画像の候補として提示され、後方より撮影された画像(すなわち後頭部側から撮影された画像)は、候補として提示されない。このため、確実に、オブジェクトの顔が含まれる様々な画像を、コマ画像の候補として得ることができる。
第1態様は、前記配置手段により前記オブジェクトが複数配置された場合、前記オブジェクトのそれぞれの前記顔方向を、合成方向として合成し、前記合成方向によって示される方向を示す合成方向情報を取得する合成方向取得手段と、それぞれの前記視点について、前記合成方向情報に基づく前記合成方向と、前記視線方向情報に基づく前記視線方向とがなす角が所定の角度範囲内であるか否かを判定する第2判定手段と、をさらに備えてもよい。この場合に、前記信号発生手段は、前記第2判定手段に所定の角度範囲内であると判定された前記視点により取得された画像を、前記コマの画像の候補として提示する前記提示信号を発生してもよい。
オブジェクトが複数の場合には、オブジェクトの顔方向の合成方向と視点の視線方向とがなす角が所定の角度範囲内にある視点により撮影された画像が、コマ画像の候補として提示される。したがって、より多くのオブジェクトの顔が含まれる様々な画像を、コマ画像の候補として得ることができる。
第1態様は、前記第2判定手段に所定の角度範囲内であると判定された前記視点がなかった場合、前記第1判定手段は、それぞれの前記視点について、個々の前記オブジェクトごとに、前記顔方向情報に基づく前記顔方向と、前記視線方向情報に基づく前記視線方向とがなす角が所定の角度範囲内であるか否かを判定し、前記信号発生手段は、前記第1判定手段に所定の角度範囲内であると判定された前記視点により取得された画像を、前記コマ画像の候補として提示する前記提示信号を発生してもよい。
オブジェクトの顔方向の合成方向と視点の視線方向とがなす角が所定の角度範囲内にある視点がなかった場合には、個々のオブジェクトに対して、顔方向と視線方向とがなす角が所定の角度範囲内にあるか否か判定される。そして所定の角度範囲内にある視点により撮影された画像が、コマ画像の候補として提示される。したがって、個々のオブジェクトの顔が含まれる様々な画像を、コマ画像の候補として得ることができる。
第1態様は、前記オブジェクトのそれぞれに重要度を設定可能な重要度設定手段をさらに備えてもよい。そして、前記第2判定手段に所定の角度範囲内であると判定された前記視点がなかった場合、前記第1判定手段は、それぞれの前記視点について、前記重要度が最も高い前記オブジェクトの前記顔方向情報に基づく前記顔方向と、前記視線方向情報に基づく前記視線方向とがなす角が所定の角度範囲内であるか否かを判定し、前記信号発生手段は、前記第1判定手段に所定の角度範囲内であると判定された前記視点により取得された画像を、前記コマ画像の候補として提示する前記提示信号を発生してもよい。
オブジェクトの顔方向の合成方向と視点の視線方向とがなす角が所定の角度範囲内にある視点がなかった場合には、重要度が最も高いオブジェクトに対して、顔方向と視線方向とがなす角が所定の角度範囲内にあるか否か判定される。そして所定の角度範囲内にある視点により撮影された画像が、コマ画像の候補として提示される。これにより、重要度が最も高いオブジェクトの顔が含まれる様々な画像を、コマ画像の候補として得ることができる。
第1態様は、前記提示信号に基づき選択された画像を、前記コマ画像として決定する画像決定手段をさらに備えてもよい。候補として提示される様々な画像の中から、より望ましい画像を選択し、コマ画像として用いることができる。
第1態様は、それぞれの前記視点から取得される画像の画角を示す画角情報を取得する第3取得手段と、前記視点位置情報と前記視線方向情報と前記画角情報とに基づいて、三次元仮想空間内の任意の位置の座標を、前記視点から映し出した画像における二次元の座標に変換する座標変換手段と、前記顔位置情報に基づき、前記座標変換手段によって二次元の座標に変換された前記オブジェクトの顔の位置座標が、前記視点から映し出した画像内に含まれるか否かを判定する第3判定手段と、をさらに備えてもよい。この場合に、前記信号発生手段は、前記第1判定手段に所定の角度範囲内であると判定され、かつ、前記第3判定手段に含まれると判定された前記視点により取得された画像を、前記コマ画像の候補として提示する前記提示信号を発生してもよい。座標変換手段が、三次元仮想空間内の座標から二次元の座標に変換するので、オブジェクトの顔が含まれるか否かについて、座標に基づく判定を行うことができる。よって、コマ画像の候補として提示する画像に、オブジェクトの顔が含まれることの確実性を、より高めることができる。
本発明の第2態様によれば、少なくとも一コマ以上のコマを含む漫画が作成されるコンピュータで実行され、前記漫画の作成を支援する漫画作成支援方法であって、三次元仮想空間内の所定の位置に、少なくとも顔と、顔と異なる身体部位とを含むオブジェクトを配置する配置ステップと、前記オブジェクトの顔の位置を示す顔位置情報と、顔が向く顔方向を示す顔方向情報とを取得する第1取得ステップと、三次元仮想空間内の複数の所定の位置に配置されたそれぞれの視点の位置を示す視点位置情報と、前記視点の視線方向を示す視線方向情報とを取得する第2取得ステップと、それぞれの前記視点について、前記顔方向情報に基づく前記顔方向と、前記視線方向情報に基づく前記視線方向とがなす角が所定の角度範囲内であるか否かを判定する第1判定ステップと、前記第1判定ステップに所定の角度範囲内であると判定された前記視点により取得された画像を、前記コマの画像の候補として提示する提示信号を発生する信号発生ステップと、を含む漫画作成支援方法が提供される。
また、本発明の第3態様によれば、少なくとも一コマ以上のコマを含む漫画の作成を支援する漫画作成支援装置として機能させるためのプログラムであって、コンピュータに、三次元仮想空間内の所定の位置に、少なくとも顔と、顔と異なる身体部位とを含むオブジェクトを配置する配置ステップと、前記オブジェクトの顔の位置を示す顔位置情報と、顔が向く顔方向を示す顔方向情報とを取得する第1取得ステップと、三次元仮想空間内の複数の所定の位置に配置されたそれぞれの視点の位置を示す視点位置情報と、前記視点の視線方向を示す視線方向情報とを取得する第2取得ステップと、それぞれの前記視点について、前記顔方向情報に基づく前記顔方向と、前記視線方向情報に基づく前記視線方向とがなす角が所定の角度範囲内であるか否かを判定する第1判定ステップと、前記第1判定ステップに所定の角度範囲内であると判定された前記視点により取得された画像を、前記コマの画像の候補として提示する提示信号を発生する信号発生ステップと、を実行させるプログラムが提供される。
第2態様に係る漫画作成支援方法に従う処理をコンピュータで実行することによって、あるいは、第3態様に係るプログラムを実行してコンピュータを漫画作成支援装置として機能させることで、第1態様と同様の効果を得ることができる。
以下、本発明を具体化した一実施の形態について、漫画作成支援プログラムがインストールされたパーソナルコンピュータ(PC)1を漫画作成支援装置の一例とし、図面を参照して説明する。なお、参照する図面は、本発明が採用しうる技術的特徴を説明するために用いられるものであり、記載されている装置の構成、各種処理のフローチャートなどは、それのみに限定する趣旨ではなく、単なる説明例である。
まず、図1を参照し、PC1の電気的な構成について説明する。PC1は周知のパーソナルコンピュータであり、PC1の制御を司るCPU2を備えている。CPU2には、バス3を介して、ROM4、RAM5、入出力(I/O)インタフェイス6が接続されている。ROM4は、CPU2が実行するBIOS等のプログラムを記憶する読出し専用の記憶装置である。RAM5は、データを一時的に記憶する読み書き可能な記憶装置である。
入出力インタフェイス6には、ハードディスクドライブ(HDD)7、マルチディスクドライブ8、表示制御部9、キーボード10、マウス11が接続されている。マルチディスクドライブ8は、例えばCD−ROMやDVD−ROMなど、データが記憶された記憶媒体であるディスクROM12が挿入されると、ディスクROM12からデータやプログラム等の読み込みを行うものである。記憶装置であるHDD7には、ディスクROM12から読み出されたプログラムがインストールされ、また、データ等が記憶される。なお、本実施の形態では、後述する漫画作成支援プログラムがディスクROM12に記憶されて提供されるが、フラッシュROMなど、その他の記憶媒体に記憶されて提供されてもよい。あるいは、図示しないネットワークインタフェイスを介して接続されるネットワーク上のサーバから、ダウンロードにより、提供されてもよい。表示制御部9は、後述する漫画作成支援プログラムの実行に伴い、操作画面20(図2参照)をモニタ13に表示するための描画処理を行う。キーボード10、マウス11は、漫画作成支援プログラムにおいては、操作画面20上での各種操作や文字等の入力に用いられる。
次に、図2を参照して、モニタ13に表示される操作画面20について説明する。操作画面20は、漫画作成支援プログラムが起動され、後述するメイン処理が開始されるとモニタ13に表示される画面である。ユーザは、操作画面20を見ながらキーボード10やマウス11を用いて、編集や設定のためのデータや指示の入力を行うことができる。
図2に示すように、操作画面20は、コマ表示領域21とキャラクタ設定領域31との2つの表示領域に分かれている。操作画面20の左側のコマ表示領域21には、コマ画像表示領域22が設けられている。コマ表示領域21の下部には、新規コマ作成ボタン25が設けられている。また、コマ画像表示領域22の下部には、コマ番号26が表示される。操作画面20の右側のキャラクタ設定領域31には、セリフ入力ボックス32が設けられ、セリフ入力ボックス32の右側に、重要度選択リスト33が設けられている。キャラクタ設定領域31の下部には、新規キャラクタ作成ボタン35が設けられている。また、セリフ入力ボックス32の上部左側には、キャラクタ選択リスト36が設けられている。なお、セリフ入力ボックス42,52、重要度選択リスト43,53、キャラクタ選択リスト46,56については後述する。
コマ画像表示領域22には、後述する三次元仮想空間60(図3参照)内を、仮想カメラで映しだした画像が表示される。新規コマ作成ボタン25は、新たなコマが作成される場合に操作されるボタンである。新規コマ作成ボタン25が操作された場合には、コマ表示領域21に、新たなコマ画像表示領域22が、新たなコマ番号26とともに、既に表示されているコマ画像表示領域22等の下部に追加で表示される。なお、コマ数が増えた場合には、スクロールバー27でコマ表示領域21を上下にスクロールさせることができる。
キャラクタ設定領域31のキャラクタ選択リスト36は、三次元仮想空間60内に配置するキャラクタの容姿(CG)を選択するためのリストボックスである。あらかじめインストールされた複数のキャラクタから任意のキャラクタを、そのキャラクタに対応付けられた名称(例えば後述するフィギュアA、フィギュアBなど)で、リストボックスにより指定することができる。キャラクタ選択リスト36には選択されたキャラクタの名称が表示される。セリフ入力ボックス32は、三次元仮想空間60(図3参照)内に配置されるキャラクタのセリフを入力可能なテキストボックスである。セリフの入力がなければ、コマ画像にセリフは表示されない。重要度選択リスト33は、キャラクタの重要度を設定するためのリストボックスである。ユーザが、リストボックスの右隅にある逆三角形のマークをマウス11のカーソルでクリックして押下すると、キャラクタの重要度として、場面内におけるキャラクタの位置づけの選択候補(例えば主人公、サブキャラなど)が表示される。キャラクタの位置づけは、キャラクタの重要度を数値の大小として比較できるように、あらかじめ、重要度に応じた数値が設定されている。例えば、主人公の重要度の値は、サブキャラの重要度の値よりも高くなるように配分されている。なお、重要度は、必ずしも上記した位置づけが用いられて設定される必要はない。例えば、A/B/Cなどのランクが設けられ、ランクに対応した数値で設定されてもよい。あるいは、重要度を示す数値が直接入力されることにより設定されてもよい。また、重要度として同一の数値が設定されないようにしてもよい。例えば、重要度選択リスト33で既に選択されたキャラクタの位置づけと同一の位置づけは、選択できないようにすればよい。
新規キャラクタ作成ボタン35は三次元仮想空間60(図3参照)内に新たなキャラクタが配置される場合に操作されるボタンである。新規キャラクタ作成ボタン35が操作された場合には、キャラクタ設定領域31に、新たなキャラクタ用(ここではフィギュアB)の項目が表示される。新たなキャラクタ用の項目とは、具体的に、セリフ入力ボックス42、重要度選択リスト43およびキャラクタ選択リスト46である。これらの項目が、既に表示されているキャラクタ用(ここではフィギュアA)のセリフ入力ボックス32等の下部に追加される。キャラクタ数はさらに追加することができる。再度、新規キャラクタ作成ボタン35が操作されれば、3体目のキャラクタ用(ここではフィギュアC)のセリフ入力ボックス52、重要度選択リスト53およびキャラクタ選択リスト56が、セリフ入力ボックス42等の下部に追加される。なお、上記同様、キャラクタ数が増えた場合には、スクロールバー37でキャラクタ設定領域31を上下にスクロールさせることができる。上記のメニューの選択結果やテキストボックスに入力された情報は、漫画作成支援プログラムの実行により指定されたRAM5の所定の記憶エリアに記憶される。
次に、図3を参照し、三次元仮想空間60について説明する。三次元仮想空間60は、漫画作成支援プログラムの実行に伴いCPU2がRAM5に確保した所定の記憶エリアに記憶される座標データ等によって構成されるものである。本実施の形態では、理解を容易にするため、座標データ等に基づき定義される仮想的な空間を、三次元仮想空間60として、例えば図3に示すように、模式的に図に表して説明する。この三次元仮想空間60内のあらゆるオブジェクトは、XYZ座標軸に基づく座標データとして定義される。
三次元仮想空間60内の所定の座標に、キャラクタの一例としてのフィギュアA、フィギュアBおよびフィギュアCと、背景の一例としての部屋63とが配置される。部屋63は、背景を構成するオブジェクトとして配置される6つの壁面からなる。さらに、キャラクタの配置位置(座標)を取り巻く24カ所の定位置(ここでは部屋63の壁面の定位置)に、視点(図中黒丸で示す。)が設けられるものとする。説明を容易にするため、各視点には、あらかじめ撮影方向62(視線方向)および画角(垂直画角θ1、水平画角θ2(図4参照)(0°<θ1<180°、0°<θ2<180°))が設定された仮想カメラ61(図3ではそのうちの2つを示す。)が配置されたものとする。なお、撮影方向62は、方向ベクトルを示すデータとして設定される。すなわち、始点の座標を原点(x,y,z)=(0,0,0)とし、終点の座標(Q1,Q2,Q3)が設定されることにより、三次元の方向ベクトルの向きが、始点から終点へ向かう方向として与えられ、方向ベクトルの大きさが、始点と終点との間の距離として与えられる。本実施の形態では、ベクトルの方向が得られれば足るので、撮影方向62および後述する顔方向の方向ベクトルの大きさについては、便宜上、1となるように設定される。
そして、仮想カメラ61で三次元仮想空間60内を撮影した画像が、後述するコマ画像として用いられることとする。なお、三次元仮想空間60内に配置されるキャラクタ数や視点数は一例であり、任意に増減可能である。また、キャラクタと視点の配置位置の関係についても任意に設定可能である。
ここで、仮想カメラ61で三次元仮想空間60内が撮影され、二次元の画像が生成される過程について、簡単に説明する。本実施の形態において、三次元仮想空間60内に配置されたオブジェクト(キャラクタのみならず背景等もオブジェクトの一つである。)を二次元の画像に変換する処理は、アフィン変換に基づく一連の座標変換処理によって行われる。アフィン変換とは、二次元の座標変換に使用され、拡大、縮小、反転などの線形変換と平行移動が結合された変換方法である。アフィン変換を用いることで、三次元仮想空間60内に配置した個々のオブジェクトごとに設定された座標(ローカル座標)を、ワールド座標、ビュー座標、スクリーン座標、デバイス座標に順に変換して二次元の座標とすることができる。これにより、視点からオブジェクトを見た画像が生成される。このアフィン変換による座標変換の具体的な処理については公知である。ゆえに、以下では、三次元仮想空間60内に配置したオブジェクトの一例としてのフィギュアAのローカル座標がデバイス座標に変換されるまでの一連の過程の概要を説明する。
図4に示すように、フィギュアAは、頭、胸、手、足など、要所となる身体部位(図中黒丸で示す。)が、それぞれ、XYZ座標軸に基づく座標データとして定義されている。これらの各身体部位の座標は、オブジェクトの基準とする座標(例えば頭の座標)を原点とする位置座標(ローカル座標系64の座標)で、それぞれ定義されている。なお、身体の細部については、さらにこれらの各身体部位を基準にした座標データで定義され、公知のテクスチャマッピング等によって表現されるが、ここでは簡略化のため、細部についての説明は省略する。
フィギュアAの各身体部位のローカル座標系64の座標が、三次元仮想空間60に設定された基準の位置を原点に、三次元仮想空間60の全体をXYZ座標軸に基づく座標データで定義されたワールド座標系65の座標に変換される。また、三次元仮想空間60内に、フィギュアAを見る視点(仮想カメラ61)が設置され、視点の位置がワールド座標系65の座標で定義される。
三次元仮想空間60を定義したワールド座標系65の座標が、視点の位置座標を原点とするビュー座標系66の座標に変換される。そして、ビュー座標系66の座標として定義された三次元仮想空間60内に、平面状の仮想スクリーン68が定義され、仮想カメラ61から仮想スクリーン68を透過させてフィギュアAを見た画像が、仮想スクリーン68上に形成される。具体的に、ビュー座標系66において、フィギュアAの各身体部位の座標が、仮想カメラ61(視点)とフィギュアAの各身体部位とを結ぶ仮想線(図中一点鎖線で示す。)が仮想スクリーン68と交わる点の座標(スクリーン座標)に変換される。
こうして仮想スクリーン68上の座標に変換されたフィギュアAの各身体部位の座標は、この時点ではまだビュー座標系66において三次元の座標として定義されているので、次に二次元平面の座標に変換される。すなわち、ビュー座標系66で示される仮想スクリーン68上の座標(スクリーン座標)が、上記した操作画面20のコマ画像表示領域22(図2参照)に表示する大きさの、デバイス座標系67で示される二次元の仮想画面69上の座標(デバイス座標)に変換される。以上のアフィン変換によるローカル座標からデバイス座標に変換する一連の座標変換によって、三次元仮想空間60内に配置された視点から見た、仮想スクリーン68上にフィギュアAが映しだされた画像を、仮想画面69として得ることができる。背景も含め、三次元仮想空間60内に配置されるすべてのオブジェクトについても同様である。アフィン変換による座標変換処理は、後述の漫画作成支援プログラムの実行に伴うCPU2による行列演算によって行われ、形成された仮想画面69は、RAM5の所定の記憶エリアに記憶される。
また、後述する漫画作成支援プログラムでは、仮想画面69に、撮影対象が映し出されているか否かについての判定を行っている。この判定は、アフィン変換による座標変換処理の過程において行われる。具体的には、フィギュアAの各身体部位の座標が仮想スクリーン68上のスクリーン座標に変換される際に、判定対象となる部位(例えば頭)の座標が、仮想スクリーン68上の座標として取りうる座標の範囲内に含まれるか否かによって判定される。
ここで、図5を参照し、説明を容易にするため、仮想スクリーン68の垂直方向において、撮影対象が撮影範囲内に含まれるか否かを判定する方法について、簡単に説明する。上記したように、仮想カメラ61には撮影方向62および画角(垂直画角θ1、水平画角θ2)が設定されている。図5は、仮想カメラ61の設置位置、すなわち視点をP1とし、P1の座標を原点(x,y,z)=(0,0,0)とするビュー座標系66において、Z軸方向の座標を0としたものである。また、仮想カメラ61の撮影方向62をX軸方向とし、仮想スクリーン68は、垂直方向(Y軸方向)の中央の点P2が、座標(a,0,0)に配置されている。
例えば、ビュー座標系66に変換されたフィギュアAの頭P5の座標を(b,c,0)としたとき、視点P1と頭P5とを結ぶ仮想線と、仮想スクリーン68とが交差する点P6が、仮想スクリーン68上に映し出されるフィギュアAの頭の位置座標となる。よって、P6の座標は、(a,ac/b,0)となる。仮想カメラ61の垂直画角がθ1であるので、仮想スクリーン68の垂直方向における両端の点P3,P4の座標は、それぞれ、P3(a,a・tan(θ1/2),0)、P4(a,−a・tan(θ1/2),0)となる。よって、仮想スクリーン68上に映し出されるフィギュアAの頭P6のY座標、ac/bが、−a・tan(θ1/2)≦ac/b≦a・tan(θ1/2)を満たせば、フィギュアAの頭P5は、仮想スクリーン68の垂直方向において、撮影範囲内にあると判定することができる。
仮想スクリーン68の水平方向についても、水平画角θ2に基づく同様の判定を行うことで、撮影対象が撮影範囲内にあるか否かを判定することができる。そして、垂直方向および水平方向において共に撮影範囲内にあると判定されれば、フィギュアAの頭P5を仮想スクリーン68内に映し出すことができる。すなわち仮想カメラ61がフィギュアAの頭P5を撮影可能である判定することができる。
また、後述する漫画作成支援プログラムでは、三次元仮想空間60内に配置されたキャラクタ(例えばフィギュアA)の顔方向と、仮想カメラ61の撮影方向62とがなす角αが求められ、なす角αが、所定の角度範囲内にあるか否かの判定が行われる。さらに、三次元仮想空間60内に複数のキャラクタが配置された場合には、キャラクタ(例えばフィギュアA、B、C)のそれぞれの顔方向が示すベクトルを合成し、合成したベクトルによって表される方向(合成方向)の演算を行っている。そして、合成方向と、仮想カメラ61の撮影方向62とがなす角βが求められ、なす角βについても、同様に、所定の角度範囲内にあるか否かの判定が行われる。なす角α,βは、キャラクタの顔方向あるいは合成方向と、仮想カメラ61の撮影方向62とをパラメータとするベクトル演算によって求められる。
ここで、説明を容易にするため、図6に示すように、ワールド座標系65におけるY軸方向に沿って三次元仮想空間60内をみながら、なす角α,βを求める方法について簡単に説明する。ただし、0°≦α≦180°、0°≦β≦180°とする。三次元仮想空間60内の任意の3カ所に設けた仮想カメラ61を、便宜上、仮想カメラ61A,61B,61Cとし、それぞれの撮影方向62が示すベクトルを、撮影方向ベクトル62A,62B,62Cとする。フィギュアAの顔方向が示すベクトルを、顔方向ベクトル71とする。同様に、フィギュアB、フィギュアCの顔方向が示すベクトルを、それぞれ顔方向ベクトル72、73とする。
フィギュアAの顔方向ベクトル71と、仮想カメラ61Aの撮影方向ベクトル62Aとがなす角α1は、方向ベクトルの始点同士を重ねた場合に形成される角度で示され、方向ベクトルの内積を求めることによって得ることができる。具体的に、[顔方向ベクトル71と撮影方向ベクトル62Aの内積]={(顔方向ベクトル71の大きさ)・(撮影方向ベクトル62Aの大きさ)}・cosα1で与えられる。また、顔方向ベクトル71が(A1,A2,A3)で与えられ、撮影方向ベクトル62Aが(Q1,Q2,Q3)で与えられた場合、[顔方向ベクトル71と撮影方向ベクトル62Aの内積]は{A1・Q1+A2・Q2+A3・Q3}によって求まる。ここで、方向ベクトルの大きさは、便宜上、1とされている。よって、cosα1={A1・Q1+A2・Q2+A3・Q3}を解くことで、顔方向ベクトル71と撮影方向ベクトル62Aとがなす角α1を求めることができる。フィギュアAの顔方向ベクトル71と、仮想カメラ61B、61Cの撮影方向ベクトル62B、62Cとのそれぞれがなす角α2、α3についても、同様に求めることができる。
例えば、フィギュアAの顔方向ベクトル71は、−X方向成分を有し、Z方向成分は有さないものとする。フィギュアBの顔方向ベクトル72は、+X方向成分を有し、Z方向成分は有さないものとする。フィギュアCの顔方向ベクトル73は、−X方向成分と+Z方向成分とを有するものとする。また、仮想カメラ61Aの撮影方向ベクトル62Aは、+X方向成分と−Z方向成分とを有するものとする。仮想カメラ61Bの撮影方向ベクトル62Bは、X方向成分をもたず、−Z方向成分を有するものとする。仮想カメラ61Cの撮影方向ベクトル62Cは、−X方向成分と−Z方向成分とを有するものとする。
仮想カメラ61Aは、フィギュアAの顔を、斜め前方から撮影する配置となる。上記のように演算が行われると、フィギュアAの顔方向ベクトル71と、仮想カメラ61Aの撮影方向ベクトル62Aとがなす角α1は、鈍角を示す。また、仮想カメラ61Bは、フィギュアAの顔を、側方から撮影する配置となる。顔方向ベクトル71と仮想カメラ61Bの撮影方向ベクトル62Bとがなす角α2は、直角を示す。仮想カメラ61Cは、フィギュアAの顔を、斜め後方から撮影する配置となる。顔方向ベクトル71と仮想カメラ61Cの撮影方向ベクトル62Cとがなす角α3は、鋭角を示す。同様に、仮想カメラ61Bは、フィギュアBの顔を、側方から撮影する配置となる。フィギュアBの顔方向ベクトル72と、仮想カメラ61Bの撮影方向ベクトル62Bとがなす角α4は、直角を示す。仮想カメラ61Bは、フィギュアCの顔を、斜め前方から撮影する配置となる。フィギュアCの顔方向ベクトル73と、仮想カメラ61Bの撮影方向ベクトル62Bとがなす角α5は、鈍角を示す。
仮想カメラ61が、キャラクタの顔を側方または前方から撮影する位置に配置されれば、キャラクタの顔を撮影することができる。キャラクタの後方から撮影する仮想カメラ61では、キャラクタの後頭部は撮影できても顔を撮影することはできない。よって、後述する漫画作成支援プログラムでは、キャラクタの顔方向と仮想カメラ61の撮影方向62とがなす角αが、直角または鈍角となる場合に、その仮想カメラ61を、キャラクタの顔を撮影可能な仮想カメラ61の候補としている。
また、キャラクタの顔方向の合成方向と、仮想カメラ61の撮影方向62とがなす角βについても、同様の基準を適用している。図6において、フィギュアAの顔方向ベクトル71と、フィギュアBの顔方向ベクトル72と、フィギュアCの顔方向ベクトル73とを合成した(すなわちベクトルの和を求めた)合成方向ベクトル74を、矢柄部分を太い点線で表した矢印で示す。上記同様の演算によれば、合成方向ベクトル74と、仮想カメラ61Aの撮影方向ベクトル62Aとがなす角β1は、鈍角を示す。このとき、仮想カメラ61Aは、フィギュアAおよびフィギュアCの顔を前方から撮影でき、フィギュアBの顔を撮影できない位置に、配置されている。また、合成方向ベクトル74と、仮想カメラ61Bの撮影方向ベクトル62Bとがなす角β2も、鈍角を示す。仮想カメラ61Bは、フィギュアAおよびフィギュアBの顔を側方から撮影でき、フィギュアCの顔を前方から撮影できる位置に、配置されている。また、合成方向ベクトル74と、仮想カメラ61Cの撮影方向ベクトル62Cとがなす角β3は、鋭角を示す。仮想カメラ61Cは、フィギュアAおよびフィギュアCの顔を撮影できず、フィギュアBの顔を前方から撮影できる位置に、配置されている。このように、合成方向と撮影方向62とがなす角βが、直角または鈍角となれば、より多くのキャラクタの顔を撮影することができる。したがって、後述の漫画作成支援プログラムでは、上記同様、合成方向と撮影方向62とがなす角βが直角または鈍角となる仮想カメラ61を、複数のキャラクタの顔を撮影可能な仮想カメラ61の候補としている。
次に、図2の操作画面20を適宜参照しながら、図7、図8を参照し、PC1にインストールされた漫画作成支援プログラムの動作について説明する。以下、フローチャートの各ステップを「S」と略記する。
本実施の形態のPC1は、漫画作成支援プログラムが実行されることにより、漫画作成支援装置として機能するものである。漫画作成支援装置は、三次元仮想空間内に配置したオブジェクトを、三次元仮想空間内の視点から映しだした画像をコマの画像とする漫画の作成を支援する装置である。モニタ13に上記した操作画面20が表示され、その操作画面20において各種設定が行われることで、コマ画像表示領域22に表示される画像が変化し、ユーザの求めるコマ画像が作成される。
図7に示すフローチャートは、操作画面20におけるユーザの操作に応じ、コマ画像表示領域22に表示するコマ画像の生成を行う、コマ画像生成処理のフローチャートである。コマ画像生成処理は、漫画作成支援プログラムのモジュールの一つとして組み込まれ、PC1にインストールされて、HDD7に記憶されている。ユーザが漫画作成支援プログラムの実行ファイルを起動させると、CPU2が、漫画作成支援プログラムのメインプログラム(図示外)に従い、コマ画像生成処理を含む各モジュールを呼び出して実行する。また、RAM5やHDD7には、漫画作成支援プログラムの各処理に応じた記憶エリアが確保される。なお、以下の処理はCPU2により実行される。
漫画作成支援プログラムのメインプログラムでは、初期設定において、プログラム内で使用される変数やフラグ、カウンタ等の初期化が行われる。また、三次元仮想空間60内にオブジェクトとして配置する背景やキャラクタ等に関する各設定や、オブジェクトを構成するポリゴン、テクスチャ等のグラフィックスデータ(以下、総称して「CGデータ」ともいう。)として、HDD7からデフォルトの設定が読み込まれ、RAM5に書き込まれる。
メインプログラムから、図7のコマ画像生成処理のモジュールが呼び出されると、まず、配置設定処理が行われ、三次元仮想空間60内のオブジェクトの一つとして設ける背景のデータが設定される(S1)。本実施の形態では、背景として部屋63の壁面(図3参照)が設定されるものとする。なお、背景として、屋外や、屋内であっても部屋63とは異なる様々な部屋など、任意の舞台を選択できるように、操作画面20にリストボックス等を設けてもよい。
また、配置設定処理では、ワールド座標系65において、背景やキャラクタなどのオブジェクトのローカル座標系64における基準(原点)を三次元仮想空間60内で配置する位置が設定される。また、視点、光源(図示外)等の配置位置の座標(ワールド座標データ)も設定される。各視点には、それぞれ仮想カメラ61(図3参照)が配置され、仮想カメラ61ごとに、視線方向(撮影方向62(図3参照))や画角(垂直画角θ1、水平画角θ2(図4参照))が設定される。なお、本実施の形態では、視点ごとの仮想カメラ61の視線方向および画角は、あらかじめ定められているものとする。メインプログラム(図示外)の初期設定において、HDD7にインストールされた視線方向や画角のデータが初期値として読み出され、RAM5に書き込まれる。上記同様、各視点の位置や各仮想カメラ61の視線方向、画角についても、操作画面20から、ユーザが任意に設定できるようにしてもよい。
さらに、配置設定処理では、三次元仮想空間60内にキャラクタを配置する処理が行われる。図3に示すように、本実施の形態では、三次元仮想空間60内に3体のキャラクタ(フィギュアA、フィギュアBおよびフィギュアC)が配置されている。初期設定では、三次元仮想空間60内にキャラクタは配置されておらず、前述した新規キャラクタ作成ボタン35の操作によって、1体目のキャラクタ(フィギュアA)が配置される。さらに新規キャラクタ作成ボタン35が操作されることによって、2体目、3体目のキャラクタ(フィギュアB、フィギュアC)が追加される。もちろん、三次元仮想空間60内に任意の数のキャラクタを配置できるようにしてもよい。
キャラクタの配置は、具体的には以下のように行われる。まず、キャラクタ選択リスト36で設定されたキャラクタ(ここではデフォルトのフィギュアA)のCGデータがHDD7から読み込まれ、RAM5に書き込まれる。より詳細には、キャラクタ選択リスト36で設定されたキャラクタ(フィギュアA)の各身体部位のローカル座標データ、各身体部位に対応した細部のローカル座標データ、細部に対応したテクスチャデータなどが読み込まれる。
次に、キャラクタの立ち位置、すなわち、三次元仮想空間60内においてキャラクタ(フィギュアA)を配置する位置が選択される。キャラクタの配置位置は、上記のように、ワールド座標データが設定されている。本実施の形態では、キャラクタを配置可能な位置があらかじめ決められており、各キャラクタの設定順(たとえば操作画面20のキャラクタ設定領域31において上からの順)に、各配置位置へ割り当てられるものとする。キャラクタの配置位置のワールド座標データが、上記したキャラクタのCGデータと対応づけられ、RAM5に書き込まれる。もちろん、三次元仮想空間60内の任意の位置に任意のキャラクタを配置できるように、操作画面20からユーザが設定できるようにしてもよい。
さらに、キャラクタ(フィギュアA)の顔が向く向き(顔方向)が、ワールド座標系65のデータとして設定される。本実施の形態では、すべての配置位置について、配置されるキャラクタの顔方向は、あらかじめ定められているものとする。なお、顔方向も、撮影方向62と同様に、方向ベクトルを示すデータとして設定される。もちろん、三次元仮想空間60内の任意の向きにキャラクタの顔を向けられるように、操作画面20からキャラクタごとの顔方向をユーザが設定できるようにしてもよい。
そして、各データが揃ったキャラクタ(フィギュアA)が、三次元仮想空間60内に配置される。具体的には、上記したアフィン変換に基づき、キャラクタの基準の座標(ここでは頭の座標)がローカル座標系64の座標からワールド座標系65の座標に変換される。次いで顔方向や各身体部位の座標がワールド座標系65において設定される。さらに、各身体部位に応じた細部の座標がローカル座標系64からワールド座標系65の座標に変換され、また、テクスチャデータの大きさや貼り付ける座標がワールド座標系65で設定される。これにより、図3に示すように、三次元仮想空間60内に、キャラクタ(フィギュアA)が、仮想的に配置された状態となる。新規キャラクタ作成ボタン35の操作によって追加される2体目、3体目のキャラクタ(フィギュアB、フィギュアC)の配置についても同様である。
図7に示す、コマ画像生成処理では、S2において、キャラクタ設定処理が行われる。ここでは、三次元仮想空間60に配置されたキャラクタのセリフや重要度の設定が行われる。配置されたすべてのキャラクタについて、セリフおよび重要度と、キャラクタのCGデータとが対応づけられ、RAM5に書き込まれる。セリフは、図2に示す、操作画面20のセリフ入力ボックス32に入力されたものである。重要度は、重要度選択リスト33で選択されたキャラクタの位置づけに応じた数値である。デフォルトの状態ではセリフはなく、重要度は、もっとも低い値が設定された「モブキャラ」に設定される(例えばフィギュアC)。上記したように、三次元仮想空間60はRAM5に確保された記憶エリアにおいて座標データ等により定義される不可視の空間であり、この処理において直接的な画像生成がなされるわけではない。
キャラクタ総数が0か否か確認される(S3)。三次元仮想空間60へのキャラクタの配置前は(S3:YES)、撮影対象となるキャラクタがいない。三次元仮想空間60の24カ所に配置されたすべての仮想カメラ61が候補カメラとして設定され、RAM5の所定の記憶エリアに記録される(S4)。S36に進み、RAM5に候補カメラとして記憶されたすべての仮想カメラ61で、上記したアフィン変換に基づく一連の座標変換処理によって、三次元仮想空間60内が撮影され、二次元の画像が生成される。生成されたすべての画像が、コマ画像の候補として、図示しない提示画面に並べて表示される(S36)。ここでは、キャラクタが配置されていないので、様々な仮想カメラ61により背景(部屋63の壁面)が撮影された画像が提示されることとなる。提示画面に表示された複数の画像から1つの画像がユーザによって選択されるのを待つ(S37:NO)。1つの画像が選択されたら(S37:YES)、選択された画像がコマ画像として決定され、コマ画像表示領域22に表示される(S42)。このように、コマ画像の候補として複数の画像が提示画面で提示され、ユーザにより選択された1つの画像が、コマ画像として用いられることとなる。コマ画像表示領域22へのコマ画像の表示が完了すると、コマ画像生成処理は終了され、図示外のメインプログラムに戻る。
メインプログラムにおいて、マウス11やキーボード10から操作画面20に対する操作が行われると、その操作に応じたモジュールが呼び出されて実行される。コマ画像の書き換えを伴う処理においては、再度、コマ画像生成処理が実行される。例えば、操作画面20で新規キャラクタ作成ボタン35が押された場合、コマ画像生成処理のモジュールが呼び出され、S1の配置設定処理が行われる。なお、本実施の形態では、視点やキャラクタの配置位置があらかじめ定められているので、背景や光源についての変更がなされない限り、これらの設定に係る処理は行わなくともよい。よってここでは、キャラクタの配置に関する処理が行われ、三次元仮想空間60内に1体目のキャラクタ(フィギュアA)が仮想的に配置された状態となる。
新規キャラクタ作成ボタン35の操作によって1体目のキャラクタ(フィギュアA)のみが配置(すなわちキャラクタ総数=1)された場合(S3:NO、S6:YES)、S7に進む。配置されたキャラクタの情報として、キャラクタの顔の位置座標(顔座標)と顔方向が取得される(S7)。前述したS1の配置設定処理において三次元仮想空間60内に配置され、ワールド座標系65で設定されたキャラクタ(フィギュアA)の顔の位置座標と顔方向が読み込まれ、RAM5の作業用の記憶エリアに書き込まれる。
次にカメラ選択処理のサブルーチンがコールされる(S8)。図8に示す、カメラ選択処理では、未選択の仮想カメラ61(視点)の1つが選択され(S46)、選択された仮想カメラ61の情報が取得される(S47)。仮想カメラ61の情報とは、すなわち、配置位置の座標(ワールド座標データ)、視線方向(撮影方向62)、画角(垂直画角θ1、水平画角θ2)の情報である。
S7で取得されたキャラクタ(フィギュアA)の顔方向と、S47で取得された、選択された仮想カメラ61の撮影方向62とをパラメータとするベクトル演算が行われる。これにより、キャラクタの顔方向と撮影方向62とがなす角αが、前述したように、算出される(S48)。そしてなす角αが、所定範囲内(すなわち直角または鈍角)か否か、判定される(S49)。なす角αが鋭角を示し、所定範囲内に含まれなければ(S49:NO)、S54に進む。なす角αが直角または鈍角を示し、所定範囲内に含まれれば(S49:YES)、取得された各情報に基づき、上記したアフィン変換が行われる(S51)。ここでは、S47で取得されたキャラクタの顔の位置座標に対し、アフィン変換によるワールド座標からビュー座標への座標変換が行われる。そして、キャラクタの顔の位置座標が、選択された仮想カメラ61の撮影範囲内(仮想スクリーン68内)に含まれるか否か、前述のように判定される(S52)。キャラクタの顔の位置座標が撮影範囲内に含まれなければ(S52:NO)、S54に進む。キャラクタの顔の位置座標が撮影範囲内に含まれる場合には(S54:YES)、この仮想カメラ61が、キャラクタの顔を撮影可能なカメラの候補(候補カメラ)として、RAM5の所定の記憶エリアに記録される(S53)。そしてS54に進む。
S46〜S53の処理は、三次元仮想空間60内に配置されたすべての仮想カメラ61に対して行われる。よって、未選択の仮想カメラ61があれば、S46に戻る(S54:NO)。すべての仮想カメラ61が選択され、それぞれに対しS46〜S53の処理が行われると(S54:YES)、図7のコマ画像生成処理に戻り、S36に進む。S36では、上記したように、各候補カメラにより、フィギュアAの顔が映し出された撮影画像が、コマ画像の候補として、提示画面(図示外)に並べて表示される(S36)。そして、ユーザにより選択された1つの画像がコマ画像としてコマ画像表示領域22へ表示されると(S37:YES、S42)、コマ画像生成処理は終了され、図示外のメインプログラムに戻る。
メインプログラムにおいて、さらなる新規キャラクタ作成ボタン35の操作によって2体目以降のキャラクタ(フィギュアB、フィギュアC)が配置(すなわちキャラクタ総数>1)された場合(S3:NO、S6:NO)、S11に進む。ここでは、キャラクタの情報として、配置されたすべてのキャラクタ(すなわちフィギュアA、B、C)の顔の位置座標と顔方向が取得され、RAM5の作業用の記憶エリアに書き込まれる(S11)。そして、取得されたキャラクタの顔方向から、前述したように、合成方向が算出される(S12)。
次に未選択の仮想カメラ61(視点)の1つが選択され(S13)、S47(図8参照)と同様に、選択された仮想カメラ61の情報が取得される(S14)。すなわち、選択された仮想カメラ61の配置位置の座標(ワールド座標データ)、視線方向(撮影方向62)、画角(垂直画角θ1、水平画角θ2)が取得される。
S12で算出されたキャラクタ(フィギュアA、B,C)の顔方向の合成方向と、S14で取得された、選択された仮想カメラ61の撮影方向62とをパラメータとするベクトル演算が行われる。これにより、合成方向と撮影方向62とがなす角βが、前述したように、算出される(S16)。そしてなす角βが、所定範囲内(すなわち直角または鈍角)か否か、判定される(S17)。なす角βが鋭角を示し、所定範囲内に含まれなければ(S17:NO)、S22に進む。なす角βが直角または鈍角を示し、所定範囲内に含まれれば(S17:YES)、取得された各情報に基づき、上記したアフィン変換が行われる(S18)。S11で取得されたすべてのキャラクタの顔の位置座標に対し、アフィン変換によるワールド座標からビュー座標への座標変換が行われる。そして、キャラクタの顔の位置座標が、選択された仮想カメラ61の撮影範囲内(仮想スクリーン68内)に含まれるか否か、前述のように判定される(S19)。S19では、複数のキャラクタの顔の位置座標について、1体ずつ順に、撮影範囲内に含まれるか否か判定され、すべてのキャラクタの顔の位置座標が撮影範囲内に含まれなければ(S19:NO)、S22に進む。顔の位置座標が撮影範囲内に含まれるキャラクタが1体でもあれば(S19:YES)、この仮想カメラ61が、キャラクタの顔を撮影可能なカメラの候補(候補カメラ)として、RAM5の所定の記憶エリアに記録される(S21)。そしてS22に進む。
S13〜S21の処理は、三次元仮想空間60内に配置されたすべての仮想カメラ61に対して行われる。よって、未選択の仮想カメラ61があれば、S13に戻る(S22:NO)。すべての仮想カメラ61が選択され、それぞれに対しS13〜S21の処理が行われると(S22:YES)、S23に進む。
S23において、S13〜S22の処理によって選択された候補カメラが1以上あれば(S23:YES)、S36に進む。そして、合成方向とのなす角βが直角または鈍角をなす撮影方向62を有し、キャラクタの顔が映し出された、各候補カメラによる撮影画像が、コマ画像の候補として、提示画面(図示外)に並べて表示される(S36)。同様に、ユーザにより選択された1つの画像がコマ画像としてコマ画像表示領域22へ表示されると(S37:YES、S42)、コマ画像生成処理は終了され、図示外のメインプログラムに戻る。
一方、S23において、S13〜S22の処理によって選択された候補カメラがなかった場合(S23:NO)、S26に進む。未選択のキャラクタの1つが選択され(S26)、選択されたキャラクタの顔の位置座標と顔方向が取得され、RAM5の作業用の記憶エリアに書き込まれる(S27)。さらに、S13〜S22の処理で行われた仮想カメラ61の選択状態がリセットされ、いずれの仮想カメラ61も未選択の状態に設定される(S28)。そして、S8と同様のカメラ選択処理(図8参照)が行われ、選択されたキャラクタの顔方向とのなす角αが直角または鈍角をなす撮影方向62を有する仮想カメラ61が、候補カメラとして、RAM5の所定の記憶エリアに記録される(S29)。
S26〜S29の処理は、三次元仮想空間60内に配置されたすべてのキャラクタに対して行われる。よって、未選択のキャラクタがあれば、S26に戻る(S31:NO)。すべてのキャラクタが選択され、それぞれに対しS26〜S29の処理が行われると(S31:YES)、S36に進む。そして、顔方向とのなす角βが直角または鈍角をなす撮影方向62を有し、それぞれのキャラクタの顔が映し出された、各候補カメラによる撮影画像が、コマ画像の候補として、提示画面(図示外)に並べて表示される(S36)。同様に、ユーザにより選択された1つの画像がコマ画像としてコマ画像表示領域22へ表示されると(S37:YES、S42)、コマ画像生成処理は終了され、図示外のメインプログラムに戻る。
なお、S42では、S2のキャラクタ設定処理で設定されたキャラクタのセリフも、コマ画像に重ねて表示される。具体的に、図2の操作画面20のコマ画像表示領域22には、図3に示す、三次元仮想空間60に配置された仮想カメラ61からフィギュアA、フィギュアBおよびフィギュアCが撮影された画像が表示されている。操作画面20では、1体目のキャラクタとしてキャラクタ選択リスト36に「フィギュアA」が設定されている。フィギュアAのセリフとしてセリフ入力ボックス32に「こんにちは」が入力されている。重要度選択リスト33には、キャラクタの位置づけとして「主人公」が設定されている。2体目のキャラクタとしてキャラクタ選択リスト46に「フィギュアB」が設定されている。フィギュアBのセリフとしてセリフ入力ボックス42に「初めまして」が入力されている。重要度選択リスト43には、キャラクタの位置づけとして「サブキャラ」が設定されている。3体目のキャラクタとしてキャラクタ選択リスト56に「フィギュアC」が設定されている。フィギュアCにはセリフがなく、セリフ入力ボックス52には何も入力されていない。重要度選択リスト53には、キャラクタの位置づけとして、デフォルトの「モブキャラ」が設定されている。
コマ画像表示領域22には、図示しない提示画面で選択された撮影画像が表示される。表示されたコマ画像は、キャラクタの顔方向の合成方向に対して、なす角βが鈍角となる撮影方向62から、仮想カメラ61によって撮影されたものである。このように撮影されたコマ画像には、より多くのキャラクタの顔が含まれている。さらに、上記のようにセリフが設定されている場合、文字数等に応じてあらかじめ設定された大きさの吹き出し枠が作成され、枠内にセリフが配置され、コマ画像に重ねて表示される。なお、重要度については後述する。
以上のように、漫画作成支援装置として機能する本実施の形態のPC1では、コマ画像を生成するにあたり、キャラクタ(例えばフィギュアA)の顔方向と視点(仮想カメラ61)の撮影方向62とがなす角αが所定の角度範囲内(直角または鈍角)にある仮想カメラ61により撮影された画像のみが、コマ画像の候補として提示される。すなわち、キャラクタの顔が前方より撮影された画像がコマ画像の候補として提示され、後方より撮影された画像(すなわち後頭部側から撮影された画像)は、候補として提示されない。このため、確実に、キャラクタの顔が含まれる様々な画像を、コマ画像の候補として得ることができる。
また、キャラクタ(例えばフィギュアA、B、C)が複数の場合には、キャラクタの顔方向の合成方向と仮想カメラ61の撮影方向62とがなす角βが所定の角度範囲内にある仮想カメラ61により撮影された画像が、コマ画像の候補として提示される。したがって、より多くのキャラクタの顔が含まれる様々な画像を、コマ画像の候補として得ることができる。
また、キャラクタの顔方向の合成方向と仮想カメラ61の撮影方向62とがなす角βが所定の角度範囲内にある仮想カメラ61がなかった場合には、個々のキャラクタに対して、顔方向と撮影方向62とがなす角αが所定の角度範囲内にあるか否か判定される。そして所定の角度範囲内にある仮想カメラ61により撮影された画像が、コマ画像の候補として提示される。したがって、個々のキャラクタの顔が含まれる様々な画像を、コマ画像の候補として得ることができる。
あるいは、キャラクタの顔方向の合成方向と仮想カメラ61の撮影方向62とがなす角βが所定の角度範囲内にある仮想カメラ61がなかった場合には、重要度が最も高いキャラクタ(例えばフィギュアA)に対して、顔方向と撮影方向62とがなす角αが所定の角度範囲内にあるか否か判定される。そして所定の角度範囲内にある仮想カメラ61により撮影された画像が、コマ画像の候補として提示される。これにより、重要度が最も高いキャラクタの顔が含まれる様々な画像を、コマ画像の候補として得ることができる。
また、図示しない提示画面に候補として様々な画像が提示されるので、それらの画像の中から、より望ましい画像を選択し、コマ画像として用いることができる。また、撮影画像の生成は、三次元仮想空間60内の座標から二次元の座標に変換するアフィン変換により行われるので、撮影画像内にキャラクタの顔が含まれるか否かについて、座標に基づく判定を行うことができる。よって、コマ画像の候補として提示する画像に、キャラクタの顔が含まれることの確実性を、より高めることができる。
なお、上記の実施形態に示される漫画作成支援装置の構成は例示であり、本発明は各種の変形が可能なことはいうまでもない。例えば、本実施の形態では、仮想カメラ61の配置位置あるいは画角はあらかじめ定められた値に設定されるが、任意に変更できるようにしてもよい。
また、候補カメラによる撮影画像は、図示しない提示画面に並べて表示され、ユーザによるコマ画像の選択が行われたが、候補カメラが1つの場合は、提示画面への表示が行われず、直接、コマ画像表示領域22に表示されるようにしてもよい。
また、S23で、候補カメラがなかった場合に、重要度の高いキャラクタの顔方向と撮影方向62とのなす角αが所定の角度範囲内の仮想カメラ61による撮影画像が、コマ画像の候補として提示されてもよい。本実施の形態では、図7に示すように、三次元仮想空間60内に複数のキャラクタが配置された場合に、すべてのキャラクタの顔方向の合成方向と撮影方向62とがなす角βが所定の角度範囲内(直角または鈍角)であり、少なくとも1体以上のキャラクタの顔を映し出すことのできる仮想カメラ61が、候補カメラに選択された(S17:YES、S19:YES、S21)。そこで、候補カメラを得られなかった場合には(S23:NO)、重要度が最も高いキャラクタの顔の位置座標と顔方向が取得されるようにする。なお、キャラクタの重要度は、前述したように、重要度選択リスト33,43,53によって選択された位置づけに対応した数値が、S2のキャラクタ設定処理において、各キャラクタに対応づけられている。次いで、S13〜S22の処理(図7参照)で行われた仮想カメラ61の選択状態がリセットされ、いずれの仮想カメラ61も未選択の状態に設定されるようにする。その後、S8に進み、図8のカメラ選択処理のサブルーチンが実行されるようにする。このようにすれば、重要度の高いキャラクタ(フィギュアA)の顔方向とのなす角αが直角または鈍角をなす撮影方向62を有し、顔を映し出すことのできる候補カメラを得ることが可能である。
なお、本実施の形態においては、PC1が「漫画作成支援装置」に相当する。S1の配置設定処理を実行するCPU2が、「配置手段」に相当する。S7で、キャラクタの顔の位置座標(顔位置情報に相当する。)および顔方向(顔方向情報に相当する。)を取得するCPU2が、「第1取得手段」に相当する。S47で、仮想カメラ61の配置位置の座標(視点位置情報に相当する。)、撮影方向62(視線方向情報に相当する。)を取得するCPU2が、「第2取得手段」に相当する。また、同じくS47で、仮想カメラ61の画角(画角情報に相当する。)を取得するCPU2が、「第3取得手段」に相当する。S49で、オブジェクト(キャラクタ)の顔方向と仮想カメラ61の撮影方向62とがなす角αが所定の角度範囲内に含まれるか否かを判定するCPU2が、「第1判定手段」に相当し、請求項5においては「第3判定手段」に相当する。S36で、候補の仮想カメラ61により撮影された画像を提示画面(図示外)に提示するため、表示制御部9から出力される映像信号(提示信号に相当する。)を発生させるCPU2が、「信号発生手段」に相当する。S12で、複数のオブジェクト(キャラクタ)の顔方向の合成方向(合成方向情報に相当する。)を算出するCPU2が、「合成方向取得手段」に相当する。S17で合成方向と撮影方向62とがなす角βが所定の角度範囲内に含まれるか否かを判定するCPU2が、「第2判定手段」に相当する。漫画作成支援プログラムのメインプログラム(図示外)に従い、操作画面20の重要度選択リスト33,43,53から選択されたキャラクタの位置づけに対応する数値を重要度として設定するCPU2が、「重要度設定手段」に相当する。S37で、提示画面(図示外)において選択された画像をコマ画像として決定するCPU2が、「画像決定手段」に相当する。S36で、選択された仮想カメラ61でアフィン変換に基づく一連の座標変換処理によって三次元仮想空間60内を撮影し、二次元の画像を生成するCPU2が、「座標変換手段」に相当する。
1 PC
2 CPU
5 RAM
20 操作画面
22 コマ画像表示領域
32 セリフ入力ボックス
33,43,53 重要度選択リスト
60 三次元仮想空間
61 仮想カメラ
62 撮影方向
62A,62B,62C 撮影方向ベクトル
71,72,73 顔方向ベクトル
74 合成方向ベクトル
2 CPU
5 RAM
20 操作画面
22 コマ画像表示領域
32 セリフ入力ボックス
33,43,53 重要度選択リスト
60 三次元仮想空間
61 仮想カメラ
62 撮影方向
62A,62B,62C 撮影方向ベクトル
71,72,73 顔方向ベクトル
74 合成方向ベクトル
Claims (8)
- 少なくとも一コマ以上のコマを含む漫画の作成を支援する漫画作成支援装置であって、
三次元仮想空間内の所定の位置に、少なくとも顔と、顔と異なる身体部位とを含むオブジェクトを配置する配置手段と、
前記オブジェクトの顔の位置を示す顔位置情報と、顔が向く顔方向を示す顔方向情報とを取得する第1取得手段と、
三次元仮想空間内の複数の所定の位置に配置されたそれぞれの視点の位置を示す視点位置情報と、前記視点の視線方向を示す視線方向情報とを取得する第2取得手段と、
それぞれの前記視点について、前記顔方向情報に基づく前記顔方向と、前記視線方向情報に基づく前記視線方向とがなす角が所定の角度範囲内であるか否かを判定する第1判定手段と、
前記第1判定手段に所定の角度範囲内であると判定された前記視点により取得された画像を、前記コマの画像の候補として提示する提示信号を発生する信号発生手段と、
を備えることを特徴とする漫画作成支援装置。 - 前記配置手段により前記オブジェクトが複数配置された場合、前記オブジェクトのそれぞれの前記顔方向を、合成方向として合成し、前記合成方向によって示される方向を示す合成方向情報を取得する合成方向取得手段と、
それぞれの前記視点について、前記合成方向情報に基づく前記合成方向と、前記視線方向情報に基づく前記視線方向とがなす角が所定の角度範囲内であるか否かを判定する第2判定手段と、
をさらに備え、
前記信号発生手段は、前記第2判定手段に所定の角度範囲内であると判定された前記視点により取得された画像を、前記コマの画像の候補として提示する前記提示信号を発生することを特徴とする請求項1に記載の漫画作成支援装置。 - 前記第2判定手段に所定の角度範囲内であると判定された前記視点がなかった場合、
前記第1判定手段は、それぞれの前記視点について、個々の前記オブジェクトごとに、前記顔方向情報に基づく前記顔方向と、前記視線方向情報に基づく前記視線方向とがなす角が所定の角度範囲内であるか否かを判定し、
前記信号発生手段は、前記第1判定手段に所定の角度範囲内であると判定された前記視点により取得された画像を、前記コマ画像の候補として提示する前記提示信号を発生すること
を特徴とする請求項2に記載の漫画作成支援装置。 - 前記オブジェクトのそれぞれに重要度を設定可能な重要度設定手段をさらに備え、
前記第2判定手段に所定の角度範囲内であると判定された前記視点がなかった場合、
前記第1判定手段は、それぞれの前記視点について、前記重要度が最も高い前記オブジェクトの前記顔方向情報に基づく前記顔方向と、前記視線方向情報に基づく前記視線方向とがなす角が所定の角度範囲内であるか否かを判定し、
前記信号発生手段は、前記第1判定手段に所定の角度範囲内であると判定された前記視点により取得された画像を、前記コマ画像の候補として提示する前記提示信号を発生すること
を特徴とする請求項2に記載の漫画作成支援装置。 - 前記提示信号に基づき選択された画像を、前記コマ画像として決定する画像決定手段をさらに備えたことを特徴とする請求項1から4のいずれかに記載の漫画作成支援装置。
- それぞれの前記視点から取得される画像の画角を示す画角情報を取得する第3取得手段と、
前記視点位置情報と前記視線方向情報と前記画角情報とに基づいて、三次元仮想空間内の任意の位置の座標を、前記視点から映し出した画像における二次元の座標に変換する座標変換手段と、
前記顔位置情報に基づき、前記座標変換手段によって二次元の座標に変換された前記オブジェクトの顔の位置座標が、前記視点から映し出した画像内に含まれるか否かを判定する第3判定手段と、
をさらに備え、
前記信号発生手段は、前記第1判定手段に所定の角度範囲内であると判定され、かつ、前記第3判定手段に含まれると判定された前記視点により取得された画像を、前記コマ画像の候補として提示する前記提示信号を発生することを特徴とする請求項1から5のいずれかに記載の漫画作成支援装置。 - 少なくとも一コマ以上のコマを含む漫画が作成されるコンピュータで実行され、前記漫画の作成を支援する漫画作成支援方法であって、
三次元仮想空間内の所定の位置に、少なくとも顔と、顔と異なる身体部位とを含むオブジェクトを配置する配置ステップと、
前記オブジェクトの顔の位置を示す顔位置情報と、顔が向く顔方向を示す顔方向情報とを取得する第1取得ステップと、
三次元仮想空間内の複数の所定の位置に配置されたそれぞれの視点の位置を示す視点位置情報と、前記視点の視線方向を示す視線方向情報とを取得する第2取得ステップと、
それぞれの前記視点について、前記顔方向情報に基づく前記顔方向と、前記視線方向情報に基づく前記視線方向とがなす角が所定の角度範囲内であるか否かを判定する第1判定ステップと、
前記第1判定ステップに所定の角度範囲内であると判定された前記視点により取得された画像を、前記コマの画像の候補として提示する提示信号を発生する信号発生ステップと、
を含む漫画作成支援方法。 - 少なくとも一コマ以上のコマを含む漫画の作成を支援する漫画作成支援装置として機能させるためのプログラムであって、
コンピュータに、
三次元仮想空間内の所定の位置に、少なくとも顔と、顔と異なる身体部位とを含むオブジェクトを配置する配置ステップと、
前記オブジェクトの顔の位置を示す顔位置情報と、顔が向く顔方向を示す顔方向情報とを取得する第1取得ステップと、
三次元仮想空間内の複数の所定の位置に配置されたそれぞれの視点の位置を示す視点位置情報と、前記視点の視線方向を示す視線方向情報とを取得する第2取得ステップと、
それぞれの前記視点について、前記顔方向情報に基づく前記顔方向と、前記視線方向情報に基づく前記視線方向とがなす角が所定の角度範囲内であるか否かを判定する第1判定ステップと、
前記第1判定ステップに所定の角度範囲内であると判定された前記視点により取得された画像を、前記コマの画像の候補として提示する提示信号を発生する信号発生ステップと、
を実行させるプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010065158A JP2011198139A (ja) | 2010-03-19 | 2010-03-19 | 漫画作成支援装置、漫画作成支援方法およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010065158A JP2011198139A (ja) | 2010-03-19 | 2010-03-19 | 漫画作成支援装置、漫画作成支援方法およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011198139A true JP2011198139A (ja) | 2011-10-06 |
Family
ID=44876229
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010065158A Pending JP2011198139A (ja) | 2010-03-19 | 2010-03-19 | 漫画作成支援装置、漫画作成支援方法およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2011198139A (ja) |
-
2010
- 2010-03-19 JP JP2010065158A patent/JP2011198139A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11315214B2 (en) | Mixed reality system with color virtual content warping and method of generating virtual con tent using same | |
US11423626B2 (en) | Mixed reality system with multi-source virtual content compositing and method of generating virtual content using same | |
WO2018188499A1 (zh) | 图像、视频处理方法和装置、虚拟现实装置和存储介质 | |
CN110465097B (zh) | 游戏中的角色立绘显示方法及装置、电子设备、存储介质 | |
JP2009237680A (ja) | プログラム、情報記憶媒体および画像生成システム | |
US11941729B2 (en) | Image processing apparatus, method for controlling image processing apparatus, and storage medium | |
CN105389090A (zh) | 游戏交互界面显示的方法及装置、移动终端和电脑终端 | |
CN116958344A (zh) | 虚拟形象的动画生成方法、装置、计算机设备及存储介质 | |
JP7296735B2 (ja) | 画像処理装置、画像処理方法及びプログラム | |
JP2011198135A (ja) | 漫画作成支援装置、漫画作成支援方法およびプログラム | |
JP2011198138A (ja) | 漫画作成支援装置、漫画作成支援方法およびプログラム | |
JP2012014392A (ja) | 漫画作成支援装置、漫画作成支援方法およびプログラム | |
JP2011215709A (ja) | 漫画作成支援装置、漫画作成支援方法及びプログラム | |
JP2011198139A (ja) | 漫画作成支援装置、漫画作成支援方法およびプログラム | |
US6633291B1 (en) | Method and apparatus for displaying an image | |
JP4637161B2 (ja) | 画像処理装置、画像処理方法、及び、プログラム | |
JP2012014391A (ja) | 漫画作成支援装置、漫画作成支援方法およびプログラム | |
JP2011198140A (ja) | 漫画作成支援装置、漫画作成支援方法およびプログラム | |
JP2017208809A (ja) | 仮想空間を提供する方法、プログラム及び記録媒体 | |
Takai et al. | 3D video technologies: capturing high fidelity full 3D shape, motion, and texture | |
JP2005165973A (ja) | 画像処理方法、画像処理装置 | |
JP2005346604A (ja) | 顔画像表情変化処理装置 |