WO2020246508A1 - Physics computing device, physics computing method, and program - Google Patents

Physics computing device, physics computing method, and program Download PDF

Info

Publication number
WO2020246508A1
WO2020246508A1 PCT/JP2020/021977 JP2020021977W WO2020246508A1 WO 2020246508 A1 WO2020246508 A1 WO 2020246508A1 JP 2020021977 W JP2020021977 W JP 2020021977W WO 2020246508 A1 WO2020246508 A1 WO 2020246508A1
Authority
WO
WIPO (PCT)
Prior art keywords
time
unit
physics
external force
dimensional space
Prior art date
Application number
PCT/JP2020/021977
Other languages
French (fr)
Japanese (ja)
Inventor
昭 西山
Original Assignee
株式会社ソニー・インタラクティブエンタテインメント
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 株式会社ソニー・インタラクティブエンタテインメント filed Critical 株式会社ソニー・インタラクティブエンタテインメント
Publication of WO2020246508A1 publication Critical patent/WO2020246508A1/en

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/57Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics

Definitions

  • the present invention relates to a physical arithmetic unit, a physical arithmetic method, and a program.
  • Patent Document 1 describes an object control program using a physics engine that calculates the velocity and position information of an object drawn in a game by using software that simulates physical laws such as mass, velocity, friction, and wind. Have been described.
  • an object of the present invention is to provide a physics arithmetic unit, a physics calculation method, and a program capable of suppressing the amount of physics calculation by simplifying the physics calculation under a predetermined condition.
  • a first predicting the time-series position of a first object assuming that the external force applied to the first object displayed in a virtual three-dimensional space does not change. Assuming that the external force applied to the first object changes when the physical calculation unit and the position of the first object are included in the area related to the second object displayed in the three-dimensional space.
  • a physical calculation device including a second physical calculation unit that predicts the position or speed of one object in time series is provided.
  • the first object A physical calculation method includes a step of predicting a position or speed in a time series.
  • the position of the first object in time series is predicted on the assumption that the external force applied to the first object displayed in the virtual three-dimensional space does not change. It is assumed that the external force applied to the first object changes when the physical calculation unit of 1 and the position of the first object are included in the area related to the second object displayed in the three-dimensional space.
  • a program for operating a computer as a physical calculation device including a second physical calculation unit that predicts a position or speed of a first object in time series is provided.
  • the physics is simplified by assuming that the external force applied to the object does not change if the position of the first object is not included in the area associated with the second object.
  • the amount of calculation of physical calculation can be suppressed.
  • FIG. 1 It is a block diagram which shows the schematic structure of the system which concerns on one Embodiment of this invention. It is a block diagram which shows the structure of the physical calculation part of the arithmetic unit shown in FIG. It is a figure for demonstrating the example of the physical calculation in one Embodiment of this invention. It is a flowchart which shows the example of the processing of the physical calculation in one Embodiment of this invention.
  • FIG. 1 is a block diagram showing a schematic configuration of a system according to an embodiment of the present invention.
  • the system 10 includes a capture device 100, an arithmetic unit 200 (physical arithmetic unit), a drawing device 300, and a display device 400.
  • the capture device 100 captures the movement of the user by using, for example, three-dimensional measurement or an IMU (inertial measurement unit).
  • the capture device 100 includes a plurality of cameras and arithmetic units for three-dimensional measurement, an IMU, and the like.
  • the capture device 100 transmits data indicating the captured user's movement to the arithmetic unit 200.
  • the arithmetic unit 200 includes a data correction unit 210, a complement / prediction unit 220, a physical calculation unit 230, and a coordinate correction unit 240.
  • the arithmetic unit 200 is implemented by, for example, a computer having a communication interface, a processor, and a memory, and the functions of the data correction unit 210, the complement / prediction unit 220, the physical calculation unit 230, and the coordinate correction unit 240 are stored in the memory. It is realized by operating according to the program received via the communication interface. The functions of each part will be further described below.
  • the data correction unit 210 outputs data indicating the user's movement by executing noise removal, loss complementation, packet loss correspondence, etc. of the data received from the capture device 100 at a predetermined cycle (for example, 30 fps to 60 fps). Correct the data to be continuous at predetermined intervals.
  • the complement / prediction unit 220 predicts the time-series position of the object displayed in the virtual three-dimensional space based on the data indicating the movement of the user. In the present embodiment, the complement / prediction unit 220 predicts the position of the object in a cycle shorter than the cycle of the data indicating the movement of the user provided by the data correction unit 210, for example, by the complement processing by internal / external insertion.
  • the physics calculation unit 230 executes a physics calculation that simulates the laws of physics in order for the completion / prediction unit 220 to predict the position of the object in the time series.
  • the physics unit 230 executes a physics calculation based on, for example, an external force exerted on the object by the user, which is determined according to data indicating the movement of the user in addition to the mass, initial velocity, and gravity set on the object. By doing so, the position of the object in time series is predicted.
  • the coordinate correction unit 240 corrects the coordinates of the position prediction result of the object by the complement / prediction unit 220, reflecting the position of the object as necessary.
  • the coordinate correction unit 240 does not necessarily have to be provided.
  • the position prediction result of the object after the correction by the coordinate correction unit 240 (when the coordinate correction unit 240 is not provided, the position prediction result of the object by the complement / prediction unit 220) is transmitted to the drawing device 300.
  • the drawing device 300 is implemented by a computer in the same manner as the arithmetic unit 200, and displays an image of an object in a virtual three-dimensional space with reference to the position prediction result of the object at a predetermined period (refresh rate. As an example. Draw at 120 fps to 240 fps).
  • the display device 400 is, for example, an HMD (head-mounted display), and displays an image drawn by the drawing device 300 as a viewpoint image toward the user.
  • the system 10 by suppressing the amount of calculation of the physical calculation executed by the physical calculation unit 230, it is possible to operate the system 10 as the arithmetic unit 200 even with hardware having limited calculation resources. Further, for example, since the position prediction cycle can be made shorter than the drawing cycle of the drawing device 300 (for example, 1000 fps or more), it corresponds to the improvement of the refresh rate of the display device 400 in the future, for example. Even if the drawing cycle of the drawing device 300 is shortened, the processing on the arithmetic unit 200 side can be dealt with without being changed.
  • FIG. 2 is a block diagram showing a configuration of a physical arithmetic unit of the arithmetic unit shown in FIG.
  • the physics unit 230 includes a first physics unit 231 and a second physics unit 232.
  • the first physics unit 231 predicts the position of an object displayed in a virtual three-dimensional space in time series on the assumption that the external force applied to the object does not change.
  • the second physics unit 232 predicts the position in the time series on the assumption that the external force applied to the object changes.
  • the external force does not change means that, for example, the external force does not apply to the object, the magnitude of the external force applied to the object does not change, and a constant ratio with respect to the mass or velocity of the object. Means that a proportional external force is applied.
  • no external force is applied to the object, the object moves at a constant velocity.
  • an external force that does not change in magnitude such as gravity, is applied, the object moves at a constant acceleration.
  • constant velocity motion and constant acceleration motion the position of an object in a time series over the future can be predicted by a calculation formula using only time as a variable.
  • changing the external force means that an external force that has not been applied to the object is applied due to a collision between the objects, for example.
  • the external force may be applied instantaneously, temporarily for a predetermined time, or continuously after a certain time.
  • a collision between objects occurs, for example, when an object that is a moving object in a three-dimensional space comes into contact with another object that is fixedly arranged in the three-dimensional space or another object that is a moving object in the three-dimensional space. appear.
  • other objects may move according to the movement of the user.
  • the arithmetic unit 200 updates the position of the object at a predetermined cycle, and determines whether or not a collision with another object occurs at the updated position. To do. Then, when a collision with another object occurs, the arithmetic unit 200 can calculate the velocity of the object after the collision from the direction and magnitude of the external force applied to the object by the collision.
  • the first object which is a moving object in the virtual three-dimensional space and the moving object in the three-dimensional space or in the three-dimensional space.
  • the second object that is fixedly arranged, if the collision between the first object and the second object does not occur, it is assumed that the external force applied to the object by the first physical calculation unit 231 does not change. Predict the position in time series.
  • the physics unit 230 assumes that the external force applied to the object by the second physics unit 232 changes when a collision between the first object and the second object may occur. Predict the time-series position or velocity of an object.
  • whether or not a collision between the first object and the second object may occur depends on, for example, whether or not the position of the first object is included in the area related to the second object. It can be determined.
  • This area is, for example, an area including a position where the first object collides with the second object.
  • the second physical calculation unit 232 uses the first object. Predicts the velocity after reaching this position and colliding with a second object.
  • the second physics unit 232 may predict the velocity of the first object after the collision by using the coefficient of restitution between the first object and the second object. Since it can be assumed that the external force applied to the object does not change again after the collision with the second object, the first physics unit 231 may predict the position of the first object in the time series.
  • the area related to the second object may be an area where the second object can exist.
  • the movement of the second object is irregular, so that the first object is predicted by the first physics unit 231 in time series position. It is difficult to pinpoint where the second object collides.
  • the second physics unit 232 predicts the position of the first object. To do.
  • the second physics unit 232 updates the position of the first object at a predetermined cycle, for example, and when the position of the first object and the position of the second object come into contact with each other or overlap, the second physical calculation unit 232 causes a collision.
  • the velocity of the object after the collision is calculated from the direction and magnitude of the external force applied to the object.
  • the second physics unit 232 predicts the time-series position and velocity of the first object.
  • the first physics unit 231 and the second physics unit 232 predict the time-series position and velocity of the second object in the same manner as the first object. You may.
  • FIG. 3 is a diagram for explaining an example of physics calculation in one embodiment of the present invention.
  • the physics unit 230 predicts the time-series positions of objects obj1 (first object) and objects obj2 (second object), which are moving objects in a virtual three-dimensional space.
  • the objects obj1 and obj2 are distant from each other and are moving at velocities v1 and v2 in the direction of approaching each other.
  • the second physics unit 232 sets the position of the object in the time series on the assumption that the external force applied to the object changes in the entire section from the time t to the time t + 4. I'm predicting. More specifically, the second physics unit 232 sequentially calculates the positions of the objects obj1 and obj2 at the time t + 1, t + 2 based on the positions of the objects obj1 and obj2 at the time t and the velocities v1 and v2. At time t + 2, the calculated positions of the objects obj1 and obj2 overlap.
  • the second physics unit 232 uses a constraint solver to correct the positions of the objects obj1 and obj2 at time t + 2. More specifically, for example, the second physical calculation unit 232 simulates the collision behavior of the objects obj1 and obj2 that occur between the time t + 1 and the time t + 2, and transmits the behavior between the objects obj1 and obj2. The velocity of the objects obj1 and obj2 after the collision is calculated from the direction and magnitude of the external force applied, and the positions of the objects obj1 and obj2 at time t + 2 are calculated based on the velocities of the objects obj1 and obj2 after the collision. After that, the second physics unit 232 sequentially calculates the positions of the objects obj1 and obj2 at times t + 3 and t + 4.
  • the first physics unit 231 first sends the objects obj1 and obj2 to the objects obj1 and obj2.
  • the time-series positions of the objects obj1 and obj2 are predicted on the assumption that the applied external force does not change.
  • the time-series position of the object can be predicted by the calculation formula using only time as a variable as described above, and the time t + n when the object obj1 reaches the position where it collides with the object obj2 (example of (a) above).
  • the time between time t + 1 and time t + 2) can also be easily specified.
  • the velocities of the objects obj1 and obj2 after the time t + n are predicted on the assumption that the external force applied to the object by the second physics unit 232 changes. More specifically, for example, the second physics unit 232 calculates the velocity of the objects obj1 and obj2 after the collision by using the coefficient of restitution between the object obj1 and the object obj2 as in the example described later.
  • the second physics unit 232 may calculate the velocity of the objects obj1 and obj2 after the collision by simulating the behavior of the objects obj1 and obj2 at the time of collision as in the example of (a) above. .. Based on the calculated velocity, the first physics unit 231 again predicts the time-series positions of the objects obj1 and obj2 from the time t + n to the time t + m (n ⁇ m).
  • the physics calculation unit 230 executes the physical calculation for the time from time t to time t + n by predicting the positions of the objects obj1 and obj2 using a calculation formula using only time as a variable. The amount of calculation can be suppressed. Further, in the example of (b), since the time t + n of the collision of the objects obj1 and obj2 can be specified, the position is corrected after it is found that the objects obj1 and obj2 overlap at the time t + 2 as in the example of (a). The amount of calculation can be suppressed as compared with the case of doing.
  • the position of the object obj1 at time t is the initial position (x 0, y 0, z 0) initial velocity (v x0, v y0, v z0), and the initial acceleration (a x0, a y0, a z0) as follows from the Can be calculated.
  • the object obj1, if obj2 is a mobile in either the three-dimensional space the initial position of the object obj1 (x 0 1, y 0 1, z 0 1) initial velocity (v x0 1, v y0 1 , v z0 1), and initial acceleration (a x0 1, a y0 1, a z0 1), and initial position of object obj2 (x 0 2, y 0 2, z 0 2) initial velocity (v x0 2, v y0 2) , V z0 2), and the initial acceleration (a x0 2, a y0 2, a z0 2) are used to calculate the collision time t C as follows, and the collision time is calculated using the repulsion coefficient as in the above example. it is possible to calculate the position of the object obj1, obj2 at time t before and after t C.
  • FIG. 4 is a flowchart showing an example of processing of physical calculation in one embodiment of the present invention.
  • the physical calculation unit 230 of the arithmetic unit 200 executes the physical calculation of the object displayed in the virtual three-dimensional space, it first determines whether or not the object has reached the collision area (step S101). For example, the physics unit 230 determines that an object has reached the collision area when the object overlaps with another object. Alternatively, when the first physics unit 231 predicts the position of the object on the assumption that the external force does not change (step S102), the physics unit 230 makes contact with another object or the predicted position touches another object. If there is a collision, it is determined that the object has reached the collision area.
  • the first physics unit 231 predicts the position of the object on the assumption that the external force applied to the object does not change (step S102). ). At this time, the first physics unit 231 may predict the position of the object in the next cycle of the position prediction of the object, or collectively predict the position of the time series until the object reaches the collision area. You may. The position prediction of the object by the first physics unit 231 is repeated until the object reaches the collision region (step S101).
  • the second physics unit 232 predicts the position or velocity of the object on the assumption that the external force applied to the object changes. (Step S103).
  • the second physics unit 232 may predict the position of the time series while the object is in the collision area, or may determine the velocity of the object after it has changed in the collision area equal to the collision position as in the above example. You may predict.
  • the position prediction of the object by the second physics unit 232 is repeated until the object leaves the collision area (step S104).
  • step S105 By repeating the prediction of the position of the object by the first physical calculation unit 231 and the second physical calculation unit 232 as described above until the end of the physical calculation (step S105), the time series of the objects colliding with other objects The position of can be predicted with a suppressed amount of calculation.
  • 10 ... system, 100 ... capture device, 200 ... arithmetic unit, 210 ... data correction unit, 220 ... prediction unit, 230 ... physical calculation unit, 231 ... first physical calculation unit, 232 ... second physical calculation unit, 240 ... Coordinate correction unit, 300 ... Drawing device, 400 ... Display device.

Abstract

Provided is a physics computing device comprising: a first physics computing unit that predicts the position of a first object on a time-series basis on the assumption that an external force applied to the first object displayed in a virtual three-dimensional space remains constant; and a second physics computing unit that predicts the position or speed of the first object on a time-series basis on the assumption that an external force applied to the first object changes if the position of the first object is included in a region associated with a second object displayed in the three-dimensional space.

Description

物理演算装置、物理演算方法およびプログラムPhysics unit, physics method and program
 本発明は、物理演算装置、物理演算方法およびプログラムに関する。 The present invention relates to a physical arithmetic unit, a physical arithmetic method, and a program.
 ディスプレイなどに表示される仮想的な空間内で移動するオブジェクトの位置を物理演算によって算出する技術が知られている。例えば、特許文献1には、ゲーム内で描画されるオブジェクトの速度および位置情報を質量、速度、摩擦、および風といった物理法則をシミュレーションするソフトウェアを用いて算出する物理エンジンを用いたオブジェクト制御プログラムが記載されている。 A technique is known for calculating the position of an object moving in a virtual space displayed on a display or the like by physical calculation. For example, Patent Document 1 describes an object control program using a physics engine that calculates the velocity and position information of an object drawn in a game by using software that simulates physical laws such as mass, velocity, friction, and wind. Have been described.
特開2013-000208号公報Japanese Unexamined Patent Publication No. 2013-000208
 上記のようなオブジェクト制御では、例えば処理を高速化したり、計算リソースが限られたハードウェアでの動作を可能にしたりするために、物理演算の計算量を抑制することが有利になる場合がある。 In object control as described above, it may be advantageous to suppress the amount of calculation of physics in order to speed up processing or enable operation on hardware with limited calculation resources. ..
 そこで、本発明は、所定の条件下で物理演算を簡略化することによって物理演算の計算量を抑制することが可能な物理演算装置、物理演算方法およびプログラムを提供することを目的とする。 Therefore, an object of the present invention is to provide a physics arithmetic unit, a physics calculation method, and a program capable of suppressing the amount of physics calculation by simplifying the physics calculation under a predetermined condition.
 本発明のある観点によれば、仮想的な三次元空間内に表示される第1のオブジェクトに加わる外力が変化しないことを仮定して第1のオブジェクトの時系列の位置を予測する第1の物理演算部と、第1のオブジェクトの位置が三次元空間内に表示される第2のオブジェクトに関連する領域に含まれる場合に、第1のオブジェクトに加わる外力が変化することを仮定して第1のオブジェクトの時系列の位置または速度を予測する第2の物理演算部とを備える物理演算装置が提供される。 According to one aspect of the present invention, a first predicting the time-series position of a first object, assuming that the external force applied to the first object displayed in a virtual three-dimensional space does not change. Assuming that the external force applied to the first object changes when the physical calculation unit and the position of the first object are included in the area related to the second object displayed in the three-dimensional space. A physical calculation device including a second physical calculation unit that predicts the position or speed of one object in time series is provided.
 本発明の別の観点によれば、仮想的な三次元空間内に表示される第1のオブジェクトに加わる外力が変化しないことを仮定して第1のオブジェクトの時系列の位置を予測するステップと、第1のオブジェクトの位置が三次元空間内に表示される第2のオブジェクトに関連する領域に含まれる場合に、第1のオブジェクトに加わる外力が変化することを仮定して第1のオブジェクトの時系列の位置または速度を予測するステップとを含む物理演算方法が提供される。 According to another aspect of the present invention, the step of predicting the position of the first object in time series on the assumption that the external force applied to the first object displayed in the virtual three-dimensional space does not change. , When the position of the first object is included in the area related to the second object displayed in the three-dimensional space, assuming that the external force applied to the first object changes, the first object A physical calculation method is provided that includes a step of predicting a position or speed in a time series.
 本発明のさらに別の観点によれば、仮想的な三次元空間内に表示される第1のオブジェクトに加わる外力が変化しないことを仮定して第1のオブジェクトの時系列の位置を予測する第1の物理演算部と、第1のオブジェクトの位置が三次元空間内に表示される第2のオブジェクトに関連する領域に含まれる場合に、第1のオブジェクトに加わる外力が変化することを仮定して第1のオブジェクトの時系列の位置または速度を予測する第2の物理演算部とを備える物理演算装置としてコンピュータを動作させるためのプログラムが提供される。 According to yet another aspect of the present invention, the position of the first object in time series is predicted on the assumption that the external force applied to the first object displayed in the virtual three-dimensional space does not change. It is assumed that the external force applied to the first object changes when the physical calculation unit of 1 and the position of the first object are included in the area related to the second object displayed in the three-dimensional space. A program for operating a computer as a physical calculation device including a second physical calculation unit that predicts a position or speed of a first object in time series is provided.
 上記の構成によれば、第1のオブジェクトの位置が第2のオブジェクトに関連する領域に含まれない場合にはオブジェクトに加わる外力が変化しないことを仮定することによって物理演算を簡略化し、それによって物理演算の計算量を抑制することができる。 According to the above configuration, the physics is simplified by assuming that the external force applied to the object does not change if the position of the first object is not included in the area associated with the second object. The amount of calculation of physical calculation can be suppressed.
