JP2019174871A - Image generation program, recording medium, and image generation method - Google Patents

Image generation program, recording medium, and image generation method Download PDF

Info

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
Application number
JP2018059031A
Other languages
Japanese (ja)
Other versions
JP7008557B2 (en
Inventor
賢二 高松
Kenji Takamatsu
賢二 高松
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 Holdings Co Ltd
Original Assignee
Koei Tecmo Holdings 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 Holdings Co Ltd filed Critical Koei Tecmo Holdings Co Ltd
Priority to JP2018059031A priority Critical patent/JP7008557B2/en
Publication of JP2019174871A publication Critical patent/JP2019174871A/en
Application granted granted Critical
Publication of JP7008557B2 publication Critical patent/JP7008557B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

To naturally represent behavior of a modified object while reducing a processing load of an information processing apparatus.SOLUTION: An information processing apparatus 3 is caused to function as a reference point setting processing unit 13 for setting one or a plurality of reference points to a modified object capable of being modified, a control point setting processing unit 15 for setting a plurality of control points 61 to the modified object, a weight amount setting processing unit 17 for associating at least one reference point with the control point 61 and setting a weight amount representing a degree of relevance for the associated reference point, a target position calculation unit 19 for calculating a first target position of the control point 61 based on the first current position of the reference point associated with the control point 61 and the weight amount, a control point update processing unit 21 for updating a second current position of the control point 61 so as to approach the first target position, and an image generation processing unit 23 for generating an image representing a shape of the modified object based on the second current position.SELECTED DRAWING: Figure 2

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).

特許第4579964号Japanese Patent No. 4579964

上記従来技術では、変形オブジェクトの変形を自然な挙動とする場合には複雑な演算を行う必要があり、情報処理装置の演算処理負担が増大するという課題があった。   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.

一実施形態に係るゲームシステムの全体構成の一例を表すシステム構成図である。It is a system configuration figure showing an example of the whole game system composition concerning one embodiment. 情報処理装置の機能的構成の一例を表すブロック図である。It is a block diagram showing an example of a functional structure of information processing apparatus. 基準点の設定の一例を表す説明図である。It is explanatory drawing showing an example of the setting of a reference point. 制御点の設定の一例を表す説明図である。It is explanatory drawing showing an example of the setting of a control point. 基準点及び制御点の挙動の一例を表す説明図である。It is explanatory drawing showing an example of the behavior of a reference point and a control point. 衝突判定手法の一例を表す説明図である。It is explanatory drawing showing an example of the collision determination method. 衝突状態の制御点の表示用位置の挙動の一例を表す説明図である。It is explanatory drawing showing an example of the behavior of the display position of the control point of a collision state. 多角形パッチの一例を表す説明図である。It is explanatory drawing showing an example of a polygon patch. 情報処理装置のCPUによって実行される処理手順の一例を表すフローチャートである。It is a flowchart showing an example of the process sequence performed by CPU of information processing apparatus. 情報処理装置のハードウェア構成の一例を表すブロック図である。It is a block diagram showing an example of the hardware constitutions of 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 game system 1 according to the present embodiment will be described with reference to FIG. As shown in FIG. 1, the game system 1 includes an information processing device 3, a controller 5, and a display device 7. Each of the controller 5 and the display device 7 is communicably connected to the information processing device 3. In addition, although FIG. 1 illustrates the case of being connected by wire, it may be connected wirelessly.

情報処理装置3は、例えば据え置き型のゲーム機である。但しこれに限定されるものではなく、例えば入力部や表示部等を一体に備えた携帯型のゲーム機でもよい。また、ゲーム機以外にも、例えば、サーバコンピュータ、デスクトップ型コンピュータ、ノート型コンピュータ、タブレット型コンピュータ等のように、コンピュータとして製造、販売等されているものや、携帯電話、スマートフォン、ファブレット等のように、電話機として製造、販売等されているものでもよい。   The information processing apparatus 3 is a stationary game machine, for example. However, the present invention is not limited to this, and for example, a portable game machine that is integrally provided with an input unit, a display unit, and the like may be used. In addition to game machines, for example, those manufactured and sold as computers such as server computers, desktop computers, notebook computers, tablet computers, mobile phones, smartphones, fablets, etc. As such, it may be manufactured and sold as a telephone.

プレイヤは、コントローラ5を用いて各種の操作入力を行う。図1に示す例では、コントローラ5は例えば十字キー9や複数のボタン11等を有する。なお、コントローラ5は上記十字キー9やボタン11に代えて又は加えて、例えばジョイスティックやタッチパッド等を有してもよい。   The player performs various operation inputs using the controller 5. In the example illustrated in FIG. 1, the controller 5 includes, for example, a cross key 9 and a plurality of buttons 11. The controller 5 may have, for example, a joystick or a touch pad instead of or in addition to the cross key 9 or the button 11.

<2.情報処理装置の機能的構成>
次に、図2及び図3〜図8を用いて、情報処理装置3の機能的構成の一例について説明する。
<2. Functional configuration of information processing apparatus>
Next, an example of a functional configuration of the information processing apparatus 3 will be described with reference to FIGS. 2 and 3 to 8.

図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 information processing device 3 includes a reference point setting processing unit 13, a control point setting processing unit 15, a weight amount setting processing unit 17, a target position calculation processing unit 19, and a control point update processing unit. 21, image generation processing unit 23, collision determination processing unit 25, display target position calculation processing unit 27, first display position update processing unit 29, movement amount calculation processing unit 31, and first coefficient setting Processing unit 33, second coefficient setting processing unit 35, third coefficient setting processing unit 37, second display position update processing unit 39, patch setting processing unit 41, and third display position update processing unit 43 And an initial distance setting processing unit 45 and a distance constraint processing unit 47.

(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 setting processing unit 13 sets one or a plurality of reference points for deformable deformable objects. The control point setting processing unit 15 sets a plurality of control points for the deformed object.

図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 female model 49 is displayed in a three-dimensional virtual space (or a two-dimensional virtual space). The female model 49 wears a swimsuit 50 and performs various operations according to the operation of the controller 5 by the player. A world coordinate system (X, Y, Z) is set in the three-dimensional virtual space.

女性モデル49は、変形可能な変形オブジェクトとして、左右の乳房51L,51Rを備えている。なお、乳房以外にも、例えば尻、太もも、腹、二の腕、その他変形可能な程度に柔らかい身体部位を、変形オブジェクトとして備えてもよい。また、変形オブジェクト(変形オブジェクトを備えるオブジェクト)は、上記の女性モデルに限定されるものではなく、例えば男性モデル、人間以外の動物モデル、人間や動物以外の仮想的な生物モデル等でもよいし、例えば生物以外の物体等でもよい。   The female model 49 includes left and right breasts 51L and 51R as deformable deformable objects. In addition to the breast, for example, a buttocks, a thigh, an abdomen, two arms, and other body parts that are soft enough to be deformed may be provided as deformed objects. Further, the deformed object (an object including the deformed object) is not limited to the female model described above, and may be, for example, a male model, an animal model other than a human, a virtual biological model other than a human or an animal, For example, an object other than a living organism may be used.

女性モデル49は、身体を動かすための複数の基準点(いわゆるボーン)を備えている。各基準点は女性モデル49の動作システム(モーション計算等)により移動し、現在位置情報(以下「第1現在位置」という)を有する。基準点設定処理部13は、それらの一部又は全部を乳房51L,51Rを変形させるための基準点として設定する。図3に示す例では、左右の肩関節近傍に位置する基準点53,55、左右の乳房51L,51Rの中心近傍に位置する基準点57,59が、乳房51L,51Rを変形させるための基準点として設定されている。なお、上記以外の身体部位(例えば首関節)に位置する基準点を、乳房51L,51Rを変形させるための基準点に設定してもよい。   The female model 49 includes a plurality of reference points (so-called bones) for moving the body. Each reference point is moved by a motion system (motion calculation or the like) of the female model 49 and has current position information (hereinafter referred to as “first current position”). The reference point setting processing unit 13 sets a part or all of them as reference points for deforming the breasts 51L and 51R. In the example shown in FIG. 3, the reference points 53 and 55 located near the left and right shoulder joints and the reference points 57 and 59 located near the centers of the left and right breasts 51L and 51R are used as a reference for deforming the breasts 51L and 51R. It is set as a point. In addition, you may set the reference point located in body parts (for example, neck joint) other than the above as a reference point for deform | transforming the breasts 51L and 51R.

図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 control points 61 set for the breast 51L. Although not shown, the same applies to the breast 51R. The control point 61 is a point used for control to express the shape of the breast 51L. The plurality of control points 61 are arranged in a grid in the rectangular parallelepiped, and are set by the control point setting processing unit 15 so that the rectangular parallelepiped includes the breast 51L. The number of control points 61 is not particularly limited, but, for example, about 200 to 300 is set for each of the breasts 51L and 51R. Hereinafter, a group of control points 61 arranged in a grid pattern is referred to as an entity as a management unit. As shown in FIG. 3, an entity 63L is assigned to the breast 51L, and an entity 63R is assigned to the breast 51R.

図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 processing unit 17 associates at least one reference point with the control point, and sets a weight amount representing the degree of association for each associated reference point. In the present embodiment, the weight amount setting processing unit 17 associates three reference points 53, 55, and 57 with each control point 61 included in the entity 63L corresponding to the breast 51L, and the entity 63R corresponding to the breast 51R. The three reference points 53, 55, 59 are associated with each control point 61 included in. Further, the weight amount setting processing unit 17 sets a weight amount for each of the associated reference points 53, 55, and 57 for each control point 61 included in the entity 63L, and each control point 61 included in the entity 63R. On the other hand, a weight amount is set for each of the associated reference points 53, 55, 59. Note that the sum of weight amounts (ratio, ratio) for each reference point set in one control point 61 is 1.

目標位置計算処理部19は、制御点の目標位置(以下「第1目標位置」という)を、当該制御点に関連付けられた基準点の第1現在位置と重み量とに基づいて計算する。具体的には、目標位置計算処理部19は、下記の計算式(1)にしたがって、各制御点61の第1目標位置を、当該制御点61に関連付けられた全ての基準点について当該基準点の第1現在位置と重み量との積を合計することにより計算する。   The target position calculation processing unit 19 calculates the target position of the control point (hereinafter referred to as “first target position”) based on the first current position of the reference point associated with the control point and the weight amount. Specifically, the target position calculation processing unit 19 determines the first target position of each control point 61 for all reference points associated with the control point 61 according to the following calculation formula (1). Is calculated by summing the products of the first current position and the weight amount.

Figure 2019174871
Figure 2019174871

なお、goal[i]∈Rはi番目の制御点61の第1目標位置、BoneNum[i]∈Nはi番目の制御点61に関連付けられた基準点の数、BoneWeightArray[i][j]∈Rはi番目の制御点61に関連付けられたj番目の基準点の重み量、BonePosition[k]∈Rはk番目の基準点の第1現在位置、BoneArray[i][j]∈Zはi番目の制御点61に関連付けられたj番目の基準点のインデックス(配列の添字)である。 Note that goal [i] εR 3 is the first target position of the i-th control point 61, BoneNum [i] εN is the number of reference points associated with the i-th control point 61, and BoneWeightArray [i] [j ] ∈R the weight of i-th j-th associated with the control point 61 of the reference point, BonePosition [k] ∈R 3 first current position of the k-th reference point, BoneArray [i] [j] ∈ Z is the index (array index) of the j th reference point associated with the i th control point 61.

制御点更新処理部21は、上記目標位置計算処理部19により計算された第1目標位置に近づくように制御点61の現在位置(以下「第2現在位置」という)を更新する。例えば、制御点更新処理部21は、下記の計算式(2)及び(3)にしたがって、各制御点61の第2現在位置を更新する。   The control point update processing unit 21 updates the current position of the control point 61 (hereinafter referred to as “second current position”) so as to approach the first target position calculated by the target position calculation processing unit 19. For example, the control point update processing unit 21 updates the second current position of each control point 61 according to the following calculation formulas (2) and (3).

Figure 2019174871
Figure 2019174871

Figure 2019174871
Figure 2019174871

なお、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-th control point 61 at time t, h is the time step, α is the rigidity of the deformed object, and goal [i] (t) is the i-th control point 61. The first target position at time t, NodePosition [i] (t) is the second current position at time t of the i th control point 61, and f ext [i] (t) is at the i th control point 61 at time t. The acting external force, m [i], is the mass of the i-th control point 61. The rigidity α varies between 0 and 1. When α = 1, the deformable object is a rigid body, and when α <1, the closer the object is to 0, the softer the deformable object.

図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 entity 63L corresponding to the breast 51L and the associated reference points 53, 55, and 57, but the number of control points 61 is reduced to simplify the description. Will be described as a simple two-dimensional object.

図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 reference points 53, 55, and 57 are moved as shown in FIG. 5B, for example, by operating the female model 49 from the initial state shown in FIG. As described above, a weight amount is set for each of the three reference points 53, 55, and 57 associated with each control point 61, and the first current position after the movement of the reference points 53, 55, and 57 The first target position 61g of each control point 61 is calculated according to the weight amount. FIG. 5B shows the calculated first target position 61g by a broken line. Thereafter, the second current position of each control point 61 is updated so as to approach the calculated first target position 61g, and each control point 61 is attracted to the first target position 61g by the speed based on the rigidity α described above. And as shown in FIG.5 (c), each control point 61 completes the movement to the 1st target position 61g. In this way, the flexible deformation of the breast 51L accompanying the body movement of the female model 49 is expressed.

図2に戻り、画像生成処理部23は、上記制御点更新処理部21により更新された制御点61の第2現在位置に基づいて変形オブジェクトの形状を表す画像を生成する。なお、制御点61は現在位置情報(第2現在位置)の他に表示用の位置情報(以下「表示用位置」という)を有しており、画像生成処理部23は正確には上記表示用位置に基づいて画像を生成する。但し、変形オブジェクトに対し衝突がない状態では第2現在位置と表示用位置は略一致するため、衝突がない状態では画像生成処理部23は制御点61の第2現在位置に基づいて画像を生成する、とも言える。   Returning to FIG. 2, the image generation processing unit 23 generates an image representing the shape of the deformed object based on the second current position of the control point 61 updated by the control point update processing unit 21. The control point 61 has display position information (hereinafter referred to as “display position”) in addition to the current position information (second current position). An image is generated based on the position. However, since the second current position and the display position substantially coincide with each other when there is no collision with the deformed object, the image generation processing unit 23 generates an image based on the second current position of the control point 61 when there is no collision. You can say.

(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 determination processing unit 25 determines whether or not there is a collision with the deformed object. The collision determination is performed on an entity basis. The collision determination method differs depending on whether or not the collision object colliding with the deformable object can be deformed (whether it is processed as a deformed object). If the collision object is an object that does not deform, the collision determination processing unit 25 determines whether or not the second current position of the control point 61 is located inside the collision object. Examples of collision objects that do not deform include items such as balls, capsules, and boxes, non-soft body parts (limbs, heads, shoulders, etc.) of other models, clothing (swimsuits, etc.), and the like. Note that a determination method when the collision object is a deforming object will be described later.

図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 entity 63L corresponding to the breast 51L. However, in order to simplify the description, the number of control points 61 is reduced and described as a simple two-dimensional object.

図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 collision object 65 such as a ball is moving toward the entity 63L. FIG. 6B shows a collision start state, and the second current position of one of the control points 61 included in the entity 63 </ b> L is located inside the collision object 65. The control point 61 determined that the second current position is located inside the collision object is treated as a collision state. In FIG. 6 (b) and FIG. 6 (c), the control point 61 in this collision state is indicated by hatching. FIG. 6C shows a state in which a collision occurs, and a plurality of control points 61 are brought into a collision state when the collision object 65 advances by the movement direction and movement amount represented by the movement vector 67 from the start of the collision. ing.

図2に戻り、表示用目標位置計算処理部27は、第2現在位置が衝突オブジェクトの内部に位置すると判定された衝突状態の制御点61の表示用位置の目標位置(以下「第2目標位置」という)を、第2現在位置と、制御点61から最も近い衝突オブジェクトの表面までの距離と、制御点61の法線ベクトルに基づいて計算する。なお、表示用位置は、前述のように各制御点61が第2現在位置とは別に有する情報であり、画像生成処理部23はこの表示用位置を用いてモデルのレンダリングを行う。また、法線ベクトルも同様に各制御点61が有する情報であり、当該制御点61に対応する位置での変形オブジェクトの表面の面方向に垂直な方向のベクトル(衝突時に凹む方向を規定するベクトル)である。   Returning to FIG. 2, the display target position calculation processing unit 27 determines the target position (hereinafter referred to as “second target position”) of the display position of the control point 61 in the collision state in which it is determined that the second current position is located inside the collision object. Is calculated based on the second current position, the distance from the control point 61 to the surface of the closest collision object, and the normal vector of the control point 61. The display position is information that each control point 61 has separately from the second current position as described above, and the image generation processing unit 23 renders the model using the display position. Similarly, the normal vector is information that each control point 61 has, and is a vector in a direction perpendicular to the surface direction of the surface of the deformed object at a position corresponding to the control point 61 (a vector that defines a direction in which the object is recessed at the time of collision). ).

具体的には、表示用目標位置計算処理部27は、下記の計算式(4)にしたがって、衝突状態の各制御点61の第2目標位置を、当該制御点61の第2現在位置から上記距離と法線ベクトルとの積を減ずることにより計算する。   Specifically, the display target position calculation processing unit 27 calculates the second target position of each control point 61 in the collision state from the second current position of the control point 61 according to the following calculation formula (4). Calculate by subtracting the product of the distance and the normal vector.

Figure 2019174871
Figure 2019174871

なお、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 control point 61, P is the second current position of the control point 61, D_surface is the distance from the control point 61 in the collision state to the nearest surface of the collision object 65, and N is the normal vector. is there. Note that the maximum value of D_surface is set for each control point 61, and is limited so that P_display_goal is not set to a position that is too far away. Thereby, unnatural deformation drawing can be prevented.

第1表示用位置更新処理部29は、上記表示用目標位置計算処理部27により計算された第2目標位置に近づくように、衝突状態の制御点61の表示用位置を更新する。具体的には、1フレームで表示用位置が大きく動くと不連続性を感じさせるので、例えば数フレームをかけて表示用位置が第2目標位置に徐々に近づくように移動させる。また、前述の計算式(2)及び(3)にしたがって表示用位置を更新させてもよい。   The first display position update processing unit 29 updates the display position of the control point 61 in the collision state so as to approach the second target position calculated by the display target position calculation processing unit 27. Specifically, since the discontinuity is felt when the display position moves greatly in one frame, the display position is moved so as to gradually approach the second target position over several frames, for example. Further, the display position may be updated according to the above-described calculation formulas (2) and (3).

図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 control point 61 in the collision state by the above control. In FIG. 7, the control point 61 (shown by hatching) in the collision state is located at the second current position. The second target position 61pg, which is the target position of the display position 61p of the control point 61, is calculated by the above equation (4), and the display position 61p is a second position in the direction opposite to the normal vector N from the second current position. It is gradually moved toward the target position 61pg.

以上の処理により、変形オブジェクトに衝突オブジェクト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 collision object 65 colliding with the deformation object. However, for example, when a rubber ball is pressed, the behavior of the depressed portion being depressed is determined by the above processing content (the second target position of the control point 61 in collision is calculated and displayed so as to approach the second target position). It is expressed by the process of updating the position), but it is preferable to add a separate process for the behavior that the part that is not pressed swells. Next, the processing content will be described.

