JP5328841B2 - Program, information storage medium, information processing system, and information processing method - Google Patents
Program, information storage medium, information processing system, and information processing method Download PDFInfo
- Publication number
- JP5328841B2 JP5328841B2 JP2011122504A JP2011122504A JP5328841B2 JP 5328841 B2 JP5328841 B2 JP 5328841B2 JP 2011122504 A JP2011122504 A JP 2011122504A JP 2011122504 A JP2011122504 A JP 2011122504A JP 5328841 B2 JP5328841 B2 JP 5328841B2
- Authority
- JP
- Japan
- Prior art keywords
- value
- necessity information
- control necessity
- objects
- movement
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
Abstract
Description
本発明は、プログラム、情報記憶媒体、情報処理システム及び情報処理方法に関する。 The present invention relates to a program, an information storage medium, an information processing system, and an information processing method.
仮想空間内に配置されたオブジェクトを、仮想空間内に配置された視点位置及び視線方向から見た様子を表すフレーム画像を順次生成し、表示装置に表示させる情報処理システムがある。また、古典力学の法則等の物理法則をシミュレートするソフトウェアである物理エンジンを活用することで、仮想空間内に配置されたオブジェクトの動きのリアリティを高めた情報処理システムもある。 There is an information processing system that sequentially generates a frame image representing a state in which an object placed in a virtual space is viewed from a viewpoint position and a line-of-sight direction placed in the virtual space, and displays the frame image on a display device. In addition, there is an information processing system that uses a physics engine, which is software that simulates physical laws such as the laws of classical mechanics, to increase the reality of the movement of objects placed in a virtual space.
物理エンジンは、一般的に、ある時点における各オブジェクトに設定された物理量(例えば、位置、向き、質量、慣性モーメント、速度、角速度、など)を表すパラメータの値、仮想空間全体に関わる物理量(例えば、風速)を表すパラメータの値、などに基づいて、所定時間が経過した後における各オブジェクトの位置や向きを決定している。 In general, a physics engine is a parameter that represents a physical quantity (for example, position, orientation, mass, moment of inertia, velocity, angular velocity, etc.) set for each object at a certain point in time, a physical quantity related to the entire virtual space (eg, , The position and orientation of each object after a predetermined time has elapsed based on the value of the parameter representing the wind speed).
また、仮想空間内に配置されたオブジェクトを、ユーザによるコントローラ等の操作入力の入力量に応じて移動させることができる情報処理システムも知られている。 There is also known an information processing system that can move an object arranged in a virtual space according to an input amount of an operation input by a user such as a controller.
仮想空間内に配置されているすべてのオブジェクトについて、物理エンジンによる物理シミュレーション処理を実行すると、情報処理システムの負荷が高くなってしまう。ここで、所定の条件を満足するオブジェクト(例えば、移動速度が所定速度以下であるオブジェクト)について、物理シミュレーション処理の対象から外すようにすれば、情報処理システムの処理負荷が低減するものと思われる。 If the physical simulation process by the physics engine is executed for all objects arranged in the virtual space, the load on the information processing system increases. Here, if an object that satisfies a predetermined condition (for example, an object whose moving speed is equal to or lower than the predetermined speed) is excluded from the target of the physical simulation process, the processing load of the information processing system will be reduced. .
しかし、鎖を表すオブジェクトなどのように、連結された複数の要素から構成されるオブジェクトについては、オブジェクト全体の動きのリアリティを高めるために、各要素に対して個別に物理シミュレーション処理を実行することが望ましいが、例えば、一部の要素が物理シミュレーション処理の対象から外れているにも関わらず、残りの要素だけが物理シミュレーション処理の対象となっている、などというような状況が発生すると、オブジェクトの動きの表現が不自然なものとなってしまうおそれがある。 However, for an object composed of multiple connected elements such as an object that represents a chain, the physical simulation process must be executed on each element individually in order to increase the reality of the movement of the entire object. However, for example, if a situation occurs in which only some of the elements are excluded from the target of the physical simulation process, but only the remaining elements are the target of the physical simulation process. There is a risk that the expression of the movement will become unnatural.
本発明は上記課題に鑑みてなされたものであって、その目的の1つは、情報処理システムの処理負荷が高くなってしまうことを防ぎつつ、仮想空間内に配置されているオブジェクトの動きの表現が不自然なものとなるおそれを低減することにある。 The present invention has been made in view of the above problems, and one of its purposes is to prevent movement of an object arranged in a virtual space while preventing an increase in the processing load of the information processing system. It is to reduce the possibility that the expression will be unnatural.
上記課題を解決するために、本発明に係るプログラムは、仮想空間内に配置されているオブジェクトの動きを制御する情報処理システムとしてコンピュータを機能させるプログラムであって、仮想空間内に配置されている複数のオブジェクトのそれぞれについての、動きが制御されるオブジェクトであるか否かを示す制御要否情報を記憶する制御要否情報記憶手段から、前記制御要否情報を取得する制御要否情報取得手段、前記制御要否情報により動きが制御されることが示されているオブジェクトのそれぞれについて、当該オブジェクトの属性である物理量を表す少なくとも1つのパラメータの値に基づいて算出される量だけ当該オブジェクトの位置又は向きを変化させるオブジェクト変化手段、前記各オブジェクトについて設定されているパラメータの値が所定の条件を満足している場合に、前記複数のオブジェクトすべてについて動きが制御されないことを示すよう前記制御要否情報を更新する制御要否情報更新手段、として前記コンピュータを機能させることを特徴とする。 In order to solve the above problems, a program according to the present invention is a program that causes a computer to function as an information processing system that controls the movement of an object arranged in a virtual space, and is arranged in the virtual space. Control necessity information acquisition means for acquiring the control necessity information from the control necessity information storage means for storing control necessity information indicating whether or not each of the plurality of objects is a controlled object. For each object whose movement is indicated by the control necessity information, the position of the object is an amount calculated based on the value of at least one parameter representing a physical quantity that is an attribute of the object. Or object changing means for changing the direction, set for each object When the parameter value satisfies a predetermined condition, the computer is caused to function as control necessity information updating means for updating the control necessity information to indicate that movement is not controlled for all of the plurality of objects. It is characterized by that.
また、本発明に係る情報記憶媒体は、仮想空間内に配置されているオブジェクトの動きを制御する情報処理システムとしてコンピュータを機能させるプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体であって、仮想空間内に配置されている複数のオブジェクトのそれぞれについての、動きが制御されるオブジェクトであるか否かを示す制御要否情報を記憶する制御要否情報記憶手段から、前記制御要否情報を取得する制御要否情報取得手段、前記制御要否情報により動きが制御されることが示されているオブジェクトのそれぞれについて、当該オブジェクトの属性である物理量を表す少なくとも1つのパラメータの値に基づいて算出される量だけ当該オブジェクトの位置又は向きを変化させるオブジェクト変化手段、前記各オブジェクトについて設定されているパラメータの値が所定の条件を満足している場合に、前記複数のオブジェクトすべてについて動きが制御されないことを示すよう前記制御要否情報を更新する制御要否情報更新手段、として前記コンピュータを機能させることを特徴とするプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体である。 An information storage medium according to the present invention is a computer-readable information storage medium storing a program that causes a computer to function as an information processing system that controls the movement of an object arranged in the virtual space. The control necessity information is acquired from control necessity information storage means for storing control necessity information indicating whether or not each of the plurality of objects arranged in the object is an object whose movement is controlled. Control necessity information acquisition means, for each object whose movement is indicated by the control necessity information, is calculated based on a value of at least one parameter representing a physical quantity that is an attribute of the object Object changing means for changing the position or orientation of the object by an amount, Control necessity information updating means for updating the control necessity information to indicate that movement is not controlled for all of the plurality of objects when a parameter value set for the object satisfies a predetermined condition; A computer-readable information storage medium storing a program characterized by causing the computer to function as:
また、本発明に係る情報処理システムは、仮想空間内に配置されているオブジェクトの動きを制御する情報処理システムであって、仮想空間内に配置されている複数のオブジェクトのそれぞれについての、動きが制御されるオブジェクトであるか否かを示す制御要否情報を記憶する制御要否情報記憶手段から、前記制御要否情報を取得する制御要否情報取得手段と、前記制御要否情報により動きが制御されることが示されているオブジェクトのそれぞれについて、当該オブジェクトの属性である物理量を表す少なくとも1つのパラメータの値に基づいて算出される量だけ当該オブジェクトの位置又は向きを変化させるオブジェクト変化手段と、前記各オブジェクトについて設定されているパラメータの値が所定の条件を満足している場合に、前記複数のオブジェクトすべてについて動きが制御されないことを示すよう前記制御要否情報を更新する制御要否情報更新手段と、を含むことを特徴とする。 The information processing system according to the present invention is an information processing system that controls the movement of an object arranged in a virtual space, and the movement of each of a plurality of objects arranged in the virtual space is The control necessity information acquisition means for acquiring the control necessity information from the control necessity information storage means for storing control necessity information indicating whether or not the object is controlled, and the movement is caused by the control necessity information. Object changing means for changing the position or orientation of the object by an amount calculated based on the value of at least one parameter representing a physical quantity that is an attribute of the object for each of the objects indicated to be controlled When the parameter value set for each object satisfies a predetermined condition, For serial all of the plurality of objects, characterized in that it comprises a control necessity information updating means for updating the control necessity information to indicate that the motion is not controlled.
また、本発明に係る情報処理方法は、仮想空間内に配置されているオブジェクトの動きを制御する情報処理方法であって、仮想空間内に配置されている複数のオブジェクトのそれぞれについての、動きが制御されるオブジェクトであるか否かを示す制御要否情報を記憶する制御要否情報記憶手段から、前記制御要否情報を取得する制御要否情報取得ステップと、前記制御要否情報により動きが制御されることが示されているオブジェクトのそれぞれについて、当該オブジェクトの属性である物理量を表す少なくとも1つのパラメータの値に基づいて算出される量だけ当該オブジェクトの位置又は向きを変化させるオブジェクト変化ステップと、前記各オブジェクトについて設定されているパラメータの値が所定の条件を満足している場合に、前記複数のオブジェクトすべてについて動きが制御されないことを示すよう前記制御要否情報を更新する制御要否情報更新ステップと、を含むことを特徴とする。 An information processing method according to the present invention is an information processing method for controlling the movement of an object arranged in a virtual space, and the movement of each of a plurality of objects arranged in the virtual space is detected. The control necessity information acquisition step for acquiring the control necessity information from the control necessity information storage means for storing the control necessity information indicating whether or not the object is controlled, and the movement is caused by the control necessity information. An object changing step for changing the position or orientation of each object indicated to be controlled by an amount calculated based on a value of at least one parameter representing a physical quantity that is an attribute of the object; When the parameter value set for each object satisfies a predetermined condition, For serial all of the plurality of objects, characterized in that it comprises a control necessity information updating step of updating the control necessity information to indicate that the motion is not controlled, the.
本発明では、複数のオブジェクトそれぞれについて設定されているパラメータの値が所定の条件を満足している場合に、複数のオブジェクトすべてについて動きが制御されないことを示すよう制御要否情報が更新されるので、情報処理システムの処理負荷が高くなってしまうことを防ぐことができるとともに、一部のオブジェクトが物理シミュレーション処理の対象から外れているにも関わらず、残りのオブジェクトが物理シミュレーション処理の対象となっている、などという状況が発生することを防ぐことができる。このようにして、本発明によれば、情報処理システムの処理負荷が高くなってしまうことを防ぎつつ、仮想空間内に配置されているオブジェクトの動きの表現が不自然なものとなるおそれを低減させることができる。 In the present invention, when the parameter values set for each of the plurality of objects satisfy a predetermined condition, the control necessity information is updated to indicate that the movement is not controlled for all of the plurality of objects. This can prevent the processing load of the information processing system from increasing, and the remaining objects become the targets of the physical simulation process even though some objects are excluded from the target of the physical simulation process. It is possible to prevent the occurrence of the situation. In this way, according to the present invention, it is possible to prevent the expression of the motion of the object arranged in the virtual space from becoming unnatural while preventing the processing load on the information processing system from increasing. Can be made.
本発明の一態様では、前記制御要否情報更新手段は、設定されているパラメータの値が所定の条件を満足しているオブジェクトの数が所定数以上である場合に、前記複数のオブジェクトすべてについて動きが制御されないことを示すよう前記制御要否情報を更新することを特徴とする。 In one aspect of the present invention, the control necessity information updating unit is configured to perform the processing for all the plurality of objects when the number of objects for which a set parameter value satisfies a predetermined condition is a predetermined number or more. The control necessity information is updated to indicate that the movement is not controlled.
また、本発明の一態様では、所定のタイミングで、前記各オブジェクトについて、設定されているパラメータの値が所定の条件を満足しているか否かを繰り返し判定する判定手段、として前記コンピュータをさらに機能させ、前記制御要否情報更新手段は、前記判定手段により所定の回数以上連続して、所定の条件を満足しているオブジェクトの数が所定数以上であると判定された場合に、前記複数のオブジェクトすべてについて動きが制御されないことを示すよう前記制御要否情報を更新することを特徴とする。 In one aspect of the present invention, the computer further functions as a determination unit that repeatedly determines whether or not a set parameter value satisfies a predetermined condition for each object at a predetermined timing. The control necessity information updating unit is configured to determine the plurality of objects when the determination unit determines that the number of objects satisfying a predetermined condition is equal to or greater than a predetermined number. The control necessity information is updated to indicate that movement is not controlled for all objects.
また、本発明の一態様では、前記制御要否情報更新手段は、所定の条件を満足しているオブジェクトの数が所定数以上である状況が、所定期間継続した際に、前記複数のオブジェクトすべてについて動きが制御されないことを示すよう前記制御要否情報を更新することを特徴とする。 Also, in one aspect of the present invention, the control necessity information update unit is configured to provide all of the plurality of objects when a situation in which the number of objects satisfying a predetermined condition is equal to or greater than a predetermined number continues for a predetermined period. The control necessity information is updated to indicate that the movement is not controlled.
また、本発明の一態様では、前記制御要否情報更新手段は、前記各オブジェクトについて設定されている速度又は角速度を表すパラメータの値の絶対値が、所定の閾値以下であるオブジェクトの数が所定数以上である場合に、前記複数のオブジェクトすべてについて動きが制御されないことを示すよう前記制御要否情報を更新することを特徴とする。 In one aspect of the present invention, the control necessity information updating unit has a predetermined number of objects in which an absolute value of a parameter value representing a speed or angular velocity set for each object is equal to or less than a predetermined threshold value. When the number is greater than or equal to the number, the control necessity information is updated to indicate that movement is not controlled for all of the plurality of objects.
また、本発明の一態様では、他のオブジェクトと衝突するオブジェクトである衝突オブジェクトの前記他のオブジェクトに対する相対速度を表す値の絶対値が、相対速度を表す値についての所定の閾値以下である場合に、当該衝突オブジェクトの物理量を表すパラメータの値を、パラメータの値を更新しない場合よりも、前記オブジェクト変化手段による当該衝突オブジェクトの位置又は向きの変化量が小さくなるよう更新する値更新手段、として前記コンピュータをさらに機能させることを特徴とする。 In one embodiment of the present invention, the absolute value of the value representing the relative speed of the collision object, which is an object that collides with another object, with respect to the other object is equal to or less than a predetermined threshold for the value representing the relative speed. In addition, as a value updating means for updating the parameter value representing the physical quantity of the collision object so that the change amount of the position or orientation of the collision object by the object changing means is smaller than when the parameter value is not updated. The computer is further functioned.
また、本発明の一態様では、前記値更新手段は、前記衝突オブジェクトと前記他のオブジェクトとの間の反発係数を表すパラメータの値を小さくすることを特徴とする。 Moreover, in one aspect of the present invention, the value update unit reduces a value of a parameter representing a coefficient of restitution between the collision object and the other object.
また、本発明の一態様では、所定のイベントの発生に応じて、前記制御要否情報により動きが制御されないことが示されている前記複数のオブジェクトについて、動きが制御されることを示すよう前記制御要否情報を更新する第3の制御要否情報更新手段、として前記コンピュータをさらに機能させることを特徴とする。 Further, in one aspect of the present invention, in order to indicate that movement is controlled for the plurality of objects whose movement is indicated not to be controlled by the control necessity information in response to occurrence of a predetermined event. The computer is further functioned as third control necessity information updating means for updating the control necessity information.
また、本発明の一態様では、前記オブジェクトが配置されている仮想空間を、前記仮想空間内に設定された視点から見た様子を表す画像を生成する画像生成手段、をさらに含むことを特徴とする。 In one aspect of the present invention, the image processing device further includes image generation means for generating an image representing a state in which the virtual space in which the object is arranged is viewed from a viewpoint set in the virtual space. To do.
以下、本発明の一実施形態について図面に基づき詳細に説明する。 Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings.
図1は、本発明の一実施形態に係る情報処理システムとして機能するゲーム装置10の構成図である。本実施形態に係るゲーム装置10は、例えば、ゲームコンソール、携帯型ゲーム端末、パーソナルコンピュータ等である。図1に示すように、本実施形態に係るゲーム装置10は、制御部12、記憶部14、操作部16、表示部18、を含んでいる。
FIG. 1 is a configuration diagram of a
制御部12は、ゲーム装置10にインストールされるプログラムに従って動作するCPU等のプログラム制御デバイスである。記憶部14は、ROMやRAM等の記憶素子やハードディスクドライブなどである。操作部16は、キーボードやマウス、あるいは家庭用ゲーム機のコントローラ等であって、ユーザの操作入力を受け付けて、その内容を示す信号を制御部12に出力する。表示部18は、液晶ディスプレイ等の表示デバイスであって、制御部12の指示に従って各種の画像を表示する。
The
なお、ゲーム装置10は、ネットワークボードなどの通信インタフェース、DVD−ROMやBlu−ray(登録商標)ディスクなどの光ディスクを読み取る光ディスクドライブ、USB(Universal Serial Bus)ポートなどを含んでいてもよい。
Note that the
本実施形態に係るゲーム装置10は、本発明を適用したプログラムを実行することにより、メモリ上に、図2に例示する仮想空間20を構築するようになっている。同図に示すように、本実施形態に係る仮想空間20は、仮想3次元空間であり、プレイヤオブジェクト22、鎖オブジェクト24、天井オブジェクト26、床オブジェクト28、などの仮想オブジェクトが視点30とともに配置されている。
The
本実施形態では、仮想オブジェクトは複数のポリゴンにより構成されている。各ポリゴンにはテクスチャがマッピングされている。本実施形態では、ゲーム装置10のユーザは、操作部16を操作することによって、仮想空間20内においてプレイヤオブジェクト22を移動させることができるようになっている。
In this embodiment, the virtual object is composed of a plurality of polygons. A texture is mapped to each polygon. In the present embodiment, the user of the
また、本実施形態に係るゲーム装置10で実行されるプログラムでは、古典力学の法則等の物理法則をシミュレートする物理エンジンの機能が実現されている。
Further, in the program executed by the
本実施形態では、例えば、ユーザが操作部16を操作して、プレイヤオブジェクト22が鎖オブジェクト24につかまる、プレイヤオブジェクト22が鎖オブジェクト24から離れる、プレイヤオブジェクト22が鎖オブジェクト24を揺らす、プレイヤオブジェクト22が鎖オブジェクト24を回転させる、などといったアクションを実現させることができるようになっている。
In the present embodiment, for example, when the user operates the
図3は、本実施形態に係るゲーム装置10の機能ブロック図である。図3に示すように、ゲーム装置10は、機能的に、データ記憶部40、操作状態取得部42、オブジェクト配置管理部44、空間画像生成出力部46を含んでいる。データ記憶部40は、記憶部14を主として実現され、その他の要素は制御部12を主として実現される。
FIG. 3 is a functional block diagram of the
これらの機能は、情報処理システムであるゲーム装置10で、本実施形態に係るプログラムが実行されることにより実現される。このプログラムは、コンピュータ通信ネットワーク経由で通信インタフェースを介して他のコンピュータからダウンロードされてもよいし、光ディスク(例えば、CD−ROMやDVD−ROMなど)、USBメモリ等のコンピュータ読み取り可能な情報記憶媒体に格納され、そこから光ディスクドライブやUSB(Universal Serial Bus)ポートなどを介してゲーム装置10にインストールされてもよい。
These functions are realized by executing the program according to the present embodiment on the
本実施形態では、予め、データ記憶部40に、仮想空間20の構築に必要な各種データが記憶されている。データ記憶部40には、例えば、仮想空間20に配置されている仮想オブジェクトに関するポリゴンデータやテクスチャデータなどが記憶されている。例えば、鎖オブジェクト24は、図2に示すように、複数の剛体オブジェクト24a、及び、剛体オブジェクト24a同士や剛体オブジェクト24aと天井オブジェクト26とを連結するジョイント24bを含んで構成されている。なお、本実施形態では、剛体オブジェクト24aは、円柱形状であることとする。また、本実施形態では、鎖オブジェクト24の一端は、天井オブジェクト26とつながれた固定端となっており、他端は自由端となっている。
In the present embodiment, various data necessary for constructing the
また、本実施形態では、データ記憶部40に、各剛体オブジェクト24aについての物理量(例えば、大きさ、質量、慣性モーメント(本実施形態では、慣性テンソル)、速度、角速度、最大速度、最大角速度、インパルス値(力積を表す値)など)を表すパラメータの値が記憶されている。また、本実施形態では、予め、各剛体オブジェクト24aの質量パラメータには同じ値が設定されている。また、各剛体オブジェクト24aの慣性モーメントパラメータには同じ値が設定されている。そして、これらの値はゲームの進行状況に応じて変更することが可能になっている。
In the present embodiment, the physical quantity (for example, size, mass, moment of inertia (inertial tensor in this embodiment), velocity, angular velocity, maximum velocity, maximum angular velocity, and the like for each
また、本実施形態では、データ記憶部40に、各ジョイント24bについて、そのジョイント24bに接続されている剛体オブジェクト24a同士の位置関係や、そのジョイント24bに接続されている剛体オブジェクト24aと天井オブジェクト26との位置関係が物理シミュレーション処理において満足すべき拘束条件(例えば、軸を中心とした回転の最大角、剛体オブジェクト24aの軸同士がなす最大角、など)も記憶されている。本実施形態では、この拘束条件が満足されるよう物理シミュレーション処理が実行されるようになっている。
In the present embodiment, the
また、本実施形態では、データ記憶部40に、各剛体オブジェクト24aについての物理シミュレーション処理の対象であるか否かを示すフラグである制御要否情報も記憶されている。また、本実施形態では、データ記憶部40に、仮想オブジェクトについての第1の物理量と、第1の物理量が変化した際にその変化に応じて変化させる第2の物理量と、の対応規則を示す対応規則データも記憶されている。また、本実施形態では、対応規則データに、後述する前処理において第2の物理量を変化させるのか、後述する後処理において第2の物理量を変化させるのかを示すデータも含まれている。制御要否情報や対応規則データが処理においてどのように用いられるのかについては後述する。
In the present embodiment, the
そして、本実施形態では、空間画像生成出力部46が、仮想空間20内に配置された視点30から視線方向を見た様子を表す画像(以下、空間フレーム画像と呼ぶ。)を所定時間(例えば、1/60秒)間隔で生成し、表示部18に表示出力する。
In the present embodiment, an image (hereinafter referred to as a space frame image) representing a state in which the spatial image generation /
ここで、本実施形態に係るゲーム装置10で毎フレーム行われる(例えば、1/60秒間隔で行われる)処理の流れの一例を、図4に例示するフロー図を参照しながら説明する。
Here, an example of a flow of processing performed every frame (for example, performed at 1/60 second intervals) in the
本処理例では、第1の物理量として、剛体オブジェクト24aに対する力の増加が設定されており、第2の物理量として、その剛体オブジェクト24aについての質量の増加、並びに、鎖オブジェクト24に含まれるその他の剛体オブジェクト24aすべてについての質量の減少が設定されている対応規則データがデータ記憶部40に記憶されていることとする。また、この対応規則データには、力の単位増加量に対する質量の変化量も設定されている。また、この対応規則データには、剛体オブジェクト24aの質量の変化を前処理において行うことも示されている。
In the present processing example, an increase in force on the
また、本処理例では、例えば、第1の物理量として、鎖オブジェクト24の特定方向についての速度の増加が設定されており、第2の物理量として、鎖オブジェクト24の上述の特定方向以外の方向についての速度の減少が設定されている対応規則データもデータ記憶部40に記憶されていることとする。この対応規則データには、上述の速度の減少の際のダンピング係数(0以上1未満の低減率)も設定されている。また、この対応規則データには、速度の減少を後処理において行うことも示されている。
In this processing example, for example, an increase in speed in a specific direction of the
まず、操作状態取得部42が、操作部16の操作状態(具体的には、例えば、押下されているボタンの種類、及び、ボタンの押下量)を取得する(S101)。そして、オブジェクト配置管理部44が、取得した操作状態に基づいて、プレイヤオブジェクト22の動作、及び、その動作に関するパラメータの値を決定する(S102)。ここでは、例えば、プレイヤオブジェクト22がいずれかの剛体オブジェクト24aにつかまるという動作が決定されることとする。また、つかまる動作によって剛体オブジェクト24aに加えられる力を表す力パラメータの値も決定されることとする。
First, the operation
そして、オブジェクト配置管理部44は、すべての剛体オブジェクト24aが物理シミュレーション処理の対象となっていない際に、所定の条件を満足する場合は、すべての剛体オブジェクト24aが物理シミュレーション処理の対象となるよう制御要否情報の値を更新する(S103)。オブジェクト配置管理部44は、例えば、いずれかの剛体オブジェクト24aについてプレイヤオブジェクト22からの距離が所定距離以下になった場合や、いずれかの剛体オブジェクト24aにプレイヤオブジェクト22がつかまった場合は、すべての剛体オブジェクト24aが物理シミュレーション処理の対象となるよう制御要否情報の値を更新する。
Then, the object
そして、オブジェクト配置管理部44が、データ記憶部40に記憶されている制御要否情報を取得して、物理シミュレーション処理の対象となる剛体オブジェクト24aを特定し、物理シミュレーション処理の対象となる剛体オブジェクト24aに設定されている物理量を表すパラメータの値を取得する(S104)。ここでは、例えば、各剛体オブジェクト24aに設定されている速度パラメータの値(本実施形態では、速度パラメータの値は3次元ベクトルで表されている。)、角速度パラメータの値、並びに、各剛体オブジェクト24aの位置及び向きを示す値を取得する。そして、オブジェクト配置管理部44が、S102に示す処理で決定された動作、動作に関するパラメータの値、及び、前処理において第2の物理量を変化させることが示されている対応規則データ、に基づいて、物理シミュレーション処理を行うにあたっての前処理を実行する(S105)。プレイヤオブジェクト22がいずれかの剛体オブジェクト24aにつかまったという動作が発生したフレームでの処理では、オブジェクト配置管理部44は、例えば、プレイヤオブジェクト22がつかまった剛体オブジェクト24aに設定されている質量パラメータの値を増加させるとともに、鎖オブジェクト24に含まれるその他の剛体オブジェクト24aすべてについて、設定されている質量パラメータの値を減少させる。ここで、質量パラメータの値の増加量や減少量は、対応規則データに基づいて、プレイヤオブジェクト22がつかまった際に剛体オブジェクト24aに加えられた力を表す力パラメータの値に応じた値が決定される。
Then, the object
そして、オブジェクト配置管理部44が、各剛体オブジェクト24aに設定されているパラメータの値、及び、上述のS102に示す処理で決定された力パラメータの値に基づいて、物理シミュレーション処理を実行して、各剛体オブジェクト24aの位置や向きの変更、及び、各剛体オブジェクト24aに設定されているパラメータの値の変更を行う(S106)。
Then, the object
本実施形態では、公知の物理エンジンの機能を用いて、S106に示す物理シミュレーション処理を実行する。公知の物理エンジンでは、例えば、各剛体オブジェクト24aに設定された質量パラメータの値、慣性モーメントパラメータの値、速度パラメータの値、角速度パラメータの値、各剛体オブジェクト24aの位置及び向き、上述のS102に示す処理で決定された力パラメータの値、ジョイント24bによる拘束条件を入力することで、物理シミュレーション結果である、各剛体オブジェクト24aについての速度パラメータの値、角速度パラメータの値、並びに、各剛体オブジェクト24aの位置及び向きが出力されることとなる。
In the present embodiment, the physical simulation process shown in S106 is executed using a function of a known physics engine. In the known physics engine, for example, the value of the mass parameter, the value of the moment of inertia parameter, the value of the velocity parameter, the value of the angular velocity parameter, the position and orientation of each
ここで、本実施形態に係る鎖オブジェクト24のように、拘束条件が設定されたジョイント24bによって剛体オブジェクト24aが連結されているような場合は、例えば、仮の位置、仮の向き、仮の速度パラメータの値、及び、仮の角速度パラメータの値を決定する処理をすべての剛体オブジェクト24aについて順次実行するという処理を繰り返すことによって、物理シミュレーションの精度を高めている。しかし、1フレームに相当する時間内に行える処理にも限界があるので、本実施形態では、上述のすべての剛体オブジェクト24aについての順次実行処理を所定回繰り返したら、そこで処理を打ち切り、その時点における仮の速度パラメータの値、仮の角速度パラメータ及び仮の向きを最終的な速度パラメータの値、角速度パラメータの値、及び向きとして決定するとともに、固定端にある剛体オブジェクト24aから順に、剛体オブジェクト24a間の長さが所定の長さになるよう、各剛体オブジェクト24aの位置調整を行うようになっている。
Here, as in the
そして、オブジェクト配置管理部44が、S106に示す物理シミュレーション処理の結果に応じて、各剛体オブジェクト24aに設定されているパラメータの値の追加変更を行う後処理を実行する(S107)。具体的には、例えば、図5に示すように、プレイヤオブジェクト22がX軸正方向に力を加え(すなわち、プレイヤオブジェクト22がX軸正方向に進もうとして)、鎖オブジェクト24のX軸方向の速度Vxが増加した場合は、オブジェクト配置管理部44が、X軸方向とは垂直であるY軸方向についての速度パラメータの値Vy、及び、同じくX軸方向とは垂直であるZ軸方向についての速度パラメータの値Vzに対応規則データに設定されているダンピング係数を乗じる。
Then, the object
そして、オブジェクト配置管理部44は、設定された速度パラメータの値の絶対値が所定の閾値(除外閾値速度)以下であり、設定された角速度パラメータの値の絶対値が所定の閾値(除外閾値角速度)以下である剛体オブジェクト24aの数を特定する(S108)。以下、このようにして特定される剛体オブジェクト24aの数を特定オブジェクト数と呼ぶこととする。
Then, the object
そして、オブジェクト配置管理部44は、所定のフレーム数(例えば、3フレーム)以上継続して、特定オブジェクト数が所定数(例えば、3つ)以上であるか否かを確認する(S109)。そうである場合は(S109:Y)、鎖オブジェクト24に含まれるすべての剛体オブジェクト24aについて物理シミュレーション処理の対象から外すよう制御要否情報の値を更新する(S110)。
Then, the object
そうでない場合(S109:N)、又は、S110に示す処理の終了後に、空間画像生成出力部46は、視点30から視線方向を見た様子を表す空間フレーム画像を生成し、表示部18に表示出力して(S111)、本処理例に示す処理を終了する。
If not (S109: N), or after the processing shown in S110 is completed, the spatial image generation /
本実施形態では、プレイヤオブジェクト22が鎖オブジェクト24につかまって、鎖オブジェクト24を揺らしている間、つかまっている剛体オブジェクト24aの質量パラメータの値が他の剛体オブジェクト24aの質量パラメータの値よりも大きい状態が継続する。そして、例えば、ユーザによりプレイヤオブジェクト22が鎖オブジェクト24を離す操作が実行された場合には、プレイヤオブジェクト22が鎖オブジェクト24から離れて、放り出されることとなる。このとき、オブジェクト配置管理部44は、各剛体オブジェクト24aの質量パラメータの値を予め設定されていた初期値に戻す。すなわち、各剛体オブジェクト24aの質量パラメータには同じ値が設定されることとなる。
In the present embodiment, while the
さらに、オブジェクト配置管理部44は、プレイヤオブジェクト22が鎖オブジェクト24を離す操作が実行されてから、鎖オブジェクト24全体が物理シミュレーション処理の対象から外れるまでの間、鎖オブジェクト24に含まれるすべての剛体オブジェクト24aについて、プレイヤオブジェクト22が鎖オブジェクト24から離れた場面についてのダンピング係数(0以上1未満)を乗じる。本実施形態では、このダンピング係数の値は、予め設定されており、データ記憶部40に記憶されている。なお、このダンピング係数は、プレイヤオブジェクト22が進もうとしていた方向(例えば、X軸方向)と、それ以外の方向(例えば、Y軸方向及びZ軸方向)と、で異なる値が設定されていてもよい。例えば、X軸方向のダンピング係数の値が、Y軸方向のダンピング係数の値よりも小さく設定されており、Z軸方向のダンピング係数の値よりも小さく設定されていてもよい。このようにして、本実施形態では、プレイヤオブジェクト22が鎖オブジェクト24から離れてからの鎖オブジェクト24の揺れの収束を早めることができる。
Further, the object
本実施形態では、例えば、S105に示す処理で、プレイヤオブジェクト22がつかまった剛体オブジェクト24aに設定されている質量パラメータの値を増加させ、それ以外の剛体オブジェクト24aに設定されている質量パラメータの値を減少させることによって、各剛体オブジェクト24aの質量パラメータの値が同じである場合と比較して、鎖オブジェクト24が揺れやすい状況となる。このように、S105に示す処理による、質量パラメータの値の変化によって、物理エンジンにより物理法則を忠実に再現する場合よりも、ゲームでは適した画像表現を実現することが可能となる。
In the present embodiment, for example, in the process shown in S105, the value of the mass parameter set for the
また、本実施形態では、S107に示す処理で、例えば、オブジェクト配置管理部44が、Y軸方向及びZ軸方向についての、速度パラメータの値に、対応規則データに設定されているダンピング係数を乗じることで、このようにしない場合よりも、プレイヤオブジェクト22が進もうとしているX軸方向以外の方向については鎖オブジェクト24の揺れが早く収束することとなる。また、プレイヤオブジェクト22が鎖オブジェクト24につかまっている途中で進行方向を変えた場合でも、鎖オブジェクト24が円運動をしてしまうことを防ぐことができ、プレイヤオブジェクト22が進行しようとする方向に沿った鎖オブジェクト24の揺れの画像表現を実現することができる。
In the present embodiment, for example, in the processing shown in S107, the object
このように、本実施形態では、ユーザから受け付ける操作に応じた剛体オブジェクト24aの物理量の変化だけではなく、対応規則データにおいてその物理量の変化に対応付けられる剛体オブジェクト24aの物理量の変化も、剛体オブジェクト24aの位置や向きの変化に反映されることとなるため、単に、物理エンジンの機能を活かしつつ、物理エンジンにより物理法則を忠実に再現する場合と比較して、剛体オブジェクト24aが動く様子の表現のバリエーションの幅が広がることとなる。
As described above, in the present embodiment, not only the change in the physical quantity of the
また、本実施形態では、あるフレームにおいて、設定された速度パラメータの値の絶対値が所定の閾値(除外閾値速度)以下であり、設定された角速度パラメータの値の絶対値が所定の閾値(除外閾値角速度)以下である剛体オブジェクト24aを特定オブジェクト数として特定する。また、特定オブジェクト数が所定のフレーム数継続して所定数以上であると(本実施形態では、例えば特定オブジェクト数が所定数以上であると3回以上連続して判定されると)、鎖オブジェクト24全体が物理シミュレーション処理の対象から外れることとなる。このことにより、本実施形態では、一部の剛体オブジェクト24aが物理シミュレーション処理の対象から外れているにも関わらず、残りの剛体オブジェクト24aが物理シミュレーション処理の対象となっている、などという状況を防ぐことができる。その結果、本実施形態では、鎖オブジェクト24の動きの表現が不自然なものとなる(例えば、鎖オブジェクト24が不自然に振動する)おそれを低減することができる。また、上述のようにしない場合よりも早く、物理シミュレーション処理の対象となる仮想オブジェクトの数を減らすことができるので、物理シミュレーション処理の負荷を低減することができる。その結果、ゲーム装置10の情報処理の負荷が高くなってしまうことを防げることとなる。
In this embodiment, in a certain frame, the absolute value of the set speed parameter value is less than or equal to a predetermined threshold (exclusion threshold speed), and the absolute value of the set angular speed parameter value is a predetermined threshold (exclusion). The
なお、本発明は上述の実施形態に限定されるものではない。 In addition, this invention is not limited to the above-mentioned embodiment.
例えば、上述の処理例と同様の処理により、図6に示すような、横になった鎖オブジェクト24が床オブジェクト28の上で跳ねる様子が表現されるようにしてもよい。なお、ここでは、床オブジェクト28は静止しており、鎖オブジェクト24が衝突しても、その位置及び向きが変化しないように設定されていることとする。また、剛体オブジェクト24aには、床オブジェクト28との関係における反発係数を表す反発係数パラメータの値が設定されており、反発係数パラメータの値が物理シミュレーション処理において物理エンジンに入力されることとする。
For example, the manner in which the lying
ここで、例えば、図6における左から2番目の剛体オブジェクト24aが床オブジェクト28と衝突した際の、床オブジェクト28に対する剛体オブジェクト24aの相対速度Vr(本実施形態では、床オブジェクト28が静止しているため剛体オブジェクト24aの速度パラメータの値と一致する。)の絶対値が所定の第2閾値(この閾値は、上述のS108に示す処理における閾値(以下、第1閾値と呼ぶ。)より大きい。)以下である場合には、オブジェクト配置管理部44は、反発係数パラメータの値に、反発係数に関して予め設定された、データ記憶部40に記憶されているダンピング係数(0以上1未満)を乗じるようにしてもよい。こうすれば、この剛体オブジェクト24aについては、反発係数パラメータの値を更新しない場合よりも、剛体オブジェクト24aが床オブジェクト28から離れる際の速度パラメータの絶対値や、単位時間あたりの位置や向きの変化量が小さくなる。こうすれば、丸め誤差の影響により、いつまでたっても、剛体オブジェクト24aが床オブジェクト28の上に停止しないという事態が発生することを防ぐことができる。また、反発係数パラメータの値を更新しない場合よりも早く、床オブジェクト28に対する相対速度の絶対値が第1閾値以下になり、物理シミュレーション処理の対象から外れることとなる。こうすれば、反発係数パラメータの値を更新しない場合よりも早く、物理シミュレーション処理の対象となる仮想オブジェクトの数を減らすことができ、その結果、物理シミュレーション処理の負荷を低減することができる。
Here, for example, when the second
また、この場合においても、オブジェクト配置管理部44は、所定のフレーム数(例えば、3フレーム)以上にわたって連続して特定オブジェクト数が所定数(例えば、3つ)以上である場合に、鎖オブジェクト24に含まれるすべての剛体オブジェクト24aについて物理シミュレーション処理の対象から外すようにしてもよい。
Also in this case, the object
なお、本発明は上述の実施形態にも限定されるものではない。 The present invention is not limited to the above-described embodiment.
例えば、S107に示す処理において、オブジェクト配置管理部44は、S107に示す処理において、S106に示す処理で値が変更されたパラメータ(例えば、X軸方向の速度Vx)についてさらに値を変更するようにしてもよい。
For example, in the process shown in S107, the object
また、例えば、S108に示す処理において、オブジェクト配置管理部44は、所定のフレーム数(例えば、2フレーム)以上継続して設定された速度パラメータの値の絶対値が除外閾値速度以下であり、設定された角速度パラメータの値の絶対値が除外閾値角速度以下である剛体オブジェクト24aの数を特定オブジェクト数として特定するようにしてもよい。
Further, for example, in the processing shown in S108, the object
また、例えば、S108に示す処理において、オブジェクト配置管理部44は、設定された速度パラメータの値の絶対値が除外閾値速度以下であり、設定された角速度パラメータの値の絶対値が除外閾値角速度以下である剛体オブジェクト24aの数を特定オブジェクト数として特定するのではなく、例えば、設定された速度パラメータの値の絶対値が除外閾値速度以下である剛体オブジェクト24aの数を特定オブジェクト数として特定するようにしたり、設定された角速度パラメータの値の絶対値が除外閾値角速度以下である剛体オブジェクト24aの数を特定オブジェクト数として特定するようにしても構わない。また、ゲーム装置10が、特定オブジェクト数と所定値との比較結果に応じて、すべての剛体オブジェクト24aを物理シミュレーションの対象から外すか否かを制御する必要はない。例えば、ゲーム装置10が、各剛体オブジェクト24aについて設定されているパラメータの値の最大値と最小値の差が所定値以下であるか否かに応じて、すべての剛体オブジェクト24aを物理シミュレーションの対象から外すか否かを制御するようにしてもよい。
Further, for example, in the processing shown in S108, the object
また、例えば、S109及びS110に示す処理において、鎖オブジェクト24に含まれるすべての剛体オブジェクト24aについて物理シミュレーション処理の対象から外すよう制御要否情報の値を更新するか否かの制御に、所定のフレーム数以上連続して上述のようにして特定される剛体オブジェクト24aの数の代わりに、鎖オブジェクト24に含まれる剛体オブジェクト24aの数に対する、所定のフレーム数以上連続して上述のようにして特定される剛体オブジェクト24aの数の割合(例えば、50%)を用いるようにしてもよい。
Further, for example, in the processing shown in S109 and S110, a predetermined value is used for controlling whether or not to update the value of the control necessity information so that all the
また、例えば、第1の物理量として、鎖オブジェクト24の特定の回転方向についての角速度の増加が設定されており、第2の物理量として、鎖オブジェクト24のその他の回転方向についての角速度の減少が設定されている対応規則データがデータ記憶部40に記憶されていてもよい。この対応規則データには、例えば、上述の角速度の減少の際のダンピング係数(0以上1未満)も設定されており、また、剛体オブジェクト24aの角速度の減少を後処理において行うことも示されている。そして、例えば、S107に示す処理で、オブジェクト配置管理部44が、プレイヤオブジェクト22の進行方向、あるいは、プレイヤオブジェクト22が鎖オブジェクト24を回転させている回転方向とは異なる回転方向についての、角速度パラメータの値に対応規則データに設定されているダンピング係数を乗じるようにしてもよい。こうすれば、プレイヤオブジェクト22が回転させようとしている回転方向とは異なる回転方向については、鎖オブジェクト24の回転が早く収束するようになる。
Further, for example, an increase in angular velocity in a specific rotation direction of the
また、例えば、対応規則データには、第1の物理量として、速度の増加又は減少と、角速度の増加又は減少の両方が示されていてもよい。また、例えば、第2の物理量として、速度の増加又は減少と、角速度の増加又は減少の両方が示されていてもよい。そして、S107に示す処理で、速度の変更と角速度の変更の両方を実行するようにしてもよい。 Further, for example, the correspondence rule data may indicate both an increase or decrease in velocity and an increase or decrease in angular velocity as the first physical quantity. Further, for example, as the second physical quantity, both increase or decrease in velocity and increase or decrease in angular velocity may be indicated. Then, both the speed change and the angular speed change may be executed in the process shown in S107.
また、例えば、対応規則データが、その剛体オブジェクト24aについての質量の増加、並びに、鎖オブジェクト24に含まれるその剛体オブジェクト24aとは異なる一部(例えば、前後2つ)の剛体オブジェクト24aについての質量の減少が設定されていてもよい。そして、オブジェクト配置管理部44が、S105に示す処理でプレイヤオブジェクト22がつかまった剛体オブジェクト24aの前後2つの剛体オブジェクト24aの質量パラメータの値を減少させるようにしてもよい。
Further, for example, the correspondence rule data includes an increase in mass for the
また、例えば、第1の物理量として、剛体オブジェクト24aに対するトルクの増加が設定されており、第2の物理量として、その剛体オブジェクト24aについての慣性モーメントの増加、並びに、それ以外の剛体オブジェクト24aについての慣性モーメントの減少が設定されている対応規則データがデータ記憶部40に記憶されていてもよい。そして、オブジェクト配置管理部44が、各剛体オブジェクト24aに設定されている慣性モーメントパラメータを、決定されたトルクパラメータの値と、トルクの増加量と慣性モーメントの変化量の関係が示されている対応規則データと、に基づいて変更するようにしてもよい。そして、オブジェクト配置管理部44が、トルクパラメータの値を物理エンジンに入力することにより、各剛体オブジェクト24aの位置や向きの変更、及び、各剛体オブジェクト24aに設定されている各種パラメータの値の変更を行うようにしてもよい。
Further, for example, as the first physical quantity, an increase in torque with respect to the
また、例えば、上述の実施形態において前処理で実行された処理が後処理で実行されるようにしても、後処理で実行された処理が前処理で実行されても構わない。具体的には、例えば、プレイヤオブジェクト22がいずれかの剛体オブジェクト24aにつかまったという動作が発生したフレームでの後処理において、質量パラメータの増減が行われ、次フレーム以降における物理シミュレーション処理において、質量パラメータの増減が反映されるようにしてもよい。
In addition, for example, in the above-described embodiment, the process executed in the pre-processing may be executed in the post-processing, or the process executed in the post-processing may be executed in the pre-processing. Specifically, for example, the mass parameter is increased / decreased in the post-processing in the frame in which the action that the
また、例えば、剛体オブジェクト24aの速度変化に応じて、質量パラメータの値を変更するようにしてもよい。また、例えば、対応規則データが示す第2の物理量として、例えば、仮想空間20全体に関わる物理量(例えば、風速)の変化が設定されていてもよい。
Further, for example, the value of the mass parameter may be changed according to a change in the speed of the
また、本実施形態をゲーム装置10以外の情報処理システム(例えば、シミュレーションシステムや画像処理システムなど)に応用してもよい。また、上記の具体的な数値や文字列や図面中の具体的な数値や文字列は例示であり、これらの数値や文字列には限定されない。
Further, the present embodiment may be applied to an information processing system (for example, a simulation system or an image processing system) other than the
10 ゲーム装置、12 制御部、14 記憶部、16 操作部、18 表示部、20 仮想空間、22 プレイヤオブジェクト、24 鎖オブジェクト、24a 剛体オブジェクト、24b ジョイント、26 天井オブジェクト、28 床オブジェクト、30 視点、40 データ記憶部、42 操作状態取得部、44 オブジェクト配置管理部、46 空間画像生成出力部。 10 game devices, 12 control units, 14 storage units, 16 operation units, 18 display units, 20 virtual spaces, 22 player objects, 24 chain objects, 24a rigid objects, 24b joints, 26 ceiling objects, 28 floor objects, 30 viewpoints, 40 data storage unit, 42 operation state acquisition unit, 44 object arrangement management unit, 46 spatial image generation output unit.
Claims (11)
仮想空間内に配置されている複数のオブジェクトのそれぞれについての、動きが制御されるオブジェクトであるか否かを示す制御要否情報を記憶する制御要否情報記憶手段から、前記制御要否情報を取得する制御要否情報取得手段、
前記制御要否情報により動きが制御されることが示されているオブジェクトのそれぞれについて、当該オブジェクトの属性である物理量を表す少なくとも1つのパラメータの値に基づいて算出される量だけ当該オブジェクトの位置又は向きを変化させるオブジェクト変化手段、
前記各オブジェクトについて設定されているパラメータの値が所定の条件を満足している場合に、前記複数のオブジェクトすべてについて動きが制御されないことを示すよう前記制御要否情報を更新する制御要否情報更新手段、
他のオブジェクトと衝突するオブジェクトである衝突オブジェクトの前記他のオブジェクトに対する相対速度を表す値の絶対値が、相対速度を表す値についての所定の閾値以下である場合に、当該衝突オブジェクトの物理量を表すパラメータの値を、パラメータの値を更新しない場合よりも、前記オブジェクト変化手段による当該衝突オブジェクトの位置又は向きの変化量が小さくなるよう更新する値更新手段、
として前記コンピュータを機能させることを特徴とするプログラム。 A program that causes a computer to function as an information processing system that controls the movement of an object placed in a virtual space,
For each of a plurality of objects arranged in the virtual space, the control necessity information is stored from control necessity information storage means for storing control necessity information indicating whether or not the object is a movement controlled object. Control necessity information acquisition means to acquire,
For each object whose movement is indicated by the control necessity information, the position of the object or the amount calculated based on the value of at least one parameter representing the physical quantity that is the attribute of the object Object changing means to change the orientation,
Control necessity information update for updating the control necessity information to indicate that movement is not controlled for all of the plurality of objects when a value of a parameter set for each object satisfies a predetermined condition. means,
When the absolute value of the value representing the relative speed of the collision object, which is an object that collides with another object, with respect to the other object is equal to or less than a predetermined threshold for the value representing the relative speed, the physical quantity of the collision object is represented. Value updating means for updating the parameter value so that the amount of change in the position or orientation of the collision object by the object changing means is smaller than when the parameter value is not updated;
A program for causing the computer to function as:
ことを特徴とする請求項1に記載のプログラム。 The control necessity information update means indicates that movement is not controlled for all the plurality of objects when the number of objects for which a set parameter value satisfies a predetermined condition is equal to or greater than a predetermined number. Updating the control necessity information,
The program according to claim 1.
前記制御要否情報更新手段は、前記判定手段により所定の回数以上連続して、所定の条件を満足しているオブジェクトの数が所定数以上であると判定された場合に、前記複数のオブジェクトすべてについて動きが制御されないことを示すよう前記制御要否情報を更新する、
ことを特徴とする請求項2に記載のプログラム。 Causing the computer to further function as a determination unit that repeatedly determines whether or not a set parameter value satisfies a predetermined condition for each object at a predetermined timing;
The control necessity information update unit is configured to determine whether the number of objects satisfying a predetermined condition is equal to or greater than a predetermined number continuously by the determination unit. Updating the control necessity information to indicate that the movement is not controlled.
The program according to claim 2, wherein:
ことを特徴とする請求項2に記載のプログラム。 The control necessity information updating means indicates that the movement is not controlled for all of the plurality of objects when a situation where the number of objects satisfying a predetermined condition is equal to or greater than a predetermined number continues for a predetermined period. Updating the control necessity information;
The program according to claim 2, wherein:
ことを特徴とする請求項2から4のいずれか一項に記載のプログラム。 The control necessity information updating unit is configured to output the plurality of objects when the absolute value of the parameter value representing the speed or angular velocity set for each object is equal to or greater than a predetermined number. Updating the control necessity information to indicate that movement is not controlled for all the objects of
The program according to any one of claims 2 to 4, wherein:
ことを特徴とする請求項1から5のいずれか一項に記載のプログラム。 The value updating means reduces a value of a parameter representing a coefficient of restitution between the collision object and the other object;
The program according to any one of claims 1 to 5, wherein:
ことを特徴とする請求項1から6のいずれか一項に記載のプログラム。 In response to the occurrence of a predetermined event, the control necessity information is updated to indicate that movement is controlled for the plurality of objects whose movement is indicated not to be controlled by the control necessity information. Further controlling the computer as control necessity information update means,
The program according to any one of claims 1 to 6 , wherein:
ことを特徴とする請求項1から7のいずれか一項に記載のプログラム。 Image generation means for generating an image representing a state in which the virtual space in which the object is arranged is viewed from a viewpoint set in the virtual space;
The program according to any one of claims 1 to 7 , characterized by:
仮想空間内に配置されている複数のオブジェクトのそれぞれについての、動きが制御されるオブジェクトであるか否かを示す制御要否情報を記憶する制御要否情報記憶手段から、前記制御要否情報を取得する制御要否情報取得手段、
前記制御要否情報により動きが制御されることが示されているオブジェクトのそれぞれについて、当該オブジェクトの属性である物理量を表す少なくとも1つのパラメータの値に基づいて算出される量だけ当該オブジェクトの位置又は向きを変化させるオブジェクト変化手段、
前記各オブジェクトについて設定されているパラメータの値が所定の条件を満足している場合に、前記複数のオブジェクトすべてについて動きが制御されないことを示すよう前記制御要否情報を更新する制御要否情報更新手段、
他のオブジェクトと衝突するオブジェクトである衝突オブジェクトの前記他のオブジェクトに対する相対速度を表す値の絶対値が、相対速度を表す値についての所定の閾値以下である場合に、当該衝突オブジェクトの物理量を表すパラメータの値を、パラメータの値を更新しない場合よりも、前記オブジェクト変化手段による当該衝突オブジェクトの位置又は向きの変化量が小さくなるよう更新する値更新手段、
として前記コンピュータを機能させることを特徴とするプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体。 A computer-readable information storage medium storing a program for causing a computer to function as an information processing system that controls the movement of an object arranged in a virtual space,
For each of a plurality of objects arranged in the virtual space, the control necessity information is stored from control necessity information storage means for storing control necessity information indicating whether or not the object is a movement controlled object. Control necessity information acquisition means to acquire,
For each object whose movement is indicated by the control necessity information, the position of the object or the amount calculated based on the value of at least one parameter representing the physical quantity that is the attribute of the object Object changing means to change the orientation,
Control necessity information update for updating the control necessity information to indicate that movement is not controlled for all of the plurality of objects when a value of a parameter set for each object satisfies a predetermined condition. means,
When the absolute value of the value representing the relative speed of the collision object, which is an object that collides with another object, with respect to the other object is equal to or less than a predetermined threshold for the value representing the relative speed, the physical quantity of the collision object is represented. Value updating means for updating the parameter value so that the amount of change in the position or orientation of the collision object by the object changing means is smaller than when the parameter value is not updated;
A computer-readable information storage medium storing a program that causes the computer to function as:
仮想空間内に配置されている複数のオブジェクトのそれぞれについての、動きが制御されるオブジェクトであるか否かを示す制御要否情報を記憶する制御要否情報記憶手段から、前記制御要否情報を取得する制御要否情報取得手段と、
前記制御要否情報により動きが制御されることが示されているオブジェクトのそれぞれについて、当該オブジェクトの属性である物理量を表す少なくとも1つのパラメータの値に基づいて算出される量だけ当該オブジェクトの位置又は向きを変化させるオブジェクト変化手段と、
前記各オブジェクトについて設定されているパラメータの値が所定の条件を満足している場合に、前記複数のオブジェクトすべてについて動きが制御されないことを示すよう前記制御要否情報を更新する制御要否情報更新手段と、
他のオブジェクトと衝突するオブジェクトである衝突オブジェクトの前記他のオブジェクトに対する相対速度を表す値の絶対値が、相対速度を表す値についての所定の閾値以下である場合に、当該衝突オブジェクトの物理量を表すパラメータの値を、パラメータの値を更新しない場合よりも、前記オブジェクト変化手段による当該衝突オブジェクトの位置又は向きの変化量が小さくなるよう更新する値更新手段と、
を含むことを特徴とする情報処理システム。 An information processing system for controlling the movement of an object arranged in a virtual space,
For each of a plurality of objects arranged in the virtual space, the control necessity information is stored from control necessity information storage means for storing control necessity information indicating whether or not the object is a movement controlled object. Control necessity information acquisition means to acquire;
For each object whose movement is indicated by the control necessity information, the position of the object or the amount calculated based on the value of at least one parameter representing the physical quantity that is the attribute of the object An object changing means for changing the orientation;
Control necessity information update for updating the control necessity information to indicate that movement is not controlled for all of the plurality of objects when a value of a parameter set for each object satisfies a predetermined condition. Means,
When the absolute value of the value representing the relative speed of the collision object, which is an object that collides with another object, with respect to the other object is equal to or less than a predetermined threshold for the value representing the relative speed, the physical quantity of the collision object is represented. Value updating means for updating the parameter value so that the amount of change in the position or orientation of the collision object by the object changing means is smaller than when not updating the parameter value;
An information processing system comprising:
情報処理システムに含まれる制御要否情報取得手段が、仮想空間内に配置されている複数のオブジェクトのそれぞれについての、動きが制御されるオブジェクトであるか否かを示す制御要否情報を記憶する制御要否情報記憶手段から、前記制御要否情報を取得する制御要否情報取得ステップと、
前記情報処理システムに含まれるオブジェクト変化手段が、前記制御要否情報により動きが制御されることが示されているオブジェクトのそれぞれについて、当該オブジェクトの属性である物理量を表す少なくとも1つのパラメータの値に基づいて算出される量だけ当該オブジェクトの位置又は向きを変化させるオブジェクト変化ステップと、
前記情報処理システムに含まれる制御要否情報更新手段が、前記各オブジェクトについて設定されているパラメータの値が所定の条件を満足している場合に、前記複数のオブジェクトすべてについて動きが制御されないことを示すよう前記制御要否情報を更新する制御要否情報更新ステップと、
前記情報処理システムに含まれる値更新手段が、他のオブジェクトと衝突するオブジェクトである衝突オブジェクトの前記他のオブジェクトに対する相対速度を表す値の絶対値が、相対速度を表す値についての所定の閾値以下である場合に、当該衝突オブジェクトの物理量を表すパラメータの値を、パラメータの値を更新しない場合よりも、前記オブジェクト変化ステップでの当該衝突オブジェクトの位置又は向きの変化量が小さくなるよう更新する値更新ステップと、
を含むことを特徴とする情報処理方法。 An information processing method for controlling the movement of an object arranged in a virtual space,
The control necessity information acquisition means included in the information processing system stores control necessity information indicating whether or not each of the plurality of objects arranged in the virtual space is an object whose movement is controlled. A control necessity information obtaining step for obtaining the control necessity information from the control necessity information storage means;
For each object whose movement is controlled by the control necessity information , the object changing means included in the information processing system sets a value of at least one parameter representing a physical quantity that is an attribute of the object. An object change step for changing the position or orientation of the object by an amount calculated based on the object;
The control necessity information update means included in the information processing system is configured such that when the parameter values set for each object satisfy a predetermined condition, the movement is not controlled for all the plurality of objects. A control necessity information update step for updating the control necessity information as shown,
The absolute value of the value representing the relative speed of the collision object, which is an object that collides with another object, included in the information processing system is equal to or less than a predetermined threshold for the value representing the relative speed. The value of the parameter representing the physical quantity of the collision object is updated so that the amount of change in the position or orientation of the collision object in the object change step is smaller than when the parameter value is not updated. An update step;
An information processing method comprising:
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011122504A JP5328841B2 (en) | 2011-05-31 | 2011-05-31 | Program, information storage medium, information processing system, and information processing method |
US13/484,446 US8909506B2 (en) | 2011-05-31 | 2012-05-31 | Program, information storage medium, information processing system, and information processing method for controlling a movement of an object placed in a virtual space |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011122504A JP5328841B2 (en) | 2011-05-31 | 2011-05-31 | Program, information storage medium, information processing system, and information processing method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012252400A JP2012252400A (en) | 2012-12-20 |
JP5328841B2 true JP5328841B2 (en) | 2013-10-30 |
Family
ID=47525190
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011122504A Active JP5328841B2 (en) | 2011-05-31 | 2011-05-31 | Program, information storage medium, information processing system, and information processing method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5328841B2 (en) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4186136B2 (en) * | 1998-10-08 | 2008-11-26 | 株式会社セガ | Image processing apparatus and image processing method |
JP2005322057A (en) * | 2004-05-10 | 2005-11-17 | Namco Ltd | Program, information storage medium and image generation system |
JP4771821B2 (en) * | 2006-02-02 | 2011-09-14 | 株式会社バンダイナムコゲームス | Program, information storage medium, and image generation system |
JP4205747B2 (en) * | 2006-12-28 | 2009-01-07 | 株式会社コナミデジタルエンタテインメント | Image processing apparatus, image processing apparatus control method, and program |
JP4892504B2 (en) * | 2008-02-20 | 2012-03-07 | 株式会社コナミデジタルエンタテインメント | GAME DEVICE, GAME DEVICE CONTROL METHOD, AND PROGRAM |
-
2011
- 2011-05-31 JP JP2011122504A patent/JP5328841B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2012252400A (en) | 2012-12-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8909506B2 (en) | Program, information storage medium, information processing system, and information processing method for controlling a movement of an object placed in a virtual space | |
US9050538B2 (en) | Collision detection and motion simulation in game virtual space | |
JP3696216B2 (en) | Three-dimensional video game apparatus, control method of virtual camera in three-dimensional video game, program and recording medium | |
JP5619964B2 (en) | Augmented reality simulation continuum | |
JP4297915B2 (en) | Video game processing apparatus, video game processing method, and video game processing program | |
US11235241B2 (en) | Route navigation system within a game application environment | |
JP2007029571A (en) | Video game processing device, video game processing method, and video game processing program | |
JP2007300974A (en) | Program, information storage medium and image generation system | |
US20230334744A1 (en) | Method and apparatus for generating walk animation of virtual role, device and storage medium | |
JP3926307B2 (en) | Three-dimensional image drawing apparatus and method, program, and recording medium | |
US7402104B2 (en) | Game performing method, game apparatus, storage medium, data signal and program | |
JP5367954B2 (en) | GAME PROGRAM, GAME DEVICE, AND STORAGE MEDIUM | |
JP5328841B2 (en) | Program, information storage medium, information processing system, and information processing method | |
JP5396441B2 (en) | Image generating apparatus, image generating method, program, and information storage medium | |
CN116196611A (en) | Somatosensory game method based on waving action | |
JP2018128851A (en) | Program, object layout system and object layout method | |
JP7248720B2 (en) | GAME PROGRAM, GAME DEVICE, GAME SYSTEM, AND GAME PROCESSING METHOD | |
JP4467590B2 (en) | Drawing apparatus, drawing method, and drawing program | |
JP2012252399A (en) | Program, information storage medium, information processing system, and information processing method | |
JP5784985B2 (en) | Program, information storage medium, information processing system, and information processing method | |
JP2012247953A (en) | Program, information storage medium, information processing system and information processing method | |
JP5396432B2 (en) | Program, information storage medium, information processing system, and information processing method | |
JP6576544B2 (en) | Information processing apparatus, information processing method, and computer-readable storage medium | |
JP5378027B2 (en) | GAME PROGRAM, STORAGE MEDIUM, AND COMPUTER DEVICE | |
JP2012247951A (en) | Program, information storage medium, information processing system and information processing method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130415 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130423 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130620 |
|
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: 20130709 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130723 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5328841 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |