JP7189051B2 - 画像生成プログラム、記録媒体、画像生成方法 - Google Patents

画像生成プログラム、記録媒体、画像生成方法 Download PDF

Info

Publication number
JP7189051B2
JP7189051B2 JP2019039597A JP2019039597A JP7189051B2 JP 7189051 B2 JP7189051 B2 JP 7189051B2 JP 2019039597 A JP2019039597 A JP 2019039597A JP 2019039597 A JP2019039597 A JP 2019039597A JP 7189051 B2 JP7189051 B2 JP 7189051B2
Authority
JP
Japan
Prior art keywords
point
layer
elements
control
control points
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.)
Active
Application number
JP2019039597A
Other languages
English (en)
Other versions
JP2020144519A (ja
Inventor
賢二 高松
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Koei Tecmo Games Co Ltd
Original Assignee
Koei Tecmo Games Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Koei Tecmo Games Co Ltd filed Critical Koei Tecmo Games Co Ltd
Priority to JP2019039597A priority Critical patent/JP7189051B2/ja
Publication of JP2020144519A publication Critical patent/JP2020144519A/ja
Application granted granted Critical
Publication of JP7189051B2 publication Critical patent/JP7189051B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)

Description

本発明は、画像生成プログラム、記録媒体、画像生成方法に関する。
従来、仮想空間内のキャラクタオブジェクトを変形させた画像を生成する技術が知られている。この技術によれば、主ボーンに固定された座標系における副ボーンの位置を変化させ、仮想空間に固定された座標系における制御点の位置を副ボーンの位置の変化量に基づいて計算し、計算された制御点の位置に基づいてスキンの形状を決めた画像を生成することで、仮想空間内のキャラクタオブジェクトを変形させる(例えば、特許文献1参照)。
特許第4579964号
上記従来技術では、変形オブジェクトの変形を自然な挙動とする場合には複雑な演算を行う必要があり、情報処理装置の演算処理負荷が増大するという課題があった。
本発明はこのような問題点に鑑みてなされたものであり、情報処理装置の演算処理負荷を軽減しつつ、変形オブジェクトの挙動を自然に表現することが可能な画像生成プログラム及びこの画像生成プログラムが記録された記録媒体を提供することを目的とする。
上記目的を達成するために、本発明の画像生成プログラムは、情報処理装置を、変形可能なオブジェクトに複数の制御点を設定すると共に、少なくとも一部の前記制御点が複数層の点要素を有するように設定する制御点設定処理部、前記オブジェクトに作用する力に基づいて、前記複数の制御点の少なくとも一部を移動させると共に、前記複数層の点要素を有する前記制御点を移動させる場合には各層の前記点要素をそれぞれ異なる挙動で移動させる、制御点移動処理部、前記制御点及び前記点要素の位置に基づいて前記オブジェクトの形状を表す画像を生成する画像生成処理部、として機能させる。
上記目的を達成するために、本発明の記録媒体は、上記画像生成プログラムを記録した、情報処理装置が読み取り可能な記録媒体である。
上記目的を達成するために、本発明の画像生成方法は、情報処理装置によって実行される画像生成方法であって、変形可能なオブジェクトに複数の制御点を設定すると共に、少なくとも一部の前記制御点が複数層の点要素を有するように設定するステップと、前記オブジェクトに作用する力に基づいて、前記複数の制御点の少なくとも一部を移動させると共に、前記複数層の点要素を有する前記制御点を移動させる場合には各層の前記点要素をそれぞれ異なる挙動で移動させるステップと、前記制御点及び前記点要素の位置に基づいて前記オブジェクトの形状を表す画像を生成するステップと、を有する。
本発明の画像生成プログラム及び記録媒体によれば、情報処理装置の演算処理負担を軽減しつつ、変形オブジェクトの挙動を自然に表現することができる。
一実施形態に係るゲームシステムの全体構成の一例を表すシステム構成図である。 情報処理装置の機能的構成の一例を表すブロック図である。 基準点の設定の一例を表す説明図である。 制御点の設定の一例を表す説明図である。 変形オブジェクトの形状を構成するメッシュの一例を表す説明図である。 第1移動処理における基準点及び制御点の挙動の一例を表す説明図である。 第2移動処理における制御点の挙動の一例を表す説明図である。 対応情報により規定されたメッシュ頂点と制御点の各層の点要素との対応付けの一例を表す説明図である。 情報処理装置のCPUによって実行される処理手順の一例を表すフローチャートである。 制御点を3層構造とした変形例における、対応情報により規定されたメッシュ頂点と制御点の各層の点要素との対応付けの一例を表す説明図である。 情報処理装置のハードウェア構成の一例を表すブロック図である。
以下、本発明の一実施の形態について図面を参照しつつ説明する。なお、本実施形態では、本発明をゲームに適用する場合、すなわち本発明の画像生成プログラム及び画像生成方法が情報処理装置によって実行されることによりゲームが提供される場合について説明するが、適用対象をゲームに限定するものではない。
<1.ゲームシステムの全体構成>
まず、図1を用いて、本実施形態に係るゲームシステム1の全体構成の一例について説明する。図1に示すように、ゲームシステム1は、情報処理装置3と、ゲームコントローラ5と、表示装置7を有する。ゲームコントローラ5及び表示装置7の各々は、情報処理装置3と有線又は無線により通信可能に接続されている。
情報処理装置3は、例えば据え置き型のゲーム機である。但しこれに限定されるものではなく、例えば入力部や表示部等を一体に備えた携帯型のゲーム機でもよい。また、ゲーム機以外にも、例えば、サーバコンピュータ、デスクトップ型コンピュータ、ノート型コンピュータ、タブレット型コンピュータ等のように、コンピュータとして製造、販売等されているものや、携帯電話、スマートフォン、ファブレット等のように、電話機として製造、販売等されているものでもよい。
プレイヤは、ゲームコントローラ5を用いて各種の操作入力を行う。図1に示す例では、ゲームコントローラ5は例えば十字キー9や複数のボタン11等を有する。なお、ゲームコントローラ5は上記十字キー9やボタン11に代えて又は加えて、例えばジョイスティック、レバー、タッチパッド等を有してもよい。
<2.情報処理装置の機能的構成>
次に、図2及び図3~図8を用いて、情報処理装置3の機能的構成の一例について説明する。
図2に示すように、情報処理装置3は、基準点設定処理部13と、制御点設定処理部15と、制御点移動処理部17と、対応情報取得処理部19と、画像生成処理部21とを有する。
基準点設定処理部13は、変形可能なオブジェクト(以下適宜「変形オブジェクト」という)に対して1又は複数の基準点を設定する。
制御点設定処理部15は、変形オブジェクトに対して複数の制御点を設定すると共に、少なくとも一部の制御点が複数層の点要素を有するように設定する。
図3~図5に、基準点及び制御点の設定の一例を示す。図3に示す例では、3次元仮想空間(2次元仮想空間でもよい)内に女性モデル23が表示されている。女性モデル23は水着25を着用しており、プレイヤによるゲームコントローラ5の操作に応じて各種の動作を行う。なお、3次元仮想空間内にはワールド座標系(X,Y,Z)が設定されており、Y軸は鉛直方向、XZ平面が水平面を構成する。
女性モデル23は、変形オブジェクトとして、左右の乳房27L,27Rを備えている。なお、乳房以外にも、例えばお尻、太もも、腹、二の腕、その他変形可能な程度に柔らかい身体部位を、変形オブジェクトとして備えてもよい。
女性モデル23は、身体を動かすための複数の基準点(いわゆるボーン)を備えている。各基準点は女性モデル23の動作システム(モーション計算等)により移動し、現在位置情報(以下「第1現在位置」という)を有する。基準点設定処理部13は、それらの一部又は全部を乳房27L,27Rを変形させるための基準点として設定する。図3に示す例では、左右の肩関節近傍に位置する基準点29,31、左右の乳房27L,27Rの中心近傍に位置する基準点33,35が、乳房27L,27Rを変形させるための基準点として設定されている。なお、上記以外の身体部位(例えば首関節など)に位置する基準点を、乳房27L,27Rを変形させるための基準点に設定してもよい。
図4に、乳房27Lに対して設定された制御点37の一例を示す。なお、図示は省略するが乳房27Rも同様である。制御点37は、乳房27Lの形状を表現するために制御上使用される点である。複数の制御点37は例えば直方体内で格子状に配列されており、その直方体が乳房27Lを包含するように制御点設定処理部15により設定される。制御点37の数は特に限定されるものではないが、例えば乳房27L,27Rのそれぞれに対して300~400個程度が設定される。以下では、格子状に配列された一群の制御点37を管理単位としてエンティティという。図3に示すように、乳房27Lにエンティティ39Lが割り当てられ、乳房27Rにエンティティ39Rが割り当てられている。
図5に、乳房27L及び水着25の形状を構成するメッシュ41の一例を示す。なお、図5に示す例では三角形状のメッシュ41を用いているが、三角形以外の多角形状(例えば四角形)のメッシュを用いてもよい。また、変形オブジェクトの形状を構成する形状要素は、メッシュに限るものではなく、変形オブジェクトの形状を定義可能であれば、頂点、辺、面、又はそれらの集合等としてもよい(例えばポリゴン、サーフェス等ともいう)。また、図示は省略するが乳房27Rも同様である。メッシュ41の数は特に限定されるものではないが、例えば乳房27L,27Rのそれぞれに対して数千~数万個程度が設定される。したがって、乳房27L,27Rのそれぞれに設定される制御点37の数は、乳房27L,27Rのそれぞれの形状を構成するメッシュ41の数に比べて大幅に少ない。このため、1つの制御点37に複数のメッシュ41の頂点が対応付けられることとなり、それら複数のメッシュ41が均質な動きをすることにより、乳房27L,27Rが変形する際に不自然な挙動となる場合がある。
例えば、乳房27L,27Rに揺れ等の動作(変形)が生じた場合に、相対的に硬い部位である水着25の着用部分と相対的に柔らかい部位である肌部分とが均質な動きをすると、水着と肌の素材感の違いが表現されずに不自然な動作となる。特に、水着25の例えば肩紐43やストラップ45が肌部分と均質な動きをすると、ユーザに大きな違和感を生じさせる可能性がある。
一方で、制御点37の数を増やし、水着25の着用部分と肌部分とでメッシュに異なる動きをさせると自然な表現が可能となるが、その分だけ情報処理装置3の演算処理負荷が増大し、処理が重くなってしまう。
そこで本実施形態では、乳房27L,27Rのそれぞれに対して複数の制御点37を設定する際に、少なくとも一部の制御点37が複数層の点要素を有するように設定する。そして、乳房27L,27Rに作用する力に応じて各層の点要素にそれぞれ異なる挙動をさせる(詳細は後述)。これにより、制御点37の数を増やすことなくメッシュ41の動きを多様化させることが可能となる。
なお、変形オブジェクトに設定された全ての制御点37を多層化する必要はなく、必要な部分のみ多層化すればよい。例えば図4及び図5に示す例では、乳房27Lのうち水着25の着用部分に対応する制御点37s(ハッチングで図示)については、第1層の点要素のみを有する単層構造となっている。また、それ以外の水着25と肌の境目近傍、及び、肌部分に対応する制御点37m(白色で図示)については、第1層の点要素及び第2層の点要素を有する多層構造となっている。なお、単層構造と多層構造を特に区別しないときには単に「制御点37」という。
制御点移動処理部17は、乳房27L,27Rに作用する力に基づいて、複数の制御点37の少なくとも一部を移動させると共に、複数層の点要素を有する制御点37mを移動させる場合には各層の点要素をそれぞれ異なる挙動で移動させる。具体的には、制御点移動処理部17は、第1移動処理部47と第2移動処理部49とを有している。第1移動処理部47は、複数層の点要素を有する制御点37mを移動させる場合に、乳房27L,27Rに作用する力に基づいて、全ての層の点要素を移動させる第1移動処理を実行する。第2移動処理部49は、第2層(第n+1層(nは自然数)の一例)の点要素を第1層(第n層の一例)の点要素に対して相対移動させる第2移動処理を実行する。
以下、第1移動処理部47により実行される第1移動処理の具体例について説明する。第1移動処理部47は、重み量設定処理部51と、目標位置計算処理部53と、制御点更新処理部55とを有する。
重み量設定処理部51は、制御点に対して少なくとも1つの基準点を関連付けると共に、当該関連付けられた基準点ごとに関連度合いを表す重み量を設定する。本実施形態では、重み量設定処理部51は、乳房27Lに対応するエンティティ39Lに含まれる各制御点37に対しては3つの基準点29,31,33を関連付け、乳房27Rに対応するエンティティ39Rに含まれる各制御点37に対しては3つの基準点29,31,35を関連付ける。また重み量設定処理部51は、エンティティ39Lに含まれる各制御点37に対して、上記関連付けられた基準点29,31,33ごとに重み量を設定し、エンティティ39Rに含まれる各制御点37に対して、上記関連付けられた基準点29,31,35ごとに重み量を設定する。なお、1つの制御点37に設定される各基準点に対する重み量(割合、比率)の合計は1である。
目標位置計算処理部53は、制御点37の目標位置(以下「第1目標位置」という)を、当該制御点37に関連付けられた基準点の第1現在位置と重み量とに基づいて計算する。具体的には、目標位置計算処理部53は、下記の計算式(1)にしたがって、各制御点37の第1目標位置を、当該制御点37に関連付けられた全ての基準点について当該基準点の第1現在位置と重み量との積を合計することにより計算する。
Figure 0007189051000001
なお、goal[i]∈Rはi番目の制御点37の第1目標位置、BoneNum[i]∈Nはi番目の制御点37に関連付けられた基準点の数、BoneWeightArray[i][j]∈Rはi番目の制御点37に関連付けられたj番目の基準点の重み量、BonePosition[k]∈Rはk番目の基準点の第1現在位置、BoneArray[i][j]∈Zはi番目の制御点37に関連付けられたj番目の基準点のインデックス(配列の添字)である。
制御点更新処理部55は、上記目標位置計算処理部53により計算された第1目標位置に近づくように制御点37の現在位置(以下「第2現在位置」という)を更新する。例えば、制御点更新処理部55は、下記の計算式(2)及び(3)にしたがって、各制御点37の第2現在位置を更新する。
Figure 0007189051000002
Figure 0007189051000003
なお、NodeVelocity[i](t)はi番目の制御点37の時刻tにおける移動速度、hは時間ステップ、αは変形オブジェクトの剛性、goal[i](t)はi番目の制御点37の時刻tにおける第1目標位置、NodePosition[i](t)はi番目の制御点37の時刻tにおける第2現在位置、fext[i](t)は時刻tにおいてi番目の制御点37に作用する外力、m[i]はi番目の制御点37の質量である。上記剛性αは0から1の間で変化し、α=1の場合は変形オブジェクトが剛体、α<1の場合は0に近づくほど変形オブジェクトが柔らかいことを示す。
図6に、上述した制御による基準点及び制御点の挙動の一例を示す。なお、図6は乳房27Lに対応するエンティティ39Lに含まれる制御点37及び関連付けられた基準点29,31,33を図示しているが、説明を簡単にするために制御点37の数を減らして簡易的な二次元オブジェクトとして説明する。エンティティ39Lには、単層構造の制御点37s(ハッチングで図示)と、多層構造の制御点37m(白色で図示)とが含まれる。
図6(a)に示す初期状態から、女性モデル23が動作することにより、例えば図6(b)に示すように各基準点29,31,33が移動したとする。前述のように、各制御点37には関連付けられた3つの基準点29,31,33ごとに重み量が設定されており、基準点29,31,33の移動後の第1現在位置と上記重み量に応じて、各制御点37の第1目標位置37gがそれぞれ計算される。図6(b)にはこの計算された第1目標位置37gが破線で示されている。その後、各制御点37の第2現在位置が計算された第1目標位置37gに近づくように更新され、各制御点37が上述した剛性αに基づく速度により第1目標位置37gに引き寄せられる。そして、図6(c)に示すように、各制御点37が第1目標位置37gへの移動を完了する。このようにして、女性モデル23の身体動作に伴う乳房27Lの柔軟な変形が表現される。
なお、以上説明した移動処理は、多層構造の制御点37mだけでなく、単相構造である制御点37sについても同様に実行される。そして、制御点37m,37sのいずれである場合にも、全ての層(単相である場合は1層、多層である場合は全層)の点要素が一体的に移動される。
次に、第2移動処理部49により実行される第2移動処理の具体例について説明する。
前述のように、第2移動処理は、第2層の点要素を第1層の点要素に対して相対移動(相対運動)させる処理である。したがって、第2移動処理は多層構造の制御点37mだけに実行される。第2移動処理は、各制御点37mごとに例えば第2層の点要素を第1層の点要素に対して僅かに揺動(振動)させる等により、乳房27L,27Rの肌部分の表面が全体的に波打つような柔らかさを表現するための処理である。第2移動処理は、上述の第1移動処理の後、又は、第1移動処理と同時並行して実行される。第2移動処理では、各制御点37mにおける第2層の点要素の第1層の点要素に対する相対的な移動量及び移動方向が、上述の第1移動処理による移動量(又は移動速度)及び移動方向に基づいて、例えばばねモデル(目標地点に向かって距離に比例した加速度を与える制御)で演算される。
図7に、上述した制御による第2層の点要素の挙動の一例を示す。図7に示す例では、前述の図6(b)及び図6(c)において移動した2つの制御点37mにおいて、第2層の点要素37m2(一点鎖線で図示)が第1層の点要素37m1(実線で図示)に対して第1移動処理の移動方向(図7では左右方向)に沿うように所定の移動量で揺動している。
なお、以上説明した第1移動処理及び第2移動処理は一例であり、上記以外の手法で実行されてもよい。また、以上では乳房27L,27Rに対する衝突がない場合の変形処理について説明したが、衝突がある場合の変形処理に対しても、上述と同様の第2移動処理を実行してもよい。この場合の第1移動処理については、詳細な説明を省略するが、例えば衝突オブジェクトと乳房27L,27Rとの衝突判定を行い、衝突中の制御点37(衝突オブジェクトの内部に位置する制御点37)について、当該制御点37から最も近い衝突オブジェクトの表面に向けて移動させる等の処理を行ってもよい。
図2に戻り、対応情報取得処理部19は、乳房27L,27Rの形状を構成する各メッシュ41の頂点がどの制御点37のどの層の点要素に対応付けられているかを規定する対応情報を取得する。具体的には、乳房27L,27Rは、硬さの異なる複数の部位、例えば本実施形態では相対的に硬い部位である水着25の着用部分と相対的に柔らかい部位である肌部分とを備えており、対応情報は、第2層の点要素を、第1層の点要素に対応する部位(水着25の着用部分)よりも柔らかい部位(肌部分)のメッシュ41の頂点に対応付けるように規定する。
図8に、対応情報により規定されたメッシュ41の頂点57と制御点37の各層の点要素との対応付けの一例を示す。なお、図8では説明を簡単にするために、1つの制御点37に2つのメッシュ頂点57がそれぞれ対応付けられているものとして簡易化して図示している。また、理解を容易とするために、各制御点37について第1層と第2層の点要素を階層的に図示しているが、実際には第1層の点要素37m1と第2層の点要素37m2は、乳房27L,27Rに動き(変形)がない場合には同じ位置(座標)に位置している。また、乳房27L,27Rに動き(変形)がある場合でも、前述の第2移動処理が実行されていない状態(第1移動処理のみが実行されている状態)では互いに重なった状態で一体的に移動する。
図8に示すように、乳房27L,27Rにおいて、水着25の着用部分については単層構造の制御点37sが配置され、水着25の着用部分と肌部分の境目近傍、及び、肌部分については多層構造の制御点37mが配置されている。そして、メッシュ41の各頂点57のうち、水着25の着用部分に対応する頂点57は、制御点37sの第1層の点要素37s1、及び、制御点37mの第1層の点要素37m1にそれぞれ対応付けられている。一方、メッシュ41の各頂点57のうち、肌部分に対応する頂点57は、制御点37mの第2層の点要素37m2にそれぞれ対応付けられている。
図2に戻り、画像生成処理部21は、各制御点37m,37s及び各点要素37m1,37m2,37s1の位置に基づいて乳房27L,27Rの形状を表す画像を生成する。具体的には、画像生成処理部21は、上記対応情報取得処理部19により取得した対応情報に基づいて、各メッシュ頂点57を対応付けられた点要素37m1,37m2,37s1に追従するように移動させて、乳房27L,27Rの形状を表す画像を生成する。
なお、以上説明した各処理部における処理等は、これらの処理の分担の例に限定されるものではなく、例えば、更に少ない数の処理部(例えば1つの処理部)で処理されてもよく、また、更に細分化された処理部により処理されてもよい。また、上述した各処理部の機能は、後述するCPU101(後述の図11参照)が実行するゲームプログラムにより実装されるものであるが、例えばその一部がASICやFPGA等の専用集積回路、その他の電気回路等の実際の装置により実装されてもよい。
<3.情報処理装置が実行する処理手順>
次に、図9を用いて、情報処理装置3のCPU101によって実行される処理手順の一例について説明する。
ステップS10では、情報処理装置3は、基準点設定処理部13により、乳房27L,27Rに対して複数の基準点29,31,33,35を設定する。
ステップS20では、情報処理装置3は、制御点設定処理部15により、乳房27L,27Rに対して複数の制御点37を設定すると共に、少なくとも一部の制御点37mが複数層の点要素37m1,37m2を有するように設定する。
ステップS30では、情報処理装置3は、制御点移動処理部17の第1移動処理部47により、多層構造の各制御点37mについて、乳房27L,27Rに作用する力に基づいて全ての層の点要素37m1,37m2を移動させる第1移動処理を実行する。なお、第1移動処理は単層構造の各制御点37sについても実行され、乳房27L,27Rに作用する力に基づいて第1層の点要素37s1が移動される。
ステップS40では、情報処理装置3は、制御点移動処理部17の第2移動処理部49により、各制御点37mについて、第2層の点要素37m2を第1層の点要素37m1に対して相対移動(相対運動)させる第2移動処理を実行する。
ステップS50では、情報処理装置3は、対応情報取得処理部19により、乳房27L,27Rの形状を構成する各メッシュ41の頂点57がどの制御点37のどの層の点要素に対応付けられているかを規定する対応情報を取得する。
ステップS60では、情報処理装置3は、画像生成処理部21により、上記ステップS50で取得した対応情報に基づいて、各メッシュ41の頂点57を対応付けられた点要素37m1,37m2,37s1に追従するように移動させる。
ステップS70では、情報処理装置3は、画像生成処理部21により、上記ステップS60で頂点57を移動させた各メッシュ41に基づいて、変形オブジェクトである乳房27L,27Rの形状を表す画像を生成する。以上により本フローを終了する。
なお、上述した処理手順は一例であって、上記手順の少なくとも一部を削除又は変更してもよいし、上記以外の手順を追加してもよい。また、上記手順の少なくとも一部の順番を変更してもよいし、複数の手順が単一の手順にまとめられてもよい。例えば、上記ステップS30とステップS40は同時並行して実行されてもよいし、1つの手順にまとめられてもよい。
<4.実施形態の効果>
以上説明したように、本実施形態のゲームプログラムは、情報処理装置3を、変形可能な乳房27L,27Rに複数の制御点37m,37sを設定すると共に、少なくとも一部の制御点37mが複数層の点要素37m1,37m2を有するように設定する制御点設定処理部15、乳房27L,27Rに作用する力に基づいて、複数の制御点37m,37sの少なくとも一部を移動させると共に、複数層の点要素37m1,37m2を有する制御点37mを移動させる場合には各層の点要素37m1,37m2をそれぞれ異なる挙動で移動させる、制御点移動処理部17、制御点37m,37s及び点要素37m1,37m2,37s1の位置に基づいて乳房27L,27Rの形状を表す画像を生成する画像生成処理部21、として機能させる。
これにより、乳房27L,27Rの形状を構成する各メッシュ41の頂点57を所定の制御点37m,37sの所定の点要素37m1,37m2,37s1とそれぞれ対応付けることにより、制御点の数を増やすことなくメッシュ41の動きを多様化させることができる。したがって、情報処理装置3の演算処理負荷を軽減しつつ、乳房27L,27Rが変形する挙動を自然に表現することができる。
また、本実施形態では特に、ゲームプログラムは、情報処理装置3を、乳房27L,27Rの形状を構成する各メッシュ41の頂点57がどの制御点37m,37sのどの層の点要素37m1,37m2,37s1に対応付けられているかを規定する対応情報を取得する対応情報取得処理部19、としてさらに機能させ、画像生成処理部21は、対応情報に基づいて、メッシュ41の頂点57を対応付けられた点要素37m1,37m2,37s1に追従するように移動させて、乳房27L,27Rの形状を表す画像を生成する。
これにより、乳房27L,27Rを変形させる際に、例えば微細な振動運動や細部の密度変化による動き(例えばメッシュレベルでの微細な素材感の違いなど)等を表現することができる。
また、本実施形態では特に、制御点移動処理部17は、複数層の点要素37m1,37m2を有する制御点37mを移動させる場合には、乳房27L,27Rに作用する力に基づいて、全ての層の点要素37m1,37m2を移動させる第1移動処理を実行すると共に、第2層の点要素37m2を第1層の点要素37m1に対して相対移動させる第2移動処理を実行する。
これにより、第2層の点要素37m2はその1層下の第1層の点要素37m1に対する相対的な動きのみを考慮して移動(運動)させればよいので、例えば層数と同じ数(この例では2つ)の制御点37を個別に設ける場合に比べて処理負荷を大幅に軽減できる。また、第2層の点要素37m2を1層下の第1層の点要素37m1に対して相対的に微細な動きをさせることができるので、所定のメッシュ頂点57を第2層の点要素37m2に対応付けることにより、乳房27L,27Rを変形させる際に、特定の部位(本実施形態では肌部分)の例えば微細な振動運動や細部の密度変化による動き等を表現することが可能となる。
また、本実施形態では特に、乳房27L,27Rは、硬さの異なる複数の部位(水着25の着用部分、肌部分)を備えており、対応情報は、第2層の点要素37m2を、第1層の点要素37m1に対応する部位(水着25の着用部分)よりも柔らかい部位(肌部分)のメッシュ頂点57に対応付けるように規定する。
これにより、上記実施形態のように、肌の露出がある着衣(水着25等)を着用した女性モデル23の着衣部分と肌部分との間で微細な挙動の違いや素材感の違いを表現したり、肌部分について微細な振動運動や細部の密度変化による動きを表現することが可能となる。その結果、乳房27L,27Rにおいて、水着25の着用部分については布素材の締め付けによる硬さを表現しつつ、露出した肌部分についてはその表面が全体的に波打つような柔らかさを表現することができる。
<5.変形例等>
なお、本発明は、上記の実施形態に限られるものではなく、その趣旨及び技術的思想を逸脱しない範囲内で種々の変形が可能である。
例えば以上では、多層構造の制御点37mが2層構造である場合を一例として説明したが、3層以上の多層構造としてもよい。例えば3層構造とする場合、第1移動処理では、変形オブジェクトに作用する力に基づいて、3層の全ての層の点要素が移動される。一方、第2移動処理では、第3層(第n+1層(nは自然数)の一例)の点要素が第2層(第n層の一例)の点要素に対して相対移動されると共に、第2層(第n+1層(nは自然数)の一例)の点要素が第1層(第n層の一例)の点要素に対して相対移動される。
図10に、3層構造の場合における、対応情報により規定されたメッシュ41の頂点57と制御点37の各層の点要素との対応付けの一例を示す。なお、図10は、女性モデルが例えば金属や皮等の比較的硬い素材で構成される鎧と、例えば布などの比較的柔らかい素材で構成される衣服とを装備し、且つ、乳房やお尻等の柔らかい身体部位の肌部分が露出されている場合の例である。
図10に示すように、鎧の着用部分については単層構造の制御点37sが配置され、鎧の着用部分と衣服の着用部分の境目近傍、及び、衣服の着用部分については2層構造の制御点37mが配置され、衣服の着用部分と肌部分の境目近傍、及び、肌部分については3層構造の制御点37mが配置されている。そして、メッシュ41の各頂点57のうち、鎧の着用部分に対応する頂点57は、制御点37sの第1層の点要素37s1、及び、制御点37m(2層構造)の第1層の点要素37m1にそれぞれ対応付けられている。また、衣服の着用部分に対応する頂点57は、制御点37m(2層構造)の第2層の点要素37m2、及び、制御点37m(3層構造)の第2層の点要素37m2にそれぞれ対応付けられている。また、肌部分に対応する頂点57は、制御点37m(3層構造)の第3層の点要素37m3にそれぞれ対応付けられている。
これにより、鎧部分と衣服部分との間、及び、衣服部分と肌部分との間で微細な挙動の違いや素材感の違いを表現したり、衣服部分や肌部分について微細な振動運動や細部の密度変化による動きを表現することが可能となる。
また以上では、変形オブジェクトが女性モデルの身体部位である場合について説明したが、これに限定されるものではない。例えば、男性モデルの身体部位(例えば肥満した男性モデルのお腹など)でもよい。また、人間以外の動物モデルや、人間や動物以外の仮想的な生物モデル(例えば怪物、ゴースト、妖怪等)、ロボットやアンドロイドが備える変形可能な身体部位等でもよい。さらに、変形可能な物品や物体、アイテム等でもよい。例えば装備品や装飾品において部分的に素材が違う構成を有するような場合(例えば金属と布、硬い布と柔らかい布など)、本発明を適用することで、それらの間で微細な挙動の違いや素材感の違いを表現すること等が可能となる。
また、以上では、画像生成プログラムがゲームプログラムである場合について説明したが、画像生成プログラムは、ゲーム以外の技術(例えばCGアニメーション、コンピュータ・シミュレーション、CAD等)にも適用可能である。
また、以上既に述べた以外にも、上記実施形態や各変形例による手法を適宜組み合わせて利用しても良い。その他、一々例示はしないが、上記実施形態や各変形例は、その趣旨を逸脱しない範囲内において、種々の変更が加えられて実施されるものである。
<6.情報処理装置のハードウェア構成>
次に、図11を用いて、上記で説明したCPU101等が実行するプログラムにより実装された各処理部を実現する情報処理装置3のハードウェア構成の一例について説明する。
図11に示すように、情報処理装置3は、例えば、CPU101と、ROM103と、RAM105と、GPU106と、例えばASIC又はFPGA等の特定の用途向けに構築された専用集積回路107と、入力装置113と、出力装置115と、記録装置117と、ドライブ119と、接続ポート121と、通信装置123を有する。これらの構成は、バス109や入出力インターフェース111等を介し相互に信号を伝達可能に接続されている。
ゲームプログラムは、例えば、ROM103やRAM105、記録装置117等に記録しておくことができる。
また、ゲームプログラムは、例えば、フレキシブルディスクなどの磁気ディスク、各種のCD、MOディスク、DVD等の光ディスク、半導体メモリ等のリムーバブルな記録媒体125に、一時的又は永続的(非一時的)に記録しておくこともできる。このような記録媒体125は、いわゆるパッケージソフトウエアとして提供することもできる。この場合、これらの記録媒体125に記録されたゲームプログラムは、ドライブ119により読み出されて、入出力インターフェース111やバス109等を介し上記記録装置117に記録されてもよい。
また、ゲームプログラムは、例えば、ダウンロードサイト、他のコンピュータ、他の記録装置等(図示せず)に記録しておくこともできる。この場合、ゲームプログラムは、LANやインターネット等のネットワークNWを介し転送され、通信装置123がこのプログラムを受信する。そして、通信装置123が受信したプログラムは、入出力インターフェース111やバス109等を介し上記記録装置117に記録されてもよい。
また、ゲームプログラムは、例えば、適宜の外部接続機器127に記録しておくこともできる。この場合、ゲームプログラムは、適宜の接続ポート121を介し転送され、入出力インターフェース111やバス109等を介し上記記録装置117に記録されてもよい。
そして、CPU101が、上記記録装置117に記録されたプログラムに従い各種の処理を実行することにより、前述の制御点設定処理部15、制御点移動処理部17、対応情報取得処理部19、画像生成処理部21等による処理が実現される。この際、CPU101は、例えば、上記記録装置117からプログラムを、直接読み出して実行してもよく、RAM105に一旦ロードした上で実行してもよい。更にCPU101は、例えば、プログラムを通信装置123やドライブ119、接続ポート121を介し受信する場合、受信したプログラムを記録装置117に記録せずに直接実行してもよい。
また、CPU101は、必要に応じて、前述のゲームコントローラ5を含む、例えばマウス、キーボード、マイク等(図示せず)の入力装置113から入力する信号や情報に基づいて各種の処理を行ってもよい。
GPU106は、CPU101からの指示に応じて例えばレンダリング処理などの画像表示のための処理を行う。
そして、CPU101及びGPU106は、上記の処理を実行した結果を、例えば前述の表示装置7や音声出力部等を含む、出力装置115から出力する。さらにCPU101及びGPU106は、必要に応じてこの処理結果を通信装置123や接続ポート121を介し送信してもよく、上記記録装置117や記録媒体125に記録させてもよい。
3 情報処理装置
13 基準点設定処理部
15 制御点設定処理部
17 制御点移動処理部
19 対応情報取得処理部
21 画像生成処理部
27L,27R 乳房(オブジェクト)
37 制御点
37m 制御点
37m1 点要素
37m2 点要素
37s 制御点
37s1 点要素
41 メッシュ
47 第1移動処理部
49 第2移動処理部
57 頂点(形状要素)
125 記録媒体