図2に戻り、移動量計算処理部31は、衝突オブジェクト65が変形オブジェクトに衝突を開始した時点から衝突中の現時点までの衝突オブジェクト65の移動量を表す移動ベクトル67(図6(c)参照)を計算する。なお、複数の衝突オブジェクト65が変形オブジェクトに衝突する場合には、移動量計算処理部31は各衝突オブジェクト65の移動ベクトル67を平均した1つの移動ベクトルを計算する。   Returning to FIG. 2, the movement amount calculation processing unit 31 moves the movement vector 67 representing the movement amount of the collision object 65 from the time when the collision object 65 starts to collide with the deformed object to the current time during the collision (see FIG. 6C). ). When a plurality of collision objects 65 collide with the deformed object, the movement amount calculation processing unit 31 calculates one movement vector obtained by averaging the movement vectors 67 of the collision objects 65.

第1係数設定処理部33は、上記移動量計算処理部31により計算された移動ベクトル67の方向への第1係数を設定する。この第1係数は、変形オブジェクトの衝突方向への変形の度合いを規定する係数である。   The first coefficient setting processing unit 33 sets the first coefficient in the direction of the movement vector 67 calculated by the movement amount calculation processing unit 31. The first coefficient is a coefficient that defines the degree of deformation of the deformable object in the collision direction.

