(57)【要約】【課題】情報処理装置の演算処理負担を軽減しつつ、変形オブジェクトの挙動を自然に表現する。【解決手段】情報処理装置３を、変形可能な乳房２７Ｌ，２７Ｒに複数の制御点３７ｍ，３７ｓを設定すると共に、少なくとも一部の制御点３７ｍが複数層の点要素３７ｍ１，３７ｍ２を有するように設定する制御点設定処理部１５、乳房２７Ｌ，２７Ｒに作用する力に基づいて、複数の制御点３７ｍ，３７ｓの少なくとも一部を移動させると共に、複数層の点要素３７ｍ１，３７ｍ２を有する制御点３７ｍを移動させる場合には各層の点要素３７ｍ１，３７ｍ２をそれぞれ異なる挙動で移動させる、制御点移動処理部１７、制御点３７ｍ，３７ｓ及び点要素３７ｍ１，３７ｍ２，３７ｓ１の位置に基づいて乳房２７Ｌ，２７Ｒの形状を表す画像を生成する画像生成処理部２１、として機能させる。【選択図】図２
2020144519.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置を、
変形可能なオブジェクトに複数の制御点を設定すると共に、少なくとも一部の前記制御点が複数層の点要素を有するように設定する制御点設定処理部、
前記オブジェクトに作用する力に基づいて、前記複数の制御点の少なくとも一部を移動させると共に、前記複数層の点要素を有する前記制御点を移動させる場合には各層の前記点要素をそれぞれ異なる挙動で移動させる、制御点移動処理部、
前記制御点及び前記点要素の位置に基づいて前記オブジェクトの形状を表す画像を生成する画像生成処理部、
として機能させる、画像生成プログラム。
【請求項２】
前記情報処理装置を、
前記オブジェクトの形状を構成する形状要素がどの前記制御点のどの層の前記点要素に対応付けられているかを規定する対応情報を取得する対応情報取得処理部、
としてさらに機能させ、
前記画像生成処理部は、
前記対応情報に基づいて、前記形状要素を対応付けられた前記点要素に追従するように移動させて、前記オブジェクトの形状を表す画像を生成する、
請求項１に記載の画像生成プログラム。
【請求項３】
前記制御点移動処理部は、
前記複数層の点要素を有する前記制御点を移動させる場合には、前記オブジェクトに作用する力に基づいて、全ての層の前記点要素を移動させる第１移動処理を実行すると共に、第ｎ＋１層（ｎは自然数）の点要素を第ｎ層の点要素に対して相対移動させる第２移動処理を実行する、
請求項２に記載の画像生成プログラム。
【請求項４】
前記オブジェクトは、
硬さの異なる複数の部位を備えており、
前記対応情報は、
前記第ｎ＋１層の点要素を、前記第ｎ層の点要素に対応する部位よりも柔らかい部位の前記形状要素に対応付けるように規定する、
請求項３に記載の画像生成プログラム。
【請求項５】
ゲームプログラムであることを特徴とする請求項１乃至４のいずれか１項に記載の画像生成プログラム。
【請求項６】
請求項１乃至５のいずれか１項に記載の画像生成プログラムを記録した、情報処理装置が読み取り可能な記録媒体。
【請求項７】
情報処理装置によって実行される画像生成方法であって、
変形可能なオブジェクトに複数の制御点を設定すると共に、少なくとも一部の前記制御点が複数層の点要素を有するように設定するステップと、
前記オブジェクトに作用する力に基づいて、前記複数の制御点の少なくとも一部を移動させると共に、前記複数層の点要素を有する前記制御点を移動させる場合には各層の前記点要素をそれぞれ異なる挙動で移動させるステップと、
前記制御点及び前記点要素の位置に基づいて前記オブジェクトの形状を表す画像を生成するステップと、
を有する、画像生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像生成プログラム、記録媒体、画像生成方法に関する。
【背景技術】
【０００２】
従来、仮想空間内のキャラクタオブジェクトを変形させた画像を生成する技術が知られている。この技術によれば、主ボーンに固定された座標系における副ボーンの位置を変化させ、仮想空間に固定された座標系における制御点の位置を副ボーンの位置の変化量に基づいて計算し、計算された制御点の位置に基づいてスキンの形状を決めた画像を生成することで、仮想空間内のキャラクタオブジェクトを変形させる（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第４５７９９６４号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記従来技術では、変形オブジェクトの変形を自然な挙動とする場合には複雑な演算を行う必要があり、情報処理装置の演算処理負荷が増大するという課題があった。
【０００５】
本発明はこのような問題点に鑑みてなされたものであり、情報処理装置の演算処理負荷を軽減しつつ、変形オブジェクトの挙動を自然に表現することが可能な画像生成プログラム及びこの画像生成プログラムが記録された記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明の画像生成プログラムは、情報処理装置を、変形可能なオブジェクトに複数の制御点を設定すると共に、少なくとも一部の前記制御点が複数層の点要素を有するように設定する制御点設定処理部、前記オブジェクトに作用する力に基づいて、前記複数の制御点の少なくとも一部を移動させると共に、前記複数層の点要素を有する前記制御点を移動させる場合には各層の前記点要素をそれぞれ異なる挙動で移動させる、制御点移動処理部、前記制御点及び前記点要素の位置に基づいて前記オブジェクトの形状を表す画像を生成する画像生成処理部、として機能させる。
【０００７】
上記目的を達成するために、本発明の記録媒体は、上記画像生成プログラムを記録した、情報処理装置が読み取り可能な記録媒体である。
【０００８】
上記目的を達成するために、本発明の画像生成方法は、情報処理装置によって実行される画像生成方法であって、変形可能なオブジェクトに複数の制御点を設定すると共に、少なくとも一部の前記制御点が複数層の点要素を有するように設定するステップと、前記オブジェクトに作用する力に基づいて、前記複数の制御点の少なくとも一部を移動させると共に、前記複数層の点要素を有する前記制御点を移動させる場合には各層の前記点要素をそれぞれ異なる挙動で移動させるステップと、前記制御点及び前記点要素の位置に基づいて前記オブジェクトの形状を表す画像を生成するステップと、を有する。
【発明の効果】
【０００９】
本発明の画像生成プログラム及び記録媒体によれば、情報処理装置の演算処理負担を軽減しつつ、変形オブジェクトの挙動を自然に表現することができる。
【図面の簡単な説明】
【００１０】
【図１】一実施形態に係るゲームシステムの全体構成の一例を表すシステム構成図である。
【図２】情報処理装置の機能的構成の一例を表すブロック図である。
【図３】基準点の設定の一例を表す説明図である。
【図４】制御点の設定の一例を表す説明図である。
【図５】変形オブジェクトの形状を構成するメッシュの一例を表す説明図である。
【図６】第１移動処理における基準点及び制御点の挙動の一例を表す説明図である。
【図７】第２移動処理における制御点の挙動の一例を表す説明図である。
【図８】対応情報により規定されたメッシュ頂点と制御点の各層の点要素との対応付けの一例を表す説明図である。
【図９】情報処理装置のＣＰＵによって実行される処理手順の一例を表すフローチャートである。
【図１０】制御点を３層構造とした変形例における、対応情報により規定されたメッシュ頂点と制御点の各層の点要素との対応付けの一例を表す説明図である。
【図１１】情報処理装置のハードウェア構成の一例を表すブロック図である。
【発明を実施するための形態】
【００１１】
以下、本発明の一実施の形態について図面を参照しつつ説明する。なお、本実施形態では、本発明をゲームに適用する場合、すなわち本発明の画像生成プログラム及び画像生成方法が情報処理装置によって実行されることによりゲームが提供される場合について説明するが、適用対象をゲームに限定するものではない。
【００１２】
＜１．ゲームシステムの全体構成＞
まず、図１を用いて、本実施形態に係るゲームシステム１の全体構成の一例について説明する。図１に示すように、ゲームシステム１は、情報処理装置３と、ゲームコントローラ５と、表示装置７を有する。ゲームコントローラ５及び表示装置７の各々は、情報処理装置３と有線又は無線により通信可能に接続されている。
【００１３】
情報処理装置３は、例えば据え置き型のゲーム機である。但しこれに限定されるものではなく、例えば入力部や表示部等を一体に備えた携帯型のゲーム機でもよい。また、ゲーム機以外にも、例えば、サーバコンピュータ、デスクトップ型コンピュータ、ノート型コンピュータ、タブレット型コンピュータ等のように、コンピュータとして製造、販売等されているものや、携帯電話、スマートフォン、ファブレット等のように、電話機として製造、販売等されているものでもよい。
【００１４】
プレイヤは、ゲームコントローラ５を用いて各種の操作入力を行う。図１に示す例では、ゲームコントローラ５は例えば十字キー９や複数のボタン１１等を有する。なお、ゲームコントローラ５は上記十字キー９やボタン１１に代えて又は加えて、例えばジョイスティック、レバー、タッチパッド等を有してもよい。
【００１５】
＜２．情報処理装置の機能的構成＞
次に、図２及び図３〜図８を用いて、情報処理装置３の機能的構成の一例について説明する。
【００１６】
図２に示すように、情報処理装置３は、基準点設定処理部１３と、制御点設定処理部１５と、制御点移動処理部１７と、対応情報取得処理部１９と、画像生成処理部２１とを有する。
【００１７】
基準点設定処理部１３は、変形可能なオブジェクト（以下適宜「変形オブジェクト」という）に対して１又は複数の基準点を設定する。
【００１８】
制御点設定処理部１５は、変形オブジェクトに対して複数の制御点を設定すると共に、少なくとも一部の制御点が複数層の点要素を有するように設定する。
【００１９】
図３〜図５に、基準点及び制御点の設定の一例を示す。図３に示す例では、３次元仮想空間（２次元仮想空間でもよい）内に女性モデル２３が表示されている。女性モデル２３は水着２５を着用しており、プレイヤによるゲームコントローラ５の操作に応じて各種の動作を行う。なお、３次元仮想空間内にはワールド座標系（Ｘ，Ｙ，Ｚ）が設定されており、Ｙ軸は鉛直方向、ＸＺ平面が水平面を構成する。
【００２０】
女性モデル２３は、変形オブジェクトとして、左右の乳房２７Ｌ，２７Ｒを備えている。なお、乳房以外にも、例えばお尻、太もも、腹、二の腕、その他変形可能な程度に柔らかい身体部位を、変形オブジェクトとして備えてもよい。
【００２１】
女性モデル２３は、身体を動かすための複数の基準点（いわゆるボーン）を備えている。各基準点は女性モデル２３の動作システム（モーション計算等）により移動し、現在位置情報（以下「第１現在位置」という）を有する。基準点設定処理部１３は、それらの一部又は全部を乳房２７Ｌ，２７Ｒを変形させるための基準点として設定する。図３に示す例では、左右の肩関節近傍に位置する基準点２９，３１、左右の乳房２７Ｌ，２７Ｒの中心近傍に位置する基準点３３，３５が、乳房２７Ｌ，２７Ｒを変形させるための基準点として設定されている。なお、上記以外の身体部位（例えば首関節など）に位置する基準点を、乳房２７Ｌ，２７Ｒを変形させるための基準点に設定してもよい。
【００２２】
図４に、乳房２７Ｌに対して設定された制御点３７の一例を示す。なお、図示は省略するが乳房２７Ｒも同様である。制御点３７は、乳房２７Ｌの形状を表現するために制御上使用される点である。複数の制御点３７は例えば直方体内で格子状に配列されており、その直方体が乳房２７Ｌを包含するように制御点設定処理部１５により設定される。制御点３７の数は特に限定されるものではないが、例えば乳房２７Ｌ，２７Ｒのそれぞれに対して３００〜４００個程度が設定される。以下では、格子状に配列された一群の制御点３７を管理単位としてエンティティという。図３に示すように、乳房２７Ｌにエンティティ３９Ｌが割り当てられ、乳房２７Ｒにエンティティ３９Ｒが割り当てられている。
【００２３】
図５に、乳房２７Ｌ及び水着２５の形状を構成するメッシュ４１の一例を示す。なお、図５に示す例では三角形状のメッシュ４１を用いているが、三角形以外の多角形状（例えば四角形）のメッシュを用いてもよい。また、変形オブジェクトの形状を構成する形状要素は、メッシュに限るものではなく、変形オブジェクトの形状を定義可能であれば、頂点、辺、面、又はそれらの集合等としてもよい（例えばポリゴン、サーフェス等ともいう）。また、図示は省略するが乳房２７Ｒも同様である。メッシュ４１の数は特に限定されるものではないが、例えば乳房２７Ｌ，２７Ｒのそれぞれに対して数千〜数万個程度が設定される。したがって、乳房２７Ｌ，２７Ｒのそれぞれに設定される制御点３７の数は、乳房２７Ｌ，２７Ｒのそれぞれの形状を構成するメッシュ４１の数に比べて大幅に少ない。このため、１つの制御点３７に複数のメッシュ４１の頂点が対応付けられることとなり、それら複数のメッシュ４１が均質な動きをすることにより、乳房２７Ｌ，２７Ｒが変形する際に不自然な挙動となる場合がある。
【００２４】
例えば、乳房２７Ｌ，２７Ｒに揺れ等の動作（変形）が生じた場合に、相対的に硬い部位である水着２５の着用部分と相対的に柔らかい部位である肌部分とが均質な動きをすると、水着と肌の素材感の違いが表現されずに不自然な動作となる。特に、水着２５の例えば肩紐４３やストラップ４５が肌部分と均質な動きをすると、ユーザに大きな違和感を生じさせる可能性がある。
【００２５】
一方で、制御点３７の数を増やし、水着２５の着用部分と肌部分とでメッシュに異なる動きをさせると自然な表現が可能となるが、その分だけ情報処理装置３の演算処理負荷が増大し、処理が重くなってしまう。
【００２６】
そこで本実施形態では、乳房２７Ｌ，２７Ｒのそれぞれに対して複数の制御点３７を設定する際に、少なくとも一部の制御点３７が複数層の点要素を有するように設定する。そして、乳房２７Ｌ，２７Ｒに作用する力に応じて各層の点要素にそれぞれ異なる挙動をさせる（詳細は後述）。これにより、制御点３７の数を増やすことなくメッシュ４１の動きを多様化させることが可能となる。
【００２７】
なお、変形オブジェクトに設定された全ての制御点３７を多層化する必要はなく、必要な部分のみ多層化すればよい。例えば図４及び図５に示す例では、乳房２７Ｌのうち水着２５の着用部分に対応する制御点３７ｓ（ハッチングで図示）については、第１層の点要素のみを有する単層構造となっている。また、それ以外の水着２５と肌の境目近傍、及び、肌部分に対応する制御点３７ｍ（白色で図示）については、第１層の点要素及び第２層の点要素を有する多層構造となっている。なお、単層構造と多層構造を特に区別しないときには単に「制御点３７」という。
【００２８】
制御点移動処理部１７は、乳房２７Ｌ，２７Ｒに作用する力に基づいて、複数の制御点３７の少なくとも一部を移動させると共に、複数層の点要素を有する制御点３７ｍを移動させる場合には各層の点要素をそれぞれ異なる挙動で移動させる。具体的には、制御点移動処理部１７は、第１移動処理部４７と第２移動処理部４９とを有している。第１移動処理部４７は、複数層の点要素を有する制御点３７ｍを移動させる場合に、乳房２７Ｌ，２７Ｒに作用する力に基づいて、全ての層の点要素を移動させる第１移動処理を実行する。第２移動処理部４９は、第２層（第ｎ＋１層（ｎは自然数）の一例）の点要素を第１層（第ｎ層の一例）の点要素に対して相対移動させる第２移動処理を実行する。
【００２９】
以下、第１移動処理部４７により実行される第１移動処理の具体例について説明する。第１移動処理部４７は、重み量設定処理部５１と、目標位置計算処理部５３と、制御点更新処理部５５とを有する。
【００３０】
重み量設定処理部５１は、制御点に対して少なくとも１つの基準点を関連付けると共に、当該関連付けられた基準点ごとに関連度合いを表す重み量を設定する。本実施形態では、重み量設定処理部５１は、乳房２７Ｌに対応するエンティティ３９Ｌに含まれる各制御点３７に対しては３つの基準点２９，３１，３３を関連付け、乳房２７Ｒに対応するエンティティ３９Ｒに含まれる各制御点３７に対しては３つの基準点２９，３１，３５を関連付ける。また重み量設定処理部５１は、エンティティ３９Ｌに含まれる各制御点３７に対して、上記関連付けられた基準点２９，３１，３３ごとに重み量を設定し、エンティティ３９Ｒに含まれる各制御点３７に対して、上記関連付けられた基準点２９，３１，３５ごとに重み量を設定する。なお、１つの制御点３７に設定される各基準点に対する重み量（割合、比率）の合計は１である。
【００３１】
目標位置計算処理部５３は、制御点３７の目標位置（以下「第１目標位置」という）を、当該制御点３７に関連付けられた基準点の第１現在位置と重み量とに基づいて計算する。具体的には、目標位置計算処理部５３は、下記の計算式（１）にしたがって、各制御点３７の第１目標位置を、当該制御点３７に関連付けられた全ての基準点について当該基準点の第１現在位置と重み量との積を合計することにより計算する。
【００３２】
【数１】
2020144519.tif 000003
【００３３】
なお、ｇｏａｌ［ｉ］∈Ｒ３はｉ番目の制御点３７の第１目標位置、ＢｏｎｅＮｕｍ［ｉ］∈Ｎはｉ番目の制御点３７に関連付けられた基準点の数、ＢｏｎｅＷｅｉｇｈｔＡｒｒａｙ［ｉ］［ｊ］∈Ｒはｉ番目の制御点３７に関連付けられたｊ番目の基準点の重み量、ＢｏｎｅＰｏｓｉｔｉｏｎ［ｋ］∈Ｒ３はｋ番目の基準点の第１現在位置、ＢｏｎｅＡｒｒａｙ［ｉ］［ｊ］∈Ｚはｉ番目の制御点３７に関連付けられたｊ番目の基準点のインデックス（配列の添字）である。
【００３４】
制御点更新処理部５５は、上記目標位置計算処理部５３により計算された第１目標位置に近づくように制御点３７の現在位置（以下「第２現在位置」という）を更新する。例えば、制御点更新処理部５５は、下記の計算式（２）及び（３）にしたがって、各制御点３７の第２現在位置を更新する。
【００３５】
【数２】
2020144519.tif 000004
【００３６】
【数３】
2020144519.tif 000005
【００３７】
なお、ＮｏｄｅＶｅｌｏｃｉｔｙ［ｉ］（ｔ）はｉ番目の制御点３７の時刻ｔにおける移動速度、ｈは時間ステップ、αは変形オブジェクトの剛性、ｇｏａｌ［ｉ］（ｔ）はｉ番目の制御点３７の時刻ｔにおける第１目標位置、ＮｏｄｅＰｏｓｉｔｉｏｎ［ｉ］（ｔ）はｉ番目の制御点３７の時刻ｔにおける第２現在位置、ｆｅｘｔ［ｉ］（ｔ）は時刻ｔにおいてｉ番目の制御点３７に作用する外力、ｍ［ｉ］はｉ番目の制御点３７の質量である。上記剛性αは０から１の間で変化し、α＝１の場合は変形オブジェクトが剛体、α＜１の場合は０に近づくほど変形オブジェクトが柔らかいことを示す。
【００３８】
図６に、上述した制御による基準点及び制御点の挙動の一例を示す。なお、図６は乳房２７Ｌに対応するエンティティ３９Ｌに含まれる制御点３７及び関連付けられた基準点２９，３１，３３を図示しているが、説明を簡単にするために制御点３７の数を減らして簡易的な二次元オブジェクトとして説明する。エンティティ３９Ｌには、単層構造の制御点３７ｓ（ハッチングで図示）と、多層構造の制御点３７ｍ（白色で図示）とが含まれる。
【００３９】
図６（ａ）に示す初期状態から、女性モデル２３が動作することにより、例えば図６（ｂ）に示すように各基準点２９，３１，３３が移動したとする。前述のように、各制御点３７には関連付けられた３つの基準点２９，３１，３３ごとに重み量が設定されており、基準点２９，３１，３３の移動後の第１現在位置と上記重み量に応じて、各制御点３７の第１目標位置３７ｇがそれぞれ計算される。図６（ｂ）にはこの計算された第１目標位置３７ｇが破線で示されている。その後、各制御点３７の第２現在位置が計算された第１目標位置３７ｇに近づくように更新され、各制御点３７が上述した剛性αに基づく速度により第１目標位置３７ｇに引き寄せられる。そして、図６（ｃ）に示すように、各制御点３７が第１目標位置３７ｇへの移動を完了する。このようにして、女性モデル２３の身体動作に伴う乳房２７Ｌの柔軟な変形が表現される。
【００４０】
なお、以上説明した移動処理は、多層構造の制御点３７ｍだけでなく、単相構造である制御点３７ｓについても同様に実行される。そして、制御点３７ｍ，３７ｓのいずれである場合にも、全ての層（単相である場合は１層、多層である場合は全層）の点要素が一体的に移動される。
【００４１】
次に、第２移動処理部４９により実行される第２移動処理の具体例について説明する。
【００４２】
前述のように、第２移動処理は、第２層の点要素を第１層の点要素に対して相対移動（相対運動）させる処理である。したがって、第２移動処理は多層構造の制御点３７ｍだけに実行される。第２移動処理は、各制御点３７ｍごとに例えば第２層の点要素を第１層の点要素に対して僅かに揺動（振動）させる等により、乳房２７Ｌ，２７Ｒの肌部分の表面が全体的に波打つような柔らかさを表現するための処理である。第２移動処理は、上述の第１移動処理の後、又は、第１移動処理と同時並行して実行される。第２移動処理では、各制御点３７ｍにおける第２層の点要素の第１層の点要素に対する相対的な移動量及び移動方向が、上述の第１移動処理による移動量（又は移動速度）及び移動方向に基づいて、例えばばねモデル（目標地点に向かって距離に比例した加速度を与える制御）で演算される。
【００４３】
図７に、上述した制御による第２層の点要素の挙動の一例を示す。図７に示す例では、前述の図６（ｂ）及び図６（ｃ）において移動した２つの制御点３７ｍにおいて、第２層の点要素３７ｍ２（一点鎖線で図示）が第１層の点要素３７ｍ１（実線で図示）に対して第１移動処理の移動方向（図７では左右方向）に沿うように所定の移動量で揺動している。
【００４４】
なお、以上説明した第１移動処理及び第２移動処理は一例であり、上記以外の手法で実行されてもよい。また、以上では乳房２７Ｌ，２７Ｒに対する衝突がない場合の変形処理について説明したが、衝突がある場合の変形処理に対しても、上述と同様の第２移動処理を実行してもよい。この場合の第１移動処理については、詳細な説明を省略するが、例えば衝突オブジェクトと乳房２７Ｌ，２７Ｒとの衝突判定を行い、衝突中の制御点３７（衝突オブジェクトの内部に位置する制御点３７）について、当該制御点３７から最も近い衝突オブジェクトの表面に向けて移動させる等の処理を行ってもよい。
【００４５】
図２に戻り、対応情報取得処理部１９は、乳房２７Ｌ，２７Ｒの形状を構成する各メッシュ４１の頂点がどの制御点３７のどの層の点要素に対応付けられているかを規定する対応情報を取得する。具体的には、乳房２７Ｌ，２７Ｒは、硬さの異なる複数の部位、例えば本実施形態では相対的に硬い部位である水着２５の着用部分と相対的に柔らかい部位である肌部分とを備えており、対応情報は、第２層の点要素を、第１層の点要素に対応する部位（水着２５の着用部分）よりも柔らかい部位（肌部分）のメッシュ４１の頂点に対応付けるように規定する。
【００４６】
図８に、対応情報により規定されたメッシュ４１の頂点５７と制御点３７の各層の点要素との対応付けの一例を示す。なお、図８では説明を簡単にするために、１つの制御点３７に２つのメッシュ頂点５７がそれぞれ対応付けられているものとして簡易化して図示している。また、理解を容易とするために、各制御点３７について第１層と第２層の点要素を階層的に図示しているが、実際には第１層の点要素３７ｍ１と第２層の点要素３７ｍ２は、乳房２７Ｌ，２７Ｒに動き（変形）がない場合には同じ位置（座標）に位置している。また、乳房２７Ｌ，２７Ｒに動き（変形）がある場合でも、前述の第２移動処理が実行されていない状態（第１移動処理のみが実行されている状態）では互いに重なった状態で一体的に移動する。
【００４７】
図８に示すように、乳房２７Ｌ，２７Ｒにおいて、水着２５の着用部分については単層構造の制御点３７ｓが配置され、水着２５の着用部分と肌部分の境目近傍、及び、肌部分については多層構造の制御点３７ｍが配置されている。そして、メッシュ４１の各頂点５７のうち、水着２５の着用部分に対応する頂点５７は、制御点３７ｓの第１層の点要素３７ｓ１、及び、制御点３７ｍの第１層の点要素３７ｍ１にそれぞれ対応付けられている。一方、メッシュ４１の各頂点５７のうち、肌部分に対応する頂点５７は、制御点３７ｍの第２層の点要素３７ｍ２にそれぞれ対応付けられている。
【００４８】
図２に戻り、画像生成処理部２１は、各制御点３７ｍ，３７ｓ及び各点要素３７ｍ１，３７ｍ２，３７ｓ１の位置に基づいて乳房２７Ｌ，２７Ｒの形状を表す画像を生成する。具体的には、画像生成処理部２１は、上記対応情報取得処理部１９により取得した対応情報に基づいて、各メッシュ頂点５７を対応付けられた点要素３７ｍ１，３７ｍ２，３７ｓ１に追従するように移動させて、乳房２７Ｌ，２７Ｒの形状を表す画像を生成する。
【００４９】
なお、以上説明した各処理部における処理等は、これらの処理の分担の例に限定されるものではなく、例えば、更に少ない数の処理部（例えば１つの処理部）で処理されてもよく、また、更に細分化された処理部により処理されてもよい。また、上述した各処理部の機能は、後述するＣＰＵ１０１（後述の図１１参照）が実行するゲームプログラムにより実装されるものであるが、例えばその一部がＡＳＩＣやＦＰＧＡ等の専用集積回路、その他の電気回路等の実際の装置により実装されてもよい。
【００５０】
＜３．情報処理装置が実行する処理手順＞
次に、図９を用いて、情報処理装置３のＣＰＵ１０１によって実行される処理手順の一例について説明する。
【００５１】
ステップＳ１０では、情報処理装置３は、基準点設定処理部１３により、乳房２７Ｌ，２７Ｒに対して複数の基準点２９，３１，３３，３５を設定する。
【００５２】
ステップＳ２０では、情報処理装置３は、制御点設定処理部１５により、乳房２７Ｌ，２７Ｒに対して複数の制御点３７を設定すると共に、少なくとも一部の制御点３７ｍが複数層の点要素３７ｍ１，３７ｍ２を有するように設定する。
【００５３】
ステップＳ３０では、情報処理装置３は、制御点移動処理部１７の第１移動処理部４７により、多層構造の各制御点３７ｍについて、乳房２７Ｌ，２７Ｒに作用する力に基づいて全ての層の点要素３７ｍ１，３７ｍ２を移動させる第１移動処理を実行する。なお、第１移動処理は単層構造の各制御点３７ｓについても実行され、乳房２７Ｌ，２７Ｒに作用する力に基づいて第１層の点要素３７ｓ１が移動される。
【００５４】
ステップＳ４０では、情報処理装置３は、制御点移動処理部１７の第２移動処理部４９により、各制御点３７ｍについて、第２層の点要素３７ｍ２を第１層の点要素３７ｍ１に対して相対移動（相対運動）させる第２移動処理を実行する。
【００５５】
ステップＳ５０では、情報処理装置３は、対応情報取得処理部１９により、乳房２７Ｌ，２７Ｒの形状を構成する各メッシュ４１の頂点５７がどの制御点３７のどの層の点要素に対応付けられているかを規定する対応情報を取得する。
【００５６】
ステップＳ６０では、情報処理装置３は、画像生成処理部２１により、上記ステップＳ５０で取得した対応情報に基づいて、各メッシュ４１の頂点５７を対応付けられた点要素３７ｍ１，３７ｍ２，３７ｓ１に追従するように移動させる。
【００５７】
ステップＳ７０では、情報処理装置３は、画像生成処理部２１により、上記ステップＳ６０で頂点５７を移動させた各メッシュ４１に基づいて、変形オブジェクトである乳房２７Ｌ，２７Ｒの形状を表す画像を生成する。以上により本フローを終了する。
【００５８】
なお、上述した処理手順は一例であって、上記手順の少なくとも一部を削除又は変更してもよいし、上記以外の手順を追加してもよい。また、上記手順の少なくとも一部の順番を変更してもよいし、複数の手順が単一の手順にまとめられてもよい。例えば、上記ステップＳ３０とステップＳ４０は同時並行して実行されてもよいし、１つの手順にまとめられてもよい。
【００５９】
＜４．実施形態の効果＞
以上説明したように、本実施形態のゲームプログラムは、情報処理装置３を、変形可能な乳房２７Ｌ，２７Ｒに複数の制御点３７ｍ，３７ｓを設定すると共に、少なくとも一部の制御点３７ｍが複数層の点要素３７ｍ１，３７ｍ２を有するように設定する制御点設定処理部１５、乳房２７Ｌ，２７Ｒに作用する力に基づいて、複数の制御点３７ｍ，３７ｓの少なくとも一部を移動させると共に、複数層の点要素３７ｍ１，３７ｍ２を有する制御点３７ｍを移動させる場合には各層の点要素３７ｍ１，３７ｍ２をそれぞれ異なる挙動で移動させる、制御点移動処理部１７、制御点３７ｍ，３７ｓ及び点要素３７ｍ１，３７ｍ２，３７ｓ１の位置に基づいて乳房２７Ｌ，２７Ｒの形状を表す画像を生成する画像生成処理部２１、として機能させる。
【００６０】
これにより、乳房２７Ｌ，２７Ｒの形状を構成する各メッシュ４１の頂点５７を所定の制御点３７ｍ，３７ｓの所定の点要素３７ｍ１，３７ｍ２，３７ｓ１とそれぞれ対応付けることにより、制御点の数を増やすことなくメッシュ４１の動きを多様化させることができる。したがって、情報処理装置３の演算処理負荷を軽減しつつ、乳房２７Ｌ，２７Ｒが変形する挙動を自然に表現することができる。
【００６１】
また、本実施形態では特に、ゲームプログラムは、情報処理装置３を、乳房２７Ｌ，２７Ｒの形状を構成する各メッシュ４１の頂点５７がどの制御点３７ｍ，３７ｓのどの層の点要素３７ｍ１，３７ｍ２，３７ｓ１に対応付けられているかを規定する対応情報を取得する対応情報取得処理部１９、としてさらに機能させ、画像生成処理部２１は、対応情報に基づいて、メッシュ４１の頂点５７を対応付けられた点要素３７ｍ１，３７ｍ２，３７ｓ１に追従するように移動させて、乳房２７Ｌ，２７Ｒの形状を表す画像を生成する。
【００６２】
これにより、乳房２７Ｌ，２７Ｒを変形させる際に、例えば微細な振動運動や細部の密度変化による動き（例えばメッシュレベルでの微細な素材感の違いなど）等を表現することができる。
【００６３】
また、本実施形態では特に、制御点移動処理部１７は、複数層の点要素３７ｍ１，３７ｍ２を有する制御点３７ｍを移動させる場合には、乳房２７Ｌ，２７Ｒに作用する力に基づいて、全ての層の点要素３７ｍ１，３７ｍ２を移動させる第１移動処理を実行すると共に、第２層の点要素３７ｍ２を第１層の点要素３７ｍ１に対して相対移動させる第２移動処理を実行する。
【００６４】
これにより、第２層の点要素３７ｍ２はその１層下の第１層の点要素３７ｍ１に対する相対的な動きのみを考慮して移動（運動）させればよいので、例えば層数と同じ数（この例では２つ）の制御点３７を個別に設ける場合に比べて処理負荷を大幅に軽減できる。また、第２層の点要素３７ｍ２を１層下の第１層の点要素３７ｍ１に対して相対的に微細な動きをさせることができるので、所定のメッシュ頂点５７を第２層の点要素３７ｍ２に対応付けることにより、乳房２７Ｌ，２７Ｒを変形させる際に、特定の部位（本実施形態では肌部分）の例えば微細な振動運動や細部の密度変化による動き等を表現することが可能となる。
【００６５】
また、本実施形態では特に、乳房２７Ｌ，２７Ｒは、硬さの異なる複数の部位（水着２５の着用部分、肌部分）を備えており、対応情報は、第２層の点要素３７ｍ２を、第１層の点要素３７ｍ１に対応する部位（水着２５の着用部分）よりも柔らかい部位（肌部分）のメッシュ頂点５７に対応付けるように規定する。
【００６６】
これにより、上記実施形態のように、肌の露出がある着衣（水着２５等）を着用した女性モデル２３の着衣部分と肌部分との間で微細な挙動の違いや素材感の違いを表現したり、肌部分について微細な振動運動や細部の密度変化による動きを表現することが可能となる。その結果、乳房２７Ｌ，２７Ｒにおいて、水着２５の着用部分については布素材の締め付けによる硬さを表現しつつ、露出した肌部分についてはその表面が全体的に波打つような柔らかさを表現することができる。
【００６７】
＜５．変形例等＞
なお、本発明は、上記の実施形態に限られるものではなく、その趣旨及び技術的思想を逸脱しない範囲内で種々の変形が可能である。
【００６８】
例えば以上では、多層構造の制御点３７ｍが２層構造である場合を一例として説明したが、３層以上の多層構造としてもよい。例えば３層構造とする場合、第１移動処理では、変形オブジェクトに作用する力に基づいて、３層の全ての層の点要素が移動される。一方、第２移動処理では、第３層（第ｎ＋１層（ｎは自然数）の一例）の点要素が第２層（第ｎ層の一例）の点要素に対して相対移動されると共に、第２層（第ｎ＋１層（ｎは自然数）の一例）の点要素が第１層（第ｎ層の一例）の点要素に対して相対移動される。
【００６９】
図１０に、３層構造の場合における、対応情報により規定されたメッシュ４１の頂点５７と制御点３７の各層の点要素との対応付けの一例を示す。なお、図１０は、女性モデルが例えば金属や皮等の比較的硬い素材で構成される鎧と、例えば布などの比較的柔らかい素材で構成される衣服とを装備し、且つ、乳房やお尻等の柔らかい身体部位の肌部分が露出されている場合の例である。
【００７０】
図１０に示すように、鎧の着用部分については単層構造の制御点３７ｓが配置され、鎧の着用部分と衣服の着用部分の境目近傍、及び、衣服の着用部分については２層構造の制御点３７ｍが配置され、衣服の着用部分と肌部分の境目近傍、及び、肌部分については３層構造の制御点３７ｍが配置されている。そして、メッシュ４１の各頂点５７のうち、鎧の着用部分に対応する頂点５７は、制御点３７ｓの第１層の点要素３７ｓ１、及び、制御点３７ｍ（２層構造）の第１層の点要素３７ｍ１にそれぞれ対応付けられている。また、衣服の着用部分に対応する頂点５７は、制御点３７ｍ（２層構造）の第２層の点要素３７ｍ２、及び、制御点３７ｍ（３層構造）の第２層の点要素３７ｍ２にそれぞれ対応付けられている。また、肌部分に対応する頂点５７は、制御点３７ｍ（３層構造）の第３層の点要素３７ｍ３にそれぞれ対応付けられている。
【００７１】
これにより、鎧部分と衣服部分との間、及び、衣服部分と肌部分との間で微細な挙動の違いや素材感の違いを表現したり、衣服部分や肌部分について微細な振動運動や細部の密度変化による動きを表現することが可能となる。
【００７２】
また以上では、変形オブジェクトが女性モデルの身体部位である場合について説明したが、これに限定されるものではない。例えば、男性モデルの身体部位（例えば肥満した男性モデルのお腹など）でもよい。また、人間以外の動物モデルや、人間や動物以外の仮想的な生物モデル（例えば怪物、ゴースト、妖怪等）、ロボットやアンドロイドが備える変形可能な身体部位等でもよい。さらに、変形可能な物品や物体、アイテム等でもよい。例えば装備品や装飾品において部分的に素材が違う構成を有するような場合（例えば金属と布、硬い布と柔らかい布など）、本発明を適用することで、それらの間で微細な挙動の違いや素材感の違いを表現すること等が可能となる。
【００７３】
また、以上では、画像生成プログラムがゲームプログラムである場合について説明したが、画像生成プログラムは、ゲーム以外の技術（例えばＣＧアニメーション、コンピュータ・シミュレーション、ＣＡＤ等）にも適用可能である。
【００７４】
また、以上既に述べた以外にも、上記実施形態や各変形例による手法を適宜組み合わせて利用しても良い。その他、一々例示はしないが、上記実施形態や各変形例は、その趣旨を逸脱しない範囲内において、種々の変更が加えられて実施されるものである。
【００７５】
＜６．情報処理装置のハードウェア構成＞
次に、図１１を用いて、上記で説明したＣＰＵ１０１等が実行するプログラムにより実装された各処理部を実現する情報処理装置３のハードウェア構成の一例について説明する。
【００７６】
図１１に示すように、情報処理装置３は、例えば、ＣＰＵ１０１と、ＲＯＭ１０３と、ＲＡＭ１０５と、ＧＰＵ１０６と、例えばＡＳＩＣ又はＦＰＧＡ等の特定の用途向けに構築された専用集積回路１０７と、入力装置１１３と、出力装置１１５と、記録装置１１７と、ドライブ１１９と、接続ポート１２１と、通信装置１２３を有する。これらの構成は、バス１０９や入出力インターフェース１１１等を介し相互に信号を伝達可能に接続されている。
【００７７】
ゲームプログラムは、例えば、ＲＯＭ１０３やＲＡＭ１０５、記録装置１１７等に記録しておくことができる。
【００７８】
また、ゲームプログラムは、例えば、フレキシブルディスクなどの磁気ディスク、各種のＣＤ、ＭＯディスク、ＤＶＤ等の光ディスク、半導体メモリ等のリムーバブルな記録媒体１２５に、一時的又は永続的（非一時的）に記録しておくこともできる。このような記録媒体１２５は、いわゆるパッケージソフトウエアとして提供することもできる。この場合、これらの記録媒体１２５に記録されたゲームプログラムは、ドライブ１１９により読み出されて、入出力インターフェース１１１やバス１０９等を介し上記記録装置１１７に記録されてもよい。
【００７９】
また、ゲームプログラムは、例えば、ダウンロードサイト、他のコンピュータ、他の記録装置等（図示せず）に記録しておくこともできる。この場合、ゲームプログラムは、ＬＡＮやインターネット等のネットワークＮＷを介し転送され、通信装置１２３がこのプログラムを受信する。そして、通信装置１２３が受信したプログラムは、入出力インターフェース１１１やバス１０９等を介し上記記録装置１１７に記録されてもよい。
【００８０】
また、ゲームプログラムは、例えば、適宜の外部接続機器１２７に記録しておくこともできる。この場合、ゲームプログラムは、適宜の接続ポート１２１を介し転送され、入出力インターフェース１１１やバス１０９等を介し上記記録装置１１７に記録されてもよい。
【００８１】
そして、ＣＰＵ１０１が、上記記録装置１１７に記録されたプログラムに従い各種の処理を実行することにより、前述の制御点設定処理部１５、制御点移動処理部１７、対応情報取得処理部１９、画像生成処理部２１等による処理が実現される。この際、ＣＰＵ１０１は、例えば、上記記録装置１１７からプログラムを、直接読み出して実行してもよく、ＲＡＭ１０５に一旦ロードした上で実行してもよい。更にＣＰＵ１０１は、例えば、プログラムを通信装置１２３やドライブ１１９、接続ポート１２１を介し受信する場合、受信したプログラムを記録装置１１７に記録せずに直接実行してもよい。
【００８２】
また、ＣＰＵ１０１は、必要に応じて、前述のゲームコントローラ５を含む、例えばマウス、キーボード、マイク等（図示せず）の入力装置１１３から入力する信号や情報に基づいて各種の処理を行ってもよい。
【００８３】
ＧＰＵ１０６は、ＣＰＵ１０１からの指示に応じて例えばレンダリング処理などの画像表示のための処理を行う。
【００８４】
そして、ＣＰＵ１０１及びＧＰＵ１０６は、上記の処理を実行した結果を、例えば前述の表示装置７や音声出力部等を含む、出力装置１１５から出力する。さらにＣＰＵ１０１及びＧＰＵ１０６は、必要に応じてこの処理結果を通信装置１２３や接続ポート１２１を介し送信してもよく、上記記録装置１１７や記録媒体１２５に記録させてもよい。
【符号の説明】
【００８５】
３              情報処理装置
１３            基準点設定処理部
１５            制御点設定処理部
１７            制御点移動処理部
１９            対応情報取得処理部
２１            画像生成処理部
２７Ｌ，２７Ｒ  乳房（オブジェクト）
３７            制御点
３７ｍ          制御点
３７ｍ１        点要素
３７ｍ２        点要素
３７ｓ          制御点
３７ｓ１        点要素
４１            メッシュ
４７            第１移動処理部
４９            第２移動処理部
５７            頂点（形状要素）
１２５          記録媒体
【図１】
2020144519.tif 000006
【図２】
2020144519.tif 000007
【図３】
2020144519.tif 000008
【図４】
2020144519.tif 000009
【図５】
2020144519.tif 000010
【図６】
2020144519.tif 000011
【図７】
2020144519.tif 000012
【図８】
2020144519.tif 000013
【図９】
2020144519.tif 000014
【図１０】
2020144519.tif 000015
【図１１】
2020144519.tif 000016