Information processing program, information processing system, information processor and information processing method
The information processing program addresses the limitation of predefined character part positions by determining parameters for position, rotation, and scale to generate composite objects without obscuration, resulting in varied and natural-looking characters.
Patent Information
- Application Number
- JP2024011601
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-01-30
- Publication Date
- 2025-08-01
- Estimated Expiration
- 2044-01-30
AI Technical Summary
Existing techniques for generating characters by combining parts, such as eyes, nose, and mouth, are limited by predefined positions, resulting in restricted patterns and unnatural appearances.
An information processing program that determines parameters for position, rotation, and scale of parts in a virtual space to generate composite objects, ensuring that reference positions are not obscured by other parts, allowing for varied and natural-looking objects.
Enables the generation of diverse and natural-looking objects by preventing parts from hiding or misaligning with each other, enhancing the variety and realism of generated characters.
Smart Images

Figure 2025113078000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to an information processing program, an information processing system, an information processing apparatus, and an information processing method for generating an object to be arranged in a virtual space.
Background Art
[0002] Conventionally, there has been a technique for generating a plurality of types of characters by combining a plurality of parts to generate a character. For example, there is a technique for preparing parts such as a face contour, eyes, a nose, and a mouth, and generating a plurality of types of characters by combining the parts (see, for example, Patent Document 1).
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] In the above technique, since the parts such as eyes, nose, and mouth are only arranged at positions defined for the contour, the patterns of the generated characters are limited.
[0005] Therefore, an object of the present invention is to provide an information processing program, an information processing system, an information processing apparatus, and an information processing method capable of generating various objects using a plurality of parts.
Means for Solving the Problems
[0006] In order to solve the above problems, the present invention employs the following configurations (1) to (14).
[0007] (1) An example of the present invention is an information processing program executed in a computer of an information processing apparatus, which causes the computer to function as parameter determination means and object generation means. The parameter determination means determines, for each of a plurality of parts, parameters of position, rotation, and scale. The object generation means generates a composite object having a first part having a shape formed by combining a plurality of parts arranged in a virtual space based on each parameter, and a second part arranged at a reference position in the virtual space and different from the first part. The parameter determination means determines each parameter so that the reference position is not shielded by the first part on the reference direction side of the composite object.
[0008] According to the configuration of (1) above, by generating the first part using parts in which the above parameters are changed to various values, various objects can be generated.
[0009] (2) In the configuration of (1) above, the parameter determination means may determine each parameter so that the reference position is located on the surface of the first part.
[0010] According to the configuration of (2) above, it is possible to reduce the possibility that the object has an unnatural appearance by the second part being buried in the first part and becoming invisible, or the second part being arranged away from the first part.
[0011] (3) In the configuration of (1) or (2) above, the virtual space may be a three-dimensional space. Each of the plurality of parts may have a flat surface portion. The parameter determination means determines the position parameter and the scale parameter so that the plane including the reference position and each surface portion of the plurality of parts are located in the same plane, and may also determine the rotation parameter so that the surface portion is perpendicular to the reference direction and faces the reference direction side.
[0012] According to the configuration of (3) above, since the second part can be arranged on the surface formed by the surface parts of each part, the possibility that the object has an unnatural appearance can be reduced.
[0013] (4) In the configuration of (1) or (2) above, the parameter determination means may determine each parameter within a range preset so that the reference position is not shielded by the first part on the reference direction side of the composite object for each of the plurality of parts.
[0014] According to the configuration of (4) above, the possibility that the object has an unnatural appearance can be reduced.
[0015] (5) In any of the configurations from (1) to (4) above, the parameter determination means may determine at least one of the parameters based on probability.
[0016] According to the configuration of (5) above, an object in which the shape of the first part changes randomly can be generated.
[0017] (6) In the configuration of (1) or (2) above, the parameter determination means may repeat the process of determining each parameter based on probability until each parameter is determined such that the reference position is not shielded by the first part on the reference direction side of the composite object.
[0018] According to the configuration of (6) above, the possibility that the object has an unnatural appearance can be reduced, and an object in which the shape of the first part changes randomly can be generated.
[0019] (7) In any of the configurations from (1) to (6) above, the parameter determination means may determine each parameter during the execution of the game. The object generation means may arrange the composite object in the virtual space during the execution of the game.
[0020] According to the configuration of (7) above, objects with different shapes can be generated every time the game is executed.
[0021] (8) In any of the configurations from (1) to (7) above, the plurality of parts and the first part of the composite object may be voxel objects generated based on voxel data.
[0022] According to the configuration of (8) above, the process of generating the first part based on the parts can be easily executed using voxel data.
[0023] (9) In any of the configurations from (1) to (8) above, the composite object may be a non-player character.
[0024] According to the configuration of (9) above, non-player characters with individuality can be introduced into the game one by one.
[0025] (10) In the configuration of (9) above, the information processing program may further cause the computer to function as character control means for controlling the non-player character so that the reference direction faces from the non-player character to the player character.
[0026] According to the configuration of (10) above, the object can be made to operate so as to face the front as viewed from the player character.
[0027] (11) In the configuration of (9) or (10) above, the information processing program may further cause the computer to function as object deletion means for deleting a part of the composite object in response to the operation by the player character.
[0028] According to the configuration of the above (11), the player can change the shape of the object by operating the player character.
[0029] (12) In the configuration of the above (11), when a part of the composite object is erased, the information processing program may further cause the computer to function as an object restoration means for restoring the shape of the composite object to its original shape according to the passage of time.
[0030] According to the configuration of the above (12), the player can repeatedly deform the object and enjoy it.
[0031] (13) In any of the configurations from the above (9) to (12), the second part may be an object representing the eyes of a non-player character.
[0032] According to the configuration of the above (13), it is possible to reduce the possibility of generating an object in which the eyes of the object are arranged unnaturally.
[0033] (14) In any of the configurations from the above (9) to (13), the composite object may further have an object representing the legs of a non-player character.
[0034] Note that another example of the present invention may be an information processing apparatus or an information processing system that executes the processing in the above (1) to (14). Further, another example of the present invention may be an information processing method that executes the processing in the above (1) to (14).
Effects of the Invention
[0035] According to the above information processing program, information processing system, information processing apparatus, or information processing method, a variety of objects can be generated using a plurality of parts.
Brief Description of the Drawings
[0036]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
Figure 11
Figure 12
Figure 13
Figure 14
Figure 15
Figure 16
Figure 17
Figure 18
Figure 19
Figure 20
Figure 21
Figure 22
Figure 23
Figure 24
Mode for Carrying Out the Invention
[0037] [1. Configuration of the Game System] Hereinafter, a game system according to an example of the present embodiment will be described. An example of the game system 1 in the present embodiment includes a main body device (information processing device; which functions as a game device main body in the present embodiment) 2, a left controller 3, and a right controller 4. The left controller 3 and the right controller 4 are each detachable from the main body device 2. That is, the game system 1 can be used as a device in which the left controller 3 and the right controller 4 are each attached to the main body device 2 and integrated. Also, the game system 1 can be used with the main body device 2, the left controller 3, and the right controller 4 as separate entities (see FIG. 2). Hereinafter, the hardware configuration of the game system 1 of the present embodiment will be described, and then the control of the game system 1 of the present embodiment will be described.
[0038] FIG. 1 is a diagram showing an example of a state in which the left controller 3 and the right controller 4 are attached to the main body device 2. As shown in FIG. 1, the left controller 3 and the right controller 4 are each attached to the main body device 2 and integrated. The main body device 2 is a device that executes various processes (for example, game processing) in the game system 1. The main body device 2 includes a display 12. The left controller 3 and the right controller 4 are devices that include an operation unit for the user to input.
[0039] FIG. 2 is a diagram showing an example of a state where the left controller 3 and the right controller 4 are removed from the main body device 2. As shown in FIGS. 1 and 2, the left controller 3 and the right controller 4 are detachable from the main body device 2. In the following, the left controller 3 and the right controller 4 may be collectively referred to as a "controller".
[0040] FIG. 3 is a six-sided view showing an example of the main body device 2. As shown in FIG. 3, the main body device 2 includes a substantially plate-shaped housing 11. In the present embodiment, the main surface of the housing 11 (in other words, the front surface, that is, the surface on which the display 12 is provided) is generally rectangular in shape.
[0041] Note that the shape and size of the housing 11 are arbitrary. As an example, the housing 11 may be of a portable size. Also, the main body device 2 alone or the integrated device in which the left controller 3 and the right controller 4 are attached to the main body device 2 may be a portable device. Further, the main body device 2 or the integrated device may be a hand-held device. Also, the main body device 2 or the integrated device may be a transportable device.
[0042] As shown in FIG. 3, the main body device 2 includes a display 12 provided on the main surface of the housing 11. The display 12 displays an image generated by the main body device 2. In the present embodiment, the display 12 is a liquid crystal display device (LCD). However, the display 12 may be any type of display device.
[0043] Also, the main body device 2 includes a touch panel 13 on the screen of the display 12. In the present embodiment, the touch panel 13 is of a type capable of multi-touch input (for example, a capacitance type). However, the touch panel 13 may be of any type, for example, a type capable of single-touch input (for example, a resistive film type).
[0044] The main body device 2 includes a speaker (i.e., the speaker 88 shown in FIG. 6) inside the housing 11. As shown in FIG. 3, speaker holes 11a and 11b are formed on the main surface of the housing 11. Then, the output sound of the speaker 88 is output from these speaker holes 11a and 11b respectively.
[0045] In addition, the main body device 2 includes a left terminal 17 which is a terminal for the main body device 2 to perform wired communication with the left controller 3, and a right terminal 21 which is a terminal for the main body device 2 to perform wired communication with the right controller 4.
[0046] As shown in FIG. 3, the main body device 2 includes a slot 23. The slot 23 is provided on the upper surface of the housing 11. The slot 23 has a shape capable of mounting a predetermined type of storage medium. The predetermined type of storage medium is, for example, a storage medium (e.g., a dedicated memory card) dedicated to the game system 1 and the same type of information processing device. The predetermined type of storage medium is used to store, for example, data (e.g., save data of an application, etc.) used in the main body device 2, and / or programs (e.g., application programs, etc.) executed in the main body device 2. In addition, the main body device 2 includes a power button 28.
[0047] The main body device 2 includes a lower terminal 27. The lower terminal 27 is a terminal for the main body device 2 to communicate with the cradle. In this embodiment, the lower terminal 27 is a USB connector (more specifically, a female connector). When the integrated device or the main body device 2 alone is placed on the cradle, the game system 1 can display the image generated and output by the main body device 2 on the stationary monitor. Also, in this embodiment, the cradle has a function of charging the placed integrated device or the main body device 2 alone. In addition, the cradle has a function of a hub device (specifically, a USB hub).
[0048] FIG. 4 is a six-sided view showing an example of the left controller 3. As shown in FIG. 4, the left controller 3 includes a housing 31. In the present embodiment, the housing 31 has a vertically long shape, that is, a shape that is long in the vertical direction (i.e., the y-axis direction shown in FIGS. 1 and 4). The left controller 3 can also be gripped in a vertically long orientation when removed from the main body device 2. The housing 31 has a shape and size that can be gripped with one hand, particularly the left hand, when gripped in a vertically long orientation. Also, the left controller 3 can be gripped in a horizontally long orientation. When the left controller 3 is gripped in a horizontally long orientation, it may be gripped with both hands.
[0049] The left controller 3 includes an analog stick 32. As shown in FIG. 4, the analog stick 32 is provided on the main surface of the housing 31. The analog stick 32 can be used as a direction input unit capable of inputting a direction. The user can input a direction corresponding to the tilting direction (and an input of a magnitude corresponding to the tilted angle) by tilting the analog stick 32. Note that the left controller 3 may include, instead of the analog stick, a cross key or a slide stick capable of slide input as a direction input unit. Also, in the present embodiment, an input for pressing the analog stick 32 is possible.
[0050] The left controller 3 is provided with various operation buttons. The left controller 3 has four operation buttons 33 to 36 (specifically, a right direction button 33, a down direction button 34, an up direction button 35, and a left direction button 36) on the main surface of the housing 31. Further, the left controller 3 is provided with a recording button 37 and a -(minus) button 47. The left controller 3 has a first L button 38 and a ZL button 39 at the upper left of the side surface of the housing 31. Also, the left controller 3 has a second L button 43 and a second R button 44 on the side surface of the housing 31 on the side where it is attached when attached to the main body device 2. These operation buttons are used to give instructions according to various programs (for example, an OS program or an application program) executed by the main body device 2.
[0051] Also, the left controller 3 is provided with a terminal 42 for the left controller 3 to perform wired communication with the main body device 2.
[0052] FIG. 5 is a six-sided view showing an example of the right controller 4. As shown in FIG. 5, the right controller 4 includes a housing 51. In the present embodiment, the housing 51 has a vertically long shape, that is, a shape that is long in the vertical direction. The right controller 4 can also be gripped in a vertically long orientation when removed from the main body device 2. The housing 51 has a shape and size that can be gripped with one hand, particularly the right hand, when gripped in a vertically long orientation. Also, the right controller 4 can be gripped in a horizontally long orientation. When the right controller 4 is gripped in a horizontally long orientation, it may be gripped with both hands.
[0053] Similar to the left controller 3, the right controller 4 includes an analog stick 52 as a direction input unit. In this embodiment, the analog stick 52 has the same configuration as the analog stick 32 of the left controller 3. Further, instead of the analog stick, the right controller 4 may be provided with a cross key or a slide stick capable of slide input. Also, similar to the left controller 3, the right controller 4 includes four operation buttons 53 to 56 (specifically, an A button 53, a B button 54, an X button 55, and a Y button 56) on the main surface of the housing 51. Furthermore, the right controller 4 includes a + (plus) button 57 and a home button 58. Also, the right controller 4 includes a first R button 60 and a ZR button 61 at the upper right of the side surface of the housing 51. Also, similar to the left controller 3, the right controller 4 includes a second L button 65 and a second R button 66.
[0054] In addition, the right controller 4 includes a terminal 64 for the right controller 4 to perform wired communication with the main body device 2.
[0055] FIG. 6 is a block diagram showing an example of the internal configuration of the main body device 2. In addition to the configuration shown in FIG. 3, the main body device 2 includes each of the components 81 to 91, 97, and 98 shown in FIG. 6. Some of these components 81 to 91, 97, and 98 may be mounted on an electronic circuit board as electronic components and housed in the housing 11.
[0056] The main body device 2 includes a processor 81. The processor 81 is an information processing unit that executes various information processes executed in the main body device 2. For example, it may be composed of only a CPU (Central Processing Unit), or it may be composed of a SoC (System-on-a-chip) including a plurality of functions such as a CPU function and a GPU (Graphics Processing Unit) function. The processor 81 executes various information processes by executing an information processing program (for example, a game program) stored in a storage unit (specifically, an internal storage medium such as a flash memory 84, or an external storage medium mounted on the slot 23, etc.).
[0057] As an example of an internal storage medium built into the main body device 2, the main body device 2 includes a flash memory 84 and a DRAM (Dynamic Random Access Memory) 85. The flash memory 84 and the DRAM 85 are connected to the processor 81. The flash memory 84 is mainly a memory used to store various data (which may be a program) stored in the main body device 2. The DRAM 85 is a memory used to temporarily store various data used in information processing.
[0058] The main body device 2 includes a slot interface (hereinafter abbreviated as "I / F") 91. The slot I / F 91 is connected to the processor 81. The slot I / F 91 is connected to the slot 23, and reads and writes data to and from a predetermined type of storage medium (for example, a dedicated memory card) mounted on the slot 23 in accordance with an instruction from the processor 81.
[0059] The processor 81 appropriately reads and writes data between the flash memory 84 and the DRAM 85, and the above storage media, and executes the above information processes.
[0060] The main body device 2 includes a network communication unit 82. The network communication unit 82 is connected to the processor 81. The network communication unit 82 communicates (specifically, wirelessly communicates) with an external device via a network. In the present embodiment, the network communication unit 82 connects to a wireless LAN and communicates with an external device by a method compliant with the Wi-Fi standard as a first communication mode. Further, the network communication unit 82 performs wireless communication with other main body devices 2 of the same type by a predetermined communication method (for example, communication by a proprietary protocol or infrared communication) as a second communication mode. Note that the wireless communication by the second communication mode enables wireless communication with other main body devices 2 arranged in a closed local network area, and realizes a function enabling so-called "local communication" in which data is transmitted and received by direct communication between a plurality of main body devices 2.
[0061] The main body device 2 includes a controller communication unit 83. The controller communication unit 83 is connected to the processor 81. The controller communication unit 83 performs wireless communication with the left controller 3 and / or the right controller 4. The communication method between the main body device 2 and the left controller 3 and the right controller 4 is arbitrary. In the present embodiment, the controller communication unit 83 communicates with the left controller 3 and the right controller 4 in accordance with the Bluetooth (registered trademark) standard.
[0062] The processor 81 is connected to the above-described left terminal 17, right terminal 21, and lower terminal 27. When the processor 81 performs wired communication with the left controller 3, it transmits data to the left controller 3 via the left terminal 17 and receives operation data from the left controller 3 via the left terminal 17. Further, when the processor 81 performs wired communication with the right controller 4, it transmits data to the right controller 4 via the right terminal 21 and receives operation data from the right controller 4 via the right terminal 21. Also, when the processor 81 communicates with the cradle, it transmits data to the cradle via the lower terminal 27. Thus, in the present embodiment, the main body device 2 can perform both wired communication and wireless communication with the left controller 3 and the right controller 4, respectively. Further, when the left controller 3 and the right controller 4 are attached to the main body device 2 as an integrated device or when the main body device 2 alone is attached to the cradle, the main body device 2 can output data (e.g., image data or audio data) to a stationary monitor or the like via the cradle.
[0063] Here, the main body device 2 can communicate with a plurality of left controllers 3 simultaneously (in other words, in parallel). Also, the main body device 2 can communicate with a plurality of right controllers 4 simultaneously (in other words, in parallel). Therefore, a plurality of users can simultaneously input to the main body device 2 using sets of the left controller 3 and the right controller 4, respectively. As an example, while the first user inputs to the main body device 2 using the first set of the left controller 3 and the right controller 4, it is possible for the second user to input to the main body device 2 using the second set of the left controller 3 and the right controller 4.
[0064] Also, the display 12 is connected to the processor 81. The processor 81 displays an image generated (e.g., by executing the above-described information processing) and / or an image acquired from the outside on the display 12.
[0065] The main body device 2 includes a codec circuit 87 and speakers (specifically, a left speaker and a right speaker) 88. The codec circuit 87 is connected to the speakers 88 and the audio input / output terminal 25, and is also connected to the processor 81. The codec circuit 87 is a circuit that controls the input / output of audio data to / from the speakers 88 and the audio input / output terminal 25.
[0066] The main body device 2 includes a power control unit 97 and a battery 98. The power control unit 97 is connected to the battery 98 and the processor 81. Also, although not shown, the power control unit 97 is connected to each part of the main body device 2 (specifically, each part that receives power supply from the battery 98, the left terminal 17, and the right terminal 21). The power control unit 97 controls the power supply from the battery 98 to each of the above parts based on a command from the processor 81.
[0067] Also, the battery 98 is connected to the lower terminal 27. When an external charging device (for example, a cradle) is connected to the lower terminal 27 and power is supplied to the main body device 2 via the lower terminal 27, the supplied power is used to charge the battery 98.
[0068] FIG. 7 is a block diagram showing an example of the internal configuration of the main body device 2, the left controller 3, and the right controller 4. Note that the details of the internal configuration regarding the main body device 2 are shown in FIG. 6, and thus are omitted in FIG. 7.
[0069] The left controller 3 includes a communication control unit 101 that communicates with the main body device 2. As shown in FIG. 7, the communication control unit 101 is connected to each component including the terminal 42. In the present embodiment, the communication control unit 101 can communicate with the main body device 2 both by wired communication via the terminal 42 and by wireless communication without using the terminal 42. The communication control unit 101 controls the communication method that the left controller 3 performs with respect to the main body device 2. That is, when the left controller 3 is attached to the main body device 2, the communication control unit 101 communicates with the main body device 2 via the terminal 42. Also, when the left controller 3 is removed from the main body device 2, the communication control unit 101 performs wireless communication with the main body device 2 (specifically, the controller communication unit 83). The wireless communication between the controller communication unit 83 and the communication control unit 101 is performed in accordance with, for example, the Bluetooth (registered trademark) standard.
[0070] The left controller 3 also includes a memory 102 such as a flash memory. The communication control unit 101 is configured by, for example, a microcomputer (also referred to as a microprocessor) and executes various processes by executing the firmware stored in the memory 102.
[0071] The left controller 3 includes each button 103 (specifically, buttons 33 to 39, 43, 44, and 47). The left controller 3 also includes an analog stick (described as "stick" in FIG. 7) 32. Each button 103 and the analog stick 32 output information regarding the operations performed on themselves to the communication control unit 101 repeatedly at appropriate timings.
[0072] The communication control unit 101 acquires information regarding input (specifically, information regarding operations or detection results by sensors) from each input unit (specifically, each button 103 and the analog stick 32). The communication control unit 101 transmits operation data including the acquired information (or information obtained by performing predetermined processing on the acquired information) to the main body device 2. Note that the operation data is repeatedly transmitted at a rate of once every predetermined time. Note that the intervals at which the information regarding input is transmitted to the main body device 2 may be the same or different for each input unit.
[0073] When the above operation data is transmitted to the main body device 2, the main body device 2 can obtain the input performed on the left controller 3. That is, the main body device 2 can determine operations on each button 103 and the analog stick 32 based on the operation data.
[0074] The left controller 3 includes a power supply unit 108. In the present embodiment, the power supply unit 108 has a battery and a power control circuit. Although not shown, the power control circuit is connected to the battery and is also connected to each part of the left controller 3 (specifically, each part that receives power supply from the battery).
[0075] As shown in FIG. 7, the right controller 4 includes a communication control unit 111 that communicates with the main body device 2. The right controller 4 also includes a memory 112 connected to the communication control unit 111. The communication control unit 111 is connected to each component including the terminal 64. The communication control unit 111 and the memory 112 have the same functions as the communication control unit 101 and the memory 102 of the left controller 3. Therefore, the communication control unit 111 can communicate with the main body device 2 by both wired communication via the terminal 64 and wireless communication without using the terminal 64 (specifically, communication conforming to the Bluetooth (registered trademark) standard), and controls the communication method performed by the right controller 4 with respect to the main body device 2.
[0076] The right controller 4 includes the same input units as each input unit of the left controller 3. Specifically, it includes each button 113 and the analog stick 52. These input units have the same functions as the input units of the left controller 3 and operate in the same manner.
[0077] The right controller 4 includes a power supply unit 118. The power supply unit 118 has the same function as the power supply unit 108 of the left controller 3 and operates in the same manner.
[0078] [2. Overview of Processing in the Game System] Next, with reference to FIGS. 8 to 21, an overview of the processing executed in the game system 1 will be described. In the present embodiment, the game system 1 generates a game image in which terrain objects and characters (for example, player characters operated by a player) are arranged in a game space that is a three-dimensional virtual space, and displays it on a display device. Note that, in the present embodiment, the display device on which the game image is displayed may be the above-described display 12 or a stationary monitor.
[0079] [2-1. Voxels] In the present embodiment, for some objects in the game space, the shape is defined by voxel data. Here, a voxel is a rectangular parallelepiped (more specifically, a cube)-shaped region arranged in a grid pattern in the game space, and voxel data is data set for each voxel. Hereinafter, an object whose shape is defined by voxel data will be referred to as a "voxel object". In the present embodiment, the game system 1 stores voxel data as data for generating voxel objects in the game space for each of a plurality of voxels set in the game space.
[0080] FIG. 8 is a diagram showing an example of a terrain object that is a voxel object. As shown in FIG. 8, in the present embodiment, a terrain object representing a terrain such as the ground is defined in shape by voxel data (that is, it is a voxel object). Each cube shown in FIG. 8 represents a terrain object. In FIG. 8, the portions that are the sides of the terrain object are shown as thick lines, but this thick line is added for the purpose of making the drawing easier to view, and in reality, it is not necessary for the sides of the terrain object to be thickly displayed.
[0081] Also, the terrain object shown in FIG. 8 is generated, for example, according to the rule that "when the parameter included in the voxel data set for a voxel is greater than a predetermined value, a cube is placed at the position of the voxel, and when it is less than or equal to the predetermined value, nothing is placed at the position of the voxel". The terrain object shown in FIG. 8 is shown for the purpose of easily exemplifying the relationship between a voxel and a voxel object. In the present embodiment, actually, for example, like the terrain object shown in FIG. 15 described later, a voxel object is generated (based on voxel data) according to a rule that results in a more complex shape compared to the length of one side of a voxel. Note that the rule for determining the shape of a voxel object based on voxel data is arbitrary. In other embodiments, the game system 1 may generate a voxel object as shown in FIG. 8 or a voxel object as shown in FIG. 15 based on object data.
[0082] Regarding the voxel object, the shape can be changed by changing the voxel data of each voxel. FIGS. 9 and 10 are diagrams showing an example of the state before and after a part of the terrain object shown in FIG. 8 is deleted. That is, when the hatched portion of the terrain object shown in FIG. 9 is destroyed, the terrain object changes to the shape shown in FIG. 10. At this time, the game system 1 can easily erase the terrain object by rewriting the voxel data described later so as to indicate that there is no terrain object for the voxels in the hatched portion. Note that when the game system 1 adds a terrain object, it can easily change the shape of the terrain object by changing the voxel data of each voxel in the same way as when erasing the terrain object.
[0083] In this way, the game system 1 can freely change the shape of the voxel object by rewriting the voxel data. For example, when the shape of a terrain object is changed as a result of being destroyed for some reason (e.g., a player character strikes the terrain object) in the game, the game system 1 does not directly change the data indicating the outer shape of the terrain object (i.e., the mesh described later), but can freely change the shape of the terrain object by changing the voxel data used for generating the terrain object.
[0084] FIG. 11 is a diagram showing an example of the content of the voxel data. Here, in the present embodiment, the game space can be divided into a plurality of voxels arranged in a grid pattern. The game system 1 stores voxel data in association with each voxel in the game space. The voxel data indicates the presence or absence of a voxel object in the voxel corresponding to the voxel data.
[0085] As shown in FIG. 11, the voxel data includes density data. The density data indicates the density, which is an index used to define the shape of the voxel object in the voxel corresponding to the voxel data (specifically, the shape defined by the mesh described later). Although details will be described later, the position and shape of the surface of the voxel object (that is, the mesh described later) are determined based on the above density. That is, in the present embodiment, the above density is used to create a mesh that defines the surface of the voxel object.
[0086] In the present embodiment, the density can take an integer value in the range from a lower limit value (for example, 0) to an upper limit value (for example, 255). In the present embodiment, in the game system 1, when the value of the density set for a voxel is high, the ratio of the volume occupied by the voxel object in the voxel tends to be large, and when the value of the density is low, the ratio tends to be small. Based on the density, the shape of the voxel object is determined. In this way, the density is an index that affects the ratio of the volume occupied by the voxel object in the voxel. It can also be said that the density is an index indicating the degree to which an object is included in the region defined by each voxel. For example, when the density is 0, there is no voxel object in the voxel, when the density is 255, the entire voxel is the voxel object, and when the density is a value between 0 and 255, the voxel object can occupy the voxel at a ratio corresponding to the value. Then, based on the above density, the shape of the mesh, that is, the shape of the voxel object, can be determined. However, the voxel object generated based on the above density does not necessarily have a volume that exactly matches the ratio indicated by the density. For example, in the method of generating a voxel object as shown in FIG. 8 and the method of generating a voxel object as shown in FIG. 15, the volume of the voxel object may be different even based on the same density.
[0087] In other embodiments, the density may indicate either a state in which the voxel object occupies the entire area within the voxel or a state in which the voxel object is not included in the area within the voxel. For example, the density data may be data that can only take on values of 0 or 1.
[0088] As shown in FIG. 11, the voxel data includes material data. The material data indicates the material (in other words, the substance) of the voxel object generated from the voxel data. Here, in the present embodiment, materials such as sand, rock, and soil are set for the voxel object. That is, in the present embodiment, a plurality of types of materials are prepared as materials that can be set for the voxel object, and any one of the plurality of types of materials is set for the voxel object.
[0089] As shown in FIG. 11, in the present embodiment, the material data indicates identification information of the material (referred to as "material ID"). Also, in the present embodiment, the game system 1 stores material information indicating the properties and textures of the materials prepared in the game for each material. In the present embodiment, the material information associates the material ID with the properties of the material and the appearance of the material (specifically, the texture). Specifically, the material information is information that associates the material ID with the identification information of the properties of the material (referred to as "property ID") and the identification information of the texture of the material (referred to as "texture ID") (see FIG. 11).
[0090] FIG. 12 is a diagram showing an example of property information indicating the properties of a material. As shown in FIG. 12, the game system 1 stores property information associating the above property ID with information indicating the content of the property indicated by the property ID. The property of a material is a property that a voxel object to which the material is set has in the game, and is, for example, information such as the weight and slipperiness shown in FIG. 12. Note that the specific content of the property is arbitrary, and for example, the following information may be set as the property of the material. · Temperature · Fragility (for example, the number of times the voxel object breaks until it breaks when an impact is applied to the voxel object) · Whether another object adheres to the voxel object · The amount of the player character's physical strength recovered when the player character destroys the voxel object · The amount of in-game currency that the player character obtains when the player character destroys the voxel object Note that the specific content of the property set for the material is arbitrary. In other embodiments, information different from the above may be set as the information indicating the property of the material.
[0091] FIG. 13 is a diagram showing an example of texture information indicating the texture of a material. As shown in FIG. 13, the game system 1 stores texture information associating the above texture ID with the texture indicated by the texture ID.
[0092] Note that, as data defining the appearance of the voxel object, in addition to the texture information, any information regarding color and / or pattern may be set. For example, as information regarding the appearance of the voxel object, a crack pattern may be set. By using such a pattern, the game system 1 can generate an image of a voxel object representing an appearance with cracks.
[0093] As described above, in the present embodiment, material data defines the properties of the voxel object and the texture used for the voxel object by the material ID. For example, when the material ID indicated by the material data included in the voxel data is "002", the property indicated by the property ID "001" associated with the material ID in the material information is set as the property of the voxel object corresponding to the voxel data (see the arrow shown in FIG. 11). Also, in the above case, the texture indicated by the texture ID "002" associated with the material ID in the material information is applied to the voxel object corresponding to the voxel data (see the arrow shown in FIG. 11).
[0094] As described above, in the present embodiment, the game system 1 manages the properties and textures of materials separately. Therefore, in the present embodiment, it is possible to easily set multiple types of materials with the same properties but different appearances (i.e., textures), and multiple types of materials with different properties but the same appearance.
[0095] Note that the material data may be any data that can specify the properties and / or textures of the material. For example, in other embodiments, the material data may indicate the above property ID and texture ID, or may have a data structure that actually includes data indicating the properties and textures of the material.
[0096] In addition, the material data may be information regarding the material, and may further indicate other information different from the above-described properties and textures. For example, the material data may include effect data indicating an effect that occurs when an effect generation condition (for example, a part of the voxel object is destroyed, or a character steps on the voxel object) set for the voxel object is satisfied. Note that the effect data may be data indicating an effect image (for example, an effect image representing that the voxel object has been destroyed), or may be data indicating an effect sound (the sound of footsteps when a character walks on the voxel object).
[0097] As shown in FIG. 11, the voxel data includes state data indicating the state of the voxel object. The specific content of the state data is arbitrary. For example, the state data may be data indicating whether the voxel object is in a wet state, or may be data indicating the amount of damage applied to the voxel object. The content of the state data may be updated during the game.
[0098] [2-2. Mesh] In the present embodiment, the surface of the voxel object is represented by a mesh. A mesh is a set of a plurality of surfaces (specifically, polygons) arranged in the game space. In the present embodiment, the game system 1 generates a mesh of the voxel object based on the voxel data of each voxel set in the game space. Hereinafter, an example of generating a mesh based on the voxel data will be described.
[0099] FIG. 14 is a diagram showing an example of a method for generating a mesh. Note that in FIG. 14, for the purpose of making the drawing easy to view and the explanation easy to understand, the voxels and the mesh are represented in two dimensions, but actually, a three-dimensional mesh is generated based on the voxels in a three-dimensional space.
[0100] As described above, in the present embodiment, the density set for the voxels is set in the range of 0 to 255. Also, in the present embodiment, voxels with a density equal to or higher than the reference threshold are considered to be inside the object, and voxels with a density lower than the reference threshold are considered to be outside the object. It is not necessary to define only voxels with a density of 0 as being outside the object (i.e., reference threshold = 1), and the reference threshold can be, for example, 128. In the example shown in FIG. 14, the density is 0 in voxel 201 and other outer voxels, the density in voxel 202 is 100 which is lower than the reference threshold, and the densities in voxels 203 and 204 are set to 150 and 200 which are equal to or higher than the reference threshold. In the present embodiment, the game system 1 generates vertices between voxels with a density equal to or higher than the reference threshold and voxels with a density lower than the reference threshold. Specifically, for each region spanning eight (four in the drawing) adjacent voxels (the region surrounded by the dotted line in the drawing), it is determined whether to generate a vertex. That is, vertices are generated in regions spanning both voxels with a density equal to or higher than the reference threshold and voxels with a density lower than the reference threshold. Further, when the boundary between adjacent vertices (the boundary of the above-described region including each vertex) passes between voxels with a density equal to or higher than the reference threshold and voxels with a density lower than the reference threshold, a polygon mesh is generated by connecting those vertices. The coordinates of the vertices are determined by comparing the densities of adjacent voxels for each of the X, Y, and Z axes and performing interpolation based on the density difference. At this time, coordinate calculation can be further performed based on normal information. The normal information may be held in advance for at least some of the voxels, or if it is not held, the normal information may also be calculated based on the densities of adjacent voxels. In FIG. 14, since the density of voxel 202 is lower than the reference threshold, voxel 202 is treated as being outside the object in the determination of the presence or absence of vertices, but the density value of voxel 202 itself is used for the coordinate calculation of the generated vertices. If the reference threshold is set to a value lower than the density of voxel 202, more vertices will be added to the upper right and upper left sides of voxel 202 in FIG. 14.
[0101] By generating a polygon mesh as described above, a shape having a volume that reflects the density for each voxel to some extent can be generated. However, depending on the relationship with adjacent voxels, it may be the case that a voxel with a density of 0 includes a region within a part of the object, or a voxel with a density of 255 includes a region outside a part of the object. Also, in the present embodiment, since voxels with a value less than the reference threshold are processed as outside the object, the volume becomes smaller by the amount that the number of vertices is reduced compared to the case of processing them as inside the object. That is, there is no need to calculate the polygon mesh so as to have a volume that exactly corresponds to the density value.
[0102] FIG. 15 is a diagram showing an example of a game image including a terrain object. In the present embodiment, by generating a mesh as described above, a voxel object can be made into a shape having complex unevenness compared to, for example, the length of one side of a voxel.
[0103] Note that the method of generating a mesh based on voxel data is arbitrary. For example, in other embodiments, when the density of voxel data is greater than a predetermined value, a mesh may be generated such that a cube is arranged at the voxel (see FIG. 8).
[0104] For each face of the mesh generated as described above, the game system 1 determines the appearance (i.e., color and / or pattern) of each face according to the material specified by the voxel data. Specifically, the game system 1 determines the texture to be used for rendering each face of the mesh based on the voxel data, and generates an image of the voxel object by mapping the determined texture to each face. Note that the texture mapped to each face of the mesh is determined based on the voxel data of the voxels (referred to as target voxels) used to generate the face among the voxels where the voxel object exists. Note that the target voxels are, for example, one or more voxels arranged around the face, although it also depends on the method of generating the mesh. That is, the texture mapped to the face of the mesh is determined to be a texture corresponding to the material set for one or more voxels arranged around the face.
[0105] In other embodiments, one voxel data may include multiple types (e.g., two types) of material data. At this time, the voxel data includes ratio data regarding the multiple types of material data. The ratio data is data for determining the texture to be used for the voxel object, and indicates the ratio by which each material (specifically, the texture corresponding to the material) indicated by the multiple types of material data affects the appearance (specifically, color and / or pattern) of the voxel object. Also, when determining the texture to be mapped to each face of the mesh, the texture is determined based on various data (specifically, density data, multiple types of material data, and ratio data) included in the voxel data of the target voxels. For example, when multiple types of materials are set for the target voxels corresponding to one face, the texture corresponding to the material (one type) with the greatest degree of influence may be used considering the above ratio, or each texture corresponding to the multiple types of materials may be used considering the above ratio.
[0106] In another embodiment, there may be both a voxel object using voxel data including one type of material data and a voxel object using voxel data including two types of material data.
[0107] [2-3. Generation of Voxel Object] Hereinafter, a method for generating a non-player character appearing in the game space as a voxel object will be described. In the present embodiment, the game system 1 generates non-player characters such that their shapes are different each time they are generated. Also, by generating a plurality of non-player characters such that their shapes are different each time they are generated, it is possible to give the player an impression that each non-player character is not uniform but has its own individuality. Although details will be described later, in the present embodiment, the game system 1 automatically (specifically, by a procedural technique) generates non-player characters at an appropriate timing during the game.
[0108] FIG. 16 is a diagram showing an example of the outline of the process for generating a non-player character. As shown in FIG. 16, the non-player character in the present embodiment is a character having eyes and feet on a body that looks like a rock. In the present embodiment, a plurality of parts used for generating the body of the non-player character are prepared. As shown in FIG. 16(a), in the present embodiment, three parts 211 to 213 are prepared. Note that the number of parts prepared may be any number of 2 or more.
[0109] As shown in FIG. 16(b), the game system 1 generates an object (referred to as a body object) 214 that represents the body of a non-player character by combining the plurality of parts 211 to 213. At this time, the game system 1 randomly determines the positions and postures (also referred to as inclinations) of the three parts 211 to 213, and generates one body object 214 by synthesizing the three parts 211 to 213. Therefore, the body object 214 can have various shapes. That is, in the present embodiment, body objects 214 with different shapes are generated each time the generation process is performed.
[0110] FIG. 17 is a diagram showing examples of body objects that can be generated. In the present embodiment, by randomly combining a plurality of parts 211 to 213 as described above to generate a body object 214, a plurality of non-player characters with different shapes can be generated as in Examples 1 to 3 shown in FIG. 17.
[0111] As shown in FIG. 16(c), the game system 1 adds an eye object 215 and a leg object 216 to the generated body object 214. Thereby, the non-player character is completed. In the present embodiment, the eye object 215 and the leg object 216 are installed at predetermined positions.
[0112] In this embodiment, the above parts 211 to 213 and the body object 214 are voxel objects. Note that in this embodiment, the parts 211 to 213 and the body object 214, which are voxel objects included in the non-player character, are defined in shape by voxel data related to voxels different from the above-described terrain object. That is, the voxel space related to the non-player character (referred to as "sub-voxel space") is a voxel space set separately from the voxel space related to the terrain object (referred to as "main voxel space"). The sub-voxel space is set in a part of the game space (which can also be said to be a part of the main voxel space), and the non-player character is arranged in the sub-voxel space. The size and orientation of the voxels in the sub-voxel space (that is, the orientation of each side of the voxels) may be different from the size and orientation of the voxels in the main voxel space. For example, by setting a sub-voxel space that defines voxels with a shorter side length than the voxels in the main voxel space, the shape of the non-player character can be represented in finer detail than the terrain object based on the main voxel space. Also, the game system 1 changes the position or orientation of the non-player character (more precisely, the position or orientation in the game space) by changing the position or orientation of the sub-voxel space in the game space. When a plurality of non-player characters are generated, the game system 1 sets a sub-voxel space for each non-player character.
[0113] Note that in other embodiments, in addition to the body object 214, the eye object 215 and the foot object 216 may also be (that is, the entire non-player character may be) voxel objects. Also, in other embodiments, the non-player character may be defined in shape by the voxel data of the above-described main voxel space. Also, in other embodiments, the non-player character may not be a voxel object.
[0114] Next, with reference to FIGS. 18 to 21, the details of the non-player character generation process will be described. FIG. 18 is a diagram showing an example of three parts. As described above, in this embodiment, the non-player character has an appearance like a rock. Therefore, each of the parts 211 to 213 is an object imitating a rock as shown in FIG. 18.
[0115] In FIGS. 18 and 19, for the purpose of making the concept of the generation process easier to understand, the parts 211 to 213 for which the meshes are generated are shown. However, in this embodiment, for each of the parts 211 to 213, it is only necessary to prepare voxel data, and the game system 1 does not have to generate a mesh for each of the parts 211 to 213.
[0116] Each of the parts 211 to 213 is arranged in the above-mentioned sub-voxel space related to the non-player character. The x-axis direction of the coordinate system (the xyz coordinate system shown in FIG. 18) of this sub-voxel space is the horizontal direction and is a direction perpendicular to the front-rear direction described later (that is, the left-right direction). The x-axis direction is parallel to the horizontal direction in the game space when the sub-voxel space (in other words, the non-player character) is arranged in the reference posture in the game space. The y-axis direction of the above coordinate system is the vertical direction (which can also be said to be the up-down direction). When the sub-voxel space is arranged in the reference posture in the game space, it corresponds to the vertical direction in the game space. Also, the z-axis direction of the above coordinate system corresponds to the front-rear direction of the non-player character. Specifically, the positive side of the z-axis is the back side of the non-player character, and the negative side of the z-axis is the front side of the non-player character. In this embodiment, the generation of the non-player character is performed in the above-mentioned sub-voxel space, and the non-player character is arranged in the game space by setting the sub-voxel space in the game space.
[0117] In FIG. 18, for the purpose of making each of the parts 211 to 213 easier to see, a state where each of the parts 211 to 213 is arranged separately from each other is shown. However, actually, as shown in FIG. 19 described later, each of the parts 211 to 213 is arranged such that a part of each overlaps with each other.
[0118] As shown in FIG. 18, in the present embodiment, each of the parts 211 to 213 has flat surface portions 221 to 223. In the present embodiment, the surface portions 221 to 223 are flat surfaces. However, the above "flat" does not mean strictly flat. As will be described in detail later, after the solid object 214 is generated based on the parts 211 to 213, the eye object 215 is arranged on the surface formed by the surface portions 221 to 223. At this time, as long as there is no inconvenience such that part or all of the eye object 215 arranged on the surface is hidden by the solid object 214 and becomes invisible, the flat surface portions 221 to 223 may have such small unevenness.
[0119] In the present embodiment, position parameters indicating the positions of the respective parts 211 to 213, rotation parameters indicating rotation (also referred to as posture), and scale parameters indicating sizes are set for each of the parts 211 to 213. The position parameter is a parameter indicating the position coordinates in the sub-voxel space, the rotation parameter is a parameter indicating the rotation angle with respect to the reference posture in the sub-voxel space, and the scale parameter is a parameter indicating the ratio of the size with respect to the reference in the sub-voxel space (for example, the size of the part when the reference size is 1). Note that the scale parameter may be a parameter indicating the ratio for each axis.
[0120] In this embodiment, for each part, the game system 1 randomly determines a set of the above parameters (i.e., the position parameter, the rotation parameter, and the scale parameter). Note that in this specification, "randomly determine" does not mean only a method in which the determination result (i.e., the set of each parameter) is obtained with equal probability, but includes any method determined so that the results of multiple trials using, for example, random numbers are not the same each time (that is, having randomness). For example, when generating a plurality of non-player characters, the game system 1 randomly determines the set of each parameter so that there is no bias in the values of the above parameters among the non-player characters in order to avoid the shapes of the generated non-player characters being similar.
[0121] In this embodiment, the game system 1 randomly determines the set of the above parameters so that each of the surface portions 221 to 223 is located within a reference plane 226 that includes the reference positions 225a and 225b and is perpendicular to the front-rear direction, and faces the front side (i.e., the negative z-axis side). Here, the reference positions 225a and 225b are positions predetermined in the sub-voxel space and are the positions where the eye objects 215 are arranged. Specifically, the right-eye object 215a is arranged at the reference position 225a, and the left-eye object 215b is arranged at the reference position 225b (see FIG. 21). In this embodiment, the reference positions 225a and 225b are set at the same position in the front-rear direction (that is, the z coordinate values of the reference positions 225a and 225b are the same value).
[0122] Note that the set of reference positions (reference positions 225a and 225b in the above example) only needs to be determined as one set when determining each of the above parameters. The game system 1 may select one set from among a plurality of prepared candidates and then determine each of the above parameters according to the selected set of reference positions. According to this, variations regarding the position of the eye object 215 can be increased, and variations in the appearance of non-player characters can be further increased. Note that the method of selecting one set of reference positions from a plurality of candidates is arbitrary. For example, the game system 1 may randomly select one set, or may select one set according to a defined rule.
[0123] In the present embodiment, the position parameters are randomly determined such that they are variable in the left-right direction (i.e., the x-axis direction) and the up-down direction (i.e., the y-axis direction), and are fixed values in the front-back direction (i.e., the z-axis direction). Specifically, when the position indicated by the position parameter corresponds to a position on the surface portion of the part, this fixed value is set to a value equal to the coordinate values in the front-back direction (i.e., the z-axis coordinate values) of the reference positions 225a and 225b. In this way, each of the parts 211 to 213 can change each time the position parameter is determined in the left-right direction and the up-down direction, but is fixedly arranged in the front-back direction (see the dashed arrows shown in FIG. 18).
[0124] For example, the game system 1 determines the position parameter by setting the initial coordinates for the position parameter and randomly determining the amount of change from the initial coordinates in the left - right direction and the up - down direction. Note that the initial coordinates may be set to different values for each of the parts 211 to 213. Also, when randomly determining the position parameter, a range within which the position parameter can be changed from the initial coordinates may be set. For example, the game system 1 may change the position parameter from the initial coordinates within the range where the surface portions 221 to 223 of each of the parts 211 to 213 include the reference positions 225a and 225b. According to this, it is possible to prevent the surface portions 221 to 223 from being arranged at positions that do not include the reference positions 225a and 225b (although they are at positions within the reference plane 226).
[0125] Also, the rotation parameter is randomly determined such that the angle about the axis in the front - rear direction is variable and the angles about the axes in the left - right direction and the up - down direction are fixed values. Specifically, this fixed value is set such that each of the surface portions 221 to 223 is perpendicular to the front - rear direction and faces the front side. In this way, each of the parts 211 to 213 can change each time the rotation parameter is determined with respect to the angle about the axis in the front - rear direction, but is arranged to have a fixed angle about the axes in the left - right direction and the up - down direction (see the dotted - line arrows shown in FIG. 18).
[0126] For example, the game system 1 determines the rotation parameter by setting the initial angle for the rotation parameter and randomly determining the amount of change from the initial angle for the angle about the axis in the front - rear direction. Note that the initial angle may be set to different values for each of the parts 211 to 213.
[0127] Also, in the present embodiment, the scale parameter is set to a predetermined fixed value. However, in other embodiments, the game system 1 may randomly determine the scale parameter so that it can also change. At this time, the game system 1 may change the scale parameter while adjusting each parameter so that the direction in which each surface portion 221 to 223 faces (i.e., the front direction) and the position in the front-rear direction do not change. For example, since there is a possibility that the position of the surface portion of the part may change in the front-rear direction due to the change of the scale parameter, the game system 1 changes the position parameter so as to cancel out the change in the position of the surface portion due to the change of the scale parameter, so that the position of the surface portion does not change as a result in the front-rear direction. Note that for the left-right direction and the up-down direction, since it is not necessary to adjust the position parameter even when the scale parameter is changed as described above, it can be said that it is easy to change the position parameter for the left-right direction and the up-down direction.
[0128] As described above, in the present embodiment, the game system 1 determines at least one of the above parameters based on probability (for example, using a random number). According to this, non-player characters having various shapes can be generated. Note that the parameter determined to have randomness based on probability may be one type of parameter among the above parameters, or two or more types of parameters.
[0129] FIG. 19 is a diagram showing an example of each part arranged based on each parameter determined as described above. Since each of the parts 211 to 213 is arranged to include the reference positions 225a and 225b, as shown in FIG. 19, it is arranged so as to partially overlap at least one other part. However, in other embodiments, each of the parts 211 to 213 may be arranged so as not to overlap with other parts. Also, as described above, since the direction in which each of the surface portions 221 to 223 faces and the position with respect to the front-rear direction are fixedly set, each of the surface portions 221 to 223 is arranged to be located within a reference plane 226 including the reference positions 225a and 225b.
[0130] When arranging each of the parts 211 to 213, the game system 1 generates a body object 214 by combining each of the parts 211 to 213. FIG. 20 is a diagram showing an example of a body object generated based on each of the parts 211 to 213 shown in FIG. 19. As shown in FIG. 20, the game system 1 generates the body object 214 so as to have an integrated shape of each of the parts 211 to 213 (specifically, so that the surface of the portion of the surface of each of the parts 211 to 213 that does not overlap with other parts becomes the surface of the body object 214). The body object 214 coincides with the surfaces formed by each of the surface portions 221 to 223 of each of the parts 211 to 213, and has a surface portion 224 that is positioned so as to include the reference positions 225a and 225b.
[0131] As described above, in this embodiment, the plurality of parts 211 to 213 and the body object 214 among the player characters are voxel objects generated based on voxel data. Therefore, for example, the game system 1 can obtain the voxel data of the body object 214 by adding the density in the voxel data of each of the parts 211 to 213 for each voxel. In this way, in this embodiment, the process of obtaining the body object 214 by synthesizing the parts 211 to 213 can be easily performed using voxel data. Further, when generating the body object 214 using voxel data, the number of vertices of the mesh of the generated body object 214 can change for each generation process, so it becomes easier to generate a body object rich in shape variations. Note that in other embodiments, the above parts 211 to 213 and the body object 214 may not be voxel objects, and the player character may not be a voxel object.
[0132] Note that the specific method for generating the body object 214 by combining each of the parts 211 to 213 is arbitrary. For example, the game system 1 may generate a body object composed of a mesh by combining each part composed of a mesh. Further, the shape defined by each of the parts 211 to 213 and the shape of the body object 214 do not necessarily exactly match. Specifically, the surface of the portion of the surfaces of each of the parts 211 to 213 that does not overlap with other parts and the surface of the body object 214 do not necessarily exactly match. For example, the game system 1 may generate a body object by changing the shape so that the corners are smoothed at the boundary between a certain part and another part.
[0133] In this embodiment, it is assumed that the materials (specifically, properties and textures) set for each of the parts 211 to 213 are the same. However, in other embodiments, the materials set for each of the parts 211 to 213 are arbitrary, and different materials may be set for each part. At this time, for the body object 214, different materials may be set for each part corresponding to the original part, or a material based on the materials of each part (for example, a material with properties such as synthesizing the materials of each part) may be set, or the material of any one of the parts may be set.
[0134] FIG. 21 is a diagram showing an example of a generated non-player character. As shown in FIG. 21, the game system 1 adds eye objects 215 to the generated body object 214. In this embodiment, among the two eye objects, the right eye object 215a is arranged at the reference position 225a, and the left eye object 215b is arranged at the reference position 225b. As described above, the surface portion 224 of the body object 214 is arranged at a position including the reference positions 225a and 225b. Therefore, as shown in FIG. 21, the eye objects 215 are arranged on the surface of the surface portion 224.
[0135] Note that the reference position may be any position where any part of the object arranged at the reference position (here, the eye object 215) is arranged, and is not limited to the center position of the object. That is, the eye object 215 may be arranged such that a part of it is located at the reference position, and the other part may be arranged buried in the body object 214.
[0136] As described above, in the present embodiment, the game system 1 determines each parameter (i.e., the position parameter, the rotation parameter, and the scale parameter) such that the reference positions 225a and 225b are located on the surface of the non-player character. Thereby, it is possible to reduce the possibility that the eye object 215 is buried in the body object 214 and becomes invisible, or that the non-player character has an unnatural appearance by being arranged away from the body object 214. In other embodiments, each of the above parameters may be determined to have a value such that the reference position is arranged away from the surface of the non-player character (for example, the reference position is arranged at a position slightly forward from the surface of the non-player character).
[0137] As described above, in the present embodiment, in the three-dimensional virtual space, each of the plurality of parts 211 to 213 has a flat surface portion 221 to 223. The game system 1 determines the position parameter and the scale parameter such that the plane including the reference positions 225a and 225b (the reference plane 226 in the present embodiment) and each of the surface portions 221 to 223 of the plurality of parts 211 to 213 are located in the same plane. Further, the game system 1 determines the rotation parameter such that the surface portions 221 to 223 are perpendicular to the reference direction (the negative z-axis direction in the present embodiment) and face the reference direction side. According to the above, since the eye object 215 can be arranged on the surface (i.e., the surface portion 224 of the body object 214) formed based on the surface portions of each of the parts 211 to 213, it is possible to reduce the possibility that the non-player character has an unnatural appearance. In other embodiments, the part may have a plurality of flat surface portions, and at this time, the game system 1 may determine the rotation parameter for the part such that any one of the plurality of surface portions is perpendicular to the reference direction and faces the reference direction side.
[0138] Also, as described above, in this embodiment, for each of the plurality of parts 211 to 213, the game system 1 determines each parameter within a preset range such that the reference position on the reference direction side of the non-player character is not shielded by the body object. Specifically, the position parameter is determined within a range where the surface portion of the part includes the reference position, and the rotation parameter is determined to be a fixed value about the axis in the left-right direction and the axis in the up-down direction. Thereby, the possibility that the non-player character has an unnatural appearance can be reduced. Note that in other embodiments, the specific content of the above "preset range" is not limited to the example of the above embodiment, and may be other ranges. For example, in other embodiments, the game system 1 sets the possible values of the rotation parameter to be variable ranges also about the axis in the left-right direction or the axis in the up-down direction, and adjusts the ranges of other parameters (that is, the position parameter and the scale parameter) so that the reference position is not shielded by the body object according to the value of the rotation parameter within the range.
[0139] Also, the game system 1 adds a foot object 216 to the body object 214. In the present embodiment, the foot object 216 is arranged at a predetermined position. Note that, in the present embodiment, unlike the eye object 215, no restriction is imposed on the generation of the body object 214 regarding the position of the foot object 216. Therefore, there may be cases where a part of the foot object 216 is buried in the body object 214, or the foot object 216 is arranged separated from the body object 214. Note that, since the non-player character 211 in the present embodiment has a form in which the body (which can also be said to be the face) occupies most of the whole, it is considered that the position of the eye object 215 in the body object 214 affects the unnatural appearance of the non-player character 211. On the other hand, regarding the foot object 216, it is considered that the unnatural appearance of the non-player character is small (compared with the case of the eye object 215) even in the above cases. Therefore, in the present embodiment, regardless of the shape of the body object 214, the foot object 216 is fixedly arranged.
[0140] Note that, in other embodiments, the game system 1 may arrange the foot object 216 so that a part of it is not hidden by the body object 214. For example, when the game system 1 arranges the foot object 216 at a determined reference position and a part of the foot object 216 is buried in the body object 214 or the foot object 216 is separated from the body object 214, the game system 1 may move the foot object 216 in the vertical direction (that is, the y-axis direction) from the reference position so that at least the upper end of one of the feet in the foot object 216 contacts the body object 214.
[0141] As described above, in this embodiment, the non-player character has the foot object 216, but the form of the non-player character is arbitrary. For example, in other embodiments, the non-player character may not have the foot object 216, or may have a hand object in addition to (or instead of) the foot object 216.
[0142] The non-player character generated as described above is placed in the game space. In this embodiment, the game system 1 places the non-player character in the game space by placing the sub-voxel space of the non-player character in the game space.
[0143] In this embodiment, the generation process of the non-player character is executed when the generation conditions are satisfied during the game. In this embodiment, the generation conditions are that a new game stage is generated during the game (for example, when the player character moves to a new game stage, the data of the new game stage at the destination is read into the DRAM 85). When the generation conditions are satisfied, the game system 1 executes a generation process for generating the non-player character that appears in the new stage. Note that the above generation conditions may be any conditions that can be satisfied during the game. For example, the game system 1 may use, as the generation condition, the timing when the non-player character is displayed (for example, the timing when the non-player character is drawn in response to the distance from the virtual camera to the non-player character being within a predetermined distance).
[0144] As described above, in this embodiment, the game system 1 determines each parameter (i.e., the position parameter, the rotation parameter, and the scale parameter) during the execution of the game, and arranges a non-player character based on each determined parameter in the virtual space (i.e., the game space) during the execution of the game. According to this, the game system 1 can generate non-player characters with different shapes each time the game is executed. Note that the above "during the execution of the game" includes the start time of the game. That is, the game system 1 may execute the above generation process at the start of the game. Also, in other embodiments, the above generation process may be executed at a timing other than during the execution of the game.
[0145] The game system 1 controls the operation of the non-player character arranged in the game space. In this embodiment, the game system 1 changes the orientation of the non-player character according to the game situation. Specifically, the game system 1 controls the non-player character so that the reference direction (i.e., the front direction) of the non-player character faces the direction from the non-player character to the player character. Thereby, it is possible to operate the non-player character so that it faces the front as viewed from the player character. Note that in other embodiments, the game system 1 may not control the operation of the non-player character, and the non-player character may be an object that does not perform an operation (i.e., an object that is simply arranged in the game space).
[0146] Also, in the present embodiment, since the non-player character (specifically, the body object 214) is a voxel object, like the above-described terrain object, the non-player character can be erased (also referred to as destroyed) during the game. Specifically, when some impact is applied to the non-player character, the game system 1 erases a part of the body object 214 by updating the voxel data (more specifically, the above-described density data) of the body object 214. For example, the game system 1 erases a part of the non-player character according to the operation by the player character (for example, according to the operation in which the player character punches the non-player character or collides the non-player character with another object). According to this, the player can change the shape of the non-player character by operating the player character. In the present embodiment, since the non-player character can take various shapes, even if the destruction operation by the player character is the same, the destroyed non-player character can take various shapes, so the interestingness of the operation of destroying the non-player character can be further improved.
[0147] When a part of the non-player character (specifically, the body object 214) is erased as described above, the game system 1 returns the shape of the non-player character to the original shape according to the passage of time. Specifically, the game system 1 gradually changes the voxel data (more specifically, the density data) of the body object 214 so as to return to the value before the update according to the passage of time. Therefore, even when the non-player character is destroyed by the operation of the player character, it gradually returns to the original shape. According to the above, the player can repeatedly deform the non-player character and enjoy it.
[0148] In addition, similar to the above-described terrain object, other objects may be added to the non-player character. Specifically, when a predetermined object (for example, a rock object made of the same material as the body object 214) comes into contact with the body object 214 of the non-player character, the game system 1 integrates the object with the body object 214. That is, in the above case, the game system 1 sets the shape in which the object is attached to the original shape of the body object 214 as the shape of the new body object 214. Further, when other objects are added to or deleted from the non-player character, the game system 1 may return the shape of the non-player character to its original shape according to the passage of time, similar to the case where the object is deleted.
[0149] [3. Specific Examples of Processing in the Game System] Next, with reference to FIGS. 22 to 24, specific examples of information processing in the game system 1 will be described.
[0150] FIG. 22 is a diagram showing an example of various data used for information processing in the game system 1. As shown in FIG. 22, the game system 1 stores a game program, part data, and non-player character data. The game program and part data are data that are stored in advance in the game system 1 before the execution of the game process. The game program and part data are stored, for example, in a storage medium mounted in the slot 23 of the main body device 2. The non-player character data is data generated during the execution of the game process. The non-player character data is stored, for example, in the DRAM 85 of the main body device 2.
[0151] The game program is a game program for executing the game process in the present embodiment (specifically, the game process shown in FIG. 23).
[0152] The part data is data related to the above-described respective parts 211 to 213. Specifically, the part data includes data indicating the shapes of the respective parts 211 to 213.
[0153] Non-player character data is data related to non-player characters. Non-player character data includes voxel space data, voxel object data, mesh data, and partial object data. In the present embodiment, non-player character data is generated and stored for each non-player character. Note that non-player character data may include data indicating the posture and state of non-player characters in addition to the above data.
[0154] Voxel space data is data that defines a sub-voxel space related to a non-player character. Specifically, voxel space data includes data indicating the length of one side of a voxel in the sub-voxel space. In addition, voxel space data includes data indicating the position, orientation, and size of the sub-voxel space in the game space.
[0155] Voxel object data is voxel data related to a non-player character, that is, voxel data for each voxel in the above sub-voxel space. Voxel object data is data that defines the shape of a non-player character in the sub-voxel space.
[0156] Mesh data is data indicating a mesh set for a non-player character. Mesh data includes, for example, data indicating the positions of each vertex in the mesh.
[0157] Partial object data is data related to partial objects (in the present embodiment, eye objects and foot objects), which are parts of non-player characters other than voxel objects. Specifically, partial object data includes data indicating the shape, position, and orientation of the partial object.
[0158] In addition to the data shown in FIG. 22, the game system 1 stores data that defines the main voxel space set in the game space, data indicating voxel objects (here, terrain objects) arranged in the main voxel space, data indicating meshes (i.e., meshes of terrain objects) set for the voxel objects, and the like.
[0159] FIG. 23 is a flowchart showing an example of the flow of game processing executed by the game system 1. The game processing shown in FIG. 23 is started, for example, in response to an instruction from the player to start the game during the execution of the above game program.
[0160] In the present embodiment, the processor 81 of the main body device 2 executes the processing of each step shown in FIG. 23 by executing the above game program stored in the game system 1. However, in other embodiments, some of the processing of each step may be executed by a processor (e.g., a dedicated circuit or the like) different from the processor 81. Further, when the game system 1 can communicate with another information processing device (e.g., a server), some of the processing of each step shown in FIG. 23 may be executed in the other information processing device. Also, the processing of each step shown in FIG. 23 is merely an example, and if the same result can be obtained, the processing order of each step may be changed, or another processing may be executed in addition to (or instead of) the processing of each step.
[0161] Further, the processor 81 executes the processing of each step shown in FIG. 23 using a memory (e.g., DRAM 85). That is, the processor 81 stores the information (in other words, data) obtained by each processing step in the memory, and when using the information in subsequent processing steps, reads the information from the memory and uses it.
[0162] In step S1 shown in FIG. 23, the processor 81 sets a voxel space in the game space. Specifically, the processor 81 acquires the above voxel space data and stores (or writes, in other words) it in the DRAM 85. In the subsequent game processing, the processor 81 may refer to the voxel space data when executing processing related to voxel objects (for example, the processing in step S2). In this case, the processor 81 refers to the voxel space data stored in the DRAM 85. The processing of step S2 is executed after step S1.
[0163] In step S2, the processor 81 sets voxel objects (specifically, terrain objects) in the main voxel space in the game space. Specifically, the processor 81 acquires voxel data indicating the arrangement of terrain objects in the initial state, and stores (or writes, in other words) part or all of the acquired voxel data in the DRAM 85. Note that the voxel data indicating the arrangement of terrain objects in the initial state is stored, for example, in a storage medium mounted in slot 23 of the main body device 2. The processing of step S3 is executed after step S2.
[0164] In step S3, the processor 81 determines whether the above generation conditions for generating non-player characters are satisfied. For example, when the game is started, or when the player character moves to a new game stage, it is determined that the generation conditions are satisfied. If the determination result in step S3 is affirmative, the processing of step S4 is executed. On the other hand, if the determination result in step S3 is negative, the processing of step S4 is skipped and the processing of step S5 is executed.
[0165] In step S4, the processor 81 executes character generation processing for generating non-player characters. Hereinafter, with reference to FIG. 24, the detailed flow of the character generation processing will be described.
[0166] FIG. 24 is a sub-flowchart showing an example of the detailed flow of the character generation process in step S4 shown in FIG. 23. In the character generation process, first, in step S11, the processor 81 arranges a plurality of parts used for generating non-player characters in the sub-voxel space (see FIG. 19). Specifically, the processor 81 randomly determines a set of each parameter (that is, a position parameter, a rotation parameter, and a scale parameter) according to the method described in the above “[2-3. Generation of voxel objects]”. Further, the processor 81 reads out the part data stored in the DRAM 85, and calculates each voxel data indicating each part arranged in the sub-voxel space based on the part data and each determined parameter. The process of step S12 is executed after step S11.
[0167] In step S12, the processor 81 generates a body object of the non-player character based on the parts arranged in the sub-voxel space (see FIG. 20). Specifically, the processor 81 calculates the voxel data of the body object based on each voxel data calculated in step S11 according to the method described in the above “[2-3. Generation of voxel objects]”. The calculated voxel data is stored in the DRAM 85 as the above voxel object data regarding the non-player character. The process of step S13 is executed after step S12.
[0168] In step S13, the processor 81 adds an eye object to the body object generated in step S12. Specifically, the processor 81 arranges the eye object at the above reference position. At this time, the partial object data stored in the DRAM 85 regarding the non-player character is updated to include the data regarding the added eye object. The process of step S14 is executed after step S13.
[0169] In step S14, the processor 81 adds a foot object to the body object generated in step S12. Specifically, the processor 81 places the foot object at a predetermined position. At this time, the partial object data stored in the DRAM 85 for the non-player character is updated to include data related to the added foot object. The process of step S15 is executed after step S14.
[0170] In step S15, the processor 81 places the non-player character generated by the processes of steps S11 to S14 in the game space. Specifically, the non-player character is placed in the game space by setting the sub-voxel space of the non-player character in the game space. At this time, the voxel space data stored in the DRAM 85 for the non-player character is updated to include data indicating the position, orientation, and size of the sub-voxel space in the game space. The process of step S16 is executed after step S15.
[0171] The position, orientation, and shape of the non-player character in the game space are defined by the voxel space data and voxel object data stored in the DRAM 85 by the processes of steps S11 to S15 above. Note that a mesh of the non-player character is generated based on the voxel object data by the process of step S8 described later.
[0172] In step S16, the processor 81 determines whether all non-player characters to be generated with respect to the generation conditions determined to be satisfied in step S3 have been generated. For example, when the generation conditions are satisfied in response to the generation of a new game stage, the processor 81 determines whether all non-player characters to be generated by this character generation process among the non-player characters appearing in the new game stage have been generated. If the determination result in step S16 is negative, the process of step S11 is executed again. Thereafter, the series of processes from steps S11 to S16 are repeatedly executed until it is determined in step S16 that all non-player characters have been generated. On the other hand, if the determination result in step S16 is positive, the processor 81 ends the character generation process shown in FIG. 24. Next to the character generation process of step S4, the process of step S5 is executed.
[0173] In step S5, the processor 81 controls the operations of various characters (specifically, the player character and the non-player characters) appearing in the game space. The processor 81 controls the operation of the player object, for example, based on the operation data received from each of the controllers 3 or 4. In addition, the processor 81 controls the non-player characters so as to face the player character. Next to step S5, the process of step S6 is executed.
[0174] In step S6, the processor 81 determines whether a change event has occurred for a non-player character as a result of operating various characters according to the process of step S5 above. A change event is a game event that changes a non-player character (for example, erases a part, adds another object, or restores the changed non-player character). For example, when some impact is applied to a non-player character, the processor 81 determines that a change event has occurred for the non-player character. If the determination result in step S6 is affirmative, the process of step S7 is executed. On the other hand, if the determination result in step S6 is negative, the process of step S7 is skipped and the process of step S8 is executed.
[0175] In step S7, the processor 81 changes the non-player character for which the change event has occurred according to the change event. That is, the processor 81 erases a part of the non-player character, adds another object to the non-player character, or restores the non-player character deformed by these erasures or additions to its original shape. In the present embodiment, the processor 81 changes the density indicated by the voxel data for at least some of the voxel data regarding the non-player character for which the change event has occurred. As a result, the non-player character for which the change event has occurred is deformed. Further, the processor 81 updates the voxel object data stored in the DRAM 85 so as to indicate the changed density. The process of step S8 is executed after step S7.
[0176] Note that in steps S6 and S7 above, the processor 81 also determines whether a change event has occurred for other voxel objects (for example, terrain objects) other than non-player characters in the same manner as for non-player characters, and if it is determined that a change event has occurred for other voxel objects, the other voxel objects may be changed.
[0177] In step S8, the processor 81 generates a mesh for the voxel object. The mesh for the voxel object is generated according to the method described in the above "[2-2. Mesh]". In step S8, the processor 81 does not need to regenerate the mesh generated in the previous step S8 process, and may regenerate the mesh for the voxel data of the newly generated non-player character (that is, the voxel object data shown in FIG. 22) in step S4 and the voxel data updated in step S7. By the process of step S8, the mesh of the voxel object can be dynamically changed during the game. The processor 81 updates the mesh data stored in the DRAM 85 with the content indicating the newly generated mesh. The process of step S9 is executed after step S8.
[0178] In step S9, the processor 81 generates a game image representing the game space and causes it to be displayed on the display device. Specifically, the processor 81 generates a game image representing the game space including the voxel object and other objects. The image of the voxel object is generated according to the method described in the above "[2-2. Mesh]" using the voxel object data and mesh data stored in the DRAM 85. The processor 81 causes the generated game image to be displayed on the display device. During the game, the process of step S9 is repeatedly executed at a rate of once per predetermined time (for example, one frame time). The process of step S10 is executed after step S9.
[0179] In step S10, the processor 81 determines whether to end the game. For example, the processor 81 determines whether an instruction to end the game has been issued by the user. If the determination result in step S10 is negative, the process of step S3 is executed again. Thereafter, a series of processes from steps S3 to S10 are repeatedly executed until it is determined in step S10 to end the game. On the other hand, if the determination result in step S10 is positive, the processor 81 ends the game process shown in FIG. 23.
[0180] [4. Operational Effects and Modification Examples of this Embodiment] As described above, in the above embodiment, the information processing system (specific example: game system 1) has a configuration including the following means. · Parameter determination means (step S11) for determining each parameter of position, rotation, and scale for each of a plurality of parts (specific example: parts 211 to 213 shown in FIG. 16 etc.) · An object generation means (steps S12, S13) for generating a composite object (specific example: non-player character) having a first part (specific example: body object 214) having a shape formed by combining a plurality of parts arranged in a virtual space based on each parameter, and a second part (specific example: eye object 215) arranged at a reference position in the virtual space and being a part different from the first part The parameter determination means determines each parameter so that the reference position is not shielded by the first part on the reference direction side (specifically, the front direction side) of the composite object.
[0181] According to the above configuration, by generating the first part using parts with the above various parameters changed to various values, composite objects having various shapes can be generated. Also, according to the above configuration, since each parameter is determined so that the reference position is not shielded by the first part, it is possible to reduce the possibility of generating a composite object in an unnatural form such that, for example, the second part is hidden by the first part.
[0182] Note that "the reference position is shielded by the first part" means that the reference position is located inside the first part, and does not include the case where the reference position is located on the surface of the first part. Also, the second part arranged at the reference position does not need to be arranged so that its entirety is not shielded by the first part, and it may be arranged so that at least a part of it is not shielded by the first part. For example, when the first part has a box-like shape with a bottom surface part and a side surface part and is open at the upper side, in the state where the reference position is located on the inner surface of the side surface part of the box, it can also be said that the reference position is shielded by the first part when viewed from the front direction (assuming that the front direction is the reference direction in this example). Therefore, in the above case, the game system 1 sets the above parameters so that the reference position is located on the outer surface of the side surface part on the front side of the box among the first parts.
[0183] In the above embodiment, the game system 1 determines each parameter under a predetermined limit so that the reference position is not shielded by the first part, but the method of determining each parameter is not limited to this. For example, in other embodiments, the game system 1 may repeat the process of determining each parameter based on probability until each parameter is determined such that the reference position is not shielded by the first part on the reference direction side of the composite object. Thus, the same effect as the above embodiment can be achieved.
[0184] In the above embodiment, the composite object is a non-player character that is not operated by the player. In other embodiments, the composite object may be any object that appears in the game, may be a player character, or may be an object that is arranged in the game space and does not perform operations. For example, the composite object may be a terrain object, a rock object, or a tree object.
[0185] In the above embodiment, the object arranged at the reference position (i.e., the above second part) was an eye object representing the eyes of a non-player character. Here, in other embodiments, the object arranged at the reference position is not limited to this. The second part may be any object representing a part of an object, and may be an object representing the nose, mouth, hand, or foot of a character. Also, when the composite object is an object of a turret, the second part may be an object of the barrel part of a cannon, and when the composite object is an object of a clock, the second part may be an object of the dial part.
[0186] In the above embodiment, the case of generating a three-dimensional composite object was described as an example, but the generation process in the above embodiment is also applicable to the case of generating a two-dimensional composite object. That is, when the game system 1 generates the first part using two-dimensional parts, it may determine each parameter of each part so that the reference position does not fall inside the first part on the reference direction side in the two-dimensional plane.
[0187] Also, in other embodiments, the game system 1 may change the shape of the composite object during the game. For example, the game system 1 may change the shape of the composite object in accordance with the rhythm or in response to a change in the game situation. At this time, the shape of the composite object after the change is determined in the same manner as when determining the shape of the composite object in the above generation process. Thereby, the shape of the composite object can be randomly changed.
[0188] Note that in the above embodiment, when a process is executed using data (in the sense including a program) in a certain information processing device, a part of the data necessary for the process may be transmitted from another information processing device different from the certain information processing device. At this time, the certain information processing device may execute the above process using the data received from another information processing device and the data stored in itself.
[0189] In other embodiments, the information processing system may not include some of the configurations in the above embodiments, or may not execute some of the processes executed in the above embodiments. For example, in order for the information processing system to achieve some specific effects in the above embodiments, it may be sufficient to include the configurations for achieving the effects and execute the processes for achieving the effects, and it may not include other configurations or execute other processes.
Industrial Applicability
[0190] The above embodiments can be used, for example, as a game system or a game program for the purpose of generating various objects using a plurality of parts.
Explanation of Signs
[0191] 1 Game system 2 Main body device 81 Processor 211 - 213 Parts 214 Body object 215 Eye object 216 Leg object 221 - 224 Surface portions 225a, 225b Reference positions
Claims
1. An information processing program executed in a computer of an information processing apparatus, the computer being caused to: parameter determination means for determining parameters of position, rotation, and scale for each of a plurality of parts; function as object generation means for generating a composite object having a first part having a shape formed by combining the plurality of parts arranged in a virtual space based on the respective parameters, and a second part that is arranged at a reference position in the virtual space and is different from the first part; The parameter determination means determines the respective parameters so that the reference position is not shielded by the first part on the reference direction side of the composite object. An information processing program.
2. The parameter determination means determines the respective parameters so that the reference position is located on the surface of the first part. The information processing program according to claim 1.
3. The virtual space is a three-dimensional space, each of the plurality of parts has a flat surface portion, The parameter determination means determines the position parameter and the scale parameter so that a plane including the reference position and each of the surface portions of the plurality of parts are located in the same plane, and determines the rotation parameter so that the surface portion is perpendicular to the reference direction and faces the reference direction side. The information processing program according to claim 1.
4. The parameter determination means determines the respective parameters for each of the plurality of parts within a preset range so that the reference position is not shielded by the first part on the reference direction side of the composite object. The information processing program according to claim 1.
5. The parameter determination means determines at least one of the respective parameters based on probability. The information processing program according to any one of claims 1 to 4.
6. The parameter determination means repeats the process of determining the respective parameters based on probability until the respective parameters are determined such that the reference position is not shielded by the first part on the reference direction side of the composite object. The information processing program according to claim 1.
7. The parameter determination means determines the respective parameters during execution of the game, The information processing program according to claim 1, wherein the object generation means arranges the composite object in the virtual space during the execution of the game.
8. The information processing program according to claim 1, wherein the plurality of parts and the first part of the composite object are voxel objects generated based on voxel data.
9. The information processing program according to claim 1, wherein the composite object is a non-player character.
10. The information processing program according to claim 9, further causing the computer to function as character control means for controlling the non-player character so that the reference direction faces from the non-player character to the player character.
11. The information processing program according to claim 9, further causing the computer to function as object erasing means for erasing a part of the composite object in response to an action by the player character.
12. The information processing program according to claim 11, further causing the computer to function as object restoration means for restoring the shape of the composite object to its original shape in response to the passage of time when a part of the composite object is erased.
13. The information processing program according to any one of claims 9 to 12, wherein the second part is an object representing the eyes of the non-player character.
14. The information processing program according to any one of claims 9 to 12, wherein the composite object further has an object representing the feet of the non-player character.
15. For each of the plurality of parts, parameter determination means for determining parameters of position, rotation, and scale, Object generation means for generating a composite object having a first part having a shape formed by combining the plurality of parts arranged in the virtual space based on the respective parameters and a second part that is arranged at a reference position in the virtual space and is different from the first part, The parameter determination means determines the respective parameters so that the reference position is not shielded by the first part on the reference direction side of the composite object. An information processing system.
16. For each of the plurality of parts, parameter determination means for determining parameters of position, rotation, and scale, Object generation means for generating a composite object having a first part with a shape formed by combining the plurality of parts arranged in the virtual space based on the respective parameters, and a second part that is arranged at a reference position in the virtual space and is different from the first part. The parameter determination means is an information processing apparatus that determines the respective parameters so that the reference position is not shielded by the first part on the reference direction side of the composite object.
17. An information processing method executed by an information processing system, A parameter determination step of determining parameters of position, rotation, and scale for each of a plurality of parts, An object generation step of generating a composite object having a first part with a shape formed by combining the plurality of parts arranged in the virtual space based on the respective parameters, and a second part that is arranged at a reference position in the virtual space and is different from the first part. In the parameter determination step, an information processing method for determining the respective parameters so that the reference position is not shielded by the first part on the reference direction side of the composite object.
Citation Information
Patent Citations
Image processing system
JP2004046793A
Program, information storage medium and image generation system
JP2008033521A
Game program, information processing system, information processor, and game processing method
JP2023103281A
Character generation apparatus and character generation program
JP2006119788A