第2係数設定処理部35は、法線ベクトルNとは異なる参照方向を表す参照方向ベクトルと当該参照方向への第2係数を設定する。参照方向は任意の方向に設定可能であり、衝突時に変形オブジェクトを演出的に特に膨らませたい方向が参照方向として設定される。第2係数は、変形オブジェクトの参照方向への変形の度合いを規定する係数である。本実施形態では、女性モデル49が水着50を着用しているが、この水着50は乳房51L,51Rに対する衝突オブジェクトとして処理される。したがって、例えば参照方向を女性モデル49の乳房51L,51Rの谷間方向に設定することにより、水着50を着用した際に乳房51L,51Rが谷間方向に引き寄せられるといった演出が可能である。また、乳房51L,51Rに対して例えばボール等の衝突オブジェクト65が衝突した際に谷間方向に膨らませるといった演出も可能となる。   The second coefficient setting processing unit 35 sets a reference direction vector representing a reference direction different from the normal vector N and a second coefficient in the reference direction. The reference direction can be set to an arbitrary direction, and the direction in which the deformed object is particularly desired to be inflated at the time of collision is set as the reference direction. The second coefficient is a coefficient that defines the degree of deformation of the deformable object in the reference direction. In this embodiment, the female model 49 wears a swimsuit 50, but this swimsuit 50 is processed as a collision object against the breasts 51L and 51R. Therefore, for example, by setting the reference direction to the valley direction of the breasts 51L and 51R of the female model 49, when the swimsuit 50 is worn, the breasts 51L and 51R can be drawn in the valley direction. In addition, when the collision object 65 such as a ball collides with the breasts 51L and 51R, it is possible to produce such an effect that it swells in the valley direction.

第3係数設定処理部37は、変形オブジェクトが存在する3次元仮想空間のワールド座標系における上方向を表す上方向ベクトルと当該上方向への第3係数を設定する。上方向ベクトルは例えば(0,1,0)である。第3係数は、変形オブジェクトの上方向への変形の度合いを規定する係数である。上述のように、水着50は乳房51L,51Rに対する衝突オブジェクトとして処理されるため、乳房51L,51Rに対し上方向への変形処理を加えることにより、水着50で覆われた部分は水着による押し付けにより引き締まるように変形させる一方、水着50で覆われていない部分は上方(顔方向)に盛り上がるように乳房の膨らみを演出することが可能である。また、乳房51L,51Rに対して例えばボール等の衝突オブジェクト65が衝突した際に上方向に膨らませるといった演出も可能となる。   The third coefficient setting processing unit 37 sets an upward vector representing the upward direction in the world coordinate system of the three-dimensional virtual space where the deformed object exists, and a third coefficient in the upward direction. The upward vector is (0, 1, 0), for example. The third coefficient is a coefficient that defines the degree of deformation of the deformed object in the upward direction. As described above, since the swimsuit 50 is processed as a collision object with respect to the breasts 51L and 51R, by applying an upward deformation process to the breasts 51L and 51R, the portion covered with the swimsuit 50 is pressed by the swimsuit. While it is deformed so as to be tightened, it is possible to produce a bulge of the breast so that the portion not covered with the swimsuit 50 rises upward (toward the face). In addition, when the collision object 65 such as a ball collides with the breasts 51L and 51R, for example, it is possible to produce an effect of expanding upward.

第2表示用位置更新処理部39は、上述の移動ベクトル67、第1係数、参照方向ベクトル、第2係数、上方向ベクトル、及び第3係数に基づいて、衝突状態の制御点61以外の非衝突状態の制御点61の表示用位置を更新する。具体的には、第2表示用位置更新処理部39は、下記の計算式(5)にしたがって、非衝突状態の制御点61の表示用位置を更新する。   The second display position update processing unit 39 uses the above-described movement vector 67, the first coefficient, the reference direction vector, the second coefficient, the upward vector, and the third coefficient to determine the non-collision point other than the control point 61. The display position of the control point 61 in the collision state is updated. Specifically, the second display position update processing unit 39 updates the display position of the control point 61 in the non-collision state according to the following calculation formula (5).

Figure 2019174871
Figure 2019174871

なお、P_displayは制御点61の表示用位置、s_refは参照方向への第2係数、RefDirectionは参照方向ベクトル、s_penetrateは移動ベクトル67の方向への第1係数、Penetrateは移動ベクトル67、s_upは上方向への第3係数である。   P_display is the display position of the control point 61, s_ref is the second coefficient in the reference direction, RefDirection is the reference direction vector, s_penetrate is the first coefficient in the direction of the movement vector 67, Penelate is the movement vector 67, and s_up is the upper position A third coefficient in the direction.

なお以上では、衝突状態の制御点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 calculation processing unit 27 and the first display position update processing unit 29 is performed on the control point 61 in the collision state, and the movement is performed on the control point 61 in the non-collision state. Control is performed so as to execute processing by the amount calculation processing unit 31, the first coefficient setting processing unit 33, the second coefficient setting processing unit 35, the third coefficient setting processing unit 37, and the second display position update processing unit 39. Although the process is made different depending on whether or not the point 61 is in a collision state, the present invention is not limited to this. For example, the processing for the control points 61 in the non-collision state may be executed for all the control points 61.

以上の処理により、変形オブジェクトの押されていない部位が膨らむ挙動を表現することができる。しかし、衝突オブジェクトが変形可能なオブジェクトである場合(すなわち変形オブジェクト同士が衝突する場合)には、双方のオブジェクトについて変形処理を加えることが好ましい。次に、この処理内容について説明する。   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 setting processing unit 41 sets a polygonal patch between the control points 61 adjacent to each control point 61 existing in the outer layer among the plurality of control points 61 set for the deformed object. . When the deformable objects collide with each other, the patch setting processing unit 41 sets the polygon patch for at least one of the deformable objects.

図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 control point 61 existing outside the entity. In this example, a triangular patch is used, but a polygon other than a triangle (such as a square) may be used.