本発明の一実施形態に係るシステムの概略的な構成を示すブロック図である。It is a block diagram which shows the schematic structure of the system which concerns on one Embodiment of this invention. 図1に示した演算装置の物理演算部の構成を示すブロック図である。It is a block diagram which shows the structure of the physical calculation part of the arithmetic unit shown in FIG. 本発明の一実施形態における物理演算の例について説明するための図である。It is a figure for demonstrating the example of the physical calculation in one Embodiment of this invention. 本発明の一実施形態における物理演算の処理の例を示すフローチャートである。It is a flowchart which shows the example of the processing of the physical calculation in one Embodiment of this invention.
 以下、添付図面を参照しながら、本発明のいくつかの実施形態について詳細に説明する。なお、本明細書および図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。 Hereinafter, some embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the present specification and the drawings, components having substantially the same functional configuration are designated by the same reference numerals, so that duplicate description will be omitted.
 図1は、本発明の一実施形態に係るシステムの概略的な構成を示すブロック図である。図示された例において、システム10は、キャプチャ装置100と、演算装置200(物理演算装置)と、描画装置300と、表示装置400を含む。キャプチャ装置100は、例えば三次元計測やIMU(慣性計測装置)などを用いてユーザーの動きをキャプチャする。具体的には、例えば、キャプチャ装置100は三次元計測のための複数のカメラおよび演算装置、ならびにIMUなどを含む。キャプチャ装置100は、キャプチャされたユーザーの動きを示すデータを演算装置200に送信する。 FIG. 1 is a block diagram showing a schematic configuration of a system according to an embodiment of the present invention. In the illustrated example, the system 10 includes a capture device 100, an arithmetic unit 200 (physical arithmetic unit), a drawing device 300, and a display device 400. The capture device 100 captures the movement of the user by using, for example, three-dimensional measurement or an IMU (inertial measurement unit). Specifically, for example, the capture device 100 includes a plurality of cameras and arithmetic units for three-dimensional measurement, an IMU, and the like. The capture device 100 transmits data indicating the captured user's movement to the arithmetic unit 200.
 演算装置200は、データ補正部210と、補完・予測部220と、物理演算部230と、座標修正部240とを含む。演算装置200は、例えば通信インターフェース、プロセッサ、およびメモリを有するコンピュータによって実装され、データ補正部210、補完・予測部220、物理演算部230、および座標修正部240の機能はプロセッサがメモリに格納された、または通信インターフェースを介して受信されたプログラムに従って動作することによって実現される。以下、各部の機能についてさらに説明する。 The arithmetic unit 200 includes a data correction unit 210, a complement / prediction unit 220, a physical calculation unit 230, and a coordinate correction unit 240. The arithmetic unit 200 is implemented by, for example, a computer having a communication interface, a processor, and a memory, and the functions of the data correction unit 210, the complement / prediction unit 220, the physical calculation unit 230, and the coordinate correction unit 240 are stored in the memory. It is realized by operating according to the program received via the communication interface. The functions of each part will be further described below.
 データ補正部210は、キャプチャ装置100から所定の周期(一例として、30fps~60fps)で受信されたデータのノイズ除去や欠損補完、パケット消失対応などを実行することによって、ユーザーの動きを示すデータを所定の間隔で連続するデータに補正する。 The data correction unit 210 outputs data indicating the user's movement by executing noise removal, loss complementation, packet loss correspondence, etc. of the data received from the capture device 100 at a predetermined cycle (for example, 30 fps to 60 fps). Correct the data to be continuous at predetermined intervals.
 補完・予測部220は、ユーザーの動きを示すデータに基づいて仮想的な三次元空間内に表示されるオブジェクトの時系列の位置を予測する。本実施形態において、補完・予測部220は、例えば内外挿による補完の処理によって、データ補正部210から提供されるユーザーの動きを示すデータの周期よりも短い周期でオブジェクトの位置を予測する。 The complement / prediction unit 220 predicts the time-series position of the object displayed in the virtual three-dimensional space based on the data indicating the movement of the user. In the present embodiment, the complement / prediction unit 220 predicts the position of the object in a cycle shorter than the cycle of the data indicating the movement of the user provided by the data correction unit 210, for example, by the complement processing by internal / external insertion.
 物理演算部230は、補完・予測部220がオブジェクトの時系列の位置を予測するために、物理法則をシミュレーションする物理演算を実行する。物理演算部230は、例えば、オブジェクトに設定される質量や初期速度、重力に加えて、ユーザーの動きを示すデータに応じて決定される、ユーザーがオブジェクトに及ぼす外力に基づいて物理演算を実行することによって、オブジェクトの時系列の位置を予測する。 The physics calculation unit 230 executes a physics calculation that simulates the laws of physics in order for the completion / prediction unit 220 to predict the position of the object in the time series. The physics unit 230 executes a physics calculation based on, for example, an external force exerted on the object by the user, which is determined according to data indicating the movement of the user in addition to the mass, initial velocity, and gravity set on the object. By doing so, the position of the object in time series is predicted.
 座標修正部240は、補完・予測部220によるオブジェクトの位置予測結果の座標を、必要に応じてオブジェクトの位置を反映して修正する。なお、座標修正部240は、必ずしも設けられなくてもよい。座標修正部240による修正後のオブジェクトの位置予測結果(座標修正部240が設けられない場合は、補完・予測部220によるオブジェクトの位置予測結果)は、描画装置300に送信される。 The coordinate correction unit 240 corrects the coordinates of the position prediction result of the object by the complement / prediction unit 220, reflecting the position of the object as necessary. The coordinate correction unit 240 does not necessarily have to be provided. The position prediction result of the object after the correction by the coordinate correction unit 240 (when the coordinate correction unit 240 is not provided, the position prediction result of the object by the complement / prediction unit 220) is transmitted to the drawing device 300.
 描画装置300は、例えば演算装置200と同様にコンピュータによって実装され、オブジェクトの位置予測結果を参照して仮想的な三次元空間内にオブジェクトを表示した画像を所定の周期(リフレッシュレート。一例として、120fps~240fps)で描画する。表示装置400は、例えばHMD(ヘッドマウントディスプレイ)であり、描画装置300が描画した画像を視点画像としてユーザーに向けて表示する。 The drawing device 300 is implemented by a computer in the same manner as the arithmetic unit 200, and displays an image of an object in a virtual three-dimensional space with reference to the position prediction result of the object at a predetermined period (refresh rate. As an example. Draw at 120 fps to 240 fps). The display device 400 is, for example, an HMD (head-mounted display), and displays an image drawn by the drawing device 300 as a viewpoint image toward the user.
 上記のようなシステム10では、物理演算部230が実行する物理演算の計算量を抑制することによって、計算リソースが限られたハードウェアでも演算装置200として動作させることが可能になる。また、例えば位置予測の周期を描画装置300における描画の周期よりも短く(一例として、1000fps以上)することが可能であるため、例えば将来的に表示装置400のリフレッシュレートが向上したことに対応して描画装置300における描画の周期が短くなった場合にも、演算装置200側の処理を変更せずに対応することができる。 In the system 10 as described above, by suppressing the amount of calculation of the physical calculation executed by the physical calculation unit 230, it is possible to operate the system 10 as the arithmetic unit 200 even with hardware having limited calculation resources. Further, for example, since the position prediction cycle can be made shorter than the drawing cycle of the drawing device 300 (for example, 1000 fps or more), it corresponds to the improvement of the refresh rate of the display device 400 in the future, for example. Even if the drawing cycle of the drawing device 300 is shortened, the processing on the arithmetic unit 200 side can be dealt with without being changed.
 図2は、図1に示した演算装置の物理演算部の構成を示すブロック図である。図示された例において、物理演算部230は、第1の物理演算部231と、第2の物理演算部232とを含む。第1の物理演算部231は、仮想的な三次元空間内に表示されるオブジェクトについて、オブジェクトに加わる外力が変化しないことを仮定して時系列の位置を予測する。第2の物理演算部232は、オブジェクトに加わる外力が変化することを仮定して時系列の位置を予測する。 FIG. 2 is a block diagram showing a configuration of a physical arithmetic unit of the arithmetic unit shown in FIG. In the illustrated example, the physics unit 230 includes a first physics unit 231 and a second physics unit 232. The first physics unit 231 predicts the position of an object displayed in a virtual three-dimensional space in time series on the assumption that the external force applied to the object does not change. The second physics unit 232 predicts the position in the time series on the assumption that the external force applied to the object changes.
 ここで、本明細書において、外力が変化しない、とは、例えばオブジェクトに外力が加わらないこと、オブジェクトに加わる外力の大きさが変化しないこと、およびオブジェクトの質量や速度などに対して一定の割合で比例する外力が加わることを意味する。オブジェクトに外力が加わらない場合、オブジェクトは等速運動する。重力のように大きさが変化しない外力が加わる場合、オブジェクトは等加速度運動する。等速運動や等加速度運動では、オブジェクトの将来にわたる時系列の位置を時間のみを変数とする計算式によって予測することができる。また、空気抵抗力や摩擦力のようにオブジェクトの速度や質量などに対して一定の割合で比例する外力が加わる場合も、オブジェクトの運動は時間のみを変数とする計算式で記述可能であり、オブジェクトの将来にわたる時系列の位置を簡単な計算によって予測することができる。 Here, in the present specification, "the external force does not change" means that, for example, the external force does not apply to the object, the magnitude of the external force applied to the object does not change, and a constant ratio with respect to the mass or velocity of the object. Means that a proportional external force is applied. When no external force is applied to the object, the object moves at a constant velocity. When an external force that does not change in magnitude, such as gravity, is applied, the object moves at a constant acceleration. In constant velocity motion and constant acceleration motion, the position of an object in a time series over the future can be predicted by a calculation formula using only time as a variable. In addition, even when an external force proportional to the speed or mass of an object is applied, such as air resistance or friction, the motion of an object can be described by a formula that uses only time as a variable. The future position of an object in time series can be predicted by a simple calculation.
 一方、本明細書において、外力が変化する、とは、例えばオブジェクト同士の衝突によってオブジェクトに加わっていなかった外力が加わることを意味する。外力は、瞬間的に加わってもよく、所定の時間にわたって一時的に加わってもよく、ある時刻以降に継続的に加わってもよい。オブジェクト同士の衝突は、例えば三次元空間内の移動体であるオブジェクトが、三次元空間内に固定配置される他のオブジェクト、または三次元空間内の移動体である他のオブジェクトに接触した場合に発生する。ここで、他のオブジェクトは、ユーザーの動きに従って移動してもよい。オブジェクトに加わる外力が変化することを仮定する場合、例えば、演算装置200は、オブジェクトについて所定の周期で位置を更新し、更新された位置で他のオブジェクトとの衝突が発生するか否かを判定する。そして、演算装置200は、他のオブジェクトとの衝突が発生する場合には衝突によってオブジェクトに加わる外力の向きおよび大きさから衝突後のオブジェクトの速度を算出することができる。 On the other hand, in the present specification, changing the external force means that an external force that has not been applied to the object is applied due to a collision between the objects, for example. The external force may be applied instantaneously, temporarily for a predetermined time, or continuously after a certain time. A collision between objects occurs, for example, when an object that is a moving object in a three-dimensional space comes into contact with another object that is fixedly arranged in the three-dimensional space or another object that is a moving object in the three-dimensional space. appear. Here, other objects may move according to the movement of the user. Assuming that the external force applied to the object changes, for example, the arithmetic unit 200 updates the position of the object at a predetermined cycle, and determines whether or not a collision with another object occurs at the updated position. To do. Then, when a collision with another object occurs, the arithmetic unit 200 can calculate the velocity of the object after the collision from the direction and magnitude of the external force applied to the object by the collision.
 本実施形態に係る演算装置200の物理演算部230では、仮想的な三次元空間内の移動体である第1のオブジェクトと、三次元空間内の移動体であるか、または三次元空間内に固定配置される第2のオブジェクトについて、第1のオブジェクトと第2のオブジェクトとの衝突が発生しない場合には第1の物理演算部231がオブジェクトに加わる外力が変化しないことを仮定してオブジェクトの時系列の位置を予測する。一方、物理演算部230は、第1のオブジェクトと第2のオブジェクトとの衝突が発生する可能性がある場合には第2の物理演算部232がオブジェクトに加わる外力が変化することを仮定してオブジェクトの時系列の位置または速度を予測する。 In the physical calculation unit 230 of the calculation device 200 according to the present embodiment, the first object which is a moving object in the virtual three-dimensional space and the moving object in the three-dimensional space or in the three-dimensional space. For the second object that is fixedly arranged, if the collision between the first object and the second object does not occur, it is assumed that the external force applied to the object by the first physical calculation unit 231 does not change. Predict the position in time series. On the other hand, the physics unit 230 assumes that the external force applied to the object by the second physics unit 232 changes when a collision between the first object and the second object may occur. Predict the time-series position or velocity of an object.
 ここで、第1のオブジェクトと第2のオブジェクトとの衝突が発生する可能性があるか否かは、例えば第1のオブジェクトの位置が第2のオブジェクトに関連する領域に含まれるか否かによって判定することができる。この領域は、例えば、第1のオブジェクトが第2のオブジェクトに衝突する位置を含む領域である。例えば、第1の物理演算部231による時系列の位置の予測によって第1のオブジェクトが第2のオブジェクトに衝突する位置が特定可能である場合、第2の物理演算部232は、第1のオブジェクトがこの位置に到達して第2のオブジェクトに衝突した後の速度を予測する。後述するように、第2の物理演算部232は、第1のオブジェクトと第2のオブジェクトとの間の反発係数を用いて衝突後の第1のオブジェクトの速度を予測してもよい。第2のオブジェクトとの衝突後は、再びオブジェクトに加わる外力が変化しないことが仮定できるため、第1の物理演算部231が第1のオブジェクトの時系列の位置を予測してもよい。 Here, whether or not a collision between the first object and the second object may occur depends on, for example, whether or not the position of the first object is included in the area related to the second object. It can be determined. This area is, for example, an area including a position where the first object collides with the second object. For example, when the position where the first object collides with the second object can be specified by predicting the position in the time series by the first physical calculation unit 231, the second physical calculation unit 232 uses the first object. Predicts the velocity after reaching this position and colliding with a second object. As will be described later, the second physics unit 232 may predict the velocity of the first object after the collision by using the coefficient of restitution between the first object and the second object. Since it can be assumed that the external force applied to the object does not change again after the collision with the second object, the first physics unit 231 may predict the position of the first object in the time series.
 あるいは、上記の第2のオブジェクトに関連する領域は、第2のオブジェクトの存在可能領域であってもよい。例えば第2のオブジェクトがユーザー操作に従って三次元空間内を移動する場合、第2のオブジェクトの動きが不規則であるため、第1の物理演算部231による時系列の位置の予測では第1のオブジェクトが第2のオブジェクトに衝突する位置を特定することは困難である。この場合、第1の物理演算部によって予測される第1のオブジェクトの位置が第2のオブジェクトの存在可能領域に入った時点で、第2の物理演算部232が第1のオブジェクトの位置を予測する。第2の物理演算部232は、例えば、第1のオブジェクトの位置を所定の周期で更新し、第1のオブジェクトの位置と第2のオブジェクトの位置とが接触または重複した場合に、衝突によって第1のオブジェクトに加わる外力の向きおよび大きさから衝突後のオブジェクトの速度を算出する。この場合、第2の物理演算部232は、第1のオブジェクトの時系列の位置と速度とを予測する。なお、第2のオブジェクトも移動体である場合、第1の物理演算部231および第2の物理演算部232は第1のオブジェクトと同様にして第2のオブジェクトの時系列の位置および速度を予測してもよい。 Alternatively, the area related to the second object may be an area where the second object can exist. For example, when the second object moves in the three-dimensional space according to the user operation, the movement of the second object is irregular, so that the first object is predicted by the first physics unit 231 in time series position. It is difficult to pinpoint where the second object collides. In this case, when the position of the first object predicted by the first physics unit enters the region where the second object can exist, the second physics unit 232 predicts the position of the first object. To do. The second physics unit 232 updates the position of the first object at a predetermined cycle, for example, and when the position of the first object and the position of the second object come into contact with each other or overlap, the second physical calculation unit 232 causes a collision. The velocity of the object after the collision is calculated from the direction and magnitude of the external force applied to the object. In this case, the second physics unit 232 predicts the time-series position and velocity of the first object. When the second object is also a moving object, the first physics unit 231 and the second physics unit 232 predict the time-series position and velocity of the second object in the same manner as the first object. You may.
 図3は、本発明の一実施形態における物理演算の例について説明するための図である。図示された例において、物理演算部230は、仮想的な三次元空間内の移動体であるオブジェクトobj1(第1のオブジェクト)およびオブジェクトobj2(第2のオブジェクト)の時系列の位置を予測する。時刻tの時点において、オブジェクトobj1,obj2は互いに離れた位置にあり、互いに接近する方向の速度v1,v2で移動している。 FIG. 3 is a diagram for explaining an example of physics calculation in one embodiment of the present invention. In the illustrated example, the physics unit 230 predicts the time-series positions of objects obj1 (first object) and objects obj2 (second object), which are moving objects in a virtual three-dimensional space. At time t, the objects obj1 and obj2 are distant from each other and are moving at velocities v1 and v2 in the direction of approaching each other.
 図3(a)に示す参考例では、時刻tから時刻t+4までの全区間において、第2の物理演算部232が、オブジェクトに加わる外力が変化することを仮定してオブジェクトの時系列の位置を予測している。より具体的には、第2の物理演算部232は、時刻tにおけるオブジェクトobj1,obj2の位置および速度v1,v2に基づいて、時刻t+1,t+2におけるオブジェクトobj1,obj2の位置を逐次算出する。時刻t+2において、算出されたオブジェクトobj1,obj2の位置は重複する。第2の物理演算部232は、拘束条件ソルバー(constraint solver)を用いて時刻t+2におけるオブジェクトobj1,obj2の位置を修正する。より具体的には、例えば、第2の物理演算部232は、時刻t+1と時刻t+2との間で発生するオブジェクトobj1,obj2の衝突時の挙動をシミュレートし、オブジェクトobj1,obj2の間で伝達される外力の向きおよび大きさから衝突後のオブジェクトobj1,obj2の速度を算出し、衝突後のオブジェクトobj1,obj2の速度に基づいて時刻t+2におけるオブジェクトobj1,obj2の位置を算出する。その後、第2の物理演算部232は、時刻t+3,t+4について同様にオブジェクトobj1,obj2の位置を逐次算出する。 In the reference example shown in FIG. 3A, the second physics unit 232 sets the position of the object in the time series on the assumption that the external force applied to the object changes in the entire section from the time t to the time t + 4. I'm predicting. More specifically, the second physics unit 232 sequentially calculates the positions of the objects obj1 and obj2 at the time t + 1, t + 2 based on the positions of the objects obj1 and obj2 at the time t and the velocities v1 and v2. At time t + 2, the calculated positions of the objects obj1 and obj2 overlap. The second physics unit 232 uses a constraint solver to correct the positions of the objects obj1 and obj2 at time t + 2. More specifically, for example, the second physical calculation unit 232 simulates the collision behavior of the objects obj1 and obj2 that occur between the time t + 1 and the time t + 2, and transmits the behavior between the objects obj1 and obj2. The velocity of the objects obj1 and obj2 after the collision is calculated from the direction and magnitude of the external force applied, and the positions of the objects obj1 and obj2 at time t + 2 are calculated based on the velocities of the objects obj1 and obj2 after the collision. After that, the second physics unit 232 sequentially calculates the positions of the objects obj1 and obj2 at times t + 3 and t + 4.
 これに対して、図3(b)に示す本実施形態の例では、時刻tの時点ではオブジェクトobj1,obj2が衝突していないため、まず第1の物理演算部231が、オブジェクトobj1,obj2に加わる外力が変化しないことを仮定してオブジェクトobj1,obj2の時系列の位置を予測する。この場合、上述のように時間のみを変数とする計算式によってオブジェクトの時系列の位置を予測することができ、オブジェクトobj1がオブジェクトobj2に衝突する位置に到達する時刻t+n(上記(a)の例の場合、時刻t+1と時刻t+2との間の時刻)についても容易に特定することができる。時刻t+n以降のオブジェクトobj1,obj2の速度については、第2の物理演算部232がオブジェクトに加わる外力が変化することを仮定して予測する。より具体的には、例えば、第2の物理演算部232は、後述する例のようにオブジェクトobj1とオブジェクトobj2との間の反発係数を用いて衝突後のオブジェクトobj1,obj2の速度を算出する。あるいは、第2の物理演算部232は、上記(a)の例と同様にオブジェクトobj1,obj2の衝突時の挙動をシミュレートすることによって衝突後のオブジェクトobj1,obj2の速度を算出してもよい。算出された速度に基づいて、再び第1の物理演算部231が、時刻t+nから時刻t+m(n<m)までのオブジェクトobj1,obj2の時系列の位置を予測する。 On the other hand, in the example of the present embodiment shown in FIG. 3B, since the objects obj1 and obj2 do not collide with each other at the time t, the first physics unit 231 first sends the objects obj1 and obj2 to the objects obj1 and obj2. The time-series positions of the objects obj1 and obj2 are predicted on the assumption that the applied external force does not change. In this case, the time-series position of the object can be predicted by the calculation formula using only time as a variable as described above, and the time t + n when the object obj1 reaches the position where it collides with the object obj2 (example of (a) above). In the case of, the time between time t + 1 and time t + 2) can also be easily specified. The velocities of the objects obj1 and obj2 after the time t + n are predicted on the assumption that the external force applied to the object by the second physics unit 232 changes. More specifically, for example, the second physics unit 232 calculates the velocity of the objects obj1 and obj2 after the collision by using the coefficient of restitution between the object obj1 and the object obj2 as in the example described later. Alternatively, the second physics unit 232 may calculate the velocity of the objects obj1 and obj2 after the collision by simulating the behavior of the objects obj1 and obj2 at the time of collision as in the example of (a) above. .. Based on the calculated velocity, the first physics unit 231 again predicts the time-series positions of the objects obj1 and obj2 from the time t + n to the time t + m (n <m).
 上記(b)の例では、時刻tから時刻t+nまでの時刻について、時間のみを変数とする計算式を用いてオブジェクトobj1,obj2の位置を予測することによって、物理演算部230が実行する物理演算の計算量を抑制することができる。また、(b)の例では、オブジェクトobj1,obj2の衝突の時刻t+nが特定できるため、(a)の例のように時刻t+2でオブジェクトobj1,obj2が重複することが判明してから位置を修正する場合に比べて計算量を抑制することができる。 In the example of (b) above, the physics calculation unit 230 executes the physical calculation for the time from time t to time t + n by predicting the positions of the objects obj1 and obj2 using a calculation formula using only time as a variable. The amount of calculation can be suppressed. Further, in the example of (b), since the time t + n of the collision of the objects obj1 and obj2 can be specified, the position is corrected after it is found that the objects obj1 and obj2 overlap at the time t + 2 as in the example of (a). The amount of calculation can be suppressed as compared with the case of doing.
 以下では、オブジェクトobj1に加わる外力が変化しないことを仮定して衝突後の速度を算出する具体的な例についてさらに説明する。なお、以下の例では、簡単のためオブジェクトobj1,obj2を質点として扱うが、実際にはそれぞれのオブジェクトの大きさが考慮される。 In the following, a specific example of calculating the velocity after a collision on the assumption that the external force applied to the object obj1 does not change will be further described. In the following example, the objects obj1 and obj2 are treated as mass points for the sake of simplicity, but the size of each object is actually considered.
 例えば、オブジェクトobj1が三次元空間内の移動体であり、オブジェクトobj2が三次元空間内に固定配置されるオブジェクト、例えば地平面(y位置が0)である場合、時刻tにおけるオブジェクトobj1の位置(x,y,z)は、初期位置(x,y,z)初期速度(vx0,vy0,vz0)、および初期加速度(ax0,ay0,az0)から以下のように算出できる。 For example, when the object obj1 is a moving object in the three-dimensional space and the object obj2 is an object fixedly arranged in the three-dimensional space, for example, the ground plane (y position is 0), the position of the object obj1 at time t ( x, y, z) is the initial position (x 0, y 0, z 0) initial velocity (v x0, v y0, v z0), and the initial acceleration (a x0, a y0, a z0) as follows from the Can be calculated.
・地平面との衝突時刻tの算出
 y+vy0*t+ay0*t *1/2=0となる衝突時刻tを算出する
・時刻t≦tでの等加速度運動
 x=x+vx0*t+ax0*t*1/2
 y=y+vy0*t+ay0*t*1/2
 z=z+vz0*t+az0*t*1/2
・時刻t>tでのy方向の速度vを反発係数eを用いて算出
 (速度vx0,vz0は変化しない)
 v=-e(vy0+ay0*t)
・時刻t>tでの等加速度運動
 x=x+vx0*t+ax0*t*1/2
 y=y+vy0*t-e(vy0+ay0*t)(t-t)+ay0*t*1/2
 z=z+vz0*t+az0*t*1/2
・ Calculation of collision time t C with the ground plane y + v y0 * t C + a y0 * t C 2 * Calculate collision time t C such that 1/2 = 0 ・ Constant acceleration motion at time t ≦ t C x = x 0 + v x0 * t + a x0 * t 2 * 1/2
y = y 0 + v y0 * t + a y0 * t 2 * 1/2
z = z 0 + v z0 * t + a z0 * t 2 * 1/2
-Calculate the velocity v y in the y direction at time t> t C using the coefficient of restitution e (velocities v x0 and v z0 do not change).
v y = -e (v y0 + a y0 * t)
・ Constant acceleration motion at time t> t C x = x 0 + v x0 * t + a x0 * t 2 * 1/2
y = y 0 + v y0 * t C- e (v y0 + a y0 * t) ( tt C ) + a y0 * t 2 * 1/2
z = z 0 + v z0 * t + a z0 * t 2 * 1/2
 一方、オブジェクトobj1,obj2がいずれも三次元空間内の移動体である場合、オブジェクトobj1の初期位置(x1,y1,z1)初期速度(vx01,vy01,vz01)、および初期加速度(ax01,ay01,az01)、ならびにオブジェクトobj2の初期位置(x2,y2,z2)初期速度(vx02,vy02,vz02)、および初期加速度(ax02,ay02,az02)を用いて以下のように衝突時刻tを算出し、上記の例と同様に反発係数を用いて衝突時刻tの前後で時刻tにおけるオブジェクトobj1,obj2の位置を算出することができる。 On the other hand, the object obj1, if obj2 is a mobile in either the three-dimensional space, the initial position of the object obj1 (x 0 1, y 0 1, z 0 1) initial velocity (v x0 1, v y0 1 , v z0 1), and initial acceleration (a x0 1, a y0 1, a z0 1), and initial position of object obj2 (x 0 2, y 0 2, z 0 2) initial velocity (v x0 2, v y0 2) , V z0 2), and the initial acceleration (a x0 2, a y0 2, a z0 2) are used to calculate the collision time t C as follows, and the collision time is calculated using the repulsion coefficient as in the above example. it is possible to calculate the position of the object obj1, obj2 at time t before and after t C.
・衝突時刻tの算出
|x1+vx01*t+ax01*t *1/2-x2+vx02*t+ax02*t *1/2|+|y1+vy01*t+ay01*t *1/2-y2+vy02*t+ay02*t *1/2|+|z1+vz01*t+az01*t *1/2-z2+vz02*t+az02*t *1/2|=0となる衝突時刻tを算出する
-Calculation of collision time t C | x 0 1 + v x0 1 * t C + a x0 1 * t C 2 * 1 / 2-x 0 2 + v x0 2 * t C + a x0 2 * t C 2 * 1/2 | + | y 0 1 + v y0 1 * t C + a y0 1 * t C 2 * 1 / 2-y 0 2 + v y0 2 * t C + a y0 2 * t C 2 * 1/2 | + | z 0 1 + v z0 1 * t C Calculate the collision time t C such that + a z0 1 * t C 2 * 1 / 2-z 0 2 + v z0 2 * t C + a z0 2 * t C 2 * 1/2 | = 0.
 図4は、本発明の一実施形態における物理演算の処理の例を示すフローチャートである。演算装置200の物理演算部230が仮想的な三次元空間内に表示されるオブジェクトの物理演算を実行する場合、まず、オブジェクトが衝突領域に到達しているか否かを判定する(ステップS101)。例えば、物理演算部230は、オブジェクトが他のオブジェクトと重複している場合に、オブジェクトが衝突領域に到達していると判定する。あるいは、第1の物理演算部231が既に外力が変化しないことを仮定してオブジェクトの位置を予測している場合(ステップS102)、物理演算部230は予測された位置が他のオブジェクトに接触または衝突している場合にオブジェクトが衝突領域に到達していると判定する。 FIG. 4 is a flowchart showing an example of processing of physical calculation in one embodiment of the present invention. When the physical calculation unit 230 of the arithmetic unit 200 executes the physical calculation of the object displayed in the virtual three-dimensional space, it first determines whether or not the object has reached the collision area (step S101). For example, the physics unit 230 determines that an object has reached the collision area when the object overlaps with another object. Alternatively, when the first physics unit 231 predicts the position of the object on the assumption that the external force does not change (step S102), the physics unit 230 makes contact with another object or the predicted position touches another object. If there is a collision, it is determined that the object has reached the collision area.
 上記のステップS101でオブジェクトが衝突領域に到達していないと判定された場合、第1の物理演算部231が、オブジェクトに加わる外力が変化しないことを仮定してオブジェクトの位置を予測する(ステップS102)。このとき、第1の物理演算部231は、オブジェクトの位置予測の次の周期のオブジェクトの位置を予測してもよいし、オブジェクトが衝突領域に到達するまでの時系列の位置を一括して予測してもよい。第1の物理演算部231によるオブジェクトの位置予測は、オブジェクトが衝突領域に到達するまで繰り返される(ステップS101)。 When it is determined in step S101 that the object has not reached the collision area, the first physics unit 231 predicts the position of the object on the assumption that the external force applied to the object does not change (step S102). ). At this time, the first physics unit 231 may predict the position of the object in the next cycle of the position prediction of the object, or collectively predict the position of the time series until the object reaches the collision area. You may. The position prediction of the object by the first physics unit 231 is repeated until the object reaches the collision region (step S101).
 一方、上記のステップS101でオブジェクトが衝突領域に到達していると判定された場合、第2の物理演算部232が、オブジェクトに加わる外力が変化することを仮定してオブジェクトの位置または速度を予測する(ステップS103)。第2の物理演算部232は、オブジェクトが衝突領域にある間の時系列の位置を予測してもよいし、上記の例のように衝突位置に等しい衝突領域において変化した後のオブジェクトの速度を予測してもよい。第2の物理演算部232によるオブジェクトの位置予測は、オブジェクトが衝突領域から離脱するまで繰り返される(ステップS104)。 On the other hand, when it is determined in step S101 that the object has reached the collision region, the second physics unit 232 predicts the position or velocity of the object on the assumption that the external force applied to the object changes. (Step S103). The second physics unit 232 may predict the position of the time series while the object is in the collision area, or may determine the velocity of the object after it has changed in the collision area equal to the collision position as in the above example. You may predict. The position prediction of the object by the second physics unit 232 is repeated until the object leaves the collision area (step S104).
 上記のような第1の物理演算部231および第2の物理演算部232によるオブジェクトの位置の予測を、物理演算の終了まで繰り返す(ステップS105)ことによって、他のオブジェクトと衝突するオブジェクトの時系列の位置を、抑制された計算量で予測することができる。 By repeating the prediction of the position of the object by the first physical calculation unit 231 and the second physical calculation unit 232 as described above until the end of the physical calculation (step S105), the time series of the objects colliding with other objects The position of can be predicted with a suppressed amount of calculation.
 以上、添付図面を参照しながら本発明のいくつかの実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。 Although some embodiments of the present invention have been described in detail with reference to the accompanying drawings, the present invention is not limited to such examples. It is clear that a person having ordinary knowledge in the field of technology to which the present invention belongs can come up with various modifications or modifications within the scope of the technical ideas described in the claims. It is naturally understood that these also belong to the technical scope of the present invention.
 10…システム、100…キャプチャ装置、200…演算装置、210…データ補正部、220…予測部、230…物理演算部、231…第1の物理演算部、232…第2の物理演算部、240…座標修正部、300…描画装置、400…表示装置。 10 ... system, 100 ... capture device, 200 ... arithmetic unit, 210 ... data correction unit, 220 ... prediction unit, 230 ... physical calculation unit, 231 ... first physical calculation unit, 232 ... second physical calculation unit, 240 ... Coordinate correction unit, 300 ... Drawing device, 400 ... Display device.

