(57)【要約】【課題】コマ画像として用いる画像を映し出す視点にキャラクタの顔を向けることができる漫画作成支援装置、漫画作成支援方法およびプログラムを提供する。【解決手段】発話順判定処理（Ｓ４）によってキャラクタの顔が発話順に並ぶ画像を撮影可能と判定された第１候補の中から、未選択の仮想カメラを順に選択し（Ｓ６）、選択した仮想カメラの撮影方向と、キャラクタの顔方向とがなす角Ｈを求める（Ｓ１１）。なす角Ｈが所定の角度範囲内になければ（Ｓ１２：ＮＯ）、キャラクタの頭部を回転させ（Ｓ２２）、回転後のキャラクタの顔方向とがなす角Ｉを求める（Ｓ２３）。さらに胸部や下半身の回転も行うことで（Ｓ２７、Ｓ３２）、セリフのあるすべてのキャラクタの顔を撮影可能となった仮想カメラを第２候補とし（Ｓ４２）、第２候補カメラで撮影した画像をコマ画像の候補として提示する（Ｓ４４）。【選択図】図７
2012014392.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも一コマ以上のコマを含む漫画の作成を支援する漫画作成支援装置であって、
三次元仮想空間内の所定の位置に、少なくとも顔と身体とを含む複数のオブジェクトを配置する配置手段と、
前記配置手段により配置された前記オブジェクトの顔が向く顔方向を示す顔方向情報と、前記オブジェクトの身体が向く身体方向を示す身体方向情報とを取得する第１取得手段と、
三次元仮想空間内の複数の所定の位置に配置された前記視点の視線方向を示す視線方向情報を取得する第２取得手段と、
前記配置された前記オブジェクトの前記顔方向と、前記視点の前記視線方向とがなす第１角度が、所定の第２角度範囲内にあるか否かを判定する第１判定手段と、
前記第１判定手段により前記第１角度が前記第２角度範囲内にないと判定された前記オブジェクトの前記顔方向を変更し、前記顔方向と前記視線方向とがなす前記第１角度を前記第２角度範囲内にする第１変更手段と、
前記第１変更手段により前記顔方向および前記身体方向が変更された前記オブジェクトを含む、前記複数のオブジェクトを映し出した画像を、前記視点から取得して、前記コマの画像の候補として提示する提示信号を発生する信号発生手段と、
を備えることを特徴とする漫画作成支援装置。
【請求項２】
前記第１取得手段は、前記オブジェクトの顔の位置を示す顔位置情報をさらに取得し、
前記第２取得手段は、三次元仮想空間内の複数の所定の位置に配置されたそれぞれの視点の位置を示す視点位置情報をさらに取得し、
少なくとも１以上の前記オブジェクトに、前記オブジェクトが発話する内容と前記発話の発話順とを設定する第１設定手段と、
前記視点位置情報と前記視線方向情報と前記顔位置情報とに基づいて、それぞれの前記視点から取得した画像内で、予め決められた方向に沿って、前記第１設定手段により設定された前記発話順に前記オブジェクトの顔が配置されているか否かを判定する第２判定手段と、
をさらに備え、
前記信号発生手段は、前記第２判定手段によって前記オブジェクトの顔が前記発話順に配置されていると判定された画像を、前記コマの画像の候補として提示する提示信号を発生することを特徴とする請求項１に記載の漫画作成支援装置。
【請求項３】
前記複数のオブジェクトのうち、少なくとも、前記第１設定手段によって前記発話する内容と前記発話順とが設定されたオブジェクトの前記顔方向と前記視線方向とがなす前記第１角度が、前記第２角度範囲内にあることを特徴とする請求項２に記載の漫画作成支援装置。
【請求項４】
前記オブジェクトは、前記顔方向と前記身体方向とを独立に変更可能であり、
前記第１判定手段により、前記第１角度が前記第２角度範囲内にないと判定された前記オブジェクトに対し、前記身体方向は変更せずに前記顔方向を変更し、前記オブジェクトの前記顔方向と前記視線方向とがなす前記第１角度を前記第２角度範囲内にする第２変更手段をさらに備えることを特徴とする請求項１から３のいずれかに記載の漫画作成支援装置。
【請求項５】
前記第２変更手段が前記顔方向を変更可能な範囲を示す第３角度範囲を設定する第２設定手段をさらに備えることを特徴とする請求項４に記載の漫画作成支援装置。
【請求項６】
前記オブジェクトはさらに上半身を含み、前記上半身が向く上半身方向と、前記顔方向と、前記身体方向とをそれぞれ所定の方向に変更可能であり、
第１取得手段は、前記オブジェクトの前記上半身方向を示す上半身方向情報をさらに取得するものであり、
前記第１判定手段により、前記第１角度が前記第２角度範囲内にないと判定された前記オブジェクトの前記顔方向が、前記第２変更手段によって前記第３角度範囲内において変更された場合に、前記第１角度が前記第２角度範囲内にあるか否かを判定する第３判定手段と、
前記第３判定手段により、前記第２変更手段によって変更された前記オブジェクトの前記顔方向と前記視線方向とがなす前記第１角度が、前記第２角度範囲内にないと判定された場合に、前記オブジェクトに対し、前記身体方向は変更せずに前記上半身方向を前記顔方向とともに変更し、前記オブジェクトの前記顔方向と前記視線方向とがなす前記第１角度を前記第２角度範囲内にする第３変更手段と、
をさらに備えることを特徴とする請求項５に記載の漫画作成支援装置。
【請求項７】
前記第１変更手段は、前記オブジェクトの前記顔方向を、前記身体方向とともに変更することを特徴とする請求項１から３のいずれかに記載の漫画作成支援装置。
【請求項８】
少なくとも一コマ以上のコマを含む漫画が作成されるコンピュータで実行され、前記漫画の作成を支援する漫画作成支援方法であって、
三次元仮想空間内の所定の位置に、少なくとも顔と身体とを含む複数のオブジェクトを配置する配置ステップと、
前記配置ステップにより配置された前記オブジェクトの顔が向く顔方向を示す顔方向情報と、前記オブジェクトの身体が向く身体方向を示す身体方向情報とを取得する第１取得ステップと、
三次元仮想空間内の複数の所定の位置に配置された前記視点の視線方向を示す視線方向情報を取得する第２取得ステップと、
前記配置された前記オブジェクトの前記顔方向と、前記視点の前記視線方向とがなす第１角度が、所定の第２角度範囲内にあるか否かを判定する第１判定ステップと、
前記第１判定ステップにより前記第１角度が前記第２角度範囲内にないと判定された前記オブジェクトの前記顔方向を変更し、前記オブジェクトの前記顔方向と前記視線方向とがなす前記第１角度を前記第２角度範囲内にする第１変更ステップと、
前記第１変更ステップにより前記顔方向および前記身体方向が変更された前記オブジェクトを含む、前記複数のオブジェクトを映し出した画像を、前記視点から取得して、前記コマの画像の候補として提示する提示信号を発生する信号発生ステップと、
を含む漫画作成支援方法。
【請求項９】
少なくとも一コマ以上のコマを含む漫画の作成を支援する漫画作成支援装置として機能させるためのプログラムであって、
コンピュータに、
三次元仮想空間内の所定の位置に、少なくとも顔と身体とを含む複数のオブジェクトを配置する配置ステップと、
前記配置ステップにより配置された前記オブジェクトの顔が向く顔方向を示す顔方向情報と、前記オブジェクトの身体が向く身体方向を示す身体方向情報とを取得する第１取得ステップと、
三次元仮想空間内の複数の所定の位置に配置された前記視点の視線方向を示す視線方向情報を取得する第２取得ステップと、
前記配置された前記オブジェクトの前記顔方向と、前記視点の前記視線方向とがなす第１角度が、所定の第２角度範囲内にあるか否かを判定する第１判定ステップと、
前記第１判定ステップにより前記第１角度が前記第２角度範囲内にないと判定された前記オブジェクトの前記顔方向を変更し、前記オブジェクトの前記顔方向と前記視線方向とがなす前記第１角度を前記第２角度範囲内にする第１変更ステップと、
前記第１変更ステップにより前記顔方向および前記身体方向が変更された前記オブジェクトを含む、前記複数のオブジェクトを映し出した画像を、前記視点から取得して、前記コマの画像の候補として提示する提示信号を発生する信号発生ステップと、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、三次元仮想空間内の一場面を撮影した画像をコマに用いた漫画の作成を支援する漫画作成支援装置、漫画作成支援方法およびプログラムに関する。
【背景技術】
【０００２】
従来、映画やアニメーション、ゲーム、漫画、写真集など様々なコンテンツの作成に、三次元コンピュータグラフィックス（ＣＧ）が用いられている。ＣＧでは、例えば、三次元仮想空間内の様子が、同空間内に配置された仮想的なカメラであたかも撮影されたかのように、静止画（二次元画像）に変換される。
【０００３】
ところで、漫画は動画とは異なり、動きや音声等による表現を付加できない。このため、漫画のコマ（漫画における場面の一単位）において、例えばキャラクタの喜怒哀楽を表現するには、キャラクタの顔を撮影できるようにすることが望ましい。ここで、キャラクタの動作や表情、セリフなどのシナリオ要素に応じてカメラ距離が選択され、映画文法に基づく優先度に従って使用するカメラを決定するカメラワークが提案されている（例えば特許文献１参照）。特許文献１は動画を対象とするものではあるが、特許文献１のように、場面に応じたカメラワークによってキャラクタの顔を映し出すことができるカメラを選択できれば、キャラクタの喜怒哀楽を容易に表現することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−９７２３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、キャラクタの顔が映し出されるようにカメラを切り換えると、もとのカメラとは撮影方向が変わってしまう場合がある。この場合、例えばキャラクタの背景や立ち位置、並び順など、キャラクタを取り巻く周囲の構図が変更されてしまう恐れがある。このため、場面の設定がユーザの想定するものとは異なってしまい、ユーザの所望するコマ画像を得ることができなかった。
【０００６】
本発明は、上記課題を解決するためになされたものであり、コマ画像として用いる画像を映し出す視点にキャラクタの顔を向けることができる漫画作成支援装置、漫画作成支援方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の第１態様によれば、少なくとも一コマ以上のコマを含む漫画の作成を支援する漫画作成支援装置であって、三次元仮想空間内の所定の位置に、少なくとも顔と身体とを含む複数のオブジェクトを配置する配置手段と、前記配置手段により配置された前記オブジェクトの顔が向く顔方向を示す顔方向情報と、前記オブジェクトの身体が向く身体方向を示す身体方向情報とを取得する第１取得手段と、三次元仮想空間内の複数の所定の位置に配置された前記視点の視線方向を示す視線方向情報を取得する第２取得手段と、前記配置された前記オブジェクトの前記顔方向と、前記視点の前記視線方向とがなす第１角度が、所定の第２角度範囲内にあるか否かを判定する第１判定手段と、前記第１判定手段により前記第１角度が前記第２角度範囲内にないと判定された前記オブジェクトの前記顔方向を変更し、前記顔方向と前記視線方向とがなす前記第１角度を前記第２角度範囲内にする第１変更手段と、前記第１変更手段により前記顔方向および前記身体方向が変更された前記オブジェクトを含む、前記複数のオブジェクトを映し出した画像を、前記視点から取得して、前記コマの画像の候補として提示する提示信号を発生する信号発生手段と、を備える漫画作成支援装置が提供される。
【０００８】
第１態様では、オブジェクトの顔方向と視点の視線方向とがなす角が所定の角度範囲内になければ、オブジェクトの顔方向を変更することで、オブジェクトの顔方向と視線方向とがなす角を所定の角度範囲内にすることができる。このため、オブジェクトの顔が確実に含まれる画像を、コマ画像の候補として得ることができる。
【０００９】
第１態様の前記第１取得手段は、前記オブジェクトの顔の位置を示す顔位置情報をさらに取得し、前記第２取得手段は、三次元仮想空間内の複数の所定の位置に配置されたそれぞれの視点の位置を示す視点位置情報をさらに取得してもよい。第１態様は、少なくとも１以上の前記オブジェクトに、前記オブジェクトが発話する内容と前記発話の発話順とを設定する第１設定手段と、前記視点位置情報と前記視線方向情報と前記顔位置情報とに基づいて、それぞれの前記視点から取得した画像内で、予め決められた方向に沿って、前記第１設定手段により設定された前記発話順に前記オブジェクトの顔が配置されているか否かを判定する第２判定手段と、をさらに備えてもよい。第１態様において、前記信号発生手段は、前記第２判定手段によって前記オブジェクトの顔が前記発話順に配置されていると判定された画像を、前記コマの画像の候補として提示する提示信号を発生してもよい。
【００１０】
第１態様では、発話のあるオブジェクトの顔が含まれ、かつ、予め決められた方向に沿って、オブジェクトの顔が発話順に配置された画像を、コマの画像の候補として提示することができる。オブジェクトの発話の内容は、コマの画像内にて、通常、フキダシと呼ばれる枠に納められ、オブジェクトの近傍に配置される。このため、オブジェクトが画像内で発話順に配置されていれば、フキダシも、発話順に配置されやすい。したがって、第１態様に係る漫画作成支援装置によって作成される漫画の読者は、予め決められた方向に沿ってフキダシを読み進めるだけで、発話内容を発話順に読み進めることができる。また、フキダシが発話順に並んで配置されれば、そのままコマとして使用することができるので、漫画作成支援装置の利用者がフキダシの配置位置を再調整する手間を省くことができる。さらに、発話のあるオブジェクトの顔が画像内に含まれることで、漫画の読者はオブジェクトの顔の表情を確認することができ、発話内容とともに物語の内容が理解しやすくなるので、感情移入しやすい。
【００１１】
第１態様において、前記複数のオブジェクトのうち、少なくとも、前記第１設定手段によって前記発話する内容と前記発話順とが設定されたオブジェクトの前記顔方向と前記視線方向とがなす前記第１角度が、前記第２角度範囲内にあってもよい。オブジェクトの配置位置や顔方向の都合でコマ画像内にすべてのオブジェクトの顔を含むことが難しい場合には、少なくとも、発話のあるオブジェクトの顔が画像内に含まれればよい。漫画の読者は、発話内容とともに、その発話をしたオブジェクトの顔の表情を確認することができ、感情移入しやすい。
【００１２】
第１態様において、前記オブジェクトは、前記顔方向と前記身体方向とを独立に変更可能であってもよい。第１態様は、前記第１判定手段により、前記第１角度が前記第２角度範囲内にないと判定された前記オブジェクトに対し、前記身体方向は変更せずに前記顔方向を変更し、前記オブジェクトの前記顔方向と前記視線方向とがなす前記第１角度を前記第２角度範囲内にする第２変更手段をさらに備えてもよい。オブジェクトの顔方向と視線方向とがなす角が所定の角度範囲内となるように顔方向を変更する際に、オブジェクトの身体方向は変更せずに顔方向を変更すれば、姿勢に不自然さを生ずることなく、オブジェクトの顔方向を視点側に向けることができる。
【００１３】
第１態様は、前記第２変更手段が前記顔方向を変更可能な範囲を示す第３角度範囲を設定する第２設定手段をさらに備えてもよい。オブジェクトの顔方向の変更可能な範囲に制限を設けることで、変更後のオブジェクトの姿勢が、不自然な状態となることを防止することができる。
【００１４】
第１態様において、前記オブジェクトはさらに上半身を含み、前記上半身が向く上半身方向と、前記顔方向と、前記身体方向とをそれぞれ所定の方向に変更可能であり、第１取得手段は、前記オブジェクトの前記上半身方向を示す上半身方向情報をさらに取得するものであってもよい。第１態様は、前記第１判定手段により、前記第１角度が前記第２角度範囲内にないと判定された前記オブジェクトの前記顔方向が、前記第２変更手段によって前記第３角度範囲内において変更された場合に、前記顔方向と前記視線方向とがなす前記第１角度が前記第２角度範囲内にあるか否かを判定する第３判定手段と、前記第３判定手段により、前記第２変更手段によって前記第３角度範囲内において変更された前記オブジェクトの前記顔方向と前記視線方向とがなす前記第１角度が、前記第２角度範囲内にないと判定された場合に、前記オブジェクトに対し、前記身体方向は変更せずに前記上半身方向を前記顔方向とともに変更し、前記オブジェクトの前記顔方向と前記視線方向とがなす前記第１角度を前記第２角度範囲内にする第３変更手段と、をさらに備えてもよい。オブジェクトの身体方向は変更せずに顔方向を変更しても、顔方向と視線方向とがなす角が所定の角度範囲内とならなかった場合でも、上半身が向く方向を変更することで、顔方向をさらに変更することができる。しかも姿勢に不自然さを生ずることなく、オブジェクトの顔方向を視点側に向けることができる。
【００１５】
第１態様の前記第１変更手段は、前記オブジェクトの前記顔方向を、前記身体方向とともに変更してもよい。オブジェクトの顔方向を変更する際に、顔方向とともに身体方向を変更すれば、変更後のオブジェクトの姿勢が、不自然な状態となることを防止することができる。
【００１６】
本発明の第２態様によれば、少なくとも一コマ以上のコマを含む漫画が作成されるコンピュータで実行され、前記漫画の作成を支援する漫画作成支援方法であって、三次元仮想空間内の所定の位置に、少なくとも顔と身体とを含む複数のオブジェクトを配置する配置ステップと、前記配置ステップにより配置された前記オブジェクトの顔が向く顔方向を示す顔方向情報と、前記オブジェクトの身体が向く身体方向を示す身体方向情報とを取得する第１取得ステップと、三次元仮想空間内の複数の所定の位置に配置された前記視点の視線方向を示す視線方向情報を取得する第２取得ステップと、前記配置された前記オブジェクトの前記顔方向と、前記視点の前記視線方向とがなす第１角度が、所定の第２角度範囲内にあるか否かを判定する第１判定ステップと、前記第１判定ステップにより前記第１角度が前記第２角度範囲内にないと判定された前記オブジェクトの前記顔方向を変更し、前記オブジェクトの前記顔方向と前記視線方向とがなす前記第１角度を前記第２角度範囲内にする第１変更ステップと、前記第１変更ステップにより前記顔方向および前記身体方向が変更された前記オブジェクトを含む、前記複数のオブジェクトを映し出した画像を、前記視点から取得して、前記コマの画像の候補として提示する提示信号を発生する信号発生ステップと、を含む漫画作成支援方法が提供される。
【００１７】
本発明の第３態様によれば、少なくとも一コマ以上のコマを含む漫画の作成を支援する漫画作成支援装置として機能させるためのプログラムであって、コンピュータに、三次元仮想空間内の所定の位置に、少なくとも顔と身体とを含む複数のオブジェクトを配置する配置ステップと、前記配置ステップにより配置された前記オブジェクトの顔が向く顔方向を示す顔方向情報と、前記オブジェクトの身体が向く身体方向を示す身体方向情報とを取得する第１取得ステップと、三次元仮想空間内の複数の所定の位置に配置された前記視点の視線方向を示す視線方向情報を取得する第２取得ステップと、前記配置された前記オブジェクトの前記顔方向と、前記視点の前記視線方向とがなす第１角度が、所定の第２角度範囲内にあるか否かを判定する第１判定ステップと、前記第１判定ステップにより前記第１角度が前記第２角度範囲内にないと判定された前記オブジェクトの前記顔方向を変更し、前記オブジェクトの前記顔方向と前記視線方向とがなす前記第１角度を前記第２角度範囲内にする第１変更ステップと、前記第１変更ステップにより前記顔方向および前記身体方向が変更された前記オブジェクトを含む、前記複数のオブジェクトを映し出した画像を、前記視点から取得して、前記コマの画像の候補として提示する提示信号を発生する信号発生ステップと、を実行させるプログラムが提供される。
【００１８】
第２態様に係る漫画作成支援方法に従う処理をコンピュータで実行することによって、あるいは、第３態様に係るプログラムを実行してコンピュータを漫画作成支援装置として機能させることで、第１態様と同様の効果を得ることができる。
【図面の簡単な説明】
【００１９】
【図１】ＰＣ１の電気的な構成を示すブロック図である。
【図２】漫画作成支援プログラムを実行して表示される操作画面２０を示す図である。
【図３】三次元仮想空間６０を模式的に示す図である。
【図４】アフィン変換による座標変換について説明するための図である。
【図５】撮影対象が撮影範囲内に含まれるか否かを判定する方法について説明するための図である。
【図６】顔方向と撮影方向とがなす角について説明するための図である。
【図７】コマ画像生成処理のフローチャートである。
【図８】発話順判定処理のフローチャートである。
【発明を実施するための形態】
【００２０】
以下、本発明を具体化した一実施の形態について、漫画作成支援プログラムがインストールされたパーソナルコンピュータ（ＰＣ）１を漫画作成支援装置の一例とし、図面を参照して説明する。なお、参照する図面は、本発明が採用しうる技術的特徴を説明するために用いられるものであり、記載されている装置の構成、各種処理のフローチャートなどは、それのみに限定する趣旨ではなく、単なる説明例である。
【００２１】
まず、図１を参照し、ＰＣ１の電気的な構成について説明する。ＰＣ１は周知のパーソナルコンピュータであり、ＰＣ１の制御を司るＣＰＵ２を備えている。ＣＰＵ２には、バス３を介して、ＲＯＭ４、ＲＡＭ５、入出力（Ｉ／Ｏ）インタフェイス６が接続されている。ＲＯＭ４は、ＣＰＵ２が実行するＢＩＯＳ等のプログラムを記憶する読出し専用の記憶装置である。ＲＡＭ５は、データを一時的に記憶する読み書き可能な記憶装置である。
【００２２】
入出力インタフェイス６には、ハードディスクドライブ（ＨＤＤ）７、マルチディスクドライブ８、表示制御部９、キーボード１０、マウス１１が接続されている。マルチディスクドライブ８は、例えばＣＤ−ＲＯＭやＤＶＤ−ＲＯＭなど、データが記憶された記憶媒体であるディスクＲＯＭ１２が挿入されると、ディスクＲＯＭ１２からデータやプログラム等の読み込みを行うものである。記憶装置であるＨＤＤ７には、ディスクＲＯＭ１２から読み出されたプログラムがインストールされ、また、データ等が記憶される。なお、本実施の形態では、後述する漫画作成支援プログラムがディスクＲＯＭ１２に記憶されて提供されるが、フラッシュＲＯＭなど、その他の記憶媒体に記憶されて提供されてもよい。あるいは、図示しないネットワークインタフェイスを介して接続されるネットワーク上のサーバから、ダウンロードにより、提供されてもよい。表示制御部９は、後述する漫画作成支援プログラムの実行に伴い、操作画面２０（図２参照）をモニタ１３に表示するための描画処理を行う。キーボード１０、マウス１１は、漫画作成支援プログラムにおいては、操作画面２０上での各種操作や文字等の入力に用いられる。
【００２３】
次に、図２を参照して、モニタ１３に表示される操作画面２０について説明する。操作画面２０は、漫画作成支援プログラムが起動され、後述するメイン処理が開始されるとモニタ１３に表示される画面である。ユーザは、操作画面２０を見ながらキーボード１０やマウス１１を用いて、編集や設定のためのデータや指示の入力を行うことができる。
【００２４】
図２に示すように、操作画面２０は、コマ表示領域２１とキャラクタ設定領域３１との２つの表示領域に分かれている。操作画面２０の左側のコマ表示領域２１には、コマ画像表示領域２２が設けられている。コマ表示領域２１の下部には、新規コマ作成ボタン２５が設けられている。また、コマ画像表示領域２２の下部には、コマ番号２６が表示される。操作画面２０の右側のキャラクタ設定領域３１には、セリフ入力ボックス３２が設けられ、セリフ入力ボックス３２の右側に、発話順設定リスト３３が設けられている。キャラクタ設定領域３１の下部には、新規キャラクタ作成ボタン３５が設けられている。また、セリフ入力ボックス３２の上部左側には、キャラクタ選択リスト３６が設けられている。なお、セリフ入力ボックス４２，５２、発話順設定リスト４３，５３、キャラクタ選択リスト４６，５６については後述する。
【００２５】
コマ画像表示領域２２には、後述する三次元仮想空間６０（図３参照）内を、仮想カメラで映しだした画像が表示される。新規コマ作成ボタン２５は、新たなコマが作成される場合に操作されるボタンである。新規コマ作成ボタン２５が操作された場合には、コマ表示領域２１に、新たなコマ画像表示領域２２が、新たなコマ番号２６とともに、既に表示されているコマ画像表示領域２２等の下部に追加で表示される。なお、コマ数が増えた場合には、スクロールバー２７でコマ表示領域２１を上下にスクロールさせることができる。
【００２６】
キャラクタ設定領域３１のキャラクタ選択リスト３６は、三次元仮想空間６０内に配置するキャラクタの容姿（ＣＧ）を選択するためのリストボックスである。あらかじめインストールされた複数のキャラクタから任意のキャラクタを、そのキャラクタに対応付けられた名称（例えば後述するフィギュアＡ、フィギュアＢなど）で、リストボックスにより指定することができる。キャラクタ選択リスト３６には選択されたキャラクタの名称が表示される。セリフ入力ボックス３２は、三次元仮想空間６０（図３参照）内に配置されるキャラクタのセリフを入力可能なテキストボックスである。セリフの入力がなければ、コマ画像にセリフは表示されない。発話順設定リスト３３は、キャラクタがセリフを有する場合にセリフの発話順を設定するためのドロップダウンリストボックスである。ユーザが、リストボックスの右隅にある逆三角形のマークをマウス１１のカーソルでクリックして押下すると、キャラクタのセリフの発話順として、順位（数字）の選択候補が表示される。同一の順位を選択できないように、排他的なリストボックスとして構成されている。また、セリフが入力されていないキャラクタには順位を付けることができず、さらに、順位の飛ばしが生じないようにも制御されている。ゆえに、未入力のセリフ入力ボックス３２にセリフが入力されると、その時点での最も早い順位が発話順として表示されるように制御されており、発話順設定リスト３３は、主に、発話順を変更したい場合に操作される。
【００２７】
新規キャラクタ作成ボタン３５は三次元仮想空間６０（図３参照）内に新たなキャラクタが配置される場合に操作されるボタンである。新規キャラクタ作成ボタン３５が操作された場合には、キャラクタ設定領域３１に、新たなキャラクタ用（ここではフィギュアＢ）の項目が表示される。新たなキャラクタ用の項目とは、具体的に、セリフ入力ボックス４２、発話順設定リスト４３およびキャラクタ選択リスト４６である。これらの項目が、既に表示されているキャラクタ用（ここではフィギュアＡ）のセリフ入力ボックス３２等の下部に追加される。キャラクタ数はさらに追加することができる。再度、新規キャラクタ作成ボタン３５が操作されれば、３体目のキャラクタ用（ここではフィギュアＣ）のセリフ入力ボックス５２、発話順設定リスト５３およびキャラクタ選択リスト５６が、セリフ入力ボックス４２等の下部に追加される。なお、上記同様、キャラクタ数が増えた場合には、スクロールバー３７でキャラクタ設定領域３１を上下にスクロールさせることができる。上記のメニューの選択結果やテキストボックスに入力された情報は、漫画作成支援プログラムの実行により指定されたＲＡＭ５の所定の記憶エリアに記憶される。
【００２８】
次に、図３を参照し、三次元仮想空間６０について説明する。三次元仮想空間６０は、漫画作成支援プログラムの実行に伴いＣＰＵ２がＲＡＭ５に確保した所定の記憶エリアに記憶される座標データ等によって構成されるものである。本実施の形態では、理解を容易にするため、座標データ等に基づき定義される仮想的な空間を、三次元仮想空間６０として、例えば図３に示すように、模式的に図に表して説明する。この三次元仮想空間６０内のあらゆるオブジェクトは、ＸＹＺ座標軸に基づく座標データとして定義される。
【００２９】
三次元仮想空間６０内の所定の座標に、キャラクタの一例としてのフィギュアＡ、フィギュアＢおよびフィギュアＣと、背景の一例としての部屋６３とが配置される。部屋６３は、背景を構成するオブジェクトとして配置される６つの壁面からなる。さらに、キャラクタの配置位置（座標）を取り巻く２４カ所の定位置（ここでは部屋６３の壁面の定位置）に、視点（図中黒丸で示す。）が設けられるものとする。説明を容易にするため、各視点には、あらかじめ撮影方向６２（視線方向）および画角（垂直画角Ｒ１、水平画角Ｒ２（図４参照）（０°＜Ｒ１＜１８０°、０°＜Ｒ２＜１８０°））が設定された仮想カメラ６１（図３ではそのうちの３つを示す。）が配置されたものとする。
【００３０】
なお、撮影方向６２は、方向ベクトルを示すデータとして設定される。すなわち、始点の座標を原点（ｘ，ｙ，ｚ）＝（０，０，０）とし、終点の座標（Ｑ１，Ｑ２，Ｑ３）が設定されることにより、三次元の方向ベクトルの向きが、始点から終点へ向かう方向として与えられる。そして方向ベクトルの大きさが、始点と終点との間の距離として与えられる。本実施の形態では、ベクトルの方向が得られれば足るので、撮影方向６２および後述する顔方向の方向ベクトルの大きさについては、便宜上、１となるように設定される。
【００３１】
そして、仮想カメラ６１で三次元仮想空間６０内を撮影した画像が、後述するコマ画像として用いられることとする。なお、三次元仮想空間６０内に配置されるキャラクタ数や視点数は一例であり、任意に増減可能である。また、キャラクタと視点の配置位置の関係についても任意に設定可能である。
【００３２】
ここで、仮想カメラ６１で三次元仮想空間６０内が撮影され、二次元の画像が生成される過程について、簡単に説明する。本実施の形態において、三次元仮想空間６０内に配置されたオブジェクト（キャラクタのみならず背景等もオブジェクトの一つである。）を二次元の画像に変換する処理は、アフィン変換に基づく一連の座標変換処理によって行われる。アフィン変換とは、二次元の座標変換に使用され、拡大、縮小、反転などの線形変換と平行移動が結合された変換方法である。アフィン変換を用いることで、三次元仮想空間６０内に配置した個々のオブジェクトごとに設定された座標（ローカル座標）を、ワールド座標、ビュー座標、スクリーン座標、デバイス座標に順に変換して二次元の座標とすることができる。これにより、視点からオブジェクトを見た画像が生成される。このアフィン変換による座標変換の具体的な処理については公知である。ゆえに、以下では、三次元仮想空間６０内に配置したオブジェクトの一例としてのフィギュアＡのローカル座標がデバイス座標に変換されるまでの一連の過程の概要を説明する。
【００３３】
図４に示すように、フィギュアＡは、頭、胸、手、足など、要所となる身体部位（図中黒丸で示す。）が、それぞれ、ＸＹＺ座標軸に基づく座標データとして定義されている。これらの各身体部位の座標は、オブジェクトの基準とする座標（例えば頭の座標）を原点とする位置座標（ローカル座標系６４の座標）で、それぞれ定義されている。なお、身体の細部については、さらにこれらの各身体部位を基準にした座標データで定義され、公知のテクスチャマッピング等によって表現されるが、ここでは簡略化のため、細部についての説明は省略する。
【００３４】
フィギュアＡの各身体部位のローカル座標系６４の座標が、三次元仮想空間６０に設定された基準の位置を原点に、三次元仮想空間６０の全体をＸＹＺ座標軸に基づく座標データで定義されたワールド座標系６５の座標に変換される。また、三次元仮想空間６０内に、フィギュアＡを見る視点（仮想カメラ６１）が設置され、視点の位置がワールド座標系６５の座標で定義される。
【００３５】
三次元仮想空間６０を定義したワールド座標系６５の座標が、視点の位置座標を原点とするビュー座標系６６の座標に変換される。そして、ビュー座標系６６の座標として定義された三次元仮想空間６０内に、平面状の仮想スクリーン６８が定義され、仮想カメラ６１から仮想スクリーン６８を透過させてフィギュアＡを見た画像が、仮想スクリーン６８上に形成される。具体的に、ビュー座標系６６において、フィギュアＡの各身体部位の座標が、仮想カメラ６１（視点）とフィギュアＡの各身体部位とを結ぶ仮想線（図中一点鎖線で示す。）が仮想スクリーン６８と交わる点の座標（スクリーン座標）に変換される。
【００３６】
こうして仮想スクリーン６８上の座標に変換されたフィギュアＡの各身体部位の座標は、この時点ではまだビュー座標系６６において三次元の座標として定義されているので、次に二次元平面の座標に変換される。すなわち、ビュー座標系６６で示される仮想スクリーン６８上の座標（スクリーン座標）が、上記した操作画面２０のコマ画像表示領域２２（図２参照）に表示する大きさの、デバイス座標系６７で示される二次元の仮想画面６９上の座標（デバイス座標）に変換される。以上のアフィン変換によるローカル座標からデバイス座標に変換する一連の座標変換によって、三次元仮想空間６０内に配置された視点から見た、仮想スクリーン６８上にフィギュアＡが映しだされた画像を、仮想画面６９として得ることができる。背景も含め、三次元仮想空間６０内に配置されるすべてのオブジェクトについても同様である。アフィン変換による座標変換処理は、後述の漫画作成支援プログラムの実行に伴うＣＰＵ２による行列演算によって行われ、形成された仮想画面６９は、ＲＡＭ５の所定の記憶エリアに記憶される。
【００３７】
また、後述する漫画作成支援プログラムでは、仮想画面６９に、撮影対象が映し出されているか否かについての判定を行っている。この判定は、アフィン変換による座標変換処理の過程において行われる。具体的には、フィギュアＡの各身体部位の座標が仮想スクリーン６８上のスクリーン座標に変換される際に、判定対象となる部位（例えば頭）の座標が、仮想スクリーン６８上の座標として取りうる座標の範囲内に含まれるか否かによって判定される。
【００３８】
ここで、図５を参照し、説明を容易にするため、仮想スクリーン６８の垂直方向において、撮影対象が撮影範囲内に含まれるか否かを判定する方法について、簡単に説明する。上記したように、仮想カメラ６１には撮影方向６２および画角（垂直画角Ｒ１、水平画角Ｒ２）が設定されている。図５は、仮想カメラ６１の設置位置、すなわち視点をＰ１とし、Ｐ１の座標を原点（ｘ，ｙ，ｚ）＝（０，０，０）とするビュー座標系６６において、Ｚ軸方向の座標を０としたものである。また、仮想カメラ６１の撮影方向６２をＸ軸方向とし、仮想スクリーン６８は、垂直方向（Ｙ軸方向）の中央の点Ｐ２が、座標（ａ，０，０）に配置されている。
【００３９】
例えば、ビュー座標系６６に変換されたフィギュアＡの頭Ｐ５の座標を（ｂ，ｃ，０）としたとき、視点Ｐ１と頭Ｐ５とを結ぶ仮想線と、仮想スクリーン６８とが交差する点Ｐ６が、仮想スクリーン６８上に映し出されるフィギュアＡの頭の位置座標となる。よって、Ｐ６の座標は、（ａ，ａｃ／ｂ，０）となる。仮想カメラ６１の垂直画角がＲ１であるので、仮想スクリーン６８の垂直方向における両端の点Ｐ３，Ｐ４の座標は、それぞれ、Ｐ３（ａ，ａ・ｔａｎ（Ｒ１／２），０）、Ｐ４（ａ，−ａ・ｔａｎ（Ｒ１／２），０）となる。よって、仮想スクリーン６８上に映し出されるフィギュアＡの頭Ｐ６のＹ座標、ａｃ／ｂが、−ａ・ｔａｎ（Ｒ１／２）≦ａｃ／ｂ≦ａ・ｔａｎ（Ｒ１／２）を満たせば、フィギュアＡの頭Ｐ５は、仮想スクリーン６８の垂直方向において、撮影範囲内にあると判定することができる。
【００４０】
仮想スクリーン６８の水平方向についても、水平画角Ｒ２に基づく同様の判定を行うことで、撮影対象が撮影範囲内にあるか否かを判定することができる。そして、垂直方向および水平方向において共に撮影範囲内にあると判定されれば、フィギュアＡの頭Ｐ５を仮想スクリーン６８内に映し出すことができる。すなわち仮想カメラ６１がフィギュアＡの頭Ｐ５を撮影可能である判定することができる。
【００４１】
また、後述する漫画作成支援プログラムでは、仮想画面６９に映し出されたキャラクタの並び順が、発話順となっているか否かについての判定を行っている。この判定も、上記同様、アフィン変換による座標変換処理の過程において行われる。具体的に、仮想画面６９上の座標（デバイス座標）に変換された、並び順の比較対象となる２つの撮影対象（例えばフィギュアＡとフィギュアＢ）の顔の配置位置の座標を比較することによって行われる。本実施の形態では、キャラクタの顔が、所定の方向に向けて発話順に並んで配置された画像が、コマ画像として用いることのできる画像を絞り込むための第１候補（後述）として使用される。本実施形態では、所定の方向とは、画像内の右側から左側へ向けての方向をいう。仮想画面６９は、画面の左下角を原点とし、右方向を、Ｘ軸方向の正方向とし、上方向を、Ｙ軸方向の正方向としている。ゆえに、デバイス座標に変換された２体のキャラクタの顔の配置位置の座標のＸ座標の値を比較した場合、値の大きい方のキャラクタの顔が、値の小さい方のキャラクタの顔よりも、仮想画面６９内の右側に配置されている。
【００４２】
キャラクタの顔が、画像内の左側から右側へ向けて発話順に並んで配置された画像を得たい場合がある。この場合には、発話順の早いキャラクタの顔のＸ座標の値が、発話順の遅いキャラクタの顔のＸ座標の値よりも小さければよい。キャラクタの顔が、画像内の上側から下側へ向けて発話順に並んで配置された画像を得たい場合がある。この場合には、発話順の早いキャラクタの顔のＹ座標の値が、発話順の遅いキャラクタの顔のＹ座標の値よりも大きければよい。キャラクタの顔が、画像内の右上側から左下側へ向けて発話順に並んで配置された画像を得たい場合がある。この場合には、発話順の早いキャラクタの顔のＸ座標の値とＹ座標の値が、ともに、発話順の遅いキャラクタの顔のＸ座標の値とＹ座標の値よりも大きければよい。なお、上記並び順の判定は、理解を容易にするため、仮想画面６９における座標（デバイス座標）を用いて説明したが、仮想スクリーン６８における座標（スクリーン座標）を用いて判定してもよい（例えば上記説明した図５の例の場合はＺ軸座標で判定すればよい。）。
【００４３】
さらに、後述する漫画作成支援プログラムでは、コマ画像に、三次元仮想空間６０内に配置されたキャラクタ（例えばフィギュアＡ）の顔が含まれるように、仮想カメラ６１（視点）にキャラクタの顔を向ける処理が行われる。本実施の形態では、各フィギュアＡ，Ｂ，Ｃの頭部７５、胸部（ここでは頭部７５を除く上半身を指すものとする。）７６、下半身７７（図６参照）を、それぞれ独立に回転することができる。頭部７５、胸部７６、下半身７７の回転可能な角度はあらかじめ設定されており、それぞれ、角度Ｍ１、Ｍ２、Ｍ３としている。また、キャラクタの顔方向と仮想カメラ６１の撮影方向６２とがなす角を、条件に応じてなす角Ｈ，Ｉ，Ｊ，Ｋとして求めている。そして、なす角Ｈ，Ｉ，Ｊ，Ｋの大きさに応じて（具体的には、なす角Ｈ，Ｉ，Ｊ，Ｋが所定の角度範囲内にあるか否かによって）、仮想カメラ６１により撮影される画像をコマ画像として用いることが可能であるか否か判断している。
【００４４】
より詳細には、キャラクタの顔方向と仮想カメラ６１の撮影方向６２とがなす角Ｈが求められ、なす角Ｈが所定の角度範囲内（後述するが、９０°以上１８０°以下の範囲）にあれば、その仮想カメラ６１によって撮影された画像がコマ画像として用いられる。なす角Ｈが所定の角度範囲内になければ、キャラクタの頭部７５が角度Ｍ１回転されて顔方向が変更され、変更後のキャラクタの顔方向と撮影方向６２とがなす角Ｉが求められる。なす角Ｉが所定の角度範囲内になければ、次はキャラクタの胸部７６が角度Ｍ２回転されて顔方向が変更され、変更後のキャラクタの顔方向と撮影方向６２とがなす角Ｊが求められる。なす角Ｊが所定の角度範囲内になければ、キャラクタの下半身７７が角度Ｍ３回転されて顔方向が変更され、変更後のキャラクタの顔方向と撮影方向６２とがなす角Ｋが求められる。そして、なす角Ｋが所定の角度範囲内になければ、その仮想カメラ６１では、コマ画像として用いることのできる画像を撮影できないと判定されるのである。
【００４５】
なお、図６に示す、顔方向ベクトル７１Ａは、フィギュアＡの顔が向く方向を回転によって変更する前（初期状態）におけるフィギュアＡの顔方向ベクトルである。顔方向ベクトル７１Ｂ、顔方向ベクトル７１Ｃ、顔方向ベクトル７１Ｄは、フィギュアＡの頭部７５、胸部７６、下半身７７をそれぞれ回転させた後の顔方向ベクトルである。同様に、顔方向ベクトル７３Ａは、フィギュアＣの初期状態における顔方向ベクトルであり、顔方向ベクトル７３Ｂは、フィギュアＣの頭部７５回転させた後の顔方向ベクトルである。
【００４６】
まず、なす角Ｈ，Ｉ，Ｊ，Ｋについて説明する。なす角Ｈ，Ｉ，Ｊ，Ｋは、キャラクタの顔方向と、仮想カメラ６１の撮影方向６２とをパラメータとするベクトル演算によって求められる。ここで、説明を容易にするため、図６に示すように、ワールド座標系６５におけるＹ軸方向に沿って三次元仮想空間６０内をみながら、なす角Ｈ（またはＩ，Ｊ，Ｋ）を求める方法について簡単に説明する。ただし、０°≦Ｈ（またはＩ，Ｊ，Ｋ）≦１８０°とする。また、図３の三次元仮想空間６０内に設けた仮想カメラ６１の１つを、便宜上、仮想カメラ６１Ａとし、その仮想カメラ６１Ａの撮影方向６２が示すベクトルを、撮影方向ベクトル６２Ａとする。同様に、仮想カメラ６１の他の１つを、仮想カメラ６１Ｂとし、その仮想カメラ６１Ｂの撮影方向６２が示すベクトルを、撮影方向ベクトル６２Ｂとする。また、フィギュアＢの顔方向が示すベクトルを、顔方向ベクトル７２とする。
【００４７】
以下では、具体例として、フィギュアＢの顔方向ベクトル７２と仮想カメラ６１Ａの撮影方向ベクトル６２Ａとがなす角Ｈ２を求める方法について説明する。顔方向ベクトル７２と、撮影方向ベクトル６２Ａとを移動させ、顔方向ベクトル７２の始点と、撮影方向ベクトル６２Ａの始点とを重ね合わせた場合を想定する。より具体的には、例えば、顔方向ベクトル７２の向く方向と、撮影方向ベクトル６２Ａの向く方向とが交差する交点に、顔方向ベクトル７２を表す矢印の始点と、撮影方向ベクトル６２Ａを表す矢印の始点とを重ねる。このときに、顔方向ベクトル７２が向く方向と、撮影方向ベクトル６２Ａが向く方向との間において形成される角度が、なす角Ｈ２に相当する。
【００４８】
ここで、ベクトルがなす角（ただし、０°≦なす角≦１８０°）は、方向ベクトルの内積を求めることによって得ることができる。具体的に、［顔方向ベクトル７２と撮影方向ベクトル６２Ａの内積］＝｛（顔方向ベクトル７２の大きさ）・（撮影方向ベクトル６２Ａの大きさ）｝・ｃｏｓＨ２で与えられる。また、顔方向ベクトル７２が（Ｂ１，Ｂ２，Ｂ３）で与えられ、撮影方向ベクトル６２Ａが（Ｑ１，Ｑ２，Ｑ３）で与えられた場合、［顔方向ベクトル７２と撮影方向ベクトル６２Ａの内積］は｛Ｂ１・Ｑ１＋Ｂ２・Ｑ２＋Ｂ３・Ｑ３｝によって求まる。ここで、方向ベクトルの大きさは、便宜上、１とされている。よって、ｃｏｓＨ２＝｛Ｂ１・Ｑ１＋Ｂ２・Ｑ２＋Ｂ３・Ｑ３｝を解くことで、顔方向ベクトル７２と撮影方向ベクトル６２Ａとがなす角Ｈ２を求めることができる。なお、フィギュアＡ，Ｃの顔方向ベクトル７１Ａ，７３Ａと、撮影方向ベクトル６２Ａとのそれぞれがなす角Ｈ１，Ｈ３についても、同様に求めることができる。また、詳細については後述するが、フィギュアＡの顔方向ベクトル７１Ｂ，７１Ｃ，７１Ｄと、撮影方向ベクトル６２Ａとのそれぞれがなす角Ｉ１，Ｊ１，Ｋ１を求める方法について、同様である。さらに、フィギュアＣの顔方向ベクトル７３Ｂと、撮影方向ベクトル６２Ａとがなす角Ｉ３を求める方法についても、同様である。
【００４９】
次に、所定の角度範囲について説明する。仮想カメラ６１が、キャラクタの顔を側方または前方から撮影する位置に配置されれば、キャラクタの顔を撮影することができる。例えば、仮想カメラ６１Ａは、フィギュアＢを正面側から撮影可能な位置に配置されており、フィギュアＢの顔方向ベクトル７２と、仮想カメラ６１Ａの撮影方向ベクトル６２Ａとがなす角Ｈ２は９０°より大きく、鈍角を示す。フィギュアＢの前方から撮影する仮想カメラ６１Ａは、フィギュアＢの顔と向き合うので、フィギュアＢの顔を撮影することができる。また、図示しないが、キャラクタの顔方向と撮影方向とがなす角が９０°（直角）となる場合、仮想カメラ６１は、キャラクタを顔の側方から撮影する配置となるので、キャラクタの顔を撮影することができる。一方、仮想カメラ６１Ｂは、フィギュアＡを背面側から撮影可能な位置に配置されており、フィギュアＡの顔方向ベクトル７１Ａと、仮想カメラ６１Ｂの撮影方向ベクトル６２Ｂとがなす角Ｈ４は、９０°より小さく、鋭角を示す。フィギュアＡの後方から撮影する仮想カメラ６１Ｂでは、フィギュアＡの後頭部は撮影できても顔を撮影することはできない。よって、後述する漫画作成支援プログラムでは、キャラクタの顔方向と仮想カメラ６１の撮影方向６２とがなす角Ｈ，Ｉ，Ｊ，Ｋが、９０°以上１８０°以下の範囲にある場合（すなわち直角または鈍角を示す場合）を、所定の角度範囲内にある場合としている。よって、なす角Ｈ，Ｉ，Ｊ，Ｋが、０°以上９０°未満の範囲、すなわち鋭角であれば、所定の角度範囲外であるとする。そして、上記条件を満たす仮想カメラ６１を、キャラクタの顔を撮影可能な仮想カメラ６１の候補（第２候補）としている。
【００５０】
次に、角度Ｍについて説明する。上記したように、本実施の形態では、図６に示す、各フィギュアＡ，Ｂ，Ｃの頭部７５、胸部７６、下半身７７を、それぞれ独立に回転することができる。説明を容易にするため、後述する漫画作成支援プログラムでは、頭部７５、胸部７６、下半身７７それぞれの回転が可能か不可能かをユーザが選択するものとする。回転が可能に設定された場合、頭部７５は角度Ｍ１（例えば３０°）の回転が可能であり、胸部７６は角度Ｍ２（例えば１５°）の回転が可能であり、下半身７７は角度Ｍ３（例えば２５°）の回転が可能である。キャラクタの初期状態における顔方向と撮影方向とがなす角Ｈが９０°未満（鋭角）の場合、頭部７５の回転が可能に設定されていれば、なす角Ｈが大きくなる方向に頭部７５が回転される。このときの回転角度は角度Ｍ１である。頭部７５の回転後のキャラクタの顔方向と撮影方向とがなす角Ｉが鋭角のままである場合、胸部７６の回転が可能に設定されていれば、なす角Ｉが大きくなる方向に胸部７６が回転される。このときの回転角度は角度Ｍ２である。また、このとき、頭部７５は、胸部７６に対して角度Ｍ１分だけ回転された状態が維持される。胸部７６の回転後のキャラクタの顔方向と撮影方向とがなす角Ｊが鋭角のままである場合、下半身７７の回転が可能に設定されていれば、なす角Ｊが大きくなる方向に下半身７７が回転される。このときの回転角度は角度Ｍ３である。また、このとき、頭部７５は胸部７６に対し角度Ｍ１分だけ回転された状態が維持される。さらに胸部７６は下半身７７に対し角度Ｍ２分だけ回転された状態が維持される。すなわち、キャラクタの顔方向は、最大で、角度（Ｍ１＋Ｍ２＋Ｍ３）分の変更をすることができる。
【００５１】
次に、図２の操作画面２０を適宜参照しながら、図７、図８を参照し、ＰＣ１にインストールされた漫画作成支援プログラムの動作について説明する。以下、フローチャートの各ステップを「Ｓ」と略記する。
【００５２】
本実施の形態のＰＣ１は、漫画作成支援プログラムが実行されることにより、漫画作成支援装置として機能するものである。漫画作成支援装置は、三次元仮想空間内に配置したオブジェクトを、三次元仮想空間内の視点から映しだした画像をコマの画像とする漫画の作成を支援する装置である。モニタ１３に上記した操作画面２０が表示され、その操作画面２０において各種設定が行われることで、コマ画像表示領域２２に表示される画像が変化し、ユーザの求めるコマ画像が作成される。
【００５３】
図７に示すフローチャートは、操作画面２０におけるユーザの操作に応じ、コマ画像表示領域２２に表示するコマ画像の生成を行う、コマ画像生成処理のフローチャートである。コマ画像生成処理は、漫画作成支援プログラムのモジュールの一つとして組み込まれ、ＰＣ１にインストールされて、ＨＤＤ７に記憶されている。ユーザが漫画作成支援プログラムの実行ファイルを起動させると、ＣＰＵ２が、漫画作成支援プログラムのメインプログラム（図示外）に従い、コマ画像生成処理を含む各モジュールを呼び出して実行する。また、ＲＡＭ５やＨＤＤ７には、漫画作成支援プログラムの各処理に応じた記憶エリアが確保される。なお、以下の処理はＣＰＵ２により実行される。
【００５４】
漫画作成支援プログラムのメインプログラムでは、初期設定において、プログラム内で使用される変数やフラグ、カウンタ等の初期化が行われる。また、三次元仮想空間６０内にオブジェクトとして配置する背景やキャラクタ等に関する各設定や、オブジェクトを構成するポリゴン、テクスチャ等のグラフィックスデータ（以下、総称して「ＣＧデータ」ともいう。）として、ＨＤＤ７からデフォルトの設定が読み込まれ、ＲＡＭ５に書き込まれる。
【００５５】
メインプログラムから、図７のコマ画像生成処理のモジュールが呼び出されると、まず、配置設定処理が行われ、三次元仮想空間６０内のオブジェクトの一つとして設ける背景のデータが設定される（Ｓ１）。本実施の形態では、背景として部屋６３の壁面（図３参照）が設定されるものとする。なお、背景として、屋外や、屋内であっても部屋６３とは異なる様々な部屋など、任意の舞台を選択できるように、操作画面２０にリストボックス等を設けてもよい。
【００５６】
また、配置設定処理では、ワールド座標系６５において、背景やキャラクタなどのオブジェクトのローカル座標系６４における基準（原点）を三次元仮想空間６０内で配置する位置が設定される。また、視点、光源（図示外）等の配置位置の座標（ワールド座標データ）も設定される。各視点には、それぞれ仮想カメラ６１（図３参照）が配置され、仮想カメラ６１ごとに、視線方向（撮影方向６２（図３参照））や画角（垂直画角Ｒ１、水平画角Ｒ２（図４参照））が設定される。なお、本実施の形態では、視点ごとの仮想カメラ６１の視線方向および画角は、あらかじめ定められているものとする。メインプログラム（図示外）の初期設定において、ＨＤＤ７にインストールされた視線方向や画角のデータが初期値として読み出され、ＲＡＭ５に書き込まれる。上記同様、各視点の位置や各仮想カメラ６１の視線方向、画角についても、操作画面２０から、ユーザが任意に設定できるようにしてもよい。
【００５７】
さらに、配置設定処理では、三次元仮想空間６０内にキャラクタを配置する処理が行われる。図３に示すように、本実施の形態では、三次元仮想空間６０内に３体のキャラクタ（フィギュアＡ、フィギュアＢおよびフィギュアＣ）が配置されている。初期設定では、三次元仮想空間６０内にキャラクタは配置されておらず、前述した新規キャラクタ作成ボタン３５の操作によって、１体目のキャラクタ（フィギュアＡ）が配置される。さらに新規キャラクタ作成ボタン３５が操作されることによって、２体目、３体目のキャラクタ（フィギュアＢ、フィギュアＣ）が追加される。もちろん、三次元仮想空間６０内に任意の数のキャラクタを配置できるようにしてもよい。
【００５８】
キャラクタの配置は、具体的には以下のように行われる。まず、キャラクタ選択リスト３６で設定されたキャラクタ（ここではデフォルトのフィギュアＡ）のＣＧデータがＨＤＤ７から読み込まれ、ＲＡＭ５に書き込まれる。より詳細には、キャラクタ選択リスト３６で設定されたキャラクタ（フィギュアＡ）の各身体部位のローカル座標データ、各身体部位に対応した細部のローカル座標データ、細部に対応したテクスチャデータなどが読み込まれる。
【００５９】
次に、キャラクタの立ち位置、すなわち、三次元仮想空間６０内においてキャラクタ（フィギュアＡ）を配置する位置が選択される。キャラクタの配置位置は、上記のように、ワールド座標データが設定されている。本実施の形態では、キャラクタを配置可能な位置があらかじめ決められており、各キャラクタの設定順（たとえば操作画面２０のキャラクタ設定領域３１において上からの順）に、各配置位置へ割り当てられるものとする。キャラクタの配置位置のワールド座標データが、上記したキャラクタのＣＧデータと対応づけられ、ＲＡＭ５に書き込まれる。もちろん、三次元仮想空間６０内の任意の位置に任意のキャラクタを配置できるように、操作画面２０からユーザが設定できるようにしてもよい。
【００６０】
さらに、キャラクタ（フィギュアＡ）の顔が向く向き（顔方向）が、ワールド座標系６５のデータとして設定される。本実施の形態では、すべての配置位置について、配置されるキャラクタの顔方向は、あらかじめ定められているものとする。なお、顔方向も、撮影方向６２と同様に、方向ベクトルを示すデータとして設定される。もちろん、三次元仮想空間６０内の任意の向きにキャラクタの顔を向けられるように、操作画面２０からキャラクタごとの顔方向をユーザが設定できるようにしてもよい。新規キャラクタ作成ボタン３５の操作によって追加される２体目、３体目のキャラクタ（フィギュアＢ、フィギュアＣ）の配置についても同様である。
【００６１】
そして、各データが揃ったキャラクタ（フィギュアＡ）が、三次元仮想空間６０内に配置される。具体的には、上記したアフィン変換に基づき、キャラクタの基準の座標（ここでは頭の座標）がローカル座標系６４の座標からワールド座標系６５の座標に変換される。次いで顔方向や各身体部位の座標がワールド座標系６５において設定される。さらに、各身体部位に応じた細部の座標がローカル座標系６４からワールド座標系６５の座標に変換され、また、テクスチャデータの大きさや貼り付ける座標がワールド座標系６５で設定される。これにより、図３に示すように、三次元仮想空間６０内に、キャラクタ（フィギュアＡ）が、仮想的に配置された状態となる。新規キャラクタ作成ボタン３５の操作によって追加される２体目、３体目のキャラクタ（フィギュアＢ、フィギュアＣ）の配置についても同様である。
【００６２】
次にキャラクタ設定処理が行われる（Ｓ２）。ここでは、三次元仮想空間６０に配置されたキャラクタのセリフや発話順の設定が行われる。配置されたすべてのキャラクタについて、セリフおよび発話順と、キャラクタのＣＧデータとが対応づけられ、ＲＡＭ５に書き込まれる。セリフは、図２に示す、操作画面２０のセリフ入力ボックス３２に入力されたものである。発話順は、発話順設定リスト３３で設定された、キャラクタのセリフの発話順を示す順位である。デフォルトの状態ではセリフはなく、よって発話順も設定されない。上記したように、三次元仮想空間６０はＲＡＭ５に確保された記憶エリアにおいて座標データ等により定義される不可視の空間であり、この処理において直接的な画像生成がなされるわけではない。
【００６３】
次のキャラクタ回転設定処理では、三次元仮想空間６０に配置されたキャラクタの頭部７５、胸部７６、下半身７７のそれぞれについて、回転可能とするか回転不可とするかについて、設定がなされる（Ｓ３）。上記したように、本実施の形態では、キャラクタの頭部７５、胸部７６、下半身７７のそれぞれについて、回転可能な場合には、それぞれ、角度Ｍ１分、角度Ｍ２分、角度Ｍ３分の回転を行うことができる。回転不可能であれば、回転することができない。角度Ｍ１、角度Ｍ２、角度Ｍ３の値はそれぞれあらかじめ設定されているが、ユーザが任意に値を入力できるようにしてもよい。あるいはユーザが大・中・小などのメニューを選び、選択されたメニューに応じた角度の回転が可能となるよう設定してもよい。Ｓ３では、頭部７５、胸部７６、下半身７７のそれぞれの回転について、可・不可の設定状態がＲＡＭ５に読み込まれる。
【００６４】
次に発話順判定処理のサブルーチンがコールされる（Ｓ４）。図８に示す、発話順判定処理では、セリフが入力されているキャラクタの個体数（人数）が計数される。また、キャラクタの発話順が取得され（読み込まれ）、ＲＡＭ５の作業用の記憶エリアに書き込まれる（Ｓ５１）。発話人数が１体（１人）以下の場合（Ｓ５２：ＮＯ）、キャラクタの並び順について考慮する必要がない。三次元仮想空間６０の２４カ所に配置されたすべての仮想カメラ６１が第１候補カメラ（後述する回転の処理が行われる際に処理の対象となるカメラ）として設定され、ＲＡＭ５の所定の記憶エリアに記録される（Ｓ６９）。図７のコマ画像生成処理に戻り、Ｓ６に進む。
【００６５】
一方、図８のＳ５２において、発話人数が１より大きければ（Ｓ５２：ＹＥＳ）、キャラクタの情報として、配置されたすべてのキャラクタ（すなわちフィギュアＡ、Ｂ、Ｃ）の顔の位置の座標が取得され、ＲＡＭ５の作業用の記憶エリアに書き込まれる（Ｓ５３）。未選択の仮想カメラ６１（視点）の１つが選択され（Ｓ５４）、選択された仮想カメラ６１の情報が取得される（Ｓ５６）。仮想カメラ６１の情報とは、すなわち、配置位置の座標（ワールド座標データ）、視線方向（撮影方向６２）、画角（垂直画角Ｒ１、水平画角Ｒ２）の情報である。
【００６６】
取得された各情報に基づき、上記したアフィン変換が行われる（Ｓ５７）。Ｓ５３で取得されたすべてのキャラクタの顔の位置の座標に対し、アフィン変換によるワールド座標からビュー座標への座標変換が行われる。そして、すべてのキャラクタの顔の位置の座標が、選択された仮想カメラ６１の撮影範囲内（仮想スクリーン６８内）に含まれるか否か、前述のように判定される（Ｓ５８）。Ｓ５８では、複数のキャラクタの顔の位置の座標について、１体ずつ順に、撮影範囲内に含まれるか否か判定され、顔の位置の座標が撮影範囲内に含まれないキャラクタが１体でもあれば（Ｓ５８：ＮＯ）、Ｓ５９に進む。Ｓ５９では、仮想カメラ６１の配置位置について再計算が行われ、撮影方向６２に沿って撮影向きに対しマイナス方向（キャラクタから遠ざかる方向）に、所定距離（所定値）、仮想カメラ６１の配置位置が移動される（Ｓ５９）。仮想カメラ６１の画角は変更されないので、移動後の仮想カメラ６１による撮影画像はズームアウトした状態となる。もちろん、仮想カメラ６１の配置位置を固定したまま画角を所定値分、大きくすることで、同様にズームアウトした状態の撮影画像を得てもよい。Ｓ５７に戻り、再度、アフィン変換が行われ（Ｓ５７）、すべてのキャラクタの顔の位置の座標が、仮想カメラ６１の撮影範囲内に含まれるか否か判定される（Ｓ５８）。
【００６７】
すべてのキャラクタの顔の位置の座標が撮影範囲内に含まれると判定されたら（Ｓ５８：ＹＥＳ）、変数として定義されるｎに０が代入され（Ｓ６１）、さらに変数ｎがインクリメントされて（Ｓ６２）、Ｓ６３に進む。そして、発話順がｎ番目（例えば１番目）のキャラクタの顔のＸ座標（デバイス座標）の値と、発話順がｎ＋１番目（例えば２番目）キャラクタの顔のＸ座標（デバイス座標）の値とが比較される（Ｓ６３）。発話順がｎ番目のキャラクタの顔のＸ座標の値が、ｎ＋１番目のキャラクタの顔のＸ座標の値以下である場合（Ｓ６３：ＮＯ）、キャラクタの顔が撮影画像内で右側から左側へ向けて発話順に並んでいないので、Ｓ６７に進む。発話順がｎ番目のキャラクタの顔のＸ座標の値が、ｎ＋１番目のキャラクタの顔のＸ座標の値より大きい場合（Ｓ６３：ＹＥＳ）、発話順がｎ番目とｎ＋１番目のキャラクタの顔については、撮影画像内で右側から左側へ向けて発話順に並んでいる。ｎ＋１が発話人数未満であれば（Ｓ６４：ＮＯ）、発話順がｎ＋２番目以降のキャラクタがいるので、Ｓ６２に戻り、変数ｎがインクリメントされて、同様の判定が行われる。よって、発話順が最後のキャラクタの顔の並び順について判定が行われるまでの間に、発話順と顔の並び順が一致しないキャラクタがあれば（Ｓ６３：ＮＯ）、Ｓ６７に進む。そして、ｎ＋１が発話人数以上となれば（Ｓ６４：ＹＥＳ）、セリフのあるすべてのキャラクタの顔の並び順が発話順と一致する。よって、選択されている仮想カメラ６１を第１候補（第１候補カメラ）とし、配置位置の座標（Ｓ５９で移動された場合には移動後の座標）、視線方向、画角の各情報がＲＡＭ５の所定の記憶エリアに記録される（Ｓ６６）。そしてＳ６７に進む。
【００６８】
Ｓ５４〜Ｓ６６の処理は、三次元仮想空間６０内に配置されたすべての仮想カメラ６１に対して行われる。よって、未選択の仮想カメラ６１があれば、Ｓ５４に戻る（Ｓ６７：ＮＯ）。すべての仮想カメラ６１が選択され、それぞれに対しＳ５４〜Ｓ６６の処理が行われると（Ｓ６７：ＹＥＳ）、Ｓ６８に進む。
【００６９】
Ｓ６８において、Ｓ５４〜Ｓ６６の処理によって選択された第１候補カメラが１以上あれば（Ｓ６８：ＹＥＳ）、図７のコマ画像生成処理に戻り、Ｓ６に進む。一方、選択された第１候補カメラが１つもなければ（Ｓ６８：ＮＯ）、図７のコマ画像生成処理に戻り、Ｓ６に進む。キャラクタの顔が発話順に並ぶ画像を撮影できる仮想カメラ６１がないので、すべての仮想カメラ６１が第１候補カメラとして設定され（Ｓ６９）、図７のコマ画像生成処理に戻り、Ｓ６に進む。
【００７０】
図７のＳ６では、発話順判定処理において設定された第１候補カメラを対象に、未選択の仮想カメラ６１（視点）の１つが選択される（Ｓ６）。選択された仮想カメラ６１の情報（Ｓ６６で記録された配置位置の座標、視線方向、画角の各情報）が取得される（Ｓ７）。次にＳ２のキャラクタ設定処理でセリフが設定されたキャラクタのうち、未選択のキャラクタの１体（例えばフィギュアＡ）が選択される（Ｓ８）。選択されたキャラクタの顔の位置の座標（ワールド座標データ）と、顔方向（顔方向ベクトル）と、胸部７６の向く胸部方向と、下半身７７の向く下半身方向とが取得される（Ｓ９）。そして、Ｓ９で取得されたキャラクタの顔方向（フィギュアＡの場合、図６に示す顔方向ベクトル７１Ａ）と、Ｓ７で取得された、第１候補から選択された仮想カメラ６１の撮影方向６２（例えば図６に示す仮想カメラ６１Ａの撮影方向ベクトル６２Ａ）とをパラメータとするベクトル演算が行われる。これにより、キャラクタの顔方向と撮影方向６２とがなす角Ｈ（顔方向ベクトル７１Ａと撮影方向ベクトル６２Ａの場合、なす角Ｈ１）が、前述したように、算出される（Ｓ１１）。
【００７１】
そしてなす角Ｈが、所定の角度範囲内か否か、判定される（Ｓ１２）。なす角Ｈが直角または鈍角を示し、所定の角度範囲（９０°以上１８０°以下）内に含まれれば（Ｓ１２：ＹＥＳ）、Ｓ４１に進む。図６のなす角Ｈ１のように、なす角Ｈが鋭角を示し、所定の角度範囲内に含まれなければ（Ｓ１２：ＮＯ）、キャラクタの頭部７５が回転可能であるか否かについて（Ｓ３参照）確認される（Ｓ２１）。
【００７２】
頭部７５が回転不可に設定されていれば、Ｓ２６に進む（Ｓ２１：ＮＯ）。頭部７５が回転可能に設定されていれば（Ｓ２１：ＹＥＳ）、頭部７５を、なす角Ｈが大きくなる方向へ、あらかじめ定められた角度Ｍ１（例えば３０°）分の回転が行われる、頭部回転処理が行われる（Ｓ２２）。そして頭部７５の回転後のキャラクタの顔方向（フィギュアＡの顔方向ベクトル７１Ｂ）が取得され、選択中の仮想カメラ６１の撮影方向６２（撮影方向ベクトル６２Ａ）とがなす角Ｉ（図６に示す、なす角Ｉ１）が算出される（Ｓ２３）。なす角Ｉが直角または鈍角を示し、所定の角度範囲内に含まれれば（Ｓ２４：ＹＥＳ）、Ｓ４１に進む。図６のなす角Ｉ１のように、なす角Ｉが鋭角を示し、所定の角度範囲内に含まれなければ（Ｓ２４：ＮＯ）、次はキャラクタの胸部７６が回転可能であるか否かについて（Ｓ３参照）確認される（Ｓ２６）。
【００７３】
胸部７６が回転不可に設定されていれば、Ｓ３１に進む（Ｓ２６：ＮＯ）。胸部７６が回転可能に設定されていれば（Ｓ２６：ＹＥＳ）、Ｓ９で取得された胸部７６の向く胸部方向を、なす角Ｉが大きくなる方向へ、あらかじめ定められた角度Ｍ２（例えば１５°）分の回転が行われる胸部回転処理が行われる（Ｓ２７）。このとき、Ｓ２２で回転された、キャラクタの頭部７５は、胸部７６と共に回転される。すなわち、胸部７６に対する頭部７５の向きが固定されたまま、胸部７６が回転される。そして胸部７６の回転後のキャラクタの顔方向（フィギュアＡの顔方向ベクトル７１Ｃ）が取得され、選択中の仮想カメラ６１の撮影方向６２（撮影方向ベクトル６２Ａ）とがなす角Ｊ（図６に示す、なす角Ｊ１）が算出される（Ｓ２８）。なす角Ｊが直角または鈍角を示し、所定の角度範囲（９０°以上１８０°以下）内に含まれれば（Ｓ２９：ＹＥＳ）、Ｓ４１に進む。図６のなす角Ｊ１のように、なす角Ｊが鋭角を示し、所定の角度範囲内に含まれなければ（Ｓ２９：ＮＯ）、次はキャラクタの軸、すなわち下半身７７が回転可能であるか否かについて（Ｓ３参照）確認される（Ｓ３１）。
【００７４】
下半身７７が回転不可に設定されていれば、選択中の仮想カメラ６１はキャラクタの顔を撮影可能なカメラの第２候補に相当しないとして、Ｓ４３に進む（Ｓ３１：ＮＯ）。下半身７７が回転可能に設定されていれば（Ｓ３１：ＹＥＳ）、Ｓ９で取得された下半身７７の向く下半身方向を、なす角Ｊが大きくなる方向へ、あらかじめ定められた角度Ｍ３（例えば２５°）分の回転が行われる軸回転処理が行われる（Ｓ３２）。このとき、Ｓ２２で回転された頭部７５と、Ｓ２７で回転された胸部７６は、下半身７７に対する向きが固定されたまま、下半身７７と共に回転される。そして下半身７７の回転後のキャラクタの顔方向（フィギュアＡの顔方向ベクトル７１Ｄ）が取得され、選択中の仮想カメラ６１の撮影方向６２（撮影方向ベクトル６２Ａ）とがなす角Ｋ（図６に示す、なす角Ｋ１）が算出される（Ｓ３３）。図６のなす角Ｋ１のように、なす角Ｋが直角または鈍角を示し、所定の角度範囲内に含まれれば（Ｓ３４：ＹＥＳ）、Ｓ４１に進む。なす角Ｋが鋭角を示し、所定の角度範囲内に含まれなければ（Ｓ３４：ＮＯ）、選択中の仮想カメラ６１を第２候補とはせず、Ｓ４３に進む（Ｓ３４：ＮＯ）。
【００７５】
Ｓ８〜Ｓ１２の処理は、セリフが設定されたキャラクタすべてに対して行われる。よって、セリフが設定されていて未選択のキャラクタ（例えばフィギュアＢ，Ｃ）があれば、Ｓ８に戻る（Ｓ４１：ＮＯ）。例えば図６に示すように、フィギュアＢの場合、顔方向ベクトル７２と撮影方向ベクトル６２Ａとのなす角Ｈ２が鈍角であり、所定の角度範囲（９０°以上１８０°以下）内にある（Ｓ１２：ＹＥＳ）。よって、フィギュアＢの頭部７５、胸部７６、下半身７７は回転されず、Ｓ４１に進む。また、例えばフィギュアＣの場合、顔方向ベクトル７３Ａと撮影方向ベクトル６２Ａとのなす角Ｈ３が鋭角であり、所定の角度範囲内にない（Ｓ１２：ＮＯ）。よって、頭部７５が角度Ｍ１回転される（Ｓ２１：ＹＥＳ、Ｓ２２）。そして、頭部７５の回転後のフィギュアＢの顔方向ベクトル７３Ｂと撮影方向ベクトル６２Ａとのなす角Ｉ３が鈍角となって、所定の角度範囲内となるので（Ｓ２４：ＹＥＳ）、フィギュアＣの胸部７６や下半身７７は回転されず、Ｓ４１に進む。
【００７６】
すべてのセリフが設定されたキャラクタに対し、Ｓ８〜Ｓ１２の処理を行うことができれば（Ｓ４１：ＹＥＳ）、第１候補カメラの中から現在選択されている仮想カメラ６１であれば、セリフが設定されたすべてのキャラクタを撮影することができる。よって、選択中の仮想カメラ６１を第２候補（第２候補カメラ）とし、配置位置の座標、視線方向、画角の各情報がＲＡＭ５の所定の記憶エリアに記録される（Ｓ４２）。このとき、キャラクタの頭部７５、胸部７６、下半身７７それぞれの回転の有無についても記録される。そしてＳ４３に進む。
【００７７】
さらに、Ｓ６〜Ｓ４２の処理は、すべての第１候補の仮想カメラ６１に対して行われる。よって、未選択の第１候補の仮想カメラ６１があれば、Ｓ６に戻る（Ｓ４３：ＮＯ）。すべての第１候補の仮想カメラ６１が選択され、それぞれに対しＳ６〜Ｓ４２の処理が行われると（Ｓ４３：ＹＥＳ）、Ｓ４４に進む。ＲＡＭ５に第２候補カメラとして記憶されたすべての仮想カメラ６１で、上記したアフィン変換に基づく一連の座標変換処理によって、三次元仮想空間６０内が撮影され、二次元の画像が生成される。撮影の際には、Ｓ４２で記録された回転の有無に基づき、キャラクタの頭部７５、胸部７６、下半身７７が回転（または非回転）される。生成されたすべての画像が、コマ画像の候補として、図示しない提示画面に並べて表示される（Ｓ４４）。提示画面に表示された複数の画像から１つの画像がユーザによって選択されるのを待つ（Ｓ４６：ＮＯ）。１つの画像が選択されたら（Ｓ４６：ＹＥＳ）、選択された画像がコマ画像として決定され、コマ画像表示領域２２に表示される（Ｓ４７）。このように、コマ画像の候補として複数の画像が提示画面で提示され、ユーザにより選択された１つの画像が、コマ画像として用いられることとなる。コマ画像表示領域２２へのコマ画像の表示が完了すると、コマ画像生成処理は終了され、図示外のメインプログラムに戻る。
【００７８】
以上のように、漫画作成支援装置として機能する本実施の形態のＰＣ１では、コマ画像を生成するにあたり、全キャラクタの顔の座標が撮影範囲内に含まれ、セリフの設定されたキャラクタの顔の座標が発話順に並ぶ画像を撮影可能な仮想カメラ６１を第１候補とする。そして第１候補の仮想カメラ６１の中から、撮影方向とキャラクタの顔方向とがなす角が所定の角度範囲内にあり、セリフの設定されたすべてのキャラクタの顔を撮影可能な仮想カメラ６１を、第２候補とする。その際、撮影方向とキャラクタの顔方向とがなす角が所定の角度範囲内になく、キャラクタの顔を撮影できない場合には、キャラクタの頭部７５、胸部７６あるいは下半身７７を回転させることができる。第２候補の仮想カメラ６１により撮影された画像が、コマ画像の候補として提示される。このように、キャラクタが発話順に並び、セリフのあるキャラクタの顔が前方より撮影された画像を、確実に、コマ画像の候補として得ることができる。
【００７９】
なお、上記の実施形態に示される漫画作成支援装置の構成は例示であり、本発明は各種の変形が可能なことはいうまでもない。例えば、本実施の形態では、仮想カメラ６１の配置位置あるいは画角はあらかじめ定められた値に設定されるが、任意に変更できるようにしてもよい。また、第２候補カメラによる撮影画像は、図示しない提示画面に並べて表示され、ユーザによるコマ画像の選択が行われたが、第２候補カメラが１つの場合は、提示画面への表示が行われず、直接、コマ画像表示領域２２に表示されるようにしてもよい。
【００８０】
また、Ｓ４の発話順判定処理を行い、キャラクタの顔の座標が発話順に並ぶ画像を撮影可能な仮想カメラ６１を第１候補としたが、Ｓ４を省き、すべての仮想カメラ６１を第１候補としてもよい。また、セリフのあるキャラクタを対象に、仮想カメラ６１側を向くように頭部７５、胸部７６、下半身７７の回転処理を行ったが、セリフの有無にかかわらず、すべてのキャラクタが仮想カメラ６１側を向くようにしてもよい。
【００８１】
また、頭部７５、胸部７６、下半身７７の回転処理では、なす角Ｈ１が所定の角度範囲内にない場合に頭部７５を角度Ｍ１分回転させ、回転後のなす角Ｉ１が所定の角度範囲内になければ、胸部７６に対する頭部７５の回転を維持したまま、さらに胸部７６を角度Ｍ２回転させた。例えば、頭部７５の回転後のなす角Ｉ１が所定の角度範囲内になければ、胸部７６に対する頭部７５の回転を元に戻し、頭部７５と胸部７６とを共に角度（Ｍ１＋Ｍ２）回転させてもよい。下半身７７についても同様である。
【００８２】
また、頭部７５、胸部７６、下半身７７の回転角度Ｍ１、Ｍ２、Ｍ３は、本実施の形態では、あらかじめ設定された角度としたが、ユーザが任意の角度を設定できるようにしてもよい。あるいは、頭部回転処理（Ｓ２２）、胸部回転処理（Ｓ２７）、軸回転処理（Ｓ３２）の際に、ユーザが回転の角度Ｍ１、Ｍ２、Ｍ３を指示（入力）できるようにしてもよい。
【００８３】
頭部７５、胸部７６、下半身７７の回転角度比率をあらかじめ定めておく（例えば５：２：３）。初期状態における顔方向と撮影方向とのなす角Ｈが鋭角（例えば３０°）であれば、鈍角（例えば１００°）にするのに必要な角度を求める（この場合７０°）。そして、上記の回転角度比率に応じて頭部７５、胸部７６、下半身７７をそれぞれ回転させてもよい（例えば３５°、１４°、２１°）。
【００８４】
また、Ｓ１２、Ｓ２４、Ｓ２９、Ｓ３４では、所定の角度範囲を９０°以上１８０°以下の範囲とし、なす角Ｈ、Ｉ、Ｊ、Ｋがそれぞれ直角または鈍角である場合に所定の角度範囲内にあると判断した。所定の角度範囲は、必ずしも９０°以上１８０°以下の範囲でなくともよい。例えば、任意の角度（例えば１２０°）を設定し、その角度を基準に所定の角度範囲（例えば１２０°〜１８０°）を設定してもよい。
【００８５】
なお、本実施の形態においては、ＰＣ１が「漫画作成支援装置」に相当する。Ｓ１の配置設定処理を実行するＣＰＵ２が、「配置手段」に相当する。Ｓ９で、キャラクタの顔の座標（顔位置情報に相当する。）、顔方向（顔方向情報に相当する。）、胸部７６の向く胸部方向（上半身方向情報に相当する。）、下半身７７の向く下半身方向（身体方向情報に相当する。）を取得するＣＰＵ２が、「第１取得手段」に相当する。Ｓ７で、仮想カメラ６１の配置位置の座標（視点位置情報に相当する。）、撮影方向６２（視線方向情報に相当する。）を取得するＣＰＵ２が、「第２取得手段」に相当する。Ｓ１２で、オブジェクト（キャラクタ）の顔方向と仮想カメラ６１の撮影方向６２とがなす角Ｈが所定の角度範囲内に含まれるか否かを判定するＣＰＵ２が、「第１判定手段」に相当する。Ｓ３２で、下半身７７を回転させることによって、オブジェクト（キャラクタ）の顔方向と仮想カメラ６１の撮影方向６２とがなす角Ｋを所定の角度範囲内とするＣＰＵ２が、「第１変更手段」に相当する。Ｓ４４で、候補の仮想カメラ６１により撮影された画像を提示画面（図示外）に提示するため、表示制御部９から出力される映像信号（提示信号に相当する。）を発生させるＣＰＵ２が、「信号発生手段」に相当する。漫画作成支援プログラムのメインプログラム（図示外）に従い、操作画面２０のセリフ入力ボックス３２，４２，５２に入力されたセリフと、発話順設定リスト３３，４３，５３で設定された発話順とをＳ２において取得するＣＰＵ２が、「第１設定手段」に相当する。Ｓ６３で、キャラクタの配置位置の座標が発話順に予め決められた方向に沿って（例えば画面の右側から左側へ向けて）配置されているか否かを判定するＣＰＵ２が、「第２判定手段」に相当する。Ｓ２２で、頭部７５を回転させることによって、オブジェクト（キャラクタ）の顔方向と仮想カメラ６１の撮影方向６２とがなす角Ｉを所定の角度範囲内とするＣＰＵ２が、「第２変更手段」に相当する。Ｓ３で、オブジェクト（キャラクタ）の頭部７５について、あらかじめ設定された角度Ｍ１の回転を可能または不可能に設定するＣＰＵ２が、「第２設定手段」に相当する。Ｓ２４で、オブジェクト（キャラクタ）の顔方向と仮想カメラ６１の撮影方向６２とがなす角Ｉが所定の角度範囲内に含まれるか否かを判定するＣＰＵ２が、「第３判定手段」に相当する。Ｓ２７で、胸部７６を回転させることによって、オブジェクト（キャラクタ）の顔方向と仮想カメラ６１の撮影方向６２とがなす角Ｊを所定の角度範囲内とするＣＰＵ２が、「第３変更手段」に相当する。
【符号の説明】
【００８６】
１    ＰＣ
２    ＣＰＵ
５    ＲＡＭ
２０    操作画面
２２    コマ画像表示領域
３２    セリフ入力ボックス
３３，４３，５３  発話順設定リスト
６０    三次元仮想空間
６１    仮想カメラ
６２    撮影方向
【図１】
2012014392.tif 000003
【図２】
2012014392.tif 000004
【図３】
2012014392.tif 000005
【図４】
2012014392.tif 000006
【図５】
2012014392.tif 000007
【図６】
2012014392.tif 000008
【図７】
2012014392.tif 000009
【図８】
2012014392.tif 000010