JP2019174871A - Image generation program, recording medium, and image generation method - Google Patents
Image generation program, recording medium, and image generation method Download PDFInfo
- Publication number
- JP2019174871A JP2019174871A JP2018059031A JP2018059031A JP2019174871A JP 2019174871 A JP2019174871 A JP 2019174871A JP 2018059031 A JP2018059031 A JP 2018059031A JP 2018059031 A JP2018059031 A JP 2018059031A JP 2019174871 A JP2019174871 A JP 2019174871A
- Authority
- JP
- Japan
- Prior art keywords
- control point
- processing unit
- collision
- image generation
- setting
- 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.)
- Granted
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
Abstract
Description
本発明は、画像生成プログラム、記録媒体、画像生成方法に関する。 The present invention relates to an image generation program, a recording medium, and an image generation method.
従来、仮想空間内のキャラクタオブジェクトを変形させた画像を生成する技術が知られている。この技術によれば、主ボーンに固定された座標系における副ボーンの位置を変化させ、仮想空間に固定された座標系における制御点の位置を副ボーンの位置の変化量に基づいて計算し、計算された制御点の位置に基づいてスキンの形状を決めた画像を生成することで、仮想空間内のキャラクタオブジェクトを変形させる(例えば、特許文献1参照)。 Conventionally, a technique for generating an image obtained by deforming a character object in a virtual space is known. According to this technique, the position of the secondary bone in the coordinate system fixed to the main bone is changed, the position of the control point in the coordinate system fixed to the virtual space is calculated based on the amount of change in the position of the secondary bone, The character object in the virtual space is deformed by generating an image in which the shape of the skin is determined based on the calculated position of the control point (see, for example, Patent Document 1).
上記従来技術では、変形オブジェクトの変形を自然な挙動とする場合には複雑な演算を行う必要があり、情報処理装置の演算処理負担が増大するという課題があった。 In the above-described conventional technology, there is a problem in that when the deformation of the deformed object is a natural behavior, it is necessary to perform a complicated operation and the calculation processing load of the information processing apparatus increases.
本発明はこのような問題点に鑑みてなされたものであり、情報処理装置の演算処理負担を軽減しつつ、変形オブジェクトの挙動を自然に表現することが可能な画像生成プログラム及びこの画像生成プログラムが記録された記録媒体を提供することを目的とする。 The present invention has been made in view of such problems, and an image generation program capable of naturally expressing the behavior of a deformed object while reducing the processing load on the information processing apparatus, and the image generation program An object of the present invention is to provide a recording medium on which is recorded.
上記目的を達成するために、本発明の画像生成プログラムは、情報処理装置を、変形可能な変形オブジェクトに対して1又は複数の基準点を設定する基準点設定処理部、前記変形オブジェクトに対して複数の制御点を設定する制御点設定処理部、前記制御点に対して少なくとも1つの前記基準点を関連付けると共に、当該関連付けられた前記基準点ごとに関連度合いを表す重み量を設定する重み量設定処理部、前記制御点の第1目標位置を、当該制御点に関連付けられた前記基準点の第1現在位置と前記重み量とに基づいて計算する目標位置計算処理部、前記第1目標位置に近づくように前記制御点の第2現在位置を更新する制御点更新処理部、前記第2現在位置に基づいて前記変形オブジェクトの形状を表す画像を生成する画像生成処理部、として機能させる。 In order to achieve the above object, an image generation program of the present invention provides an information processing apparatus for a reference point setting processing unit that sets one or a plurality of reference points for a deformable deformable object, and for the deformable object. A control point setting processing unit for setting a plurality of control points, a weight amount setting for associating at least one reference point with the control point and setting a weight amount representing the degree of association for each of the associated reference points A processing unit, a target position calculation processing unit for calculating a first target position of the control point based on a first current position of the reference point associated with the control point and the weight amount; A control point update processing unit that updates the second current position of the control point so as to approach, and an image generation processing unit that generates an image representing the shape of the deformed object based on the second current position To function as.
上記目的を達成するために、本発明の記録媒体は、上記画像生成プログラムを記録した、情報処理装置が読み取り可能な記録媒体である。 In order to achieve the above object, a recording medium of the present invention is a recording medium readable by an information processing apparatus on which the image generation program is recorded.
上記目的を達成するために、本発明の画像生成方法は、情報処理装置によって実行される画像生成方法であって、変形可能な変形オブジェクトに対して1又は複数の基準点を設定するステップと、前記変形オブジェクトに対して複数の制御点を設定するステップと、前記制御点に対して少なくとも1つの前記基準点を関連付けると共に、当該関連付けられた前記基準点ごとに関連度合いを表す重み量を設定するステップと、前記制御点の第1目標位置を、当該制御点に関連付けられた前記基準点の第1現在位置と前記重み量とに基づいて計算するステップと、前記第1目標位置に近づくように前記制御点の第2現在位置を更新するステップと、前記第2現在位置に基づいて前記変形オブジェクトの形状を表す画像を生成するステップと、を有する。 In order to achieve the above object, an image generation method of the present invention is an image generation method executed by an information processing apparatus, wherein one or more reference points are set for a deformable deformable object; The step of setting a plurality of control points for the deformed object, associating at least one reference point with the control point, and setting a weight amount representing the degree of association for each of the associated reference points. A step of calculating a first target position of the control point based on a first current position of the reference point associated with the control point and the weight amount, and approaching the first target position Updating the second current position of the control point; and generating an image representing the shape of the deformed object based on the second current position. That.
本発明の画像生成プログラム及び記録媒体によれば、情報処理装置の演算処理負担を軽減しつつ、変形オブジェクトの挙動を自然に表現することができる。 According to the image generation program and the recording medium of the present invention, it is possible to naturally express the behavior of the deformed object while reducing the processing load of the information processing apparatus.
以下、本発明の一実施の形態について図面を参照しつつ説明する。なお、本実施形態では、本発明をゲームに適用する場合、すなわち本発明の画像生成プログラム及び画像生成方法が情報処理装置によって実行されることによりゲームが提供される場合について説明するが、適用対象をゲームに限定するものではない。 Hereinafter, an embodiment of the present invention will be described with reference to the drawings. In the present embodiment, a case where the present invention is applied to a game, that is, a case where a game is provided by executing the image generation program and the image generation method of the present invention by an information processing apparatus will be described. Is not limited to games.
<1.ゲームシステムの全体構成>
まず、図1を用いて、本実施形態に係るゲームシステム1の全体構成の一例について説明する。図1に示すように、ゲームシステム1は、情報処理装置3と、コントローラ5と、表示装置7を有する。コントローラ5及び表示装置7の各々は、情報処理装置3と通信可能に接続されている。なお、図1には有線により接続された場合を図示しているが、無線により接続されてもよい。
<1. Overall configuration of game system>
First, an example of the overall configuration of the
情報処理装置3は、例えば据え置き型のゲーム機である。但しこれに限定されるものではなく、例えば入力部や表示部等を一体に備えた携帯型のゲーム機でもよい。また、ゲーム機以外にも、例えば、サーバコンピュータ、デスクトップ型コンピュータ、ノート型コンピュータ、タブレット型コンピュータ等のように、コンピュータとして製造、販売等されているものや、携帯電話、スマートフォン、ファブレット等のように、電話機として製造、販売等されているものでもよい。
The
プレイヤは、コントローラ5を用いて各種の操作入力を行う。図1に示す例では、コントローラ5は例えば十字キー9や複数のボタン11等を有する。なお、コントローラ5は上記十字キー9やボタン11に代えて又は加えて、例えばジョイスティックやタッチパッド等を有してもよい。
The player performs various operation inputs using the
<2.情報処理装置の機能的構成>
次に、図2及び図3〜図8を用いて、情報処理装置3の機能的構成の一例について説明する。
<2. Functional configuration of information processing apparatus>
Next, an example of a functional configuration of the
図2に示すように、情報処理装置3は、基準点設定処理部13と、制御点設定処理部15と、重み量設定処理部17と、目標位置計算処理部19と、制御点更新処理部21と、画像生成処理部23と、衝突判定処理部25と、表示用目標位置計算処理部27と、第1表示用位置更新処理部29と、移動量計算処理部31と、第1係数設定処理部33と、第2係数設定処理部35と、第3係数設定処理部37と、第2表示用位置更新処理部39と、パッチ設定処理部41と、第3表示用位置更新処理部43と、初期距離設定処理部45と、距離拘束処理部47とを有する。
As illustrated in FIG. 2, the
(2−1.衝突がない場合の変形処理)
まず、変形オブジェクトに対する衝突がない場合の変形処理について説明する。基準点設定処理部13は、変形可能な変形オブジェクトに対して1又は複数の基準点を設定する。また制御点設定処理部15は、変形オブジェクトに対して複数の制御点を設定する。
(2-1. Deformation process when there is no collision)
First, the deformation process when there is no collision with the deformed object will be described. The reference point
図3及び図4に、基準点及び制御点の設定の一例を示す。図3に示す例では、3次元仮想空間(2次元仮想空間でもよい)内に女性モデル49が表示されている。女性モデル49は水着50を着用しており、プレイヤによるコントローラ5の操作に応じて各種の動作を行う。3次元仮想空間内にはワールド座標系(X,Y,Z)が設定されている。
3 and 4 show an example of setting the reference points and control points. In the example shown in FIG. 3, a
女性モデル49は、変形可能な変形オブジェクトとして、左右の乳房51L,51Rを備えている。なお、乳房以外にも、例えば尻、太もも、腹、二の腕、その他変形可能な程度に柔らかい身体部位を、変形オブジェクトとして備えてもよい。また、変形オブジェクト(変形オブジェクトを備えるオブジェクト)は、上記の女性モデルに限定されるものではなく、例えば男性モデル、人間以外の動物モデル、人間や動物以外の仮想的な生物モデル等でもよいし、例えば生物以外の物体等でもよい。
The
女性モデル49は、身体を動かすための複数の基準点(いわゆるボーン)を備えている。各基準点は女性モデル49の動作システム(モーション計算等)により移動し、現在位置情報(以下「第1現在位置」という)を有する。基準点設定処理部13は、それらの一部又は全部を乳房51L,51Rを変形させるための基準点として設定する。図3に示す例では、左右の肩関節近傍に位置する基準点53,55、左右の乳房51L,51Rの中心近傍に位置する基準点57,59が、乳房51L,51Rを変形させるための基準点として設定されている。なお、上記以外の身体部位(例えば首関節)に位置する基準点を、乳房51L,51Rを変形させるための基準点に設定してもよい。
The
図4に、乳房51Lに対して設定された制御点61の一例を示す。なお、図示は省略するが乳房51Rも同様である。制御点61は、乳房51Lの形状を表現するために制御上使用される点である。複数の制御点61は直方体内で格子状に配列されており、その直方体が乳房51Lを包含するように制御点設定処理部15により設定される。制御点61の数は特に限定されるものではないが、例えば乳房51L,51Rのそれぞれに対して200〜300個程度が設定される。以下では、格子状に配列された一群の制御点61を管理単位としてエンティティという。図3に示すように、乳房51Lにエンティティ63Lが割り当てられ、乳房51Rにエンティティ63Rが割り当てられている。
FIG. 4 shows an example of the
図2に戻り、重み量設定処理部17は、制御点に対して少なくとも1つの基準点を関連付けると共に、当該関連付けられた基準点ごとに関連度合いを表す重み量を設定する。本実施形態では、重み量設定処理部17は、乳房51Lに対応するエンティティ63Lに含まれる各制御点61に対しては3つの基準点53,55,57を関連付け、乳房51Rに対応するエンティティ63Rに含まれる各制御点61に対しては3つの基準点53,55,59を関連付ける。また重み量設定処理部17は、エンティティ63Lに含まれる各制御点61に対して、上記関連付けられた基準点53,55,57ごとに重み量を設定し、エンティティ63Rに含まれる各制御点61に対して、上記関連付けられた基準点53,55,59ごとに重み量を設定する。なお、1つの制御点61に設定される各基準点に対する重み量(割合、比率)の合計は1である。
Returning to FIG. 2, the weight amount setting
目標位置計算処理部19は、制御点の目標位置(以下「第1目標位置」という)を、当該制御点に関連付けられた基準点の第1現在位置と重み量とに基づいて計算する。具体的には、目標位置計算処理部19は、下記の計算式(1)にしたがって、各制御点61の第1目標位置を、当該制御点61に関連付けられた全ての基準点について当該基準点の第1現在位置と重み量との積を合計することにより計算する。
The target position
なお、goal[i]∈R3はi番目の制御点61の第1目標位置、BoneNum[i]∈Nはi番目の制御点61に関連付けられた基準点の数、BoneWeightArray[i][j]∈Rはi番目の制御点61に関連付けられたj番目の基準点の重み量、BonePosition[k]∈R3はk番目の基準点の第1現在位置、BoneArray[i][j]∈Zはi番目の制御点61に関連付けられたj番目の基準点のインデックス(配列の添字)である。
Note that goal [i] εR 3 is the first target position of the i-
制御点更新処理部21は、上記目標位置計算処理部19により計算された第1目標位置に近づくように制御点61の現在位置(以下「第2現在位置」という)を更新する。例えば、制御点更新処理部21は、下記の計算式(2)及び(3)にしたがって、各制御点61の第2現在位置を更新する。
The control point
なお、NodeVelocity[i](t)はi番目の制御点61の時刻tにおける移動速度、hは時間ステップ、αは変形オブジェクトの剛性、goal[i](t)はi番目の制御点61の時刻tにおける第1目標位置、NodePosition[i](t)はi番目の制御点61の時刻tにおける第2現在位置、fext[i](t)は時刻tにおいてi番目の制御点61に作用する外力、m[i]はi番目の制御点61の質量である。上記剛性αは0から1の間で変化し、α=1の場合は変形オブジェクトが剛体、α<1の場合は0に近づくほど変形オブジェクトが柔らかいことを示す。
Note that NodeVelocity [i] (t) is the moving speed of the i-
図5に、上述した制御による基準点及び制御点の挙動の一例を示す。なお、図5は乳房51Lに対応するエンティティ63Lに含まれる制御点61及び関連付けられた基準点53,55,57を図示しているが、説明を簡単にするために制御点61の数を減らして簡易的な二次元オブジェクトとして説明する。
FIG. 5 shows an example of the behavior of the reference points and control points by the control described above. FIG. 5 illustrates the control points 61 included in the
図5(a)に示す初期状態から、女性モデル49が動作することにより、例えば図5(b)に示すように各基準点53,55,57が移動したとする。前述のように、各制御点61には関連付けられた3つの基準点53,55,57ごとに重み量が設定されており、基準点53,55,57の移動後の第1現在位置と上記重み量に応じて、各制御点61の第1目標位置61gがそれぞれ計算される。図5(b)にはこの計算された第1目標位置61gが破線で示されている。その後、各制御点61の第2現在位置が計算された第1目標位置61gに近づくように更新され、各制御点61が上述した剛性αに基づく速度により第1目標位置61gに引き寄せられる。そして、図5(c)に示すように、各制御点61が第1目標位置61gへの移動を完了する。このようにして、女性モデル49の身体動作に伴う乳房51Lの柔軟な変形が表現される。
It is assumed that the
図2に戻り、画像生成処理部23は、上記制御点更新処理部21により更新された制御点61の第2現在位置に基づいて変形オブジェクトの形状を表す画像を生成する。なお、制御点61は現在位置情報(第2現在位置)の他に表示用の位置情報(以下「表示用位置」という)を有しており、画像生成処理部23は正確には上記表示用位置に基づいて画像を生成する。但し、変形オブジェクトに対し衝突がない状態では第2現在位置と表示用位置は略一致するため、衝突がない状態では画像生成処理部23は制御点61の第2現在位置に基づいて画像を生成する、とも言える。
Returning to FIG. 2, the image
(2−2.衝突がある場合の変形処理)
次に、変形オブジェクトに対して衝突がある場合の変形処理について説明する。衝突判定処理部25は、変形オブジェクトに対する衝突の有無を判定する。なお、衝突判定はエンティティ単位で行われる。衝突の判定手法は、変形オブジェクトに対して衝突する衝突オブジェクトが変形可能か否か(変形オブジェクトとして処理されているか否か)により異なる。衝突オブジェクトが変形しないオブジェクトである場合には、衝突判定処理部25は、制御点61の第2現在位置が衝突オブジェクトの内部に位置するか否かを判定する。変形しない衝突オブジェクトとしては、例えばボールやカプセル、ボックス等のアイテム、他のモデルの柔らかくない身体部位(手足、頭、肩など)、着衣(水着など)等である。なお、衝突オブジェクトが変形するオブジェクトである場合の判定手法については後述する。
(2-2. Deformation process when there is a collision)
Next, a deformation process when there is a collision with a deformed object will be described. The collision
図6に、上記衝突判定手法の一例を示す。なお、図6は乳房51Lに対応するエンティティ63Lに含まれる制御点61を図示しているが、説明を簡単にするために制御点61の数を減らして簡易的な二次元オブジェクトとして説明する。
FIG. 6 shows an example of the collision determination method. FIG. 6 illustrates the control points 61 included in the
図6(a)は衝突前の状態を示しており、例えばボール等の衝突オブジェクト65がエンティティ63Lに向かって移動している。図6(b)は衝突開始の状態を示しており、エンティティ63Lに含まれる制御点61のうちの1つの第2現在位置が衝突オブジェクト65の内部に位置している。第2現在位置が衝突オブジェクトの内部に位置すると判定された制御点61は、衝突状態として扱われる。図6(b)及び図6(c)ではこの衝突状態の制御点61を斜線ハッチングで図示している。図6(c)は衝突中の状態を示しており、衝突オブジェクト65が衝突開始から移動ベクトル67で表される移動方向及び移動量だけ進行することにより、複数の制御点61が衝突状態となっている。
FIG. 6A shows a state before the collision. For example, a
図2に戻り、表示用目標位置計算処理部27は、第2現在位置が衝突オブジェクトの内部に位置すると判定された衝突状態の制御点61の表示用位置の目標位置(以下「第2目標位置」という)を、第2現在位置と、制御点61から最も近い衝突オブジェクトの表面までの距離と、制御点61の法線ベクトルに基づいて計算する。なお、表示用位置は、前述のように各制御点61が第2現在位置とは別に有する情報であり、画像生成処理部23はこの表示用位置を用いてモデルのレンダリングを行う。また、法線ベクトルも同様に各制御点61が有する情報であり、当該制御点61に対応する位置での変形オブジェクトの表面の面方向に垂直な方向のベクトル(衝突時に凹む方向を規定するベクトル)である。
Returning to FIG. 2, the display target position
具体的には、表示用目標位置計算処理部27は、下記の計算式(4)にしたがって、衝突状態の各制御点61の第2目標位置を、当該制御点61の第2現在位置から上記距離と法線ベクトルとの積を減ずることにより計算する。
Specifically, the display target position
なお、P_display_goalは制御点61の第2目標位置、Pは制御点61の第2現在位置、D_surfaceは衝突状態の制御点61から最も近い衝突オブジェクト65の表面までの距離、Nは法線ベクトルである。なお、D_surfaceは最大値が各制御点61ごとに設定されていて、遠すぎる位置にP_display_goalが設定されないように制限される。これにより、不自然な変形描画を防止できる。
P_display_goal is the second target position of the
第1表示用位置更新処理部29は、上記表示用目標位置計算処理部27により計算された第2目標位置に近づくように、衝突状態の制御点61の表示用位置を更新する。具体的には、1フレームで表示用位置が大きく動くと不連続性を感じさせるので、例えば数フレームをかけて表示用位置が第2目標位置に徐々に近づくように移動させる。また、前述の計算式(2)及び(3)にしたがって表示用位置を更新させてもよい。
The first display position update processing
図7に、上記制御による衝突状態の制御点61の表示用位置の挙動の一例を示す。図7において、衝突状態の制御点61(斜線ハッチングで図示)は第2現在位置に位置している。この制御点61の表示用位置61pの目標位置である第2目標位置61pgが上記計算式(4)により計算され、表示用位置61pが第2現在位置から法線ベクトルNと反対方向の第2目標位置61pgに向けて徐々に移動される。
FIG. 7 shows an example of the behavior of the display position of the
以上の処理により、変形オブジェクトに衝突オブジェクト65が衝突することによる変形(衝突した部位が凹む挙動)を表現することができる。しかしながら、例えばゴムボールを押す場合等について考えると、押した部位が凹む挙動は上記処理内容(衝突中の制御点61の第2目標位置を算出して当該第2目標位置に近づくように表示用位置を更新する処理)により表現されるが、押していない部位が膨らむ挙動は別途の処理を演出的に加えることが好ましい。次に、この処理内容について説明する。
By the above processing, it is possible to express deformation (behavior in which the colliding part is recessed) due to the
図2に戻り、移動量計算処理部31は、衝突オブジェクト65が変形オブジェクトに衝突を開始した時点から衝突中の現時点までの衝突オブジェクト65の移動量を表す移動ベクトル67(図6(c)参照)を計算する。なお、複数の衝突オブジェクト65が変形オブジェクトに衝突する場合には、移動量計算処理部31は各衝突オブジェクト65の移動ベクトル67を平均した1つの移動ベクトルを計算する。
Returning to FIG. 2, the movement amount
第1係数設定処理部33は、上記移動量計算処理部31により計算された移動ベクトル67の方向への第1係数を設定する。この第1係数は、変形オブジェクトの衝突方向への変形の度合いを規定する係数である。
The first coefficient setting
第2係数設定処理部35は、法線ベクトルNとは異なる参照方向を表す参照方向ベクトルと当該参照方向への第2係数を設定する。参照方向は任意の方向に設定可能であり、衝突時に変形オブジェクトを演出的に特に膨らませたい方向が参照方向として設定される。第2係数は、変形オブジェクトの参照方向への変形の度合いを規定する係数である。本実施形態では、女性モデル49が水着50を着用しているが、この水着50は乳房51L,51Rに対する衝突オブジェクトとして処理される。したがって、例えば参照方向を女性モデル49の乳房51L,51Rの谷間方向に設定することにより、水着50を着用した際に乳房51L,51Rが谷間方向に引き寄せられるといった演出が可能である。また、乳房51L,51Rに対して例えばボール等の衝突オブジェクト65が衝突した際に谷間方向に膨らませるといった演出も可能となる。
The second coefficient setting
第3係数設定処理部37は、変形オブジェクトが存在する3次元仮想空間のワールド座標系における上方向を表す上方向ベクトルと当該上方向への第3係数を設定する。上方向ベクトルは例えば(0,1,0)である。第3係数は、変形オブジェクトの上方向への変形の度合いを規定する係数である。上述のように、水着50は乳房51L,51Rに対する衝突オブジェクトとして処理されるため、乳房51L,51Rに対し上方向への変形処理を加えることにより、水着50で覆われた部分は水着による押し付けにより引き締まるように変形させる一方、水着50で覆われていない部分は上方(顔方向)に盛り上がるように乳房の膨らみを演出することが可能である。また、乳房51L,51Rに対して例えばボール等の衝突オブジェクト65が衝突した際に上方向に膨らませるといった演出も可能となる。
The third coefficient setting
第2表示用位置更新処理部39は、上述の移動ベクトル67、第1係数、参照方向ベクトル、第2係数、上方向ベクトル、及び第3係数に基づいて、衝突状態の制御点61以外の非衝突状態の制御点61の表示用位置を更新する。具体的には、第2表示用位置更新処理部39は、下記の計算式(5)にしたがって、非衝突状態の制御点61の表示用位置を更新する。
The second display position update processing
なお、P_displayは制御点61の表示用位置、s_refは参照方向への第2係数、RefDirectionは参照方向ベクトル、s_penetrateは移動ベクトル67の方向への第1係数、Penetrateは移動ベクトル67、s_upは上方向への第3係数である。
P_display is the display position of the
なお以上では、衝突状態の制御点61に対して上記表示用目標位置計算処理部27及び第1表示用位置更新処理部29による処理を実行し、非衝突状態の制御点61に対して上記移動量計算処理部31、第1係数設定処理部33、第2係数設定処理部35、第3係数設定処理部37、及び第2表示用位置更新処理部39による処理を実行するというように、制御点61が衝突状態か否かで処理を異ならせるようにしたが、これに限定されるものではない。例えば、全ての制御点61に対して上記の非衝突状態の制御点61に対する処理を実行してもよい。
In the above, the processing by the display target position
以上の処理により、変形オブジェクトの押されていない部位が膨らむ挙動を表現することができる。しかし、衝突オブジェクトが変形可能なオブジェクトである場合(すなわち変形オブジェクト同士が衝突する場合)には、双方のオブジェクトについて変形処理を加えることが好ましい。次に、この処理内容について説明する。 With the above processing, it is possible to express a behavior in which a portion of the deformed object that is not pressed swells. However, when the collision object is a deformable object (that is, when the deformation objects collide), it is preferable to apply deformation processing to both objects. Next, the processing content will be described.
パッチ設定処理部41は、変形オブジェクトに対して設定された複数の制御点61のうち外側の層に存在する各制御点61に対して隣接する制御点61との間に多角形パッチを設定する。変形オブジェクト同士が衝突する場合、パッチ設定処理部41は少なくとも一方の変形オブジェクトに対して上記多角形パッチを設定する。
The patch
図8に多角形パッチの一例を示す。なお、図8では説明を簡単にするために1つの制御点61(中心の制御点61)に対して設定された多角形パッチのみを図示している。図8に示すように、エンティティの外側に存在する各制御点61に対して、最大4つの三角形パッチ69(多角形パッチの一例)が設定される。なお、この例では三角形のパッチとしているが、三角形以外の多角形(四角形等)としてもよい。
FIG. 8 shows an example of a polygon patch. In FIG. 8, only the polygonal patch set for one control point 61 (central control point 61) is shown for the sake of simplicity. As shown in FIG. 8, a maximum of four triangular patches 69 (an example of polygonal patches) are set for each
前述した衝突判定処理部25は、一の変形オブジェクトの多角形パッチと他の変形オブジェクトの制御点61とが貫通しているか否かを判定する。貫通判定の手法は特に限定されるものではないが、例えば公知の貫通処理(論文「Position Based Dynamics」、http://matthias-mueller-fischer.ch/publications/posBasedDyn.pdf)を利用してもよい。衝突判定処理部25により貫通していると判定された場合には衝突あり、貫通していないと判定された場合には衝突なし、として処理される。
The collision
第3表示用位置更新処理部43は、上記衝突判定処理部25により一の変形オブジェクトの多角形パッチと他の変形オブジェクトの制御点61とが貫通していると判定された場合に、当該貫通した状態が解消されるように、一の変形オブジェクトの制御点61の表示用位置と、他の変形オブジェクトの制御点61の表示用位置とを更新する。解消更新の手法は特に限定されるものではないが、例えば公知の貫通処理(論文「Position Based Dynamics」、http://matthias-mueller-fischer.ch/publications/posBasedDyn.pdf)を利用してもよい。
When the collision
上記処理により、柔らかい物体同士の衝突による変形挙動を表現できる。例えば本実施形態では、女性モデル49における胸の谷間の動き等を表現できる。
By the above processing, the deformation behavior due to the collision of soft objects can be expressed. For example, in the present embodiment, it is possible to represent the movement of the cleavage in the
初期距離設定処理部45は、各制御点61に対して、衝突が発生していない初期状態における隣接する複数の制御点61との初期距離を設定する。
The initial distance
距離拘束処理部47は、衝突が発生した状態における制御点61の表示用位置同士の距離が、上記初期距離設定処理部45により設定された初期距離に近似するように、表示用位置同士の距離を拘束する。拘束処理の手法は特に限定されるものではないが、例えば公知の長さ拘束処理(論文「Position Based Dynamics」、http://matthias-mueller-fischer.ch/publications/posBasedDyn.pdf)を利用してもよい。
The distance
以上の処理により、変形オブジェクトを見かけ上の体積が略一定となるように変形させることができる。その結果、変形オブジェクトに衝突オブジェクトが衝突した際に、衝突した部位が凹むだけでなくその他の部位が膨らむ挙動を表現できるので、変形挙動をより自然且つリアルに表現できる。 Through the above processing, the deformed object can be deformed so that the apparent volume becomes substantially constant. As a result, when the collision object collides with the deformed object, it is possible to express a behavior in which not only the collided part is recessed but also other parts swell, so that the deformation behavior can be expressed more naturally and realistically.
なお、以上説明した各処理部における処理等は、これらの処理の分担の例に限定されるものではなく、例えば、更に少ない数の処理部(例えば1つの処理部)で処理されてもよく、また、更に細分化された処理部により処理されてもよい。また、上述した各処理部の機能は、後述するCPU101(後述の図10参照)が実行するゲームプログラムにより実装されるものであるが、例えばその一部がASICやFPGA等の専用集積回路、その他の電気回路等の実際の装置により実装されてもよい。 Note that the processing in each processing unit described above is not limited to the example of sharing of these processing, and may be processed by, for example, a smaller number of processing units (for example, one processing unit), Further, it may be processed by a further subdivided processing unit. The functions of each processing unit described above are implemented by a game program executed by a CPU 101 (see FIG. 10 described later). For example, a part of the functions is a dedicated integrated circuit such as an ASIC or FPGA, and the like. It may be implemented by an actual device such as an electric circuit.
<3.情報処理装置が実行する処理手順>
次に、図9を用いて、情報処理装置3のCPU101によって実行される処理手順の一例について説明する。
<3. Processing procedure executed by information processing apparatus>
Next, an example of a processing procedure executed by the
ステップS5では、情報処理装置3は、基準点設定処理部13により、乳房51L,51Rに対して複数の基準点53,55,57,59を設定する(図3参照)。
In step S5, the
ステップS10では、情報処理装置3は、制御点設定処理部15により、乳房51L,51Rに対してそれぞれエンティティ63L,63Rを割り当て、エンティティごとに格子状に配列された複数の制御点61を設定する(図4参照)。
In step S10, the
ステップS15では、情報処理装置3は、重み量設定処理部17により、各制御点61に対して少なくとも1つの基準点を関連付けると共に、当該関連付けられた基準点ごとに重み量を設定する。
In step S15, the
ステップS20では、情報処理装置3は、パッチ設定処理部41により、エンティティ63L,63Rのそれぞれに対し、外側の層に存在する各制御点61に対して隣接する制御点61との間に三角形パッチ69を設定する。
In step S20, the
ステップS25では、情報処理装置3は、初期距離設定処理部45により、エンティティ63L,63Rのそれぞれの各制御点61に対して、衝突が発生していない初期状態における隣接する複数の制御点61との初期距離を設定する。
In step S25, the
ステップS30では、情報処理装置3は、目標位置計算処理部19により、各制御点61の第1目標位置を、当該制御点61に関連付けられた全ての基準点について当該基準点の第1現在位置と重み量との積を合計することにより計算する。
In step S <b> 30, the
ステップS35では、情報処理装置3は、制御点更新処理部21により、上記ステップS30で計算された第1目標位置に近づくように各制御点61の第2現在位置を更新する。なお、前述したように、本ステップにおける第2現在位置は表示用位置と略一致する。
In step S35, the
ステップS40では、情報処理装置3は、衝突判定処理部25により、変形オブジェクトに対する衝突の有無を判定する。前述のように、衝突オブジェクト65が変形しないオブジェクトである場合には、衝突判定処理部25は、制御点61の第2現在位置が衝突オブジェクト65の内部に位置するか否かを判定する。また、衝突オブジェクト65が変形するオブジェクトである場合には、衝突判定処理部25は、一の変形オブジェクトの多角形パッチと他の変形オブジェクトの制御点61とが貫通しているか否かを判定する。衝突がないと判定された場合には(ステップS40:NO)、後述のステップS95に移る。一方、衝突があると判定された場合には(ステップS40:YES)、次のステップS45に移る。
In step S <b> 40, the
ステップS45では、情報処理装置3は、上記ステップS40においてどちらの判定手法で衝突ありと判定されたかに基づいて、変形オブジェクト同士の衝突であるか否かを判定する。変形オブジェクト同士の衝突でない場合には(ステップS45:NO)、次のステップS50に移る。
In step S45, the
ステップS50では、情報処理装置3は、表示用目標位置計算処理部27により、衝突状態の制御点61の表示用位置の第2目標位置を、当該制御点61の第2現在位置と、当該制御点61から最も近い衝突オブジェクト65の表面までの距離D_surfaceと、当該制御点61の法線ベクトルNに基づいて計算する。
In step S50, the
ステップS55では、情報処理装置3は、第1表示用位置更新処理部29により、上記ステップS50で計算された第2目標位置に近づくように、衝突状態の各制御点61の表示用位置を更新する。
In step S55, the
ステップS60では、情報処理装置3は、移動量計算処理部31により、衝突オブジェクト65が変形オブジェクトに衝突を開始した時点から衝突中の現時点までの衝突オブジェクト65の移動量を表す移動ベクトル67を計算する。
In step S60, the
ステップS65では、情報処理装置3は、第1係数設定処理部33により、上記ステップS60で計算された移動ベクトル67の方向への第1係数を設定する。
In step S65, the
ステップS70では、情報処理装置3は、第2係数設定処理部35により、参照方向ベクトルと当該参照方向への第2係数を設定する。
In step S <b> 70, the
ステップS75では、情報処理装置3は、第3係数設定処理部37により、変形オブジェクトが存在する3次元仮想空間のワールド座標系における上方向を表す上方向ベクトルと当該上方向への第3係数を設定する。
In step S75, the
ステップS80では、情報処理装置3は、第2表示用位置更新処理部39により、上記移動ベクトル67、第1係数、参照方向ベクトル、第2係数、上方向ベクトル、及び第3係数に基づいて、非衝突状態の各制御点61の表示用位置を更新する。その後、後述のステップS95に移る。
In step S80, the
なお、先のステップS45において、変形オブジェクト同士の衝突である場合には(ステップS45:YES)、ステップS85に移る。 If it is a collision between the deformed objects in the previous step S45 (step S45: YES), the process proceeds to step S85.
ステップS85では、情報処理装置3は、第3表示用位置更新処理部43により、一の変形オブジェクトの多角形パッチと他の変形オブジェクトの制御点61とが貫通した状態が解消されるように、一の変形オブジェクトの制御点61の表示用位置と、他の変形オブジェクトの制御点61の表示用位置とを更新する。
In step S85, the
ステップS90では、情報処理装置3は、距離拘束処理部47により、衝突が発生した状態における制御点61の表示用位置同士の距離が、上記ステップS25で設定された初期距離に近似するように、表示用位置同士の距離を拘束する。その後、次のステップS95に移る。
In step S90, the
ステップS95では、情報処理装置3は、画像生成処理部23により、上記ステップS35、ステップS80、ステップS85により更新された制御点61の表示用位置(ステップS85の場合はさらにステップS90で距離を拘束された表示用位置)に基づいて変形オブジェクトである乳房51L,51Rの形状を表す画像を生成する。以上により、本フローを終了する。
In step S95, the
なお、上述した処理手順は一例であって、上記手順の少なくとも一部を削除又は変更してもよいし、上記以外の手順を追加してもよい。また、上記手順の少なくとも一部の順番を変更してもよいし、複数の手順が単一の手順にまとめられてもよい。例えば、ステップS60〜ステップS80の代わりにステップS90を実行してもよいし、ステップS80とステップS95の間でさらにステップS90を実行してもよい。 In addition, the process procedure mentioned above is an example, Comprising: At least one part of the said procedure may be deleted or changed, and procedures other than the above may be added. In addition, the order of at least a part of the above procedure may be changed, and a plurality of procedures may be combined into a single procedure. For example, step S90 may be executed instead of step S60 to step S80, or step S90 may be further executed between step S80 and step S95.
<4.情報処理装置のハードウェア構成>
次に、図10を用いて、上記で説明したCPU101等が実行するプログラムにより実装された各処理部を実現する情報処理装置3のハードウェア構成の一例について説明する。
<4. Hardware configuration of information processing apparatus>
Next, an example of a hardware configuration of the
図10に示すように、情報処理装置3は、例えば、CPU101と、ROM103と、RAM105と、GPU106と、例えばASIC又はFPGA等の特定の用途向けに構築された専用集積回路107と、入力装置113と、出力装置115と、記録装置117と、ドライブ119と、接続ポート121と、通信装置123を有する。これらの構成は、バス109や入出力インターフェース111等を介し相互に信号を伝達可能に接続されている。
As illustrated in FIG. 10, the
ゲームプログラムは、例えば、ROM103やRAM105、記録装置117等に記録しておくことができる。
For example, the game program can be recorded in the
また、ゲームプログラムは、例えば、フレキシブルディスクなどの磁気ディスク、各種のCD、MOディスク、DVD等の光ディスク、半導体メモリ等のリムーバブルな記録媒体125に、一時的又は永続的(非一時的)に記録しておくこともできる。このような記録媒体125は、いわゆるパッケージソフトウエアとして提供することもできる。この場合、これらの記録媒体125に記録されたゲームプログラムは、ドライブ119により読み出されて、入出力インターフェース111やバス109等を介し上記記録装置117に記録されてもよい。
In addition, the game program is temporarily or permanently (non-temporarily) recorded on a
また、ゲームプログラムは、例えば、ダウンロードサイト、他のコンピュータ、他の記録装置等(図示せず)に記録しておくこともできる。この場合、ゲームプログラムは、LANやインターネット等のネットワークNWを介し転送され、通信装置123がこのプログラムを受信する。そして、通信装置123が受信したプログラムは、入出力インターフェース111やバス109等を介し上記記録装置117に記録されてもよい。
In addition, the game program can be recorded on, for example, a download site, another computer, another recording device, or the like (not shown). In this case, the game program is transferred via a network NW such as a LAN or the Internet, and the
また、ゲームプログラムは、例えば、適宜の外部接続機器127に記録しておくこともできる。この場合、ゲームプログラムは、適宜の接続ポート121を介し転送され、入出力インターフェース111やバス109等を介し上記記録装置117に記録されてもよい。
Further, the game program can be recorded in an appropriate
そして、CPU101が、上記記録装置117に記録されたプログラムに従い各種の処理を実行することにより、前述の重み量設定処理部17や目標位置計算処理部19等による処理が実現される。この際、CPU101は、例えば、上記記録装置117からプログラムを、直接読み出して実行してもよく、RAM105に一旦ロードした上で実行してもよい。更にCPU101は、例えば、プログラムを通信装置123やドライブ119、接続ポート121を介し受信する場合、受信したプログラムを記録装置117に記録せずに直接実行してもよい。
Then, the
また、CPU101は、必要に応じて、前述のコントローラ5を含む、例えばマウス、キーボード、マイク等(図示せず)の入力装置113から入力する信号や情報に基づいて各種の処理を行ってもよい。
Further, the
GPU106は、CPU101からの指示に応じて例えばレンダリング処理などの画像表示のための処理を行う。
The
そして、CPU101及びGPU106は、上記の処理を実行した結果を、例えば前述の表示装置7や音声出力部を含む、出力装置115から出力する。さらにCPU101及びGPU106は、必要に応じてこの処理結果を通信装置123や接続ポート121を介し送信してもよく、上記記録装置117や記録媒体125に記録させてもよい。
Then, the
<5.実施形態の効果>
本実施形態のゲームプログラムは、情報処理装置3を、変形可能な変形オブジェクトに対して1又は複数の基準点を設定する基準点設定処理部13、変形オブジェクトに対して複数の制御点61を設定する制御点設定処理部15、制御点61に対して少なくとも1つの基準点を関連付けると共に、当該関連付けられた基準点ごとに関連度合いを表す重み量を設定する重み量設定処理部17、制御点61の第1目標位置を、当該制御点61に関連付けられた基準点の第1現在位置と重み量とに基づいて計算する目標位置計算処理部19、第1目標位置に近づくように制御点61の第2現在位置を更新する制御点更新処理部21、第2現在位置に基づいて変形オブジェクトの形状を表す画像を生成する画像生成処理部23、として機能させる。
<5. Effects of the embodiment>
The game program of the present embodiment sets the
これにより、例えば変形オブジェクトの現在の形状との誤差が最小になるように、変形オブジェクトの初期形状を回転、平行移動させて目標形状を計算する手法(例えば特表2009−529161号公報に記載の手法)に比べて、最小二乗法等の複雑な演算が不要となるため、情報処理装置3の演算処理負担を軽減することができる。また、アンカーとなる基準点を設定するため、例えば女性モデル49の急激な動作に対しても乳房51L,51Rを安定して変形させることができ、且つ、変形した状態を安定して作りやすくなる。したがって、変形オブジェクトの挙動を自然な表現とすることができる。さらに、一般に基準点はボーンとしてモデルやキャラクタ等の描画に使用されており、当該ボーンを利用することができるため、モデルやキャラクタ等の表現に好適である。
Thereby, for example, a method for calculating the target shape by rotating and translating the initial shape of the deformed object so that an error from the current shape of the deformed object is minimized (for example, as described in JP-T-2009-529161). Compared to the method, a complicated calculation such as a least square method is not necessary, and the calculation processing load of the
また、本実施形態では特に、ゲームプログラムは、情報処理装置3を、制御点61の第2現在位置が変形オブジェクトに衝突する衝突オブジェクト65の内部に位置するか否かを判定する衝突判定処理部25、第2現在位置が衝突オブジェクト65の内部に位置すると判定された衝突状態の制御点61の表示用位置の第2目標位置を、第2現在位置と、制御点61から最も近い衝突オブジェクト65の表面までの距離と、制御点61の法線ベクトルNに基づいて計算する表示用目標位置計算処理部27、第2目標位置に近づくように衝突状態の制御点61の表示用位置を更新する第1表示用位置更新処理部29、としてさらに機能させ、画像生成処理部23は、衝突状態の制御点61の表示用位置に基づいて変形オブジェクトの形状を表す画像を生成する。
In the present embodiment, in particular, the game program causes the
これにより、変形オブジェクトに衝突オブジェクト65が衝突することによる変形(衝突した部位が凹む挙動)を表現することができる。また、各制御点61に対し、第2現在位置と、画像の生成に使用される表示用位置とを分離して設定することにより、衝突時の変形の描画結果を安定させることができる。
Thereby, it is possible to express deformation (behavior in which the colliding part is recessed) due to the
また、本実施形態では特に、ゲームプログラムは、情報処理装置3を、衝突オブジェクト65が変形オブジェクトに衝突を開始した時点から衝突中の現時点までの衝突オブジェクト65の移動量を表す移動ベクトル67を計算する移動量計算処理部31、移動ベクトル67の方向への第1係数を設定する第1係数設定処理部33、法線ベクトルNとは異なる参照方向を表す参照方向ベクトルと当該参照方向への第2係数を設定する第2係数設定処理部35、移動ベクトル67、第1係数、参照方向ベクトル、第2係数に基づいて、衝突状態の制御点61以外の非衝突状態の制御点61の表示用位置を更新する第2表示用位置更新処理部39、としてさらに機能させ、画像生成処理部23は、非衝突状態の制御点61の表示用位置に基づいて変形オブジェクトの形状を表す画像を生成する。
In this embodiment, in particular, the game program calculates the movement vector 67 representing the amount of movement of the
例えば、ゴムボールを押す場合について考えると、押した部位が凹む挙動は上記処理内容(衝突中の制御点の第2目標位置を算出して当該第2目標位置に近づくように表示用位置を更新する処理)により表現されるが、押していない部位が膨らむ挙動は別途の処理を演出的に加える必要がある。本実施形態では、演出的に特に膨らませたい方向が参照方向ベクトルとして設定され、その膨らみ具合が第2係数として設定される。これにより、変形オブジェクトに衝突オブジェクト65が衝突した際に、衝突した部位が凹むだけでなくその他の部位が所定の方向に膨らむ挙動を表現できるので、変形挙動をより自然且つリアルに表現できる。また、膨らむ方向と膨らみ具合を設定できるので(例えば乳房51L,51Rを谷間方向に変形させる等)描画内容に応じた演出が可能となり、興趣性を向上できる。
For example, considering the case where a rubber ball is pressed, the behavior in which the pressed part is depressed is the above processing content (the second target position of the control point in the collision is calculated and the display position is updated so as to approach the second target position) However, it is necessary to add a separate process in a staging manner for the behavior that the part that is not pressed swells. In the present embodiment, a direction that is particularly desired to be expanded in terms of production is set as a reference direction vector, and the degree of expansion is set as the second coefficient. As a result, when the
また、本実施形態では特に、ゲームプログラムは、情報処理装置3を、変形オブジェクトが存在する仮想空間のワールド座標系における上方向を表す上方向ベクトルと当該上方向への第3係数を設定する第3係数設定処理部37、としてさらに機能させ、第2表示用位置更新処理部39は、上方向ベクトル、第3係数に基づいて非衝突状態の制御点61の表示用位置を更新する。
In the present embodiment, in particular, the game program sets the
一般にボール等の衝突オブジェクト65は変形オブジェクトに対して側方から衝突することが多く、その場合には変形オブジェクトは側方が凹んで上方又は下方に膨らむように変形する。また、例えば衝突オブジェクトが水着50等の着衣であり、変形オブジェクトが水着50で覆われる身体部位(乳房51L,51R等)である場合も、変形オブジェクトは側方から押し付けられて水着50で覆われていない方向(上方向)に盛り上がるように変形する。
In general, a
そこで本実施形態では、演出的に膨らませたい上方向が上方向ベクトルとして設定され、その膨らみ具合が第3係数として設定される。これにより、上述したような変形挙動をより自然且つリアルに表現できる。 Therefore, in the present embodiment, the upward direction in which the effect is desired to be inflated is set as an upward vector, and the degree of expansion is set as the third coefficient. Thereby, the deformation behavior as described above can be expressed more naturally and realistically.
また、本実施形態では特に、ゲームプログラムは、情報処理装置3を、変形オブジェクトに対して設定された複数の制御点61のうち外側の層に存在する各制御点61に対して隣接する制御点61との間に三角形パッチ69を設定するパッチ設定処理部41、としてさらに機能させ、衝突判定処理部25は、一の変形オブジェクトの三角形パッチ69と他の変形オブジェクトの制御点61とが貫通しているか否かを判定し、ゲームプログラムは、情報処理装置3を、三角形パッチ69と制御点61とが貫通していると判定された場合に、当該貫通した状態が解消されるように、一の変形オブジェクトの制御点61の表示用位置と他の変形オブジェクトの制御点61の表示用位置とを更新する第3表示用位置更新処理部43、としてさらに機能させ、画像生成処理部23は、表示用位置に基づいて一の変形オブジェクトと他の変形オブジェクトの形状を表す画像を生成する。
In the present embodiment, in particular, the game program causes the
これにより、柔らかい物体同士の衝突による変形挙動を表現できる。例えば、ゴムボール同士が衝突する場合の変形挙動や、女性モデル同士が互いに胸を押し付ける場合の変形挙動や、女性モデル49における胸の谷間の動き等の変形挙動を、より自然且つリアルに表現できる。
Thereby, the deformation | transformation behavior by the collision of soft objects can be expressed. For example, the deformation behavior when the rubber balls collide, the deformation behavior when the female models press each other's chest, and the deformation behavior such as the movement of the cleavage in the
また、本実施形態では特に、ゲームプログラムは、情報処理装置3を、制御点61に対して、衝突が発生していない初期状態における隣接する複数の制御点61との初期距離を設定する初期距離設定処理部45、衝突が発生した状態における制御点61の表示用位置同士の距離が初期距離に近似するように、表示用位置同士の距離を拘束する距離拘束処理部47、としてさらに機能させる。
In the present embodiment, in particular, the game program causes the
これにより、変形オブジェクトを見かけ上の体積が略一定となるように変形させることができる。その結果、変形オブジェクトに衝突オブジェクト65が衝突した際に、衝突した部位が凹むだけでなくその他の部位が膨らむ挙動を表現できるので、変形挙動をより自然且つリアルに表現できる。
Thereby, the deformed object can be deformed so that the apparent volume becomes substantially constant. As a result, when the
<6.変形例等>
なお、本発明は、上記の実施形態に限られるものではなく、その趣旨及び技術的思想を逸脱しない範囲内で種々の変形が可能である。
<6. Modified example>
The present invention is not limited to the above-described embodiment, and various modifications can be made without departing from the spirit and technical idea of the present invention.
また、以上では、画像生成プログラムがゲームプログラムである場合について説明したが、画像生成プログラムは、ゲーム以外の技術(例えばCGアニメーション、コンピュータ・シミュレーション、CAD等)にも適用可能である。 Although the case where the image generation program is a game program has been described above, the image generation program can also be applied to technologies other than games (for example, CG animation, computer simulation, CAD, etc.).
また、以上既に述べた以外にも、上記実施形態や各変形例による手法を適宜組み合わせて利用しても良い。その他、一々例示はしないが、上記実施形態や各変形例は、その趣旨を逸脱しない範囲内において、種々の変更が加えられて実施されるものである。 In addition to those already described above, the methods according to the above-described embodiments and modifications may be used in appropriate combination. In addition, although not illustrated one by one, the above-mentioned embodiment and each modification are implemented with various modifications within a range not departing from the gist thereof.
3 情報処理装置
13 基準点設定処理部
15 制御点設定処理部
17 重み量設定処理部
19 目標位置計算処理部
21 制御点更新処理部
23 画像生成処理部
25 衝突判定処理部
27 表示用目標位置計算処理部
29 第1表示用位置更新処理部
31 移動量計算処理部
33 第1係数設定処理部
35 第2係数設定処理部
37 第3係数設定処理部
39 第2表示用位置更新処理部
41 パッチ設定処理部
43 第3表示用位置更新処理部
45 初期距離設定処理部
47 距離拘束処理部
50 水着(衝突オブジェクト)
51L,51R 乳房(変形オブジェクト)
53 基準点
55 基準点
57 基準点
59 基準点
61 制御点
61p 表示用位置
61pg 第2目標位置
65 衝突オブジェクト
67 移動ベクトル
69 三角形パッチ(多角形パッチ)
125 記録媒体
N 法線ベクトル
DESCRIPTION OF
51L, 51R Breast (deformation object)
53
125 recording medium N normal vector
Claims (9)
変形可能な変形オブジェクトに対して1又は複数の基準点を設定する基準点設定処理部、
前記変形オブジェクトに対して複数の制御点を設定する制御点設定処理部、
前記制御点に対して少なくとも1つの前記基準点を関連付けると共に、当該関連付けられた前記基準点ごとに関連度合いを表す重み量を設定する重み量設定処理部、
前記制御点の第1目標位置を、当該制御点に関連付けられた前記基準点の第1現在位置と前記重み量とに基づいて計算する目標位置計算処理部、
前記第1目標位置に近づくように前記制御点の第2現在位置を更新する制御点更新処理部、
前記第2現在位置に基づいて前記変形オブジェクトの形状を表す画像を生成する画像生成処理部、
として機能させることを特徴とする画像生成プログラム。 Information processing device
A reference point setting processing unit for setting one or more reference points for a deformable deformable object,
A control point setting processing unit for setting a plurality of control points for the deformed object,
A weight amount setting processing unit that associates at least one reference point with the control point, and sets a weight amount representing the degree of association for each of the associated reference points.
A target position calculation processor that calculates the first target position of the control point based on the first current position of the reference point associated with the control point and the weight amount;
A control point update processing unit for updating the second current position of the control point so as to approach the first target position;
An image generation processing unit configured to generate an image representing the shape of the deformable object based on the second current position;
An image generation program that functions as a computer program.
前記制御点の前記第2現在位置が前記変形オブジェクトに衝突する衝突オブジェクトの内部に位置するか否かを判定する衝突判定処理部、
前記第2現在位置が衝突オブジェクトの内部に位置すると判定された衝突状態の前記制御点の表示用位置の第2目標位置を、前記第2現在位置と、前記制御点から最も近い前記衝突オブジェクトの表面までの距離と、前記制御点の法線ベクトルに基づいて計算する表示用目標位置計算処理部、
前記第2目標位置に近づくように前記衝突状態の制御点の前記表示用位置を更新する第1表示用位置更新処理部、としてさらに機能させ、
前記画像生成処理部は、
前記衝突状態の制御点の前記表示用位置に基づいて前記変形オブジェクトの形状を表す前記画像を生成する
ことを特徴とする請求項1に記載の画像生成プログラム。 The information processing apparatus;
A collision determination processing unit that determines whether or not the second current position of the control point is located inside a collision object that collides with the deformed object;
It is determined that the second current position is located inside the collision object, and the second target position of the display position of the control point in the collision state is set to the second current position and the collision object closest to the control point. A display target position calculation processing unit for calculating based on the distance to the surface and the normal vector of the control point;
Further function as a first display position update processing unit that updates the display position of the control point in the collision state so as to approach the second target position,
The image generation processing unit
The image generation program according to claim 1, wherein the image representing the shape of the deformed object is generated based on the display position of the control point in the collision state.
前記衝突オブジェクトが前記変形オブジェクトに衝突を開始した時点から衝突中の現時点までの前記衝突オブジェクトの移動量を表す移動ベクトルを計算する移動量計算処理部、
前記移動ベクトルの方向への第1係数を設定する第1係数設定処理部、
前記法線ベクトルとは異なる参照方向を表す参照方向ベクトルと当該参照方向への第2係数を設定する第2係数設定処理部、
前記移動ベクトル、前記第1係数、前記参照方向ベクトル、前記第2係数に基づいて、前記衝突状態の制御点以外の非衝突状態の前記制御点の前記表示用位置を更新する第2表示用位置更新処理部、としてさらに機能させ、
前記画像生成処理部は、
前記非衝突状態の制御点の前記表示用位置に基づいて前記変形オブジェクトの形状を表す前記画像を生成する
ことを特徴とする請求項2に記載の画像生成プログラム。 The information processing apparatus;
A movement amount calculation processing unit that calculates a movement vector representing a movement amount of the collision object from the time when the collision object started to collide with the deformed object to the current time during the collision;
A first coefficient setting processing unit for setting a first coefficient in the direction of the movement vector;
A second coefficient setting processing unit for setting a reference direction vector representing a reference direction different from the normal vector and a second coefficient in the reference direction;
A second display position for updating the display position of the control point in the non-collision state other than the control point in the collision state based on the movement vector, the first coefficient, the reference direction vector, and the second coefficient. Further function as an update processor,
The image generation processing unit
The image generation program according to claim 2, wherein the image representing the shape of the deformed object is generated based on the display position of the control point in the non-collision state.
前記変形オブジェクトが存在する仮想空間のワールド座標系における上方向を表す上方向ベクトルと当該上方向への第3係数を設定する第3係数設定処理部、としてさらに機能させ、
前記第2表示用位置更新処理部は、
前記上方向ベクトル、前記第3係数に基づいて前記非衝突状態の制御点の前記表示用位置を更新する
ことを特徴とする請求項3に記載の画像生成プログラム。 The information processing apparatus;
A third coefficient setting processing unit that sets an upward vector representing an upward direction in the world coordinate system of the virtual space in which the deformed object exists and a third coefficient in the upward direction;
The second display position update processing unit includes:
The image generation program according to claim 3, wherein the display position of the control point in the non-collision state is updated based on the upward vector and the third coefficient.
前記変形オブジェクトに対して設定された前記複数の制御点のうち外側の層に存在する各制御点に対して隣接する前記制御点との間に多角形パッチを設定するパッチ設定処理部、としてさらに機能させ、
前記衝突判定処理部は、
一の前記変形オブジェクトの前記多角形パッチと他の前記変形オブジェクトの前記制御点とが貫通しているか否かを判定し、
前記情報処理装置を、
前記多角形パッチと前記制御点とが貫通していると判定された場合に、当該貫通した状態が解消されるように、前記一の変形オブジェクトの前記制御点の前記表示用位置と前記他の変形オブジェクトの前記制御点の前記表示用位置とを更新する第3表示用位置更新処理部、としてさらに機能させ、
前記画像生成処理部は、
前記表示用位置に基づいて前記一の変形オブジェクトと前記他の変形オブジェクトの形状を表す前記画像を生成する
ことを特徴とする請求項2乃至4のいずれか1項に記載の画像生成プログラム。 The information processing apparatus;
A patch setting processing unit that sets a polygonal patch between the control points adjacent to each control point existing in an outer layer among the plurality of control points set for the deformed object; Make it work
The collision determination processing unit
Determining whether or not the polygonal patch of one of the deformed objects and the control point of another deformed object pass through;
The information processing apparatus;
When it is determined that the polygonal patch and the control point are penetrating, the display position of the control point of the one deformed object and the other are set so that the penetrating state is eliminated. Further function as a third display position update processing unit for updating the display position of the control point of the deformed object,
The image generation processing unit
5. The image generation program according to claim 2, wherein the image representing the shapes of the one deformable object and the other deformable object is generated based on the display position.
前記制御点に対して、前記衝突が発生していない初期状態における隣接する複数の前記制御点との初期距離を設定する初期距離設定処理部、
前記衝突が発生した状態における前記制御点の前記表示用位置同士の距離が前記初期距離に近似するように、前記表示用位置同士の距離を拘束する距離拘束処理部、
としてさらに機能させることを特徴とする請求項2乃至5のいずれか1項に記載の画像生成プログラム。 The information processing apparatus;
An initial distance setting processing unit configured to set an initial distance between the control points and a plurality of adjacent control points in an initial state in which the collision does not occur;
A distance constraint processing unit that restrains the distance between the display positions so that the distance between the display positions of the control points in the state where the collision occurs approximates the initial distance;
The image generation program according to any one of claims 2 to 5, further functioning as:
変形可能な変形オブジェクトに対して1又は複数の基準点を設定するステップと、
前記変形オブジェクトに対して複数の制御点を設定するステップと、
前記制御点に対して少なくとも1つの前記基準点を関連付けると共に、当該関連付けられた前記基準点ごとに関連度合いを表す重み量を設定するステップと、
前記制御点の第1目標位置を、当該制御点に関連付けられた前記基準点の第1現在位置と前記重み量とに基づいて計算するステップと、
前記第1目標位置に近づくように前記制御点の第2現在位置を更新するステップと、
前記第2現在位置に基づいて前記変形オブジェクトの形状を表す画像を生成するステップと、
を有する、画像生成方法。 An image generation method executed by an information processing apparatus,
Setting one or more reference points for the deformable deformable object;
Setting a plurality of control points for the deformed object;
Associating at least one reference point with the control point, and setting a weight amount representing a degree of association for each of the associated reference points;
Calculating a first target position of the control point based on a first current position of the reference point associated with the control point and the weight amount;
Updating the second current position of the control point so as to approach the first target position;
Generating an image representing the shape of the deformed object based on the second current position;
An image generation method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018059031A JP7008557B2 (en) | 2018-03-26 | 2018-03-26 | Image generation program, recording medium, image generation method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018059031A JP7008557B2 (en) | 2018-03-26 | 2018-03-26 | Image generation program, recording medium, image generation method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019174871A true JP2019174871A (en) | 2019-10-10 |
JP7008557B2 JP7008557B2 (en) | 2022-01-25 |
Family
ID=68170339
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018059031A Active JP7008557B2 (en) | 2018-03-26 | 2018-03-26 | Image generation program, recording medium, image generation method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7008557B2 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007179483A (en) * | 2005-12-28 | 2007-07-12 | Canon Inc | Unit and method for information processing |
JP2015184875A (en) * | 2014-03-24 | 2015-10-22 | 株式会社東芝 | Data processing device and data processing program |
JP2017134609A (en) * | 2016-01-27 | 2017-08-03 | 株式会社コーエーテクモゲームス | Image generating program and record medium |
-
2018
- 2018-03-26 JP JP2018059031A patent/JP7008557B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007179483A (en) * | 2005-12-28 | 2007-07-12 | Canon Inc | Unit and method for information processing |
JP2015184875A (en) * | 2014-03-24 | 2015-10-22 | 株式会社東芝 | Data processing device and data processing program |
JP2017134609A (en) * | 2016-01-27 | 2017-08-03 | 株式会社コーエーテクモゲームス | Image generating program and record medium |
Also Published As
Publication number | Publication date |
---|---|
JP7008557B2 (en) | 2022-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Duan et al. | Volume preserved mass–spring model with novel constraints for soft tissue deformation | |
Tang et al. | Construction of force haptic reappearance system based on Geomagic Touch haptic device | |
Berndt et al. | Efficient surgical cutting with position-based dynamics | |
JP7299414B2 (en) | Image processing method, device, electronic device and computer program | |
JP2020525953A (en) | Human body contour keypoint detection method, image processing method, apparatus and device | |
US20220044490A1 (en) | Virtual reality presentation of layers of clothing on avatars | |
US20130187930A1 (en) | Method and system for interactive simulation of materials and models | |
JP2019159348A (en) | Skinning decomposition acceleration method considering locality of weight map and skinning decomposition acceleration program of the same | |
Spicer et al. | Virtual reality neurosurgery: a simulator blueprint | |
CN111260764A (en) | Method, device and storage medium for making animation | |
JP2015531098A (en) | Building an avatar using a depth camera | |
CN106846499B (en) | Virtual model generation method and device | |
US20210375067A1 (en) | Virtual reality presentation of clothing fitted on avatars | |
Iwamoto et al. | Multi‐layer Lattice Model for Real‐Time Dynamic Character Deformation | |
US20200005475A1 (en) | Apparatus and method for visualization | |
Abdulali et al. | Realistic haptic rendering of hyper-elastic material via measurement-based FEM model identification and real-time simulation | |
JP6749765B2 (en) | Image generation program and recording medium | |
JP7008557B2 (en) | Image generation program, recording medium, image generation method | |
JP2022088007A (en) | Image generating program, recording medium, and image generating method | |
JP6032610B2 (en) | Display processing program, display processing method, and display processing apparatus | |
CN116092120A (en) | Image-based action determining method and device, electronic equipment and storage medium | |
Raghupathi et al. | Real-time simulation of self-collisions for virtual intestinal surgery | |
JP7189051B2 (en) | Image generation program, recording medium, image generation method | |
Li et al. | Novel adaptive SPH with geometric subdivision for brittle fracture animation of anisotropic materials | |
Capell et al. | Physically based rigging for deformable characters |
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: 20210311 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20211214 |
|
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: 20211227 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220111 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7008557 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |