Node generation program, node generation method, and program

The node generation program automates the process of generating simulation control nodes for 3D models by grouping vertices based on two-dimensional texture coordinates, reducing the time and effort required by designers.

JP7780962B2Active Publication Date: 2025-12-05KOEI TECMO GAMES CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2022007336
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-01-20
Publication Date
2025-12-05
Estimated Expiration
2042-01-20

AI Technical Summary

Technical Problem

Setting simulation control nodes for elongated parts in 3D models, such as hair strands, is extremely time-consuming for designers.

Method used

An information processing device with a node generation program that groups vertices of a polygon mesh based on two-dimensional texture coordinates to automatically generate nodes by determining their positions and generation direction.

Benefits of technology

Reduces the burden on designers by automating the node generation process, allowing for efficient creation of simulation control nodes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007780962000001
    Figure 0007780962000001
  • Figure 0007780962000002
    Figure 0007780962000002
  • Figure 0007780962000003
    Figure 0007780962000003
Patent Text Reader

Abstract

To reduce a burden of a designer when generating a node for simulation control of a game, or the like.SOLUTION: A program for node generation causes an information processing apparatus 10 having a storage unit that stores coordinate information obtained by associating coordinate values of a texture in a two-dimensional virtual space divided into meshes with coordinate values of a polygon mesh in a three-dimensional virtual space, to execute: an in-polygon position calculation step of grouping a predetermined number of vertices of the meshes in the texture, grouping vertices in the polygon mesh corresponding to each of the vertices of the grouped meshes using the coordinate information, and calculating predetermined positions of nodes in each of the grouped groups in the polygon mesh; and a node generation step of generating the nodes by defining the predetermined positions as positions of the nodes.SELECTED DRAWING: Figure 7
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

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

[0002] In recent years, games have been developed that allow three-dimensional models (characters) to move naturally in a three-dimensional virtual space. It is also possible to express parts of a three-dimensional model as if they were moving naturally, independently of the movement of the entire three-dimensional model, as if by the action of gravity or the like, in accordance with the movement of the entire three-dimensional model (see Patent Document 1).

[0003] If part of the 3D model is hair, the game program designer will group a certain number of hair strands together and design each strand to move naturally. In this case, in order for the hair strands made up of polygons in the 3D model to move naturally due to the effects of virtual gravity and virtual wind, the designer will further group each hair strand in the 3D model and set a simulation control node associated with the polygon for each group. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] Japanese Patent Application Laid-Open No. 2017-134609 Summary of the Invention [Problem to be solved by the invention]

[0005] However, when designers set simulation control nodes, they must set them one by one, which creates a problem: if a designer were to set multiple nodes within a single elongated part like a strand of hair and try to do this for all of the elongated parts, it would be extremely time-consuming.

[0006] The present disclosure has been made in consideration of the above-mentioned problems, and aims to reduce the burden on designers when generating simulation control nodes. [Means for solving the problem]

[0007] The invention of claim 1 is a node generation program that causes an information processing device having a memory unit that stores coordinate information that associates the coordinate values ​​of a texture in a two-dimensional virtual space divided into a mesh with the coordinate values ​​of a polygon mesh in a three-dimensional virtual space to execute the following steps: an intra-polygon position calculation step that groups a predetermined number of vertices of the mesh in the texture, groups vertices in the polygon mesh corresponding to each vertex of the grouped mesh using the coordinate information, and calculates a predetermined position of each node in each of the grouped groups within the polygon mesh; and a node generation step that generates each of the nodes by setting each of the predetermined positions as the position of each node. [Effects of the Invention]

[0008] As described above, the present invention has the effect of reducing the burden on the designer when generating a simulation control node. [Brief explanation of the drawings]

[0009] [Figure 1] 1 is a functional configuration diagram of an information processing apparatus according to an embodiment of the present invention; [Figure 2] 1 is a hardware configuration diagram of an information processing apparatus according to an embodiment of the present invention; [Figure 3] 10 is a flowchart showing a process of generating a simulation control node. [Figure 4] 1 is an example of a screen displayed on a display device 110, showing a three-dimensional model. [Figure 5] FIG. 1 is an example of a screen displayed on the display device 110, showing a three-dimensional model and a plurality of textures. [Figure 6]1A is a conceptual diagram showing a predetermined vertex of a polygon mesh, and FIG. 1B is a conceptual diagram showing the corresponding position of a texture corresponding to the predetermined vertex of the polygon mesh. [Figure 7] In the process of setting simulation control nodes, (a) is a conceptual diagram of dividing textures into groups, (b) is a conceptual diagram showing each group in a polygon mesh corresponding to each group of textures, and (c) is a conceptual diagram showing a node row in which the center position of each group in the polygon mesh is used as each simulation control node. [Figure 8] FIG. 10 is a conceptual diagram showing a plurality of finally generated node strings. DETAILED DESCRIPTION OF THE INVENTION

[0010] Hereinafter, an embodiment of the present invention will be described with reference to the drawings.

[0011] This embodiment relates to a technique for a designer to set a simulation control node using an information processing device. Note that hereinafter, the "simulation control node" may be simply referred to as the "node."

[0012] [Functional configuration of information processing device] First, the functional configuration of an information processing device 10 will be described with reference to Fig. 1. Fig. 1 is a functional configuration diagram of an information processing device according to an embodiment of the present invention.

[0013] As shown in FIG. 1, the information processing device 10 includes a reception unit 11, a display control unit 12, a generation direction determination unit 13, an intra-polygon position calculation unit 14, and a node generation unit 15. Each of these units is a process or function realized by executing a node generation program on the information processing device 10. The information processing device 10 also includes a storage unit 19 constructed using a memory 102 or an auxiliary storage device 103 (described later). This storage unit 19 stores coordinate information c that associates the coordinate values ​​of a texture in a two-dimensional virtual space (texture UV) with the coordinate values ​​of a polygon mesh in a three-dimensional virtual space (described later). The texture UV is a coordinate system that represents the two-dimensional virtual space for texture using the U axis and the V axis (see FIG. 6(b)).

[0014] The receiving unit 11 receives the content input by the designer operating the operation device 111.

[0015] The display control unit 12 causes a display device 110 (described later) to display a screen or the like.

[0016] The generation direction determination unit 13 uses the coordinate information c to find two corresponding positions in the texture that correspond to two predetermined vertices in the polygon mesh, and determines the generation direction of the node based on the increase or decrease a in the coordinate values ​​of these two corresponding positions. Examples of the two predetermined vertices include two adjacent vertices in the polygon mesh, and two vertices in the polygon mesh that are a certain number of vertices apart (for example, three).

[0017] The intra-polygon position calculation unit 14 groups a predetermined number of vertices of the mesh in the texture, and groups the vertices in the polygon mesh corresponding to the groupings using the coordinate information c. Furthermore, the intra-polygon position calculation unit 14 orders the groups in the polygon mesh based on the increase / decrease a, and calculates each predetermined position in each group in the polygon mesh.

[0018] The node generating unit 15 generates each node in sequence by setting each predetermined position as the position of each node based on the ordering.

[0019] [Hardware configuration] Next, the hardware configuration of the information processing device 10 will be described with reference to Fig. 2. Fig. 2 is a hardware configuration diagram of the information processing device according to an embodiment of the present invention. As shown in Fig. 2, the information processing device 10 has a processor 101, a memory 102, an auxiliary storage device 103, a connection device 104, a communication device 105, and a drive device 106. The hardware components constituting the information processing device 10 are connected to each other via a bus 107.

[0020] The processor 101 serves as a control unit that controls the entire information processing device 10, and includes various arithmetic devices such as a CPU (Central Processing Unit). The processor 101 reads and executes various programs (for example, a node generation program) onto the memory 102. The processor 101 may also include a GPGPU (General-purpose computing on graphics processing units).

[0021] The memory 102 has a main storage device such as a ROM (Read Only Memory) and a RAM (Random Access Memory). The processor 101 and the memory 102 form a so-called computer, and the computer realizes various functions by the processor 101 executing various programs (for example, a program for generating nodes) read onto the memory 102.

[0022] The auxiliary storage device 103 stores various programs and various information used when the processor 101 executes the various programs.

[0023] The connection device 104 is a connection device that connects an external device (for example, a display device 110, an operation device 111) and the information processing device 10.

[0024] The communication device 105 is a communication device for transmitting and receiving various types of information to and from other devices.

[0025] The drive device 106 is a device for loading the recording medium 130. The recording medium 130 here includes media that record information optically, electrically, or magnetically, such as a CD-ROM (Compact Disc Read-Only Memory), a flexible disk, a magneto-optical disk, etc. The recording medium 130 may also include semiconductor memory that records information electrically, such as a ROM (Read Only Memory), a flash memory, etc.

[0026] The various programs to be installed in the auxiliary storage device 103 are installed, for example, by setting the distributed recording medium 130 in the drive device 106 and reading the various programs recorded on the recording medium 130 by the drive device 106. Alternatively, the various programs to be installed in the auxiliary storage device 103 may be installed by being downloaded from a network via the communication device 105.

[0027] [Processing or Operation of the Embodiment] Next, an example of the processing or operation of this embodiment will be described in detail with reference to Fig. 3 to Fig. 8. Fig. 3 is a flowchart showing the processing for generating a simulation control node. Fig. 4 is an example of a screen displayed on the display device 110, showing a three-dimensional model. Fig. 5 is an example of a screen displayed on the display device 110, showing a three-dimensional model and multiple textures.

[0028] First, the designer displays a 3D model m as shown in Fig. 4 on the display device 110. In this state, the entire 3D model m, including each strand of hair, is displayed using 3D computer graphics polygons. Note that in Fig. 4, the multiple strands of hair are represented as a polygon mesh pm in order to clearly show them on the drawing.

[0029] The designer then displays the design screen shown in Fig. 5 on the display device 110. As shown in Fig. 5, the design screen displays a model display area A1 that represents a three-dimensional virtual space for displaying the three-dimensional model m shown in Fig. 4. The design screen also displays a texture display area A2 on the left side of the design screen that represents a two-dimensional virtual space in which each texture is displayed. In Fig. 5, the texture display area A2 is displayed as a separate window, but it does not have to be a separate window. In the texture display area A2, a two-dimensional display is made of the texture to be applied to each strand of hair of the three-dimensional model m.

[0030] Furthermore, when a predetermined position of the two-dimensional texture is designated (or selected) by coordinate information c, which associates the coordinate values ​​of the texture in the two-dimensional virtual space divided into meshes with the coordinate values ​​of the polygon mesh in the three-dimensional virtual space, the corresponding predetermined position of the three-dimensional polygon mesh is identified. Conversely, when a predetermined position of the three-dimensional polygon mesh is designated (or selected), the corresponding predetermined position of the two-dimensional texture is identified.

[0031] Here, in FIG. 3, when the designer uses the operation device 111 to select a polygon mesh pm1 representing a specific bundle of hair with the cursor 4 or the like, as shown in FIG. 5, the reception unit 11 receives the selection of the polygon mesh (S11).

[0032] As a result, the display control unit 12 changes the display mode of the texture (here, texture t1) corresponding to the polygon mesh pm1 whose selection has been accepted by the accepting unit 11. In Fig. 5, as an example of a change in the display mode, a mesh-like two-dimensional coordinate is displayed. Other examples of a change in the display mode include changing the display color of only texture t1 out of multiple textures, displaying only texture t1 without displaying the other textures, or enlarging and displaying only texture t1.

[0033] In FIG. 5, in order to clarify the polygon mesh pm1 of the selected hair strand on the drawing, only the polygon mesh pm1 is shown with mesh-like three-dimensional coordinates.

[0034] Next, the generation direction determination unit 13 uses the coordinate information c to find two corresponding positions in the texture that correspond to two specified vertices in the polygon mesh, and determines the generation direction of the node based on the increase or decrease a in the coordinate values ​​of these two corresponding positions (S13). An example of the processing of the generation direction determination unit 13 will now be described in detail with reference to FIG. 6. In FIG. 6, (a) is a conceptual diagram showing specified vertices of the polygon mesh, and (b) is a conceptual diagram showing corresponding positions in the texture that correspond to the specified vertices of the polygon mesh. Note that FIG. 6(b) shows the U axis and V axis of the two-dimensional virtual space.

[0035] As shown in FIGS. 6(a) and 6(b), the generation direction determination unit 13 uses the coordinate information c stored in the storage unit 19 to determine two corresponding positions c1 and c2 in the texture t1 that correspond to two predetermined adjacent vertices v1 and v2 in the polygon mesh pm1. The generation direction determination unit 13 then calculates the increase or decrease a between the corresponding positions c1 and c2. If the increase or decrease a indicates an increase, the generation direction of the node is determined to be downward in FIG. 6. If the increase or decrease a indicates a decrease, the generation direction of the node is determined to be upward in FIG. 6. The increase or decrease is calculated in this manner because, when another designer creates textures such as those shown in FIG. 5, the hair texture is not necessarily created to match the direction of the model's hair (extending from top to bottom) as shown in FIG. 5. Instead, the texture may be created to extend from right to left or bottom to top in FIG. 5. This allows for compatibility with any direction of creation. Note that if the texture direction is fixed, the processing of the generation direction determination unit 13 does not need to be performed.

[0036] In this way, the generation direction determination unit 13 determines the generation direction of the node based on the two-dimensional coordinate values ​​(texture UV).

[0037] 3, the intra-polygon position calculation unit 14 groups a predetermined number of vertices of the mesh in the texture, and groups the vertices in the polygon mesh according to the groupings using the coordinate information c (S14). Furthermore, the intra-polygon position calculation unit 14 orders the groups in the polygon mesh based on the increase or decrease a, and calculates a predetermined position for each group in the polygon mesh (S15).

[0038] An example of the processing of the intra-polygon position calculation unit 14 will now be described in detail with reference to Fig. 7. Fig. 7 shows a process for setting simulation control nodes, in which (a) is a conceptual diagram of dividing textures into groups, (b) is a conceptual diagram showing groups in a polygon mesh corresponding to each group of textures, and (c) is a conceptual diagram showing a node string in which the center position of each group in the polygon mesh is used as each simulation control node. Note that Fig. 7(a) shows the U axis and V axis of a two-dimensional virtual space.

[0039] As shown in FIG. 7(a), the intra-polygon position calculation unit 14 divides the texture t1 into multiple groups in two-dimensional coordinates. The number of groups is predetermined by a designer or the like. For example, the designer or the like can arbitrarily specify the number of groups when, for example, accepting node creation. In this embodiment, the number of groups is specified as "5," and FIG. 7(a) illustrates a case where five groups g1 to g5 are specified. Then, the intra-polygon position calculation unit 14 uses the coordinate information c to identify groups G1 to G5 corresponding to groups g1 to g5 in the polygon mesh pm1 corresponding to the texture t1. Furthermore, the intra-polygon position calculation unit 14 orders the groups G1 to G5 within the polygon mesh pm1 based on the increase / decrease a, and calculates a predetermined position (here, a central position) for each of the groups G1 to G5. Note that the predetermined position may not be the central position, but may also be a position a certain distance from the central position, and the predetermined position can be specified arbitrarily.

[0040] In this way, the intra-polygon position calculation unit 14 calculates a predetermined position (here, a center position) of each of the groups G1 to G5 based on two-dimensional coordinate values ​​(texture UV). That is, the intra-polygon position calculation unit 14 performs processing based on two-dimensional coordinate values ​​(texture UV), similar to the generation direction determination unit 13.

[0041] The reason why corresponding polygon meshes are grouped by grouping textures rather than directly grouping polygon meshes is that direct grouping is difficult because polygon meshes are not necessarily linear. For example, if hair that is spiral rather than linear is grouped using only the vertices of the polygon mesh, the tip of the hair may curl up from the bottom instead of being at the lowest position in FIG. 7B and end up closest to the center of the hair. In such a case, a problem occurs in which the tip and middle portions of the hair are grouped together. In contrast, by first grouping based on linear textures as in this embodiment, the texture corresponding to the tip and the texture corresponding to the middle portion are not close to each other, allowing for appropriate grouping. In this way, this embodiment allows hair that is spiral or similar in shape in a three-dimensional virtual space to be easily grouped in a two-dimensional virtual space.

[0042] Next, returning to FIG. 3, the node generating unit 15 sequentially generates each node by setting each predetermined position as the position of each node based on the ordering by the intra-polygon position calculating unit 14 (S16).

[0043] An example of the processing of the node generation unit 15 will now be described in detail with reference to Fig. 7. The node generation unit 15 generates a node string C1 by taking the center positions of the groups G1 to G5 in Fig. 7(b) as the positions of the nodes N1 to N5, as shown in Fig. 7(c), and generating nodes in the order of node N1 to node N5. In this way, the node generation unit 15 automatically generates nodes near the surface of the polygon mesh pm1 in accordance with the generation order.

[0044] When a polygon mesh is displayed on the display device 110, it is represented in a mesh form as shown in Figure 7(b), but in Figure 7(c), the polygon mesh pm1 is not represented in a mesh form in order to clarify the positional relationship between the polygon mesh pm1 and the node column C1 on the drawing.

[0045] In this way, the information processing device 10 repeats the generation of node strings, and can ultimately create a plurality of node strings as shown in Fig. 8. Note that Fig. 8 is a conceptual diagram showing the plurality of node strings that are finally generated.

[0046] [Major Effects of the Embodiments] As described above, according to this embodiment, texture coordinate values ​​and polygon mesh coordinate values ​​are associated with each other, so the information processing device 10 automatically generates nodes when the designer simply selects a desired polygon mesh (here, polygon mesh pm1) as shown in Fig. 5. This has the effect of reducing the burden on the designer when generating nodes.

[0047] 〔supplement〕 The present invention is not limited to the above-described embodiment, and may have the following configurations or processes (operations). (1) The above-mentioned program may be recorded on a (non-transitory) recording medium or may be provided via a network such as the Internet. (2) In the above embodiment, as shown in Fig. 8, a case has been described in which a long, thin node string is generated for a strand of hair, but the present invention is not limited to this. For example, the information processing device 10 can generate nodes by performing separate processing on the U value and V value of a texture, thereby enabling application to grid-shaped node generation for a cape or the like. In this case, for example, the information processing device 10 generates a node string corresponding to the V value of the texture, and then generates a node string corresponding to the U value of the texture, including each node in the node string already created. (3) In the above embodiment, the hair of a three-dimensional model (character) was described, but the present invention is not limited to this and may be any elongated or slender part, not limited to a straight or curved part. Other examples of elongated or slender parts include headbands, sashes, obi belts, ropes, strings, belts, strips of paper, and the legs of living creatures such as octopuses. (4) Furthermore, the above-described embodiment has been described with respect to image generation for games, but the present invention is not limited to this and can also be applied to technologies other than games (such as CAD and computer simulation). [Explanation of symbols]

[0048] 10. Information processing equipment 11 Reception 12 Display control unit 13 Generation direction determination unit 14 Polygon position calculation section 15 Node Generation Unit 19 Memory section 110 Display device 111 Operating device

Claims

1. an information processing device having a storage unit for storing coordinate information in which coordinate values ​​of a texture in a two-dimensional virtual space divided into meshes and coordinate values ​​of a polygon mesh in a three-dimensional virtual space are associated with each other; an intra-polygon position calculation step of grouping each vertex of a mesh in the texture into a predetermined number, grouping vertices in the polygon mesh corresponding to each vertex of the grouped mesh using the coordinate information, and calculating each predetermined position of each node in each group in the polygon mesh; a node generating step of generating each node by setting each of the predetermined positions as a position of each node; A node generation program that executes the above.

2. 2. The node generating program according to claim 1, wherein each of the predetermined positions is a center position in each of the groups.

3. 3. The node generation program according to claim 1, a generation direction determination step of determining, using the coordinate information, two corresponding positions in the texture that correspond to two predetermined vertices in the polygon mesh, and determining a generation direction of the node based on an increase or decrease in the coordinate values ​​of the two corresponding positions; The node generating step includes a process of generating the node based on the determined node generation direction.

4. the intra-polygon position calculation step includes processing for ordering the groups within the polygon mesh based on the increase or decrease; the node generating step includes a process of sequentially generating each of the nodes by setting each predetermined position as a position of each node based on the ordering.

4. The node generation program according to claim 3.

5. 5. The node generating program according to claim 1, wherein the polygon mesh represents an elongated portion of a three-dimensional model.

6. 1. A node generation method executed by an information processing device having a storage unit that stores coordinate information in which coordinate values ​​of a texture in a two-dimensional virtual space divided into meshes and coordinate values ​​of a polygon mesh in a three-dimensional virtual space are associated, the method comprising: The information processing device includes: an intra-polygon position calculation step of grouping each vertex of a mesh in the texture into a predetermined number, grouping vertices in the polygon mesh corresponding to each vertex of the grouped mesh using the coordinate information, and calculating each predetermined position of each node in each group in the polygon mesh; a node generating step of generating each node by setting each of the predetermined positions as a position of each node; A node generation method that executes

Citation Information

Patent Citations

  • Program, information storage medium and image generation system

    JP2008033522A

  • Video generation device, video generation program and video generation method

    JP2012027563A

  • Image generating program and record medium

    JP2017134609A