前述した衝突判定処理部25は、一の変形オブジェクトの多角形パッチと他の変形オブジェクトの制御点61とが貫通しているか否かを判定する。貫通判定の手法は特に限定されるものではないが、例えば公知の貫通処理(論文「Position Based Dynamics」、http://matthias-mueller-fischer.ch/publications/posBasedDyn.pdf)を利用してもよい。衝突判定処理部25により貫通していると判定された場合には衝突あり、貫通していないと判定された場合には衝突なし、として処理される。   The collision determination processing unit 25 described above determines whether or not the polygonal patch of one deformed object and the control point 61 of another deformed object penetrate. The penetration determination method is not particularly limited. For example, even if a known penetration process (thesis “Position Based Dynamics”, http://matthias-mueller-fischer.ch/publications/posBasedDyn.pdf) is used. Good. If it is determined by the collision determination processing unit 25 that there is a penetration, there is a collision, and if it is determined that there is no penetration, it is processed as no collision.

第3表示用位置更新処理部43は、上記衝突判定処理部25により一の変形オブジェクトの多角形パッチと他の変形オブジェクトの制御点61とが貫通していると判定された場合に、当該貫通した状態が解消されるように、一の変形オブジェクトの制御点61の表示用位置と、他の変形オブジェクトの制御点61の表示用位置とを更新する。解消更新の手法は特に限定されるものではないが、例えば公知の貫通処理(論文「Position Based Dynamics」、http://matthias-mueller-fischer.ch/publications/posBasedDyn.pdf)を利用してもよい。   When the collision determination processing unit 25 determines that the polygon patch of one deformed object and the control point 61 of another deformed object have penetrated, the third display position update processing unit 43 performs the penetration. The display position of the control point 61 of one deformed object and the display position of the control point 61 of another deformed object are updated so that the state that has been achieved is eliminated. The method of resolving and updating is not particularly limited. For example, a known penetration process (thesis “Position Based Dynamics”, http://matthias-mueller-fischer.ch/publications/posBasedDyn.pdf) Good.

上記処理により、柔らかい物体同士の衝突による変形挙動を表現できる。例えば本実施形態では、女性モデル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 female model 49.

初期距離設定処理部45は、各制御点61に対して、衝突が発生していない初期状態における隣接する複数の制御点61との初期距離を設定する。   The initial distance setting processing unit 45 sets an initial distance between each control point 61 and a plurality of adjacent control points 61 in an initial state where no collision has occurred.

距離拘束処理部47は、衝突が発生した状態における制御点61の表示用位置同士の距離が、上記初期距離設定処理部45により設定された初期距離に近似するように、表示用位置同士の距離を拘束する。拘束処理の手法は特に限定されるものではないが、例えば公知の長さ拘束処理(論文「Position Based Dynamics」、http://matthias-mueller-fischer.ch/publications/posBasedDyn.pdf)を利用してもよい。   The distance constraint processing unit 47 determines the distance between the display positions so that the distance between the display positions of the control points 61 in the state where the collision has occurred approximates the initial distance set by the initial distance setting processing unit 45. Is restrained. The method of constraint processing is not particularly limited. For example, a known length constraint processing (thesis “Position Based Dynamics”, http://matthias-mueller-fischer.ch/publications/posBasedDyn.pdf) is used. May be.

以上の処理により、変形オブジェクトを見かけ上の体積が略一定となるように変形させることができる。その結果、変形オブジェクトに衝突オブジェクトが衝突した際に、衝突した部位が凹むだけでなくその他の部位が膨らむ挙動を表現できるので、変形挙動をより自然且つリアルに表現できる。   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 CPU 101 of the information processing apparatus 3 will be described with reference to FIG.

ステップS5では、情報処理装置3は、基準点設定処理部13により、乳房51L,51Rに対して複数の基準点53,55,57,59を設定する(図3参照)。   In step S5, the information processing apparatus 3 sets a plurality of reference points 53, 55, 57, and 59 for the breasts 51L and 51R by the reference point setting processing unit 13 (see FIG. 3).

ステップS10では、情報処理装置3は、制御点設定処理部15により、乳房51L,51Rに対してそれぞれエンティティ63L,63Rを割り当て、エンティティごとに格子状に配列された複数の制御点61を設定する(図4参照)。   In step S10, the information processing apparatus 3 assigns the entities 63L and 63R to the breasts 51L and 51R by the control point setting processing unit 15 and sets a plurality of control points 61 arranged in a grid pattern for each entity. (See FIG. 4).

ステップS15では、情報処理装置3は、重み量設定処理部17により、各制御点61に対して少なくとも1つの基準点を関連付けると共に、当該関連付けられた基準点ごとに重み量を設定する。   In step S15, the information processing apparatus 3 associates at least one reference point with each control point 61 by the weight amount setting processing unit 17, and sets a weight amount for each of the associated reference points.

ステップS20では、情報処理装置3は、パッチ設定処理部41により、エンティティ63L,63Rのそれぞれに対し、外側の層に存在する各制御点61に対して隣接する制御点61との間に三角形パッチ69を設定する。   In step S20, the information processing apparatus 3 uses the patch setting processing unit 41 to make triangular patches between the control points 61 adjacent to the control points 61 existing in the outer layer for each of the entities 63L and 63R. 69 is set.

ステップS25では、情報処理装置3は、初期距離設定処理部45により、エンティティ63L,63Rのそれぞれの各制御点61に対して、衝突が発生していない初期状態における隣接する複数の制御点61との初期距離を設定する。   In step S25, the information processing apparatus 3 uses the initial distance setting processing unit 45 to connect each of the control points 61 of the entities 63L and 63R to a plurality of adjacent control points 61 in the initial state where no collision has occurred. Set the initial distance of.

ステップS30では、情報処理装置3は、目標位置計算処理部19により、各制御点61の第1目標位置を、当該制御点61に関連付けられた全ての基準点について当該基準点の第1現在位置と重み量との積を合計することにより計算する。   In step S <b> 30, the information processing apparatus 3 causes the target position calculation processing unit 19 to set the first target position of each control point 61 to the first current position of the reference point for all reference points associated with the control point 61. Is calculated by summing the product of the weight and the weight.

ステップS35では、情報処理装置3は、制御点更新処理部21により、上記ステップS30で計算された第1目標位置に近づくように各制御点61の第2現在位置を更新する。なお、前述したように、本ステップにおける第2現在位置は表示用位置と略一致する。   In step S35, the information processing apparatus 3 causes the control point update processing unit 21 to update the second current position of each control point 61 so as to approach the first target position calculated in step S30. As described above, the second current position in this step substantially coincides with the display position.

ステップS40では、情報処理装置3は、衝突判定処理部25により、変形オブジェクトに対する衝突の有無を判定する。前述のように、衝突オブジェクト65が変形しないオブジェクトである場合には、衝突判定処理部25は、制御点61の第2現在位置が衝突オブジェクト65の内部に位置するか否かを判定する。また、衝突オブジェクト65が変形するオブジェクトである場合には、衝突判定処理部25は、一の変形オブジェクトの多角形パッチと他の変形オブジェクトの制御点61とが貫通しているか否かを判定する。衝突がないと判定された場合には(ステップS40:NO)、後述のステップS95に移る。一方、衝突があると判定された場合には(ステップS40:YES)、次のステップS45に移る。   In step S <b> 40, the information processing apparatus 3 uses the collision determination processing unit 25 to determine whether there is a collision with the deformed object. As described above, when the collision object 65 is an object that does not deform, the collision determination processing unit 25 determines whether or not the second current position of the control point 61 is located inside the collision object 65. When the collision object 65 is a deformable object, the collision determination processing unit 25 determines whether or not the polygonal patch of one deformed object and the control point 61 of another deformed object pass through. . When it is determined that there is no collision (step S40: NO), the process proceeds to step S95 described later. On the other hand, when it is determined that there is a collision (step S40: YES), the process proceeds to the next step S45.

ステップS45では、情報処理装置3は、上記ステップS40においてどちらの判定手法で衝突ありと判定されたかに基づいて、変形オブジェクト同士の衝突であるか否かを判定する。変形オブジェクト同士の衝突でない場合には(ステップS45:NO)、次のステップS50に移る。   In step S45, the information processing apparatus 3 determines whether or not there is a collision between the deformed objects based on which determination method is used to determine that there is a collision in step S40. If it is not a collision between the deformed objects (step S45: NO), the process proceeds to the next step S50.

ステップS50では、情報処理装置3は、表示用目標位置計算処理部27により、衝突状態の制御点61の表示用位置の第2目標位置を、当該制御点61の第2現在位置と、当該制御点61から最も近い衝突オブジェクト65の表面までの距離D_surfaceと、当該制御点61の法線ベクトルNに基づいて計算する。   In step S50, the information processing apparatus 3 causes the display target position calculation processing unit 27 to change the second target position of the display position of the control point 61 in the collision state, the second current position of the control point 61, and the control. Calculation is performed based on the distance D_surface from the point 61 to the surface of the nearest collision object 65 and the normal vector N of the control point 61.

ステップS55では、情報処理装置3は、第1表示用位置更新処理部29により、上記ステップS50で計算された第2目標位置に近づくように、衝突状態の各制御点61の表示用位置を更新する。   In step S55, the information processing apparatus 3 updates the display position of each control point 61 in the collision state by the first display position update processing unit 29 so as to approach the second target position calculated in step S50. To do.

ステップS60では、情報処理装置3は、移動量計算処理部31により、衝突オブジェクト65が変形オブジェクトに衝突を開始した時点から衝突中の現時点までの衝突オブジェクト65の移動量を表す移動ベクトル67を計算する。   In step S60, the information processing apparatus 3 uses the movement amount calculation processing unit 31 to calculate a movement vector 67 that represents the movement amount of the collision object 65 from the time when the collision object 65 started to collide with the deformed object to the current time during the collision. To do.

ステップS65では、情報処理装置3は、第1係数設定処理部33により、上記ステップS60で計算された移動ベクトル67の方向への第1係数を設定する。   In step S65, the information processing apparatus 3 sets the first coefficient in the direction of the movement vector 67 calculated in step S60 by the first coefficient setting processing unit 33.

ステップS70では、情報処理装置3は、第2係数設定処理部35により、参照方向ベクトルと当該参照方向への第2係数を設定する。   In step S <b> 70, the information processing apparatus 3 sets the reference direction vector and the second coefficient in the reference direction by the second coefficient setting processing unit 35.

ステップS75では、情報処理装置3は、第3係数設定処理部37により、変形オブジェクトが存在する3次元仮想空間のワールド座標系における上方向を表す上方向ベクトルと当該上方向への第3係数を設定する。   In step S75, the information processing apparatus 3 uses the third coefficient setting processing unit 37 to calculate the upward vector representing the upward direction in the world coordinate system of the three-dimensional virtual space where the deformed object exists and the third coefficient in the upward direction. Set.

ステップS80では、情報処理装置3は、第2表示用位置更新処理部39により、上記移動ベクトル67、第1係数、参照方向ベクトル、第2係数、上方向ベクトル、及び第3係数に基づいて、非衝突状態の各制御点61の表示用位置を更新する。その後、後述のステップS95に移る。   In step S80, the information processing apparatus 3 causes the second display position update processing unit 39 to execute the movement vector 67, the first coefficient, the reference direction vector, the second coefficient, the upward vector, and the third coefficient. The display position of each control point 61 in the non-collision state is updated. Thereafter, the process proceeds to step S95 described later.

なお、先のステップ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 information processing apparatus 3 causes the third display position update processing unit 43 to cancel the state in which the polygon patch of one deformed object and the control point 61 of the other deformed object penetrate. The display position of the control point 61 of one deformation object and the display position of the control point 61 of another deformation object are updated.

ステップS90では、情報処理装置3は、距離拘束処理部47により、衝突が発生した状態における制御点61の表示用位置同士の距離が、上記ステップS25で設定された初期距離に近似するように、表示用位置同士の距離を拘束する。その後、次のステップS95に移る。   In step S90, the information processing apparatus 3 causes the distance constraint processing unit 47 to approximate the distance between the display positions of the control points 61 in the state where the collision has occurred to the initial distance set in step S25. The distance between the display positions is constrained. Thereafter, the process proceeds to the next step S95.

ステップS95では、情報処理装置3は、画像生成処理部23により、上記ステップS35、ステップS80、ステップS85により更新された制御点61の表示用位置(ステップS85の場合はさらにステップS90で距離を拘束された表示用位置)に基づいて変形オブジェクトである乳房51L,51Rの形状を表す画像を生成する。以上により、本フローを終了する。   In step S95, the information processing apparatus 3 causes the image generation processing unit 23 to constrain the distance in the display position of the control point 61 updated in steps S35, S80, and S85 (in the case of step S85, further in step S90). The image representing the shape of the breasts 51L and 51R, which are deformed objects, is generated based on the displayed display position. This flow is completed by the above.

なお、上述した処理手順は一例であって、上記手順の少なくとも一部を削除又は変更してもよいし、上記以外の手順を追加してもよい。また、上記手順の少なくとも一部の順番を変更してもよいし、複数の手順が単一の手順にまとめられてもよい。例えば、ステップ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 information processing apparatus 3 that realizes each processing unit implemented by the program executed by the CPU 101 described above will be described with reference to FIG.

図10に示すように、情報処理装置3は、例えば、CPU101と、ROM103と、RAM105と、GPU106と、例えばASIC又はFPGA等の特定の用途向けに構築された専用集積回路107と、入力装置113と、出力装置115と、記録装置117と、ドライブ119と、接続ポート121と、通信装置123を有する。これらの構成は、バス109や入出力インターフェース111等を介し相互に信号を伝達可能に接続されている。   As illustrated in FIG. 10, the information processing apparatus 3 includes, for example, a CPU 101, a ROM 103, a RAM 105, a GPU 106, a dedicated integrated circuit 107 configured for a specific application such as an ASIC or FPGA, and an input device 113. An output device 115, a recording device 117, a drive 119, a connection port 121, and a communication device 123. These components are connected to each other through a bus 109, an input / output interface 111, and the like so that signals can be transmitted to each other.

ゲームプログラムは、例えば、ROM103やRAM105、記録装置117等に記録しておくことができる。   For example, the game program can be recorded in the ROM 103, the RAM 105, the recording device 117, or the like.

また、ゲームプログラムは、例えば、フレキシブルディスクなどの磁気ディスク、各種のCD、MOディスク、DVD等の光ディスク、半導体メモリ等のリムーバブルな記録媒体125に、一時的又は永続的(非一時的)に記録しておくこともできる。このような記録媒体125は、いわゆるパッケージソフトウエアとして提供することもできる。この場合、これらの記録媒体125に記録されたゲームプログラムは、ドライブ119により読み出されて、入出力インターフェース111やバス109等を介し上記記録装置117に記録されてもよい。   In addition, the game program is temporarily or permanently (non-temporarily) recorded on a removable recording medium 125 such as a magnetic disk such as a flexible disk, various CDs, MO disks, and optical disks such as a DVD, and semiconductor memory. You can also keep it. Such a recording medium 125 can also be provided as so-called package software. In this case, the game program recorded in these recording media 125 may be read by the drive 119 and recorded in the recording device 117 via the input / output interface 111, the bus 109, or the like.

また、ゲームプログラムは、例えば、ダウンロードサイト、他のコンピュータ、他の記録装置等(図示せず)に記録しておくこともできる。この場合、ゲームプログラムは、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 communication device 123 receives this program. The program received by the communication device 123 may be recorded in the recording device 117 via the input / output interface 111, the bus 109, or the like.

また、ゲームプログラムは、例えば、適宜の外部接続機器127に記録しておくこともできる。この場合、ゲームプログラムは、適宜の接続ポート121を介し転送され、入出力インターフェース111やバス109等を介し上記記録装置117に記録されてもよい。   Further, the game program can be recorded in an appropriate external connection device 127, for example. In this case, the game program may be transferred via an appropriate connection port 121 and recorded in the recording device 117 via the input / output interface 111, the bus 109, or the like.

そして、CPU101が、上記記録装置117に記録されたプログラムに従い各種の処理を実行することにより、前述の重み量設定処理部17や目標位置計算処理部19等による処理が実現される。この際、CPU101は、例えば、上記記録装置117からプログラムを、直接読み出して実行してもよく、RAM105に一旦ロードした上で実行してもよい。更にCPU101は、例えば、プログラムを通信装置123やドライブ119、接続ポート121を介し受信する場合、受信したプログラムを記録装置117に記録せずに直接実行してもよい。   Then, the CPU 101 executes various processes according to the program recorded in the recording device 117, thereby realizing the processes by the above-described weight amount setting processing unit 17, the target position calculation processing unit 19, and the like. At this time, for example, the CPU 101 may directly read and execute the program from the recording device 117 or may be executed after being once loaded into the RAM 105. Further, for example, when receiving the program via the communication device 123, the drive 119, and the connection port 121, the CPU 101 may directly execute the received program without recording it in the recording device 117.

また、CPU101は、必要に応じて、前述のコントローラ5を含む、例えばマウス、キーボード、マイク等(図示せず)の入力装置113から入力する信号や情報に基づいて各種の処理を行ってもよい。   Further, the CPU 101 may perform various processes based on signals and information input from the input device 113 including the controller 5 described above, such as a mouse, a keyboard, and a microphone (not shown), as necessary. .

GPU106は、CPU101からの指示に応じて例えばレンダリング処理などの画像表示のための処理を行う。   The GPU 106 performs processing for image display such as rendering processing in accordance with an instruction from the CPU 101.

そして、CPU101及びGPU106は、上記の処理を実行した結果を、例えば前述の表示装置7や音声出力部を含む、出力装置115から出力する。さらにCPU101及びGPU106は、必要に応じてこの処理結果を通信装置123や接続ポート121を介し送信してもよく、上記記録装置117や記録媒体125に記録させてもよい。   Then, the CPU 101 and the GPU 106 output the result of executing the above processing from the output device 115 including the display device 7 and the audio output unit described above, for example. Further, the CPU 101 and the GPU 106 may transmit the processing result via the communication device 123 or the connection port 121 as necessary, or may record the processing result in the recording device 117 or the recording medium 125.

<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 information processing device 3 to the reference point setting processing unit 13 for setting one or a plurality of reference points for a deformable deformable object, and the plurality of control points 61 for the deformable object. The control point setting processing unit 15 and the control point 61 for associating at least one reference point with the control point 61, and the weight amount setting processing unit 17 and the control point 61 for setting a weight amount representing the degree of association for each of the associated reference points The target position calculation processing unit 19 that calculates the first target position of the control point 61 based on the first current position and the weight amount of the reference point associated with the control point 61, The control point update processing unit 21 updates the second current position, and the image generation processing unit 23 generates an image representing the shape of the deformed object based on the second current position.

これにより、例えば変形オブジェクトの現在の形状との誤差が最小になるように、変形オブジェクトの初期形状を回転、平行移動させて目標形状を計算する手法(例えば特表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 information processing apparatus 3 can be reduced. In addition, since the reference point to be an anchor is set, for example, the breasts 51L and 51R can be stably deformed even when the female model 49 is suddenly moved, and the deformed state can be stably created. . Therefore, the behavior of the deformed object can be made a natural expression. Furthermore, since the reference point is generally used as a bone for drawing a model, a character, or the like, and the bone can be used, it is suitable for expressing a model, a character, or the like.

また、本実施形態では特に、ゲームプログラムは、情報処理装置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 information processing apparatus 3 to determine whether or not the second current position of the control point 61 is located inside the collision object 65 that collides with the deformed object. 25. The second target position of the display position of the control point 61 in the collision state determined that the second current position is located inside the collision object 65 is the collision object 65 closest to the second current position and the control point 61. The target position calculation processing unit 27 for display that calculates based on the distance to the surface and the normal vector N of the control point 61, and updates the display position of the control point 61 in the collision state so as to approach the second target position. The first display position update processing unit 29 further functions, and the image generation processing unit 23 displays the shape of the deformed object based on the display position of the control point 61 in the collision state. To generate.

これにより、変形オブジェクトに衝突オブジェクト65が衝突することによる変形(衝突した部位が凹む挙動)を表現することができる。また、各制御点61に対し、第2現在位置と、画像の生成に使用される表示用位置とを分離して設定することにより、衝突時の変形の描画結果を安定させることができる。   Thereby, it is possible to express deformation (behavior in which the colliding part is recessed) due to the collision object 65 colliding with the deformation object. Further, by separately setting the second current position and the display position used for generating an image for each control point 61, it is possible to stabilize the drawing result of deformation at the time of collision.

また、本実施形態では特に、ゲームプログラムは、情報処理装置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 collision object 65 from the time when the collision object 65 started to collide with the deformed object to the current time during the collision. A moving amount calculation processing unit 31 to perform, a first coefficient setting processing unit 33 to set a first coefficient in the direction of the moving vector 67, a reference direction vector representing a reference direction different from the normal vector N, and a first direction to the reference direction. For displaying the non-collision state control point 61 other than the collision state control point 61 based on the second coefficient setting processing unit 35 for setting two coefficients, the movement vector 67, the first coefficient, the reference direction vector, and the second coefficient. It further functions as a second display position update processing unit 39 for updating the position, and the image generation processing unit 23 changes the display based on the display position of the control point 61 in the non-collision state. It generates an image representing the shape of the object.

例えば、ゴムボールを押す場合について考えると、押した部位が凹む挙動は上記処理内容(衝突中の制御点の第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 collision object 65 collides with the deformed object, it is possible to express a behavior in which not only the collided portion is recessed but also other portions swell in a predetermined direction, so that the deformation behavior can be expressed more naturally and realistically. In addition, since the bulge direction and the bulge condition can be set (for example, the breasts 51L and 51R are deformed in the valley direction), it is possible to produce an effect according to the contents of drawing, and to improve the interest.

また、本実施形態では特に、ゲームプログラムは、情報処理装置3を、変形オブジェクトが存在する仮想空間のワールド座標系における上方向を表す上方向ベクトルと当該上方向への第3係数を設定する第3係数設定処理部37、としてさらに機能させ、第2表示用位置更新処理部39は、上方向ベクトル、第3係数に基づいて非衝突状態の制御点61の表示用位置を更新する。   In the present embodiment, in particular, the game program sets the information processing device 3 to set the upward vector representing the upward direction in the world coordinate system of the virtual space where the deformed object exists and the third coefficient in the upward direction. The second display position update processing unit 39 further functions as the three-coefficient setting processing unit 37, and updates the display position of the non-collision control point 61 based on the upward vector and the third coefficient.

一般にボール等の衝突オブジェクト65は変形オブジェクトに対して側方から衝突することが多く、その場合には変形オブジェクトは側方が凹んで上方又は下方に膨らむように変形する。また、例えば衝突オブジェクトが水着50等の着衣であり、変形オブジェクトが水着50で覆われる身体部位(乳房51L,51R等)である場合も、変形オブジェクトは側方から押し付けられて水着50で覆われていない方向(上方向)に盛り上がるように変形する。   In general, a collision object 65 such as a ball often collides with a deformable object from the side. In this case, the deformable object is deformed so that the side is recessed and swells upward or downward. For example, when the collision object is a clothing such as the swimsuit 50 and the deformation object is a body part (such as the breasts 51L and 51R) covered with the swimsuit 50, the deformation object is pressed from the side and covered with the swimsuit 50. It deforms so that it rises in the direction that is not (upward).

そこで本実施形態では、演出的に膨らませたい上方向が上方向ベクトルとして設定され、その膨らみ具合が第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 information processing device 3 to control points adjacent to the control points 61 existing on the outer layer among the plurality of control points 61 set for the deformed object. Further, the collision determination processing unit 25 allows the triangular patch 69 of one deformed object and the control point 61 of another deformed object to penetrate. If it is determined that the triangle patch 69 and the control point 61 have penetrated the information processing apparatus 3, the game program determines whether the penetrated state is eliminated. Further functioning as a third display position update processing unit 43 for updating the display position of the control point 61 of the deformed object and the display position of the control point 61 of another deformed object. So, the image generation processing unit 23 generates an image representing an alternative objects and other shapes of deformation objects on the basis of the display position.

これにより、柔らかい物体同士の衝突による変形挙動を表現できる。例えば、ゴムボール同士が衝突する場合の変形挙動や、女性モデル同士が互いに胸を押し付ける場合の変形挙動や、女性モデル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 female model 49 can be expressed more naturally and realistically. .

また、本実施形態では特に、ゲームプログラムは、情報処理装置3を、制御点61に対して、衝突が発生していない初期状態における隣接する複数の制御点61との初期距離を設定する初期距離設定処理部45、衝突が発生した状態における制御点61の表示用位置同士の距離が初期距離に近似するように、表示用位置同士の距離を拘束する距離拘束処理部47、としてさらに機能させる。   In the present embodiment, in particular, the game program causes the information processing apparatus 3 to set an initial distance with respect to the control point 61 with respect to a plurality of adjacent control points 61 in an initial state where no collision has occurred. The setting processing unit 45 further functions as a distance constraint processing unit 47 that constrains the distance between the display positions so that the distance between the display positions of the control points 61 in the state where the collision has occurred approximates the initial distance.

これにより、変形オブジェクトを見かけ上の体積が略一定となるように変形させることができる。その結果、変形オブジェクトに衝突オブジェクト65が衝突した際に、衝突した部位が凹むだけでなくその他の部位が膨らむ挙動を表現できるので、変形挙動をより自然且つリアルに表現できる。   Thereby, the deformed object can be deformed so that the apparent volume becomes substantially constant. As a result, when the collision object 65 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 deforming behavior can be expressed more naturally and realistically.

<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 SYMBOLS 3 Information processing apparatus 13 Reference point setting process part 15 Control point setting process part 17 Weight amount setting process part 19 Target position calculation process part 21 Control point update process part 23 Image generation process part 25 Collision determination process part 27 Target position calculation for display Processing unit 29 First display position update processing unit 31 Movement amount calculation processing unit 33 First coefficient setting processing unit 35 Second coefficient setting processing unit 37 Third coefficient setting processing unit 39 Second display position update processing unit 41 Patch setting Processing unit 43 Third display position update processing unit 45 Initial distance setting processing unit 47 Distance constraint processing unit 50 Swimsuit (collision object)
51L, 51R Breast (deformation object)
53 reference point 55 reference point 57 reference point 59 reference point 61 control point 61p display position 61pg second target position 65 collision object 67 movement vector 69 triangular patch (polygonal patch)
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乃至6のいずれか1項に記載の画像生成プログラム。   The image generation program according to claim 1, wherein the image generation program is a game program. 請求項1乃至7のいずれか1項に記載の画像生成プログラムを記録した、情報処理装置が読み取り可能な記録媒体。   A recording medium readable by an information processing apparatus, on which the image generation program according to any one of claims 1 to 7 is recorded. 情報処理装置によって実行される画像生成方法であって、
変形可能な変形オブジェクトに対して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.
JP2018059031A 2018-03-26 2018-03-26 Image generation program, recording medium, image generation method Active JP7008557B2 (en)

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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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