Claims (7)

  1.  仮想的な三次元空間内に表示される第1のオブジェクトに加わる外力が変化しないことを仮定して前記第1のオブジェクトの時系列の位置を予測する第1の物理演算部と、
     前記第1のオブジェクトの位置が前記三次元空間内に表示される第2のオブジェクトに関連する領域に含まれる場合に、前記第1のオブジェクトに加わる外力が変化することを仮定して前記第1のオブジェクトの時系列の位置または速度を予測する第2の物理演算部と
     を備える物理演算装置。
    A first physics unit that predicts the time-series position of the first object on the assumption that the external force applied to the first object displayed in the virtual three-dimensional space does not change.
    The first, assuming that the external force applied to the first object changes when the position of the first object is included in the area related to the second object displayed in the three-dimensional space. A physics unit comprising a second physics unit that predicts the position or velocity of an object in time series.
  2.  前記領域は、前記第1のオブジェクトが前記第2のオブジェクトに衝突する位置を含む領域であり、
     前記第2の物理演算部は、前記第1のオブジェクトと前記第2のオブジェクトとの間の反発係数を用いて前記第2のオブジェクトに衝突した後の前記第1のオブジェクトの速度を予測する、請求項1に記載の物理演算装置。
    The area is an area including a position where the first object collides with the second object.
    The second physics unit predicts the velocity of the first object after colliding with the second object by using the coefficient of restitution between the first object and the second object. The physics calculation device according to claim 1.
  3.  前記第2のオブジェクトは、前記三次元空間内の移動体であり、
     前記第1の物理演算部は、前記第2のオブジェクトに加わる外力が変化しないことを仮定して前記第2のオブジェクトの時系列の位置を予測し、
     前記第2の物理演算部は、前記第1のオブジェクトの位置が前記第2のオブジェクトに関連する領域に含まれる場合に、前記第2のオブジェクトに加わる外力が変化することを仮定して前記第2のオブジェクトの時系列の位置または速度を予測する、請求項1または請求項2に記載の物理演算装置。
    The second object is a moving object in the three-dimensional space.
    The first physics unit predicts the time-series position of the second object on the assumption that the external force applied to the second object does not change.
    The second physics unit assumes that when the position of the first object is included in the region related to the second object, the external force applied to the second object changes. The physics unit according to claim 1 or 2, which predicts the time-series position or velocity of two objects.
  4.  前記第2のオブジェクトは、前記三次元空間内に固定配置される、請求項1または請求項2に記載の物理演算装置。 The physical arithmetic unit according to claim 1 or 2, wherein the second object is fixedly arranged in the three-dimensional space.
  5.  前記第2のオブジェクトは、ユーザー操作に従って前記三次元空間内を移動し、
     前記領域は、前記第2のオブジェクトの存在可能領域である、請求項1に記載の物理演算装置。
    The second object moves in the three-dimensional space according to a user operation,
    The physical arithmetic unit according to claim 1, wherein the region is a region in which the second object can exist.
  6.  仮想的な三次元空間内に表示される第1のオブジェクトに加わる外力が変化しないことを仮定して前記第1のオブジェクトの時系列の位置を予測するステップと、
     前記第1のオブジェクトの位置が前記三次元空間内に表示される第2のオブジェクトに関連する領域に含まれる場合に、前記第1のオブジェクトに加わる外力が変化することを仮定して前記第1のオブジェクトの時系列の位置または速度を予測するステップと
     を含む物理演算方法。
    A step of predicting the time-series position of the first object on the assumption that the external force applied to the first object displayed in the virtual three-dimensional space does not change, and
    The first, assuming that the external force applied to the first object changes when the position of the first object is included in the area associated with the second object displayed in the three-dimensional space. A physical calculation method that includes steps to predict the position or velocity of an object in time series.
  7.  仮想的な三次元空間内に表示される第1のオブジェクトに加わる外力が変化しないことを仮定して前記第1のオブジェクトの時系列の位置を予測する第1の物理演算部と、
     前記第1のオブジェクトの位置が前記三次元空間内に表示される第2のオブジェクトに関連する領域に含まれる場合に、前記第1のオブジェクトに加わる外力が変化することを仮定して前記第1のオブジェクトの時系列の位置または速度を予測する第2の物理演算部と
     を備える物理演算装置としてコンピュータを動作させるためのプログラム。
    A first physics unit that predicts the time-series position of the first object on the assumption that the external force applied to the first object displayed in the virtual three-dimensional space does not change.
    The first, assuming that the external force applied to the first object changes when the position of the first object is included in the area associated with the second object displayed in the three-dimensional space. A program for operating a computer as a physical calculation device including a second physical calculation unit that predicts the position or velocity of an object in time series.
