Program, virtual space generation device, and virtual space generation method

The computer system addresses unnatural wind patterns by setting gas pressure parameters and performing fluid simulations to generate wind, creating a realistic and synchronized audio-visual wind effect in virtual spaces.

JP7758956B2Active Publication Date: 2025-10-23CAPCOM CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2022146115
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-09-14
Publication Date
2025-10-23
Estimated Expiration
2042-09-14

AI Technical Summary

Technical Problem

Existing virtual space generation technologies do not consider objects blocking wind, leading to unnatural wind patterns and a lack of realism.

Method used

A computer system that sets parameters for virtual gas pressure in a virtual space, determines wind generation based on these parameters, and performs fluid simulations to generate wind, while considering object shielding and pressure thresholds to create a natural wind effect.

Benefits of technology

The system generates a realistic and natural wind effect in virtual spaces by adjusting wind generation based on object shielding and pressure values, ensuring consistent audio-visual synchronization.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007758956000001
    Figure 0007758956000001
  • Figure 0007758956000002
    Figure 0007758956000002
  • Figure 0007758956000003
    Figure 0007758956000003
Patent Text Reader

Abstract

To enable a performance of a natural wind in a virtual space.SOLUTION: A computer is caused to function as: a setting unit 567 for setting a parameter correlated to a pressure value of virtual gas with which a virtual space is filled for a plurality of predetermined points or a plurality of predetermined regions included in the virtual space; a determination unit 563 for determining whether or not a virtual wind is to be generated newly in the spot for which the parameter is set according to the parameter; and a wind generation unit 564 for generating a wind by fluid simulation on the gas. The determination unit 563 determines that the virtual wind is not generated newly for the spot in which the parameter is higher than a first threshold, and lower than a second threshold.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present disclosure relates to a program, a virtual space generation device, and a virtual space generation method. [Background technology]

[0002] Some game programs generate virtual wind in a virtual space (see, for example, Patent Document 1). In the example of Patent Document 1, multiple wind generation sources are set at given positions in the object space (virtual space), and the wind strength of the wind generated from each generation source is determined at regular intervals. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Japanese Patent Application Laid-Open No. 2001-276416 Summary of the Invention [Problem to be solved by the invention]

[0004] The example in Patent Document 1 does not take into consideration objects blocking the wind. As a result, wind may blow in unnatural places in the virtual space. The example in Patent Document 1 may result in a lack of realism.

[0005] An object of the present disclosure is to enable the creation of a natural wind effect in a virtual space. [Means for solving the problem]

[0006] A first aspect provides a computer comprising: a setting unit that sets a parameter correlated with a pressure value of a virtual gas filled in a virtual space at a plurality of predetermined points or a plurality of predetermined regions included in the virtual space; a determination unit that determines whether or not to newly generate a virtual wind at a location for which the parameter is set, in accordance with the parameter; a wind generating unit that generates the wind by performing a fluid simulation on the gas at the location determined by the determining unit; It functions as The determination unit is a program that determines not to generate new virtual wind in areas where the parameter is higher than a first threshold value and areas where the parameter is lower than a second threshold value.

[0007] In the first aspect, the setting unit may set the parameter at predetermined time intervals.

[0008] In the above aspect, the setting unit may obtain the parameters by a fluid simulation of the gas.

[0009] In the above aspect, The computer a calculation unit that calculates a shielding rate, which is the degree to which an object in the virtual space shields the wind, for a plurality of locations within a specified range in the virtual space; The determination unit may determine whether or not to newly generate the wind for a plurality of locations for which the shielding ratio has been calculated, using the shielding ratio in addition to the parameter.

[0010] In the above aspect, the computer may function as a game progression unit that progresses a game within the virtual space based on user operations.

[0011] In the above aspect, the game progression unit may change the display mode of objects in the virtual space depending on the results of the fluid simulation.

[0012] In the above aspect, The computer may be caused to function as an acoustic processing unit that reproduces the sound based on the wind based on the results of the fluid simulation.

[0013] A second aspect is a storage unit that stores the program of the above aspect; and a control unit that executes the program.

[0014] A third aspect is a method for, by a computer, a setting step of setting a parameter correlated with a pressure value of the virtual gas filled in the virtual space at a plurality of predetermined points or a plurality of predetermined areas included in the virtual space; a determining step of determining whether or not to newly generate a virtual wind at the location for which the parameter is set, in accordance with the parameter; a wind generating step of generating the wind by a fluid simulation of the gas at the location determined in the determining step; and execute In the determining step, a determination is made not to newly generate virtual wind for a location where the parameter is higher than a first threshold value and a location where the parameter is lower than a second threshold value. A method for generating a virtual space. [Effects of the Invention]

[0015] According to the present disclosure, it is possible to create a natural wind effect in a virtual space. [Brief explanation of the drawings]

[0016] [Figure 1] FIG. 2 is a block diagram showing the configuration of the game device. [Figure 2] FIG. 1 is a diagram illustrating the discretization of an object using bricks. [Figure 3] FIG. 3 is a side view of the object of FIG. 2. [Figure 4] FIG. 1 is a diagram illustrating discretization of an object using cells. [Figure 5] FIG. 10 is a diagram illustrating bricks placed in an area where no objects exist. DETAILED DESCRIPTION OF THE INVENTION

[0017] [Embodiment] Hereinafter, embodiments of a program, a virtual space generation device, and a virtual space generation method will be described. In the embodiments, the program is implemented as a game program. The virtual space generation device is realized as a game device. The virtual space generation method is implemented in a game device that executes the game program.

[0018] A game based on this game program is played in a virtual space (three-dimensional). There are no limitations on the type of game. For example, the game may be a fighting action game in which a player character attacks and defeats enemy characters.

[0019] <<Configuration of the Game Device>> <Hardware configuration> 1 is a block diagram showing the configuration of a game device 5. The game device 5 executes a predetermined game based on user operations. The game device 5 is equipped with a display 61, a speaker 62, and a controller 63, which are either externally connected or built-in.

[0020] The game device 5 may be a commercially available device such as a personal computer, PlayStation (registered trademark), XBox (registered trademark), PlayStation Vita (registered trademark), or Nintendo Switch (registered trademark).

[0021] The game progresses on the game device 5 based on the installed game program and game data. Game devices 5 can also communicate data with each other using a communication network (not shown) or a short-range wireless communication device (not shown).

[0022] The game device 5 has a network interface 51, a graphics processing unit 52, an audio processing unit 53, an operation unit 54, a storage unit 55, and a control unit 56. The network interface 51, the graphics processing unit 52, the audio processing unit 53, the operation unit 54, and the storage unit 55 are electrically connected to the control unit 56 via a bus 59.

[0023] The network interface 51 is communicably connected to the communication network in order to transmit and receive various data to and from, for example, other game devices 5 and external server devices (not shown).

[0024] The graphics processing unit 52 renders game images including the player character and various objects in the virtual space in a moving image format in accordance with game image information output from the control unit 56. The graphics processing unit 52 is connected to a display 61 (e.g., a liquid crystal display). The game images rendered in a moving image format are displayed on the display 61 as a game screen.

[0025] In this game program, a virtual camera (hereinafter referred to as virtual camera C) is set in the virtual space as the user's (player's) viewpoint. The graphics processing unit 52 creates a 3D image (moving image) as if the virtual space were photographed by the virtual camera C, and displays it on the display 61. The user can set the direction, magnification, etc. of the virtual camera C via the controller 63.

[0026] The audio processing unit 53 is connected to the speaker 62. The audio processing unit 53 plays digital game sounds in accordance with instructions from the control unit 56. Specifically, the audio processing unit 53 converts the sound data output by the control unit 56 into an analog signal and outputs it to the speaker 62.

[0027] The audio processing unit 53 is configured to be capable of multi-channel audio output in order to reproduce three-dimensional sound. Accordingly, a plurality of speakers 62 are connected to the game device 5. These speakers 62 may be placed to the left and right, front and rear, or above a listener (e.g., a game player) in order to reproduce three-dimensional sound.

[0028] The operation unit 54 is connected to the controller 63. The operation unit 54 transmits and receives signals to and from the controller 63. A game player operates various controls such as buttons on the controller 63 to input signals (commands, data, etc.) to the game device 5.

[0029] The storage unit 55 is composed of an HDD, SSD, RAM, ROM, etc. Game data, various programs including game programs, etc. are stored in the storage unit 55. Examples of game data include game media and user account information.

[0030] The control unit 56 controls the operation of the game device 5. The control unit 56 includes a CPU (microcomputer) and a semiconductor memory. The semiconductor memory stores programs and data for operating the CPU.

[0031] <Functional Configuration of Control Unit 56> By executing the game program, the control unit 56 functions as a game progression unit 561, a calculation unit 562, a setting unit 567, a determination unit 563, a wind generation unit 564, a display unit 565, and a sound processing unit 566 (see FIG. 1).

[0032] -Game Progression Section 561- The game progression unit 561 moves player characters within a virtual space in response to operations by a user (here, a game player). The game progression unit 561 also moves non-player characters and predetermined objects (such as vehicles) within the virtual space.

[0033] The game progression unit 561 controls the actions of non-player characters and predetermined objects using, for example, AI (artificial intelligence). The game progression unit 561 progresses the game in accordance with the actions of the player characters and non-player characters.

[0034] -Calculation Unit 562- The calculation unit 562 calculates the shielding rate in a predetermined range (hereinafter referred to as the calculation range) in the virtual space in real time during the game (calculation step). The shielding rate is a value indicating the degree to which an object in the virtual space shields the virtual wind in the virtual space. The method of calculating the shielding rate will be described later.

[0035] The calculation unit 562 calculates the shielding ratio while moving the calculation range in accordance with the movement of the player character. The calculation range may be determined within the range of the virtual space displayed on the display 61 (hereinafter referred to as the display range).

[0036] The calculation unit 562 determines a part of the calculation range based on the shape of an object within the display range. Examples of such an object include structures (houses, fences, etc.) located in the virtual space and topography (cliffs, cave walls, etc.) set in the virtual space.

[0037] In order to determine a calculation range (part), the calculation unit 562 discretizes and represents the object using a plurality of volume elements (hereinafter referred to as first volume elements). Hereinafter, the first volume elements may be referred to as bricks.

[0038] Fig. 2 is a diagram illustrating the discretization of an object using bricks. Fig. 2 shows an object OBJ in a virtual space VS in a perspective view. The object OBJ is a stair-like object.

[0039] 2, each of the cubes indicated by dashed lines is a brick V1 (first volume element). These bricks V1 are invisible to the user (here, the game player) (they are not displayed on the display 61).

[0040] Figure 3 is a side view of the object OBJ in Figure 2. In Figure 3, brick V1 is also indicated by a dashed line. Each brick V1 shown in Figures 2 and 3 includes a portion (site) of the object OBJ.

[0041] The calculation unit 562 discretizes and represents the object using volume elements (referred to as second volume elements) that have a smaller volume than the first volume elements. In other words, the calculation unit 562 discretizes the part of the object contained in each first volume element using second volume elements that have a smaller volume than the first volume elements. Hereinafter, the second volume elements may be referred to as cells.

[0042] Fig. 4 is a diagram illustrating the discretization of an object by cells. Fig. 4 is a side view of the object OBJ of Fig. 2. In Fig. 4, a sub-number is added to the reference number to identify a specific brick V1 (for example, V1-1, V1-2, etc.).

[0043] In Fig. 4, the cube contained in brick V1 is cell V2 (second volume element). In Fig. 4, cell V2 is represented by a dashed square. These cells V2 are invisible to the user (here, the game player) (they are not displayed on the display 61).

[0044] The calculation unit 562 calculates the occlusion ratio for each brick V1 that discretizes the object. Specifically, the calculation unit 562 sequentially focuses on the brick V1 that discretizes the object, and calculates the number of cells V2 (second volume elements) included in the focused brick V1 (first volume element) as the occlusion ratio for that brick V1.

[0045] For ease of explanation, in the example of Fig. 4, the length of one side of cell V2 is assumed to be 1 / 5 of the length of one side of brick V1. In this case, the maximum number of cells V2 that brick V1 can contain is 5 x 5 x 5 = 125. Each brick V1 in Fig. 4 can contain a maximum of five cells in the vertical direction of the drawing.

[0046] For example, in brick V1-1, five cells V2 are connected in the vertical direction of the drawing at each of the 17 cells V2 in brick V1-1, as can be seen in Figure 4. In this case, the shielding factor in brick V1-1 is 17 x 5 = 85.

[0047] In addition, in brick V1-2, five cells V2 are connected in the vertical direction of the drawing at each position of the 25 cells V2 in brick V1-2, as can be seen in Figure 4. In this case, the shielding factor in brick V1-2 is 25 x 5 = 125 (maximum number).

[0048] The calculation unit 562 also places the brick V1 in an area where no object exists (for example, limited to an area within the display range). Fig. 5 is a diagram illustrating bricks V1-3 to V1-9 placed in an area where no object exists.

[0049] In reality, many more bricks V1 are placed in areas where no objects exist, but for convenience of illustration, only some bricks V1-3 to V1-9 are shown in Fig. 5. The placement of bricks V1 in areas where no objects exist can be performed simultaneously or consecutively with the discretization of objects by bricks V1.

[0050] The calculation unit 562 also calculates the occlusion ratio for the brick V1 in the area where no object exists. Specifically, the calculation unit 562 uses the occlusion ratio calculated for the object to complement (extrapolate) the occlusion ratio for the brick V1 in the area where no object exists.

[0051] For example, the calculation unit 562 interpolates the shielding ratio according to a rule (calculation formula) such that the shielding ratio is smaller where there is no ground, etc. The calculation unit 562 interpolates the shielding ratio according to a rule such that the shielding ratio is relatively larger where the terrain is complex. Note that the program may be implemented to stop interpolation when the interpolated shielding ratio falls below a predetermined value, for example.

[0052] -Settings Section 567- The setting unit 567 sets parameters correlated with the pressure value of the virtual gas filling the virtual space at a plurality of predetermined points or a plurality of predetermined regions included in the virtual space (setting step). In this embodiment, the setting unit 567 uses the pressure value of the virtual gas itself as the parameter. In this specification, the pressure value itself is also referred to as a parameter correlated with the pressure value. For example, air is assumed as the virtual gas, and a fluid simulation or the like can be performed using its physical property values.

[0053] The setting unit 567 associates a pressure value with each brick V1. Hereinafter, associating a pressure value with a brick V1 may be expressed as "setting a pressure value for a brick V1." The setting unit 567 determines the initial value of the pressure value to be set for each brick V1 through fluid simulation.

[0054] While the game is being played, the setting unit 567 updates the pressure values ​​set for each brick V1. The pressure values ​​used by the setting unit 567 for updating are pressure values ​​obtained in the process of a fluid simulation (described later) performed by the wind generation unit 564.

[0055] The setting unit 567 updates the pressure value every time an image is updated (every frame) in the graphics processing unit 52. That is, the setting unit 567 sets the pressure value at predetermined time intervals.

[0056] -Decision Section 563- The determination unit 563 determines whether or not a new wind is to be generated at a predetermined location in the virtual space. Specifically, the determination unit 563 calculates a wind generation parameter for each brick V1 in real time during the game (determination step). The wind generation parameter is a parameter that indicates whether or not a new virtual wind is to be generated at a predetermined location in the virtual space.

[0057] In this game program, "generating wind" in virtual space means the following two things:

[0058] (1) Calculating wind-related characteristics (wind speed, wind pressure, etc.) using some method The calculation of wind-related characteristics can be realized by, for example, fluid simulation.

[0059] (2) Utilizing wind-related characteristics in virtual space Examples of uses of wind-related properties include visualization of wind in a virtual space and reproduction of sounds produced by wind.

[0060] The visualization of wind can be achieved by displaying the movement of objects (including characters) on the screen (display 61). For example, wind can be visualized by displaying the swaying of a character's hair, the swaying of tree branches and leaves, the swaying of grass, the appearance of a snowstorm, the flow of fog, etc. on the display 61. Examples of the reproduction of sounds caused by wind include the reproduction of the sound of cutting wind, the wind of a snowstorm, and the sound of rustling tree leaves.

[0061] When generating a wind generation parameter, the determination unit 563 performs two condition determinations (hereinafter referred to as a first determination and a second determination). When both the first determination and the second determination are positive for the generation of new wind, the determination unit 563 generates a wind generation parameter that means that new wind is to be generated. When at least one of the first determination and the second determination is negative for the generation of new wind, the determination unit 563 generates a wind generation parameter that means that new wind is not to be generated.

[0062] The first determination is a determination of whether new wind is occurring based on the pressure value. In the first determination, the determination unit 563 compares the pressure value with thresholds (first threshold and second threshold). In the first determination, the occurrence of new wind is denied for bricks V1 whose pressure values ​​are higher than the first threshold and bricks V1 whose pressure values ​​are lower than the second threshold. In the first determination, the occurrence of new wind is affirmed for bricks V1 whose pressure values ​​are equal to or lower than the first threshold and equal to or higher than the second threshold. In other words, in the first determination, the occurrence of new wind is permitted in locations where the pressure value is relatively stable (locations where the pressure value is equal to or lower than the first threshold and equal to or higher than the second threshold).

[0063] The second determination is a determination of whether a new wind is occurring based on the shielding rate. In the second determination, the determination unit 563 compares the shielding rate with a threshold value (hereinafter referred to as the third threshold value). In the second determination, if the shielding rate is equal to or less than the third threshold value, the occurrence of a new wind is affirmed. In the second determination, if the shielding rate is greater than the third threshold value, the occurrence of a new wind is denied.

[0064] The determination unit 563 also has a function to determine whether a new wind is occurring based only on the shielding rate. This function is used when the pressure value in each brick V1 is undetermined. Specifically, this function is used when the initial value of the pressure value is calculated.

[0065] When the pressure value in brick V1 is undetermined, the determination unit 563 generates a wind generation parameter based only on the result of the second determination. When the shading rate is equal to or less than a third threshold, the determination unit 563 generates a wind generation parameter indicating the generation of new wind. When the shading rate is greater than the third threshold, the determination unit 563 generates a wind generation parameter indicating that new wind will not be generated.

[0066] The first, second, and third thresholds may be arbitrarily determined by the developer of the game program. The first, second, and third thresholds may be dynamically changed while the game program is running. In this embodiment, the first threshold is a positive value, and the second threshold is a negative value. As an example, the absolute value of the second threshold and the first threshold may be the same value.

[0067] The determination unit 563 stores the wind generation parameters in a semiconductor memory. The wind generation parameters stored in the semiconductor memory have a data format that allows them to be searched using information that identifies the brick V1 (for example, the ID number of the brick V1) as a query.

[0068] -Wind Generator 564- The wind generation unit 564 generates wind in the virtual space. Specifically, the wind generation unit 564 performs a fluid simulation for the calculation range in accordance with the movement of the player character (in other words, the movement of the calculation range) while the game is being played. In other words, the wind generation unit 564 calculates characteristics related to the wind. This simulation is performed for each frame.

[0069] The wind generation unit 564 sets parameters for the fluid simulation when performing the fluid simulation. Examples of the parameters for the fluid simulation include conditions that define the wind blowing throughout the virtual space (wide-area wind), and the physical property values ​​and pressure values ​​of the virtual gas that fills the virtual space. For example, the physical property values ​​of air can be used as the physical property values ​​of the virtual gas.

[0070] The wind generation unit 564 performs a fluid simulation on the virtual gas filling the virtual space based on the wind generation parameters corresponding to each first volume element V1 (wind generation step). In the fluid simulation, calculations are performed in units of bricks V1.

[0071] Fluid simulation involves multiple phases before the results are output. In fluid simulation, the gas pressure value is calculated in one of the phases.

[0072] One of the phases is a phase in which external forces are reflected in the simulation results (hereinafter referred to as the external force processing phase). Depending on the magnitude of the external force, the external force may generate new wind.

[0073] In the external force processing phase, the wind generation unit 564 checks the wind generation parameters for each brick V1. The wind generation unit 564 performs a fluid simulation as follows according to the checked wind generation parameters.

[0074] (1) When the wind generation parameter means that wind is generated The wind generation unit 564 performs calculations in the external force processing phase at the position of the brick V1 corresponding to the wind generation parameters (hereinafter referred to as the target position). The calculations are performed in a simulation phase using external forces related to the generation of new wind.

[0075] (2) When the wind generation parameter means that no wind is generated If the wind generation parameter denies the generation of new wind, the wind generation unit 564 ends the external force processing phase. That is, the wind generation unit 564 does not calculate the external force related to the generation of new wind for the brick V1 corresponding to the wind generation parameter that denies the generation of new wind. In this way, the generation of new wind is suppressed in the brick V1 for which the generation of new wind is denied.

[0076] In a fluid simulation, "wind occurs" means that the calculated wind-related characteristics indicate the presence of wind. For example, it can be said that "wind occurs" when the wind speed is equal to or greater than a predetermined value. In addition, in the results of a fluid simulation, "wind does not occur" means that the calculated wind-related characteristics indicate the absence of wind. For example, it can be said that "wind does not occur" when the wind speed is lower than a predetermined value.

[0077] The wind generation unit 564 executes a phase following the external force processing phase, if any. The phase following the external force processing phase is also executed for the brick V1 for which new wind generation is denied. As a result, wind flowing in from outside the brick V1 may blow on the brick V1 for which calculations were omitted in the external force processing phase.

[0078] As a result of the fluid simulation, characteristics related to the wind in the virtual space VS (for example, wind speed, pressure value) are calculated. The wind generation unit 564 outputs the result of the fluid simulation to the display unit 565 and the sound processing unit 566.

[0079] -Display section 565- The display unit 565 visualizes wind in the virtual space according to the fluid simulation results. In other words, the display unit 565 generates wind in the virtual space. For example, the display unit 565 generates moving image data (game image information) showing the player character's hair fluttering, grass in a meadow, and tree leaves swaying according to the fluid simulation results (e.g., wind speed).

[0080] The display unit 565 outputs the generated moving image data to the graphics processing unit 52. The graphics processing unit 52 renders the moving image data on the display 61 in a moving image format.

[0081] -Audio Processing Unit 566- In this game program, various types of sound data are prepared in advance. The sound processing unit 566 plays back the sound data in accordance with the progress of the game. Specifically, the sound processing unit 566 selects sound data in accordance with the progress of the game and outputs the selected sound data to the audio processing unit 53.

[0082] When outputting audio data, the sound processing unit 566 instructs the volume of the audio data to the audio processing unit 53. The audio processing unit 53 converts the audio data output by the sound processing unit 566 into an analog signal of the instructed volume and outputs it to the speaker 62.

[0083] The sound processing unit 566 performs sound image localization when playing back sound. To perform sound image localization, the sound processing unit 566 sets a virtual sound receiving point (hereinafter referred to as a virtual microphone L) in the virtual space where sound is heard. In this example, the virtual microphone L is set near the player character. The virtual microphone L has directionality. The virtual microphone L moves in accordance with the movement of the player character. The direction of the virtual microphone L is linked to the direction of the virtual camera C.

[0084] In this game program, acoustic effects are produced so that sounds appear to be coming from a virtual sound source existing in the virtual space. The sound processor 566 outputs sounds emitted from a virtual sound source (such as a weapon held by the player character) to the speaker 62 in an acoustic representation that makes it appear as if the sound was collected by a virtual microphone L. The virtual microphone L is a virtual listener and is the reference point for sound image localization by the sound processor 566.

[0085] The sound processing unit 566 expresses wind in the virtual space through sound effects according to the results of the fluid simulation. In other words, the sound processing unit 566 generates wind in the virtual space. For example, the sound processing unit 566 generates audio data representing the sound of wind and rustling leaves according to the wind speed and wind direction calculated by the fluid simulation.

[0086] The sound processing unit 566 changes the content of the sound processing in accordance with the wind speed. For example, the sound processing unit 566 controls the volume of the sound caused by the wind in accordance with the wind speed.

[0087] The sound processing unit 566 changes the content of the sound processing depending on the relationship between the wind direction and the orientation of the virtual microphone L (the orientation of the virtual camera C). For example, assume that a simulation has calculated that the wind will blow from behind the virtual microphone L to the front of it at the position of the virtual microphone L. In other words, the wind will blow from behind the virtual camera C to the front of it.

[0088] In this case, the sound processor 566 processes the wind sound so that it sounds muffled. Specifically, the sound processor 566 processes the wind sound data using a low-pass filter.

[0089] For example, suppose that a simulation has calculated that the wind blows from the right side to the left side of the virtual microphone L at the position of the virtual microphone L. In this case, the sound processing unit 566 reduces the volume of the sound on the left side (the sound from the left speaker 62) more than the volume of the sound on the right side (the sound from the right speaker 62).

[0090] Additionally, the sound processing unit 566 may change the pitch of the sound caused by the wind depending on the simulation results (wind speed, wind direction).

[0091] The sound processing unit 566 outputs the generated sound data to the audio processing unit 53. The audio processing unit 53 converts the sound data output by the sound processing unit 566 into an analog signal and outputs it to the speaker 62.

[0092] <<Example of operation>> When the game starts, the game progression unit 561 moves the player character within the virtual space VS in accordance with the user's (here, the game player's) operation of the controller 63. The game progression unit 561 also moves objects such as non-player characters within the virtual space as necessary.

[0093] The calculation unit 562, for example, arranges the brick V1 and the cell V2 within the display range of the virtual space VS. The calculation unit 562 calculates the shading rate for each brick V1.

[0094] The determination unit 563 calculates the wind generation parameters based only on the shielding rate (determining step). The determination unit 563 stores the calculated wind generation parameters in a semiconductor memory.

[0095] The wind generation unit 564 performs a fluid simulation based on the wind generation parameters and the fluid simulation parameters, thereby calculating the pressure value (initial value) in each brick V1.

[0096] The setting unit 567 sets the pressure value (initial value) calculated by the wind generation unit 564 to each brick V1 (setting step). The determination unit 563 obtains wind generation parameters for each brick V1 based on the shielding rate and the pressure value.

[0097] The wind generation unit 564 performs a fluid simulation in the current frame (for convenience of explanation, referred to as the first frame) based on the wind generation parameters and fluid simulation parameters (wind generation step). As a result, pressure values, wind speeds, etc. in each brick V1 are calculated. The wind generation unit 564 outputs the results of the fluid simulation to the display unit 565 and the sound processing unit 566.

[0098] The setting unit 567 sets the pressure value of each brick V1 based on the fluid simulation results in the first frame. In other words, the pressure value set for the brick V1 is updated. The determination unit 563 calculates the wind generation parameters using the shading rate and the updated pressure value.

[0099] The wind generation unit 564 also performs fluid simulation in the frame following the first frame (hereinafter referred to as the second frame). As a result, the pressure value, wind speed, etc. in each brick V1 are calculated. The setting unit 567 also sets a pressure value in each brick V1 in the second frame based on the results of the fluid simulation. In other words, the pressure value set in the brick V1 is updated in the second frame.

[0100] The display unit 565 generates moving image data (game image information) for each frame according to the results of the fluid simulation. For example, the display unit 565 generates moving image data of grass in a meadow or leaves of trees swaying. The display unit 565 outputs the generated moving image data to the graphics processing unit 52. As a result, grass and leaves swaying in the wind are displayed on the display 61.

[0101] The sound processing unit 566 generates audio data representing, for example, the sound of tree leaves rustling, in accordance with the wind speed calculated by the fluid simulation. The sound processing unit 566 outputs the generated audio data to the audio processing unit 53. As a result, the speaker 62 reproduces the sound of leaves rustling in the wind.

[0102] In this game program, the sound is played back using the simulation results, so the sound and the moving images are linked. In other words, there is no sense of incongruity between the moving images and the sound.

[0103] For example, when the player character moves, the calculation range also changes. The calculation unit 562 recalculates the occlusion rate in accordance with the change in the calculation range. The setting unit 567 resets the pressure value for each brick V1 in accordance with the change in the calculation range. The determination unit 563 obtains wind generation parameters for each brick V1 based on the recalculated occlusion rate, etc. The wind generation unit 564 performs a fluid simulation based on the wind generation parameters.

[0104] To summarize the above, this aspect is a program that causes a computer (control unit 56) to function as a setting unit 567 that sets a parameter correlated to the pressure value of a virtual gas filling a virtual space at a plurality of predetermined points or a plurality of predetermined regions included in the virtual space, a determination unit 563 that determines whether or not to generate new virtual wind at the locations where the parameter is set, based on the parameter, and a wind generation unit 564 that generates the wind at the locations determined by the determination unit by fluid simulation of the gas, and the determination unit 563 makes a decision not to generate new virtual wind at locations where the parameter is higher than a first threshold value and lower than a second threshold value.

[0105] Effect of this embodiment For example, let's assume that wind is generated uniformly within the range of a fluid simulation in virtual space. Under this assumption, the pressure value stabilizes over time. This results in a stable wind in the virtual space.

[0106] In contrast, this program allows new wind to occur in areas where the pressure value is relatively stable. More specifically, it allows new wind to occur in brick V1 where the pressure value is equal to or less than the first threshold and equal to or greater than the second threshold.

[0107] This technique makes it possible to create wind fluctuations in virtual space, making it possible to make grass in a meadow appear to sway in undulations, for example.

[0108] In this program, new wind is not generated in areas where the pressure value is relatively high. Specifically, new wind is not generated in brick V1 where the set pressure value is greater than the first threshold value. In this program, new wind is not generated in areas where the pressure value is relatively low. Specifically, new wind is not generated in brick V1 where the set pressure value is less than the second threshold value.

[0109] In this way, by suppressing the generation of new wind at a specific location (brick V1), there will be locations in the virtual space where new wind is generated and locations where it is not generated. If a fluid simulation is performed under conditions where there are both locations where new wind is generated and locations where new wind is not generated, wind fluctuations may occur.

[0110] In this program, new wind is not generated in areas where the pressure value is relatively high, so the behavior of the wind flowing into brick V1 (for example, the wind avoiding walls) can be made more noticeable.

[0111] This program does not generate new wind in areas with relatively low pressure, so it can express, for example, a windless state behind an obstruction (downwind side) or a state where the wind is deflecting around.

[0112] Since the audio and video are linked, there is no sense of incongruity between the video movement and the audio.

[0113] As described above, according to this embodiment, it is possible to produce a natural wind effect in a virtual space.

[0114] [Other embodiments] The use of the virtual space is not limited to games. The administrator of the virtual space (who may be called the user of this program) can provide various services through the virtual space (for example, use as a metaverse).

[0115] The application of the mechanism of this program (the mechanism for determining whether new wind generation is necessary) is not limited to programs (such as game programs) used by users of the virtual space (those receiving services in the virtual space). For example, the mechanism of this program can be used as a game development tool used in game development.

[0116] In game development tools, this program makes it easier for developers (programmers, artists, etc.) who are users of the program to perform advance preparations related to wind. Advance preparations include, for example, preparing data to represent wind and performing fluid simulations. If advance preparations are made easier, it becomes possible to reduce the costs required for repeating the development process (so-called iterations).

[0117] Bricks and cells may be visualized depending on the intended use of the program. For example, if the program is implemented as a game development tool, the convenience of users (artists, etc.) will be improved by visualizing bricks and cells.

[0118] The setting unit 567 may use a parameter correlated with the pressure value instead of the pressure value.

[0119] The method for setting the initial values ​​of the parameters correlated with the pressure value is not limited to the method described above. For example, a program may be implemented so that a programmer, artist, or the like can set any value.

[0120] Bricks and cells may be visualized depending on the intended use of the program. For example, if the program is implemented as a game development tool, the convenience of users (artists, etc.) will be improved by visualizing bricks and cells.

[0121] The calculation range of the shielding rate is not limited to the display range described above. The calculation range may be an area that is a certain extent expanded from the display range, or may be a range that is narrower than the display range. Also, an area that is not displayed on the display 61 (for example, an area that is expected to be the destination of the player character) may be set as the calculation range.

[0122] In the game development tool, the shading rate or wind generation parameters may be manually embedded in the virtual space by an artist, etc. A mechanism may be provided that allows the artist, etc. to bias the shading rate calculated by the computer (control unit 56).

[0123] The method of calculating the shielding ratio described in the embodiment is merely an example. For example, the shielding ratio may be the ratio between the maximum number of second volume elements that a first volume element can contain and the number of second volume elements V2 that are actually contained in the first volume element V1.

[0124] The correspondence between the value of the shielding ratio and its meaning (whether or not wind is generated) is an example. For example, contrary to the above embodiment, the calculation method of the shielding ratio may be defined so that new wind is generated when the shielding ratio is greater than a threshold value and new wind is not generated when the shielding ratio is less than the threshold value. As such a definition, for example, the shielding ratio may be defined as the reciprocal of the number of second volume elements V2 included in the first volume element V1.

[0125] The processing by this program may be performed by a server device to which a user device (e.g., game device 5) is connected, or may be shared between the user device and the server device. This is the form assumed when this program is implemented as a game program for an online game or a program for the above-mentioned metaverse.

[0126] The voice data does not necessarily have to be prepared in advance, but may be synthesized or generated each time based on some data (for example, noise) or information.

[0127] The effects of the present embodiment can be achieved even when these other embodiments are adopted. Furthermore, this embodiment can be combined with other embodiments, and other embodiments can be combined with each other as appropriate. [Explanation of symbols]

[0128] 55 Storage section 56 Control Unit (Computer) 561 Game Progression Department 562 Calculation Unit 563 Decision Section 564 Wind Generator 566 Acoustic Processing Unit 567 Settings Department OBJ Object VS Virtual Space

Claims

1. Computer, a setting unit that sets a parameter correlated with a pressure value of a virtual gas filled in a virtual space at a plurality of predetermined points or a plurality of predetermined regions included in the virtual space; a determination unit that determines whether or not to newly generate a virtual wind at a location for which the parameter is set, in accordance with the parameter; a wind generating unit that generates the wind by performing a fluid simulation on the gas at the location determined by the determining unit; It functions as the determination unit determines not to newly generate virtual wind at a location where the parameter is higher than a first threshold value and a location where the parameter is lower than a second threshold value; The first threshold is greater than the second threshold. program.

2. In the program of claim 1, The setting unit sets the parameters at predetermined time intervals. program.

3. In the program of claim 1 or claim 2, The setting unit determines the parameters by a fluid simulation of the gas. program.

4. In the program of claim 1 or claim 2, The computer a calculation unit that calculates a shielding rate, which is the degree to which an object in the virtual space shields the wind, for a plurality of locations within a specified range in the virtual space; The determination unit determines whether to newly generate the wind for the plurality of locations for which the shielding ratio has been calculated, using the shielding ratio in addition to the parameter. program.

5. In the program of claim 1 or claim 2, The computer functions as a game progression unit that progresses a game in the virtual space based on user operations. program.

6. In the program of claim 5, The game progression unit changes the display mode of the object in the virtual space according to the result of the fluid simulation. program.

7. In the program of claim 1 or claim 2, A program that causes the computer to function as an acoustic processing unit that reproduces the sound based on the wind based on the results of the fluid simulation.

8. a storage unit that stores the program of claim 1 or claim 2; a control unit that executes the program; A virtual space generating device equipped with the above.

9. By computer, a setting step of setting a parameter correlated with a pressure value of the virtual gas filled in the virtual space at a plurality of predetermined points or a plurality of predetermined areas included in the virtual space; a determining step of determining whether or not to newly generate a virtual wind at the location for which the parameter is set, in accordance with the parameter; a wind generating step of generating the wind by a fluid simulation of the gas at the location determined in the determining step; and execute In the determining step, a determination is made not to newly generate virtual wind at a location where the parameter is higher than a first threshold value and a location where the parameter is lower than a second threshold value; The first threshold is greater than the second threshold. A method for generating virtual space.

Citation Information

Patent Citations

  • Game device and information memory medium

    JP2001276416A

  • Video display device and video display program

    JP2008272296A

  • Server computer, method for controlling the same, and program

    JP2014210024A

  • Information processing device, information processing method, and computer-readable recording medium

    WO2021241431A1