Claims (7)

  1. 情報処理装置を、
    変形可能なオブジェクトに複数の制御点を設定すると共に、少なくとも一部の前記制御点が複数層の点要素を有するように設定する制御点設定処理部、
    前記オブジェクトに作用する力に基づいて、前記複数の制御点の少なくとも一部を移動させると共に、前記複数層の点要素を有する前記制御点を移動させる場合には各層の前記点要素をそれぞれ異なる挙動で移動させる、制御点移動処理部、
    前記制御点及び前記点要素の位置に基づいて前記オブジェクトの形状を表す画像を生成する画像生成処理部、
    として機能させる、画像生成プログラム。
  2. 前記情報処理装置を、
    前記オブジェクトの形状を構成する形状要素がどの前記制御点のどの層の前記点要素に対応付けられているかを規定する対応情報を取得する対応情報取得処理部、
    としてさらに機能させ、
    前記画像生成処理部は、
    前記対応情報に基づいて、前記形状要素を対応付けられた前記点要素に追従するように移動させて、前記オブジェクトの形状を表す画像を生成する、
    請求項1に記載の画像生成プログラム。
  3. 前記制御点移動処理部は、
    前記複数層の点要素を有する前記制御点を移動させる場合には、前記オブジェクトに作用する力に基づいて、全ての層の前記点要素を移動させる第1移動処理を実行すると共に、第n+1層(nは自然数)の点要素を第n層の点要素に対して相対移動させる第2移動処理を実行する、
    請求項2に記載の画像生成プログラム。
  4. 前記オブジェクトは、
    硬さの異なる複数の部位を備えており、
    前記対応情報は、
    前記第n+1層の点要素を、前記第n層の点要素に対応する部位よりも柔らかい部位の前記形状要素に対応付けるように規定する、
    請求項3に記載の画像生成プログラム。
  5. ゲームプログラムであることを特徴とする請求項1乃至4のいずれか1項に記載の画像生成プログラム。
  6. 請求項1乃至5のいずれか1項に記載の画像生成プログラムを記録した、情報処理装置が読み取り可能な記録媒体。
  7. 情報処理装置によって実行される画像生成方法であって、
    変形可能なオブジェクトに複数の制御点を設定すると共に、少なくとも一部の前記制御点が複数層の点要素を有するように設定するステップと、
    前記オブジェクトに作用する力に基づいて、前記複数の制御点の少なくとも一部を移動させると共に、前記複数層の点要素を有する前記制御点を移動させる場合には各層の前記点要素をそれぞれ異なる挙動で移動させるステップと、
    前記制御点及び前記点要素の位置に基づいて前記オブジェクトの形状を表す画像を生成するステップと、
    を有する、画像生成方法。
JP2019039597A 2019-03-05 2019-03-05 画像生成プログラム、記録媒体、画像生成方法 Active JP7189051B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019039597A JP7189051B2 (ja) 2019-03-05 2019-03-05 画像生成プログラム、記録媒体、画像生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019039597A JP7189051B2 (ja) 2019-03-05 2019-03-05 画像生成プログラム、記録媒体、画像生成方法

Publications (2)

Publication Number Publication Date
JP2020144519A JP2020144519A (ja) 2020-09-10
JP7189051B2 true JP7189051B2 (ja) 2022-12-13

Family

ID=72354165

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019039597A Active JP7189051B2 (ja) 2019-03-05 2019-03-05 画像生成プログラム、記録媒体、画像生成方法

Country Status (1)

Country Link
JP (1) JP7189051B2 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009537927A (ja) 2006-05-19 2009-10-29 ソニー株式会社 筋骨格形状スキニング
JP2017134609A (ja) 2016-01-27 2017-08-03 株式会社コーエーテクモゲームス 画像生成プログラム及び記録媒体

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009537927A (ja) 2006-05-19 2009-10-29 ソニー株式会社 筋骨格形状スキニング
JP2017134609A (ja) 2016-01-27 2017-08-03 株式会社コーエーテクモゲームス 画像生成プログラム及び記録媒体

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
岩本 尚也 他,キャラクターの身体構造を考慮した実時間肉揺れ生成手法,画像電子学会誌,日本,一般社団法人画像電子学会,2015年12月31日,Vol.44 No.3,pp. 502-511