PCT/JP2020/021977 2019-06-07 2020-06-03 Physics computing device, physics computing method, and program WO2020246508A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019-106834 2019-06-07
JP2019106834A JP2020201622A (en) 2019-06-07 2019-06-07 Physical computation device, physical computation method, and program

Publications (1)

Publication Number Publication Date
WO2020246508A1 true WO2020246508A1 (en) 2020-12-10

Family

ID=73653242

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/021977 WO2020246508A1 (en) 2019-06-07 2020-06-03 Physics computing device, physics computing method, and program

Country Status (2)

Country Link
JP (1) JP2020201622A (en)
WO (1) WO2020246508A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11283048A (en) * 1998-03-30 1999-10-15 Nec Corp Overlap prevention method of moving object in computer graphics and device therefor
JP2001283253A (en) * 2000-03-29 2001-10-12 Namco Ltd Game device and information storage medium
JP2016131031A (en) * 2016-02-22 2016-07-21 株式会社ソニー・インタラクティブエンタテインメント Video processing apparatus, video processing method, and video processing system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11283048A (en) * 1998-03-30 1999-10-15 Nec Corp Overlap prevention method of moving object in computer graphics and device therefor
JP2001283253A (en) * 2000-03-29 2001-10-12 Namco Ltd Game device and information storage medium
JP2016131031A (en) * 2016-02-22 2016-07-21 株式会社ソニー・インタラクティブエンタテインメント Video processing apparatus, video processing method, and video processing system

Also Published As

Publication number Publication date
JP2020201622A (en) 2020-12-17

Similar Documents

Publication Publication Date Title
EP2713241B1 (en) Generating Haptic Effects for Dynamic Events
CN107958480B (en) Image rendering method and device and storage medium
JP6062621B2 (en) Gesture recognition based on physical model
CN111249719B (en) Track prompting method and device, storage medium and electronic device
US9893974B2 (en) Synchronization of data for colliding bodies
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
CN103324453A (en) Display
CN110215685B (en) Method, device, equipment and storage medium for controlling virtual object in game
US10338879B2 (en) Synchronization object determining method, apparatus, and system
CN104881128A (en) Method and system for displaying target image in virtual reality scene based on real object
EP3467792B1 (en) Image processing apparatus, image processing method, and program
US20140111551A1 (en) Information-processing device, storage medium, information-processing method, and information-processing system
WO2020246508A1 (en) Physics computing device, physics computing method, and program
JP2014085816A (en) Program, information processing device, information processing method, and information processing system
CN111068309B (en) Display control method, device, equipment, system and medium for virtual reality game
CN107302845B (en) Low delay simulation apparatus, method and computer readable medium using direction prediction
US20190293779A1 (en) Virtual reality feedback device, and positioning method, feedback method and positioning system thereof
CN114116081B (en) Interactive dynamic fluid effect processing method and device and electronic equipment
CN111580667B (en) Gaze point display method and related device
CN115222854A (en) Virtual image collision processing method and device, electronic equipment and storage medium
CN107050848B (en) Somatosensory game implementation method and device based on body area network
CN109597480A (en) Man-machine interaction method, device, electronic equipment and computer readable storage medium
CN117482520A (en) Travel route generation method and device, head-mounted virtual reality equipment and medium
US20240153211A1 (en) Methods, apparatuses, terminals and storage media for display control based on extended reality
KR102545817B1 (en) Game providing device, game providing method and computer program for determining a final reward by contact with computational obstacles

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20818471

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20818471

Country of ref document: EP

Kind code of ref document: A1