Also Published As

Publication number Publication date
JP2020144519A (ja) 2020-09-10

Similar Documents

Publication Publication Date Title
US6310619B1 (en) Virtual reality, tissue-specific body model having user-variable tissue-specific attributes and a system and method for implementing the same
JP2021529380A (ja) 異種入力の補間のための方法およびシステム
EP2817749A1 (en) System and method for simulating realistic clothing
JP2015184875A (ja) データ処理装置及びデータ処理プログラム
US20130307850A1 (en) Action modeling device, method, and program
US11094115B2 (en) Generating clothing patterns of garment using bounding volumes of body parts
JP5232129B2 (ja) 仮想キャラクタ生成装置及び仮想キャラクタ生成プログラム
JP4988862B2 (ja) リアルタイム・クロース・シミュレーションシステム及び方法
CN112395786A (zh) 服装纸样的自动放码
CN107791246A (zh) 机器人模拟装置
KR20210142200A (ko) 애니메이팅된 캐릭터의 수정
Tong et al. Survey on hand-based haptic interaction for virtual reality
US11093037B2 (en) Computer-implemented method, system and computer program product for simulating the behaviour of a hand that interacts with objects in a virtual environment
JP7189051B2 (ja) 画像生成プログラム、記録媒体、画像生成方法
JP5010603B2 (ja) 着装シミュレーション装置とその方法及びプログラム
JP2022088007A (ja) 画像生成プログラム、記録媒体、画像生成方法
US7113189B2 (en) Recording medium storing 3D model deformation program, 3D model deformation program, 3D model deformation method and video game device
US20170024492A1 (en) Method and apparatus for modeling and restoring target object using pre-computation
KR20190028634A (ko) 디지털 크리쳐의 제작 방법 및 전자장치
US20220111290A1 (en) Haptic engine for spatial computing
JP7008557B2 (ja) 画像生成プログラム、記録媒体、画像生成方法
JP3973992B2 (ja) 3次元モデル変形システム
CA2496299A1 (en) Method and system for virtual object generation
JP2009146103A (ja) 画像生成装置、画像生成方法、ならびに、プログラム
JP2023062814A (ja) 画像生成プログラム、記録媒体、画像生成方法

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20200327

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20200327

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220126

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221104

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20221122

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221201

R150 Certificate of patent or registration of utility model

Ref document number: 7189051

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150