Program

The system facilitates the easy generation of virtual spaces by allowing users to place anchors with editing information and interpolate this data to create complex virtual environments through user operations.

JP2025145633APending Publication Date: 2025-10-03COLOPL
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2024045919
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-03-22
Publication Date
2025-10-03

AI Technical Summary

Technical Problem

Existing methods for generating virtual spaces are difficult to use for creating desired virtual environments.

Method used

A system that allows users to easily generate virtual spaces by placing anchors at specific points, associating them with editing information, and interpolating this information to create polygons, which are used to edit the virtual space based on user operations.

Benefits of technology

Enables easy and efficient generation of desired virtual spaces by allowing users to manipulate and edit three-dimensional models in real-time, facilitating the creation of complex environments with varied textures and objects.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025145633000001_ABST
    Figure 2025145633000001_ABST
Patent Text Reader

Abstract

To easily enable the generation of a desired virtual space.SOLUTION: The program causes a computer to operate as editing means for performing edits in a virtual space by interpolating information on edits of a predetermined area in the virtual space defined by a first location and a second location in the virtual space, based on the information on edits relating to a first object associated with the first location in the virtual space and the information on edits relating to a second object associated with the second location in the virtual space. Based on a user's operation to move the first or second object, the editing means changes the location in the virtual space associated with the object being moved, thereby altering the predetermined area subject to interpolation due to this change.SELECTED DRAWING: Figure 2
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a program. [Background technology]

[0002] A technique for automatically generating a virtual space is known (see, for example, Patent Document 1). [Prior art documents] [Patent documents]

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

[0004] In generating a virtual space, it is desired to be able to easily generate a desired virtual space.

[0005] An object of the present invention is to make it possible to easily generate a desired virtual space. [Means for solving the problem]

[0006] According to one embodiment shown in the present disclosure, Computer, functioning as an editing means for editing the virtual space by interpolating information on editing of a predetermined area of ​​the virtual space determined based on a first point and a second point, based on information on editing associated with a first object associated with a first point in the virtual space and information on editing associated with a second object associated with a second point in the virtual space; The editing means changes a point in the virtual space corresponding to the object to be moved based on a user's operation to move the first object or the second object, and changes the predetermined area to be interpolated due to the change. Programs are offered. [Effects of the Invention]

[0007] According to the present invention, a desired virtual space can be easily generated. [Brief explanation of the drawings]

[0008] [Figure 1] FIG. 1 is a diagram illustrating a schematic configuration of an information processing system. [Figure 2] FIG. 2 is a block diagram showing a functional configuration of the information processing system. [Figure 3] FIG. 10 is a diagram illustrating an example of an editing screen. [Figure 4] FIG. 10 is a diagram illustrating an example of an editing screen. [Figure 5] FIG. 10 is a diagram illustrating editing using anchors. [Figure 6] FIG. 10 is a diagram showing an example of a virtual space edited using anchors. [Figure 7] 10 is a flowchart illustrating an example of a process related to editing using an anchor. DETAILED DESCRIPTION OF THE INVENTION

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

[0010] <System hardware configuration> As shown in FIG. 1, an information processing system 1 of this embodiment includes a computer 10, an input device 20, and a display device 30.

[0011] The computer 10 includes a processor 11, a memory 12, a storage 13, and an input / output IF 14. These components of the computer 10 are connected to each other by a communication bus.

[0012] The processor 11 controls the overall operation of the computer 10. The processor 11 may include a CPU (Central Processing Unit), an MPU (Micro Processing Unit), a GPU (Graphics Processing Unit), etc. The processor 11 reads a program from the storage 13 and loads it into the memory 12. The processor 11 executes the loaded program. By executing the program, the processor 11 performs various processes, which will be described later.

[0013] The memory 12 is a main storage device. The memory 12 is configured by storage devices such as a ROM (Read Only Memory) and a RAM (Random Access Memory). The memory 12 temporarily stores programs and various data that the processor 11 reads from the storage 13, thereby providing a working area for the processor 11. The memory 12 also temporarily stores various data that the processor 11 generates while operating according to the programs.

[0014] The storage 13 is an auxiliary storage device. The storage 13 is configured by a storage device such as a flash memory or an HDD (Hard Disk Drive). The storage 13 stores various data used in each process described below.

[0015] The input / output IF 14 is an interface through which the computer 10 receives input of data and also an interface through which the computer 10 outputs data. The input / output IF 14 receives input of data from the input device 20. The input / output IF 14 also outputs data to the display device 30.

[0016] The computer 10 may be capable of transmitting and receiving various data to and from other devices via a network.

[0017] The input device 20 accepts input operations by a user. The input device 20 may be, for example, a keyboard or a pointing device (e.g., a mouse). The input device 20 has a function of inputting information related to operations performed by the user to the computer 10 as input information. Note that the input device 20 may be any device capable of inputting information based on user operations, and may be, for example, a camera capable of inputting image information as input information, or a microphone capable of inputting sound information as input information.

[0018] The display device 30 may be, for example, a liquid crystal display, an organic EL (Electro-Luminescence) display, etc. The display device 30 has a function of performing various displays based on instructions from the computer 10. Note that the display device 30 may be any device capable of displaying images, and may be, for example, a projector, etc.

[0019] It should be noted that a touch screen may function as both the input device 20 and the display device 30. In other words, the input device 20 and the display device 30 may be integrated together. The input device 20 and the computer 10 may also be integrated together. The display device 30 and the computer 10 may also be integrated together.

[0020] <System Functional Configuration> Fig. 2 is a block diagram showing the functional configuration of the information processing system 1. As shown in Fig. 2, the computer 10 functions as a control unit 110 and a storage unit 120 through cooperation of a processor 11, a memory 12, a storage 13, an input / output IF 14, etc. The storage unit 120 stores various data used by the control unit 110. The various data include programs.

[0021] The control unit 110 executes various processes, which will be described later, by executing programs stored in the storage unit 120. The control unit 110 includes an operation receiving unit 111, an editing unit 112, and a display control unit 113, for example.

[0022] The operation reception unit 111 receives an operation input by a user via the input device 20. Specifically, when an input operation is performed on the input device 20, the operation reception unit 111 detects the content of the input operation. The input operation is not limited to an operation of physically contacting the input device 20, but may also include a non-contact operation. For example, the operation reception unit 111 receives an operation of pointing a mouse cursor at a specific object displayed on the display device 30 and clicking the mouse as an operation on the specific object (for example, an operation of selecting the specific object).

[0023] The editing unit 112 executes various processes related to editing the virtual space (in other words, editing the image). The editing unit 112 identifies the user's instruction content based on the user's input operation detected by the operation receiving unit 111. Furthermore, the editing unit 112 executes various processes related to editing the virtual space based on the identified instruction content, etc.

[0024] The display control unit 113 controls the display of images on the display device 30. The display control unit 113 displays an image of the virtual space being edited on the display device 30. The display control unit 113 also displays objects related to a UI (User Interface) required for editing work, such as icons, buttons, and menus showing various parameters, on the display device 30.

[0025] The computer 10 does not have to be realized by a single device, but may be realized by, for example, multiple devices each having a processor. The information processing system 1 may also be realized by multiple devices each having a processor. Here, the multiple devices may be connected via a network or the like.

[0026] <Processing according to this embodiment> Conventionally, there has been known a method for automatically coloring a three-dimensional model (for example, painting a texture) by setting rules (in other words, procedures). However, with the conventional method, it has been difficult for an operator to color the model as desired. According to the configuration of this embodiment, for example, it is possible to easily color the model as desired by the operator. The processing according to this embodiment will now be described.

[0027] The editing unit 112 edits (in other words, generates) the virtual space based on the user's operation. The editing unit 112 generates the virtual space by editing a three-dimensional model (in other words, a three-dimensional image) of the virtual space. The data of the three-dimensional model is stored in the storage unit 120. Note that the virtual space generated by this embodiment is, for example, a virtual space used for a game. When a player plays a game, for example, a player character that moves in response to the player's operation is placed in the generated virtual space, and the game progresses in the virtual space based on the player's operation. However, the use of the generated virtual space is not limited to this.

[0028] The editing unit 112 instructs the display control unit 113 to display an editing screen 300 as a screen related to editing on the display device 30. Based on the instruction, the display control unit 113 causes the display device 30 to display the editing screen 300 illustrated in FIGS.

[0029] A virtual space 310 to be edited (specifically, a three-dimensional model of the virtual space, an image of the virtual space) is displayed on the editing screen 300. Note that in the editing screen 300 illustrated in Figures 3 and 4, the virtual space 310 is displayed as viewed from the vertical direction.

[0030] The operation receiving unit 111 receives a user's operation to place an anchor 320 on the editing screen 300. A plurality of anchors 320 are placed, each corresponding to a point in the virtual space 310. FIG. 3 shows the editing screen 300 before the anchor 320 is placed, and FIG. 4 shows the editing screen 300 after the anchor 320 has been placed. The anchor 320 is an object for editing, and is an object that does not appear (in other words, is not placed) in the final completed virtual space. In other words, the anchor 320 is an object that does not appear when a player plays a game that uses the generated virtual space. In this embodiment, the anchor 320 is a spherical object, but the shape of the anchor 320 is not particularly limited.

[0031] The editing unit 112 places the anchor 320 based on a user operation to place the anchor 320. At this time, the editing unit 112 associates the anchor 320 with a point in the virtual space 310 specified by the user. For example, the operation accepting unit 111 accepts an operation of positioning a mouse cursor on a specific point in the virtual space 310 displayed on the editing screen 300 and clicking the mouse as an operation to associate the anchor 320 with the specific point. Then, the editing unit 112 places the anchor 320 corresponding to the specific point based on the operation. In other words, the editing unit 112 places the anchor 320 on the specific point in the virtual space 310 based on the operation. That is, the operation accepting unit 111 accepts an operation by the user to specify a point in the virtual space 310 to which the anchor 320 is to be associated. Then, the editing unit 112 associates the anchor 320 with the point specified by the user based on the operation to specify a point in the virtual space 310 to which the anchor 320 is to be associated.

[0032] Associating the anchor 320 with a specific location can be considered as adding coordinate information of the specific location to the anchor 320. A three-dimensional coordinate system is set in the virtual space 310. Here, the Z-axis direction is the vertical direction (in other words, the height direction) of the virtual space, and the X-axis and Y-axis directions are the horizontal directions of the virtual space. The X-axis, Y-axis, and Z-axis are perpendicular to each other. The coordinate information added to the anchor 320 includes X-axis coordinate values, Y-axis coordinate values, and Z-axis coordinate values. The editing unit 112 associates the coordinate information of the specific location (in other words, the coordinate values ​​of the specific location) with the specific anchor 320 and stores it in the storage unit 120, thereby associating the anchor 320 with the specific location. Note that the coordinate information may include coordinate values ​​in two dimensions but not in one dimension. For example, the coordinate information added to the anchor 320 may include X-axis coordinate values ​​and Y-axis coordinate values ​​but not in the Z-axis coordinate value. In this embodiment, the coordinate information added to the anchor 320 includes X-axis coordinate values, Y-axis coordinate values, and Z-axis coordinate values. However, it is the X-axis coordinate values ​​and Y-axis coordinate values ​​that affect editing of the virtual space (interpolation, e.g., coloring, etc., described below), but not the Z-axis coordinate value. However, editing can also be performed with reference to the Z-axis coordinate value. Specifically, a rule can be set such that if the Z-axis coordinate value is within a predetermined range, coloring is performed with a predetermined color, and if the Z-axis coordinate value is outside the predetermined range, coloring with the predetermined color is not performed. The anchor 320 can also be said to be located in a coordinate space defined by the X-axis, Y-axis, and Z-axis.

[0033] The editing unit 112 instructs the display control unit 113 to display the associated anchor 320 at the point in the virtual space 310 displayed on the editing screen 300 (in other words, the display device 30) to which the anchor 320 is associated. Based on the instruction, the display control unit 113 displays the associated anchor 320 at the point in the virtual space 310 to which the anchor 320 is associated. That is, on the editing screen 300, the anchor 320 is displayed at the point in the virtual space 310 to which the anchor 320 is associated. In other words, on the editing screen 300, the anchor 320 is displayed at the point in the virtual space 310 indicated by the added coordinate information.

[0034] Furthermore, the display control unit 113 can display coordinate information added to the anchor 320 (in other words, coordinate information of a point in the virtual space 310 to which the anchor 320 is associated) on the editing screen 300. Specifically, as shown in Fig. 4, based on a user operation of selecting a specific anchor 320 from among the multiple anchors 320 displayed on the editing screen 300, the display control unit 113 displays the coordinate information added to the specific anchor 320 on the editing screen 300. Specifically, a coordinate information display UI 321 is displayed on the editing screen 300 as a UI that displays the coordinate information of the selected anchor, and the display control unit 113 displays the coordinate information added to the selected anchor 320 on the coordinate information display UI 321.

[0035] The operation accepting unit 111 also accepts a user operation to move the anchor 320 on the editing screen 300. For example, the operation accepting unit 111 accepts a drag operation performed by specifying a specific anchor 320 among the multiple anchors 320 displayed on the editing screen 300 as an operation to move the specific anchor 320. Based on the drag operation, the editing unit 112 changes the point in the virtual space 310 to which the specific anchor 320 is associated from the point in the virtual space 310 where the anchor 320 was located before the movement (in other words, the coordinate point corresponding to the anchor 320 before the movement) to the point where the anchor 320 is located after the movement (in other words, the coordinate point corresponding to the anchor 320 after the movement). Note that the editing screen 300 may display a move operation UI 322 as a UI that accepts an operation to move the specific anchor 320 in a specific direction based on an operation to select the specific anchor 320. In this embodiment, the move operation UI 322 has the shape of an arrow extending along the axis of the coordinate system of the virtual space. 4 displays a movement operation UI 322 that extends in the X-axis direction (the left-right direction in FIG. 4) starting from the selected anchor 320, and a movement operation UI 322 that extends in the Y-axis direction (the up-down direction in FIG. 4) starting from the selected anchor 320. The user can move the selected anchor 320 along the axis corresponding to the selected movement operation UI 322 (in other words, in a specific direction) by placing the mouse cursor on each movement operation UI 322 and performing a drag operation.

[0036] Note that the operation receiving unit 111 may receive an operation of inputting coordinate values ​​for a specific anchor 320 as an operation of moving the specific anchor 320 to a point of the input coordinate values ​​(in other words, a placement operation). For example, the coordinate information display UI 321, which is displayed based on a user operation of selecting a specific anchor 320 from the multiple anchors 320 displayed on the editing screen 300, may function as a UI that receives an operation of inputting coordinate values ​​of a point to which the specific anchor 320 is to be moved. Then, based on the operation of inputting coordinate values ​​into the coordinate information display UI 321, the editing unit 112 may change the point associated with the specific anchor 320 to the point of the input coordinate values.

[0037] The editing unit 112 associates (in other words, adds) information relating to editing (hereinafter referred to as "editing information") with each anchor 320 based on a user operation.

[0038] The editing information may be, for example, information about the color of the virtual space 310. In the following, an example will be described in which the information about the color is texture information. Note that the information about the color may also be information about RGB values, etc.

[0039] An editing information setting UI 330 is displayed on the editing screen 300 as a UI for setting editing information. The editing information setting UI 330 accepts an operation for associating editing information with each anchor 320. In other words, the operation accepting unit 111 accepts an operation on the editing information setting UI 330 as an operation for associating editing information with each anchor 320. The editing unit 112 associates editing information with each anchor 320 based on the operation on the editing information setting UI 330.

[0040] For example, the editing information setting UI 330 may accept an operation of selecting a specific option from multiple options related to the editing information as an operation of associating the editing information with the anchor 320. For example, in the editing information setting UI 330 that is displayed when a specific anchor 320 is selected from the multiple anchors 320 displayed on the editing screen 300, an operation of selecting a specific texture from multiple types of textures prepared in advance may be accepted as an operation of associating the specific texture with the specific anchor 320.

[0041] Furthermore, the editing information setting UI 330 may accept, for example, an operation of inputting a value of a specific parameter as editing information as an operation of associating the editing information with the anchor 320. For example, in the editing information setting UI 330 that is displayed when a specific anchor 320 is selected from among the multiple anchors 320 displayed on the editing screen 300, an operation of inputting a specific value may be accepted as an operation of setting the value of a specific parameter to be associated with the specific anchor 320 to the specific value.

[0042] Note that modifying edit information that has already been added is also included in adding edit information.

[0043] The editing unit 112 generates a plurality of polygons 340 whose vertices are each of a plurality of anchors 320 (for example, all of the anchors 320) that are arranged in association with a plurality of points in the virtual space. Note that the generation of polygons based on information about a plurality of points can be performed using a known method (in other words, an algorithm). For example, the editing unit 112 may generate a plurality of polygons 340 from a plurality of anchors 320 set by a user using Delaunay triangulation, which is a type of triangulation. Note that it is preferable that the generated polygons 340 do not have overlapping portions with each other, but they may have overlapping portions.

[0044] The generation of the polygon 340 may be automatically performed based on, for example, a user's operation to add an anchor 320 or an operation to delete an anchor 320. That is, for example, the editing unit 112 may generate multiple polygons 340 using a predetermined algorithm from the arrangement of the currently placed multiple anchors 320, and may automatically regenerate the polygon 340 each time an anchor 320 is added or deleted, or the arrangement of each anchor 320 is changed. Alternatively, the generation of the polygon 340 may be performed by, for example, a user performing an operation to add an anchor 320 or an operation to delete an anchor 320 to arrange the anchors 320, and then performing a predetermined operation (for example, an operation on a specific button displayed on the editing screen 300) to instruct the generation of the polygon 340. An operation on an edit execution button 350 (described later) may also serve as the predetermined operation.

[0045] The generated polygons 340 are displayed on the editing screen 300. This allows the user to recognize which anchors 320 make up each polygon 340, which area of ​​the virtual space 310 each polygon 340 corresponds to, which anchor 320 affects which area of ​​the virtual space 310 (in other words, which area each anchor 320 is used to edit), and so on.

[0046] The editing unit 112 obtains editing information for the area inside the polygon 340 by linear interpolation based on the editing information associated with each of the multiple anchors 320. For example, the editing unit 112 calculates editing information for each point in the area inside each polygon 340 by linear interpolation from the editing information for the vertices (e.g., three vertices) that make up each polygon 340. Note that calculating (in other words, interpolating) the information for the area inside the polygon based on the information associated with the vertices of the polygon can be performed using a known method (in other words, an algorithm).

[0047] Furthermore, the editing unit 112 edits the virtual space 310 using the calculated editing information for the area inside the polygon 340. In this embodiment, the editing unit 112 calculates information about the color of the area inside the polygon 340 by linear interpolation from the texture associated with the anchor 320, and colors the virtual space 310 based on the calculated information. In other words, the editing unit 112 determines the color of the area in the virtual space 310 that corresponds to the area inside the polygon 340 by calculating information about the color of the area inside the polygon 340 by linear interpolation from the texture associated with the anchor 320. Note that performing linear interpolation for multiple polygons whose vertices are points associated with information that allows linear interpolation, and editing the model (in other words, an image) corresponding to the polygons, can be performed using a known method (in other words, an algorithm).

[0048] Note that the calculation of editing information for the area inside the polygon 340 based on the editing information associated with each of the multiple anchors 320 (in other words, interpolation), and the execution of editing based on the calculated editing information may be performed based on an operation on an edit execution button 350 displayed on the editing screen 300, which serves as a UI for accepting operations related to these executions. Alternatively, the calculation of editing information for the area inside the polygon 340 and the execution of editing based on the calculated editing information may be performed automatically based on a user operation to add an anchor 320, delete an anchor 320, or add editing information to an anchor 320. That is, for example, the editing unit 112 may automatically calculate the editing information for the area inside the polygon 340 and execute editing based on the calculated editing information every time an anchor 320 is added or deleted, or the position of each anchor 320 is changed, or every time editing information is added to each anchor 320.

[0049] An example of the coloring result based on such processing will be described with reference to FIGS. 5 and 6. Here, it is assumed that multiple types of textures are prepared in advance and stored in the storage unit 120. The multiple types of textures include a first texture and a second texture. As an example, the first texture is a grass texture. As an example, the second texture is a rock texture. Furthermore, the anchor 320 associated with the first texture is referred to as a first type anchor 320a. The anchor associated with the second texture is referred to as a second type anchor 320b.

[0050] 5, it is assumed that a plurality of first-type anchors 320a and a plurality of second-type anchors 320b are arranged in correspondence with respective points in the virtual space 310. In this case, when the editing department 112 generates a plurality of polygons 340 having each of the plurality of anchors 320 as a vertex, three types of polygons are generated: a polygon 340a whose vertices are only the first-type anchors 320a (polygon 340 shaded with diagonal lines in FIG. 5), a polygon 340b whose vertices are only the second-type anchors 320b (polygon 340 shaded with dots in FIG. 5), and a polygon 340c (polygon 340 shaded with white in FIG. 5) that includes the vertices of the first-type anchors 320a and the vertices of the second-type anchors 320b.

[0051] The editing unit 112 colors an area S1 in the virtual space 310 that corresponds to a polygon 340a whose only vertices are first-type anchors 320a with a first texture, as illustrated in Fig. 6. That is, the area S1 is painted with a grass texture, giving it the appearance of, for example, ground covered with grass.

[0052] Furthermore, the editing department 112 colors an area S2 in the virtual space 310 that corresponds to a polygon 340b whose only vertices are second-type anchors 320b with a second texture, as illustrated in Fig. 6. That is, the area S2 is painted with a rock texture, giving it the appearance of exposed rocky ground, for example.

[0053] Furthermore, the editing department 112 colors the area S3 in the virtual space 310 corresponding to the polygon 340c including the vertices of the first type anchor 320a and the second type anchor 320b based on the first texture and the second texture, as illustrated in FIG. 6. That is, the area S3 has an appearance in which exposed rock surfaces and grass-covered areas are mixed together. Furthermore, within the area S3, the ratio of grass-covered areas to exposed rock surfaces increases the closer the area is to the first type anchor 320a. Furthermore, within the area S3, the ratio of exposed rock surfaces to grass-covered areas increases the closer the area is to the second type anchor 320b.

[0054] Note that the results shown here are merely examples, and for example, even in an area corresponding to a polygon 340 whose vertices are only first-type anchors 320a, coloring may be influenced by second-type anchors 320b depending on the adjacent polygon 340 (in other words, the types of anchors 320 that make up the adjacent polygons 340).

[0055] Note that a group to which the anchor 320 belongs may be set for each anchor 320. In other words, it may be possible to set which group each anchor 320 belongs to. The same editing information may be added to anchors 320 that belong to the same group. In other words, a group can be said to be a collection of anchors 320 to which the same editing information has been added. That is, the first type anchor 320a can be said to be an anchor that belongs to the first group, and the second type anchor 320b can be said to be an anchor that belongs to the second group. Furthermore, the editing unit 112 may be able to collectively add editing information to multiple anchors 320 that belong to the same group. Specifically, the editing unit 112 may add the same editing information to all anchors 320 that belong to the specified group based on a user operation related to adding editing information by specifying a group.

[0056] Note that a weight may be set for each anchor 320 based on a user operation on the editing screen 300. The weight can also be considered a parameter indicating the importance in the interpolation. When performing linear interpolation using the polygon 340, the editing unit 112 performs the interpolation so that the editing information of an anchor 320 with a large weight has a greater influence than the editing information of an anchor 320 with a small weight.

[0057] Note that the number of pieces of editing information associated with one anchor 320 is not limited to one, and may be multiple. For example, multiple textures may be associated with one anchor 320. Specifically, multiple layers related to textures may be set for one anchor 320, and different textures may be associated with each of the multiple layers. Note that when multiple pieces of editing information are associated with one anchor, the editing unit 112 may perform linear interpolation using polygons 340 for each of the multiple pieces of editing information, or may perform linear interpolation using polygons 340 for calculation results calculated from the multiple pieces of editing information based on a predetermined rule.

[0058] Adding editing information to the anchor 320 can be said to be setting a rule for the anchor 320. In other words, the configuration according to this embodiment can be said to edit the virtual space 310 based on the rule set for the anchor 320.

[0059] (Editing information) Information other than color information can also be used as editing information as long as it is information that can be interpolated (for example, linearly interpolated). Examples of editing information are shown below.

[0060] The editing information may be information about the shape of the virtual space 310 (in other words, a three-dimensional model). For example, information about the topography of the virtual space 310 (e.g., the elevation of each point) may be associated with the anchor 320 as editing information. Then, the editing unit 112 may determine the topography (e.g., the elevation) of the area in the virtual space 310 corresponding to the area inside the polygon 340 by linear interpolation based on the information about the topography associated with each of the multiple anchors 320. Then, the editing unit 112 may change the shape of the virtual space 310 to a shape that corresponds to the determined topography. This makes it possible to generate a virtual space 310 in which, for example, a point corresponding to an anchor 320 associated with editing information indicating a point with a high elevation becomes a mountain, and a point corresponding to an anchor 320 associated with editing information indicating a point with a low elevation becomes a plain or a valley, and the area between the former point and the latter point is naturally connected. In other words, the editing information may be information on a parameter related to a specific dimension of the three-dimensional model (for example, a Z-axis coordinate value as a parameter that determines the shape of the three-dimensional model). Furthermore, for example, information on the unevenness of the virtual space 310 may be associated with the anchor 320 as editing information. The editing unit 112 may then determine the unevenness of the area in the virtual space 310 corresponding to the area inside the polygon 340 by linear interpolation, based on the information on the unevenness associated with each of the multiple anchors 320. The editing unit 112 may then change the shape of the virtual space 310 to a shape that corresponds to the determined unevenness. This makes it possible to generate a virtual space 310 in which, for example, the surface roughness of points corresponding to anchors 320 associated with editing information indicating high surface roughness is high, and the surface roughness of points corresponding to anchors 320 associated with editing information indicating low surface roughness is low, resulting in a surface roughness in the area between the former and latter points being between the two points. Such irregularities (for example, roughness) can be generated by setting noise parameters related to the surface shape of the three-dimensional model, for example.In other words, the editing information may be information on parameters of noise related to the shape.

[0061] Furthermore, the editing information may be information about objects (hereinafter referred to as "placed objects") placed in the virtual space 310. Placed objects may be, for example, natural objects such as stones and trees, items (including objects from which items can be obtained (e.g., treasure chests, etc.)), characters, living things, natural objects, structures, buildings, etc. Note that items include items that can be used by the player in the game.

[0062] The information about the placed objects may be, for example, information for automatically determining the placement of the placed objects. Specifically, the information about the placed objects may be information about the type of placed object to be placed, information about the probability that the placed object will be placed, information about the number of placed objects to be placed (including information such as density), etc. Then, the editing unit 112 may determine the placement of the placed objects in the area corresponding to the area inside the polygon 340 in the virtual space 310 by calculating information about the placed objects in the area inside the polygon 340 by linear interpolation based on the information about the placed objects associated with each of the multiple anchors 320. For example, an anchor 320 associated with editing information about a first type of object is referred to as a first type anchor 320a. An anchor 320 associated with editing information about a second type of object is referred to as a second type anchor 320b. In this case, for example, a virtual space 310 can be generated in which a first type object but no second type object is placed in an area S1 corresponding to a polygon 340a whose vertices are only first type anchors 320a, a second type object but no first type object is placed in an area S2 corresponding to a polygon 340b whose vertices are only second type anchors 320b, and a first type object and a second type object are placed in an area S3 corresponding to a polygon 340c that includes the vertices of the first type anchor 320a and the vertices of the second type anchor 320b (see Figures 5 and 6).

[0063] Furthermore, the information about the placed object may be, for example, information for determining the details (in other words, the contents) of the placed object itself. Specifically, the information about the placed object may be information about a specific parameter of the placed object itself, or may be information for determining the type of the placed object, etc. Then, the editing unit 112 may determine the details of the placed object placed in the area corresponding to the area inside the polygon 340 in the virtual space 310 by calculating information about the placed object in the area inside the polygon 340 by linear interpolation based on the information about the placed object associated with each of the multiple anchors 320. For example, if the information about the placement object is information about parameters indicating the hardness of a rock as a placement object, this control makes it possible to generate a virtual space 310 with hardnesses in between, such as a rock placed near a point corresponding to an anchor 320 associated with editing information indicating that the rock is hard (for example, a region corresponding to a polygon 340 whose vertices include only that anchor 320), a rock placed near a point corresponding to an anchor 320 associated with editing information indicating that the rock is soft (for example, a region corresponding to a polygon 340 whose vertices include only that anchor 320), and a rock placed in a region between the former and latter points (for example, a region corresponding to a polygon 340 including the vertices of the former anchor 320 and the vertices of the latter anchor 320). Furthermore, for example, if the information regarding a placement object is information regarding parameters indicating the strength of the character as a placement object, this control makes it possible to generate a virtual space 310, etc., with strengths in between for characters placed near a point corresponding to an anchor 320 associated with editing information indicating that the character is strong (for example, an area corresponding to a polygon 340 whose vertices are only that anchor 320), and a character placed near a point corresponding to an anchor 320 associated with editing information indicating that the character is weak (for example, an area corresponding to a polygon 340 whose vertices are only that anchor 320).Furthermore, for example, if the information regarding the placed object is information related to determining the rarity of the item as information for determining the type of placed object, this control will make it possible to generate a virtual space 310 or the like with a rarity in between for items placed near a point corresponding to an anchor 320 associated with editing information regarding a high rarity item (for example, an area whose vertices correspond to a polygon 340 having only that anchor 320), and an item placed near a point corresponding to an anchor 320 associated with editing information regarding a low rarity item (for example, an area whose vertices correspond to a polygon 340 having only that anchor 320).

[0064] In this embodiment, the terrain of the virtual space 310 is generated in advance and then edited using the anchors 320 (such as generating and interpolating polygons 340), but the terrain itself may also be generated from scratch by editing using the anchors 320.

[0065] (Variation) The virtual space 310 may have multiple layers. For example, it may have a layer corresponding to the sky, a layer corresponding to the ground (in other words, the earth's surface), and a layer corresponding to the underground. Furthermore, editing information related to each of the multiple layers of the virtual space 310 may be associated with one anchor 320. Note that each layer may be defined by a coordinate value on the Z axis (for example, a range of coordinate values).

[0066] According to this configuration, editing of a plurality of layers in the virtual space 310 can be performed collectively by operating one anchor 320 .

[0067] <Processing flow> An example of editing processing using the anchor 320 will be described with reference to the flowchart shown in FIG.

[0068] First, based on a user's operation of specifying a point in the virtual space 310 to which the anchor 320 is to be associated, the editing unit 112 associates (in other words, places) the anchor 320 with a point specified by the user (step S101). For example, based on a user's operation of pointing a mouse cursor at a specific point in the virtual space 310 and clicking the mouse, the editing unit 112 associates the anchor 320 with the specific point. At this time, the editing unit 112 displays the associated anchor 320 at the point to which the anchor 320 is associated, in the virtual space 310 displayed on the editing screen 300 (in other words, the display device 30).

[0069] By repeatedly performing the process of step S101, each of the plurality of anchors 320 is associated with each of the plurality of points in the virtual space 310. As a result, the plurality of anchors 320 are displayed on the virtual space 310 displayed on the editing screen 300.

[0070] Next, the editing unit 112 adds editing information to each anchor 320 based on a user operation (step S102). Specifically, based on a user operation to select an anchor 320 to which editing information is to be added from among the anchors 320 displayed on the editing screen 300, the editing unit 112 causes the display device 30 to display an editing information setting UI 330 related to adding editing information to the selected anchor 320. Then, based on the user operation on the editing information setting UI 330, the editing unit 112 adds editing information to the selected anchor 320.

[0071] Note that the operation of adding editing information to each anchor 320 may be performed before the operation of specifying the point to which the anchor 320 is associated. That is, for example, the user may be able to decide, in the editing information setting UI 330, the editing information to be added to the anchor 320 to be placed, and then place the anchor 320.

[0072] Furthermore, based on a user's operation to move each anchor 320 displayed on the virtual space 310 on the editing screen 300, the editing unit 112 changes the point in the virtual space 310 that corresponds to the moved anchor 320 (step S103). Specifically, the operation accepting unit 111 accepts an operation to move each anchor 320 by dragging it on the editing screen 300. Based on the operation, the editing unit 112 changes the point in the virtual space 310 that corresponds to the anchor 320 from the point where the anchor 320 was located before the movement to the point where the anchor 320 will be located after the movement.

[0073] Furthermore, the editing unit 112 generates a plurality of polygons 340 whose vertices are each of a plurality of anchors 320 (e.g., all of the anchors 320) that are placed in association with a plurality of points in the virtual space 310 (step S104). Specifically, the editing unit 112 generates the plurality of polygons 340 based on the plurality of anchors 320 using Delaunay triangulation. Note that the processing of step S104 may be performed automatically each time a new anchor 320 is placed or deleted (e.g., each time the processing of step S101 is performed) or each time an anchor 320 is moved (e.g., each time the processing of step S103 is performed). Furthermore, the processing of step S104 may be performed based on a user operation that instructs the generation of the polygons 340 after a new anchor 320 is placed or deleted (e.g., after the processing of step S101 is performed) or after an anchor 320 is moved (e.g., after the processing of step S103 is performed).

[0074] Next, the editing unit 112 interpolates the editing information of the area inside the polygon 340 based on the editing information associated with each of the multiple anchors 320 (step S105). Specifically, the editing unit 112 calculates the editing information of the area inside each polygon 340 by linear interpolation from the editing information of the vertices (e.g., three vertices) that make up each polygon 340.

[0075] Next, the editing unit 112 edits the virtual space 310 using the calculated editing information for the area inside the polygon 340 (step S106). For example, the editing unit 112 colors the virtual space 310 based on information about the color of the area inside the polygon 340, which is calculated by linear interpolation from the texture associated with the anchor 320.

[0076] The editing unit 112 may perform at least one of the processing of step S105 and the processing of step S106 based on a predetermined operation by the user (for example, an operation to instruct the execution of editing of the virtual space 310) after the arrangement of the multiple anchors 320 and the addition of editing information to each anchor 320 have been completed (for example, after the processing of steps S101 to S103 have been performed). Furthermore, the editing unit 112 may automatically perform at least one of the processing of step S105 and the processing of step S106 every time the user performs an operation to arrange or delete a new anchor 320 (in other words, the processing of step S101), an operation to move an anchor 320 (in other words, the processing of step S103), or an operation to add editing information to an anchor 320 (in other words, the processing of step S102). That is, the virtual space 310 displayed on the editing screen 300 may be edited in real time in conjunction with the user adding, deleting, or moving anchors 320 or modifying the editing information attached to anchors 320 (for example, the color of the virtual space 310 may change in real time in conjunction with the user's operations).

[0077] In this embodiment, polygons 340 are generated and interpolated, but it is also possible to perform editing by interpolating editing information for the area between anchors 320, for example, based on editing information associated with each of the anchors 320 placed at two different points.

[0078] The user who performs editing operations on the editing screen 300 may be, for example, a game creator or a player who plays the game. In other words, the configuration according to this embodiment can be applied to software (in other words, an application) for creating a game. The configuration according to this embodiment can also be applied to a game in which a player can generate a virtual space 310 for himself or herself to play or for other players to play.

[0079] Furthermore, the configuration of this embodiment is not limited to generating the virtual space 310, and can also be used to generate various objects (for example, characters, items, etc.). The configuration of this embodiment can also be used to generate objects used in services other than games (in other words, applications). In this embodiment, the object of editing is a three-dimensional model (in other words, a three-dimensional image), but the configuration of this embodiment can also be used to edit two-dimensional images, etc. That is, for example, a character can be generated by arranging anchors 320, interpolating, etc., for an image of a character instead of an image of the virtual space 310.

[0080] In this embodiment, the image includes a still image and a moving image.

[0081] The present invention is not limited to the above-described embodiments and can be implemented in various modifications without departing from the spirit of the invention. Within the scope of the present invention, the components can be freely combined, any component can be modified, any component can be replaced, any component can be omitted, or other components can be added. Furthermore, the process flow described in this specification is merely an example, and the order and configuration of each process may be different. Furthermore, some processes described in this specification may not exist. In other words, the process flow and specific determination processes may be different from those exemplified in this specification.

[0082] <Additional Notes> The configuration of this embodiment may be used to, for example, easily generate a desired virtual space (in other words, an object) or a desired image. The matters described in the above embodiment may also be described as follows:

[0083] (Appendix 1) Computer, functioning as an editing means (e.g., editing unit 112) that performs editing on the virtual space by interpolating editing information on a predetermined area of ​​the virtual space determined based on the first location and the second location, based on editing information associated with a first object associated with a first location in the virtual space and editing information associated with a second object associated with a second location in the virtual space; The editing means changes a point in the virtual space corresponding to the object to be moved based on a user's operation to move the first object or the second object, and changes the predetermined area to be interpolated due to the change. program. According to this configuration, in a configuration in which editing information for a predetermined area is interpolated from editing information associated with each of a plurality of points to edit the virtual space, the positions of the plurality of points can be changed by moving objects, thereby facilitating editing operations by the user and facilitating the generation of the virtual space.

[0084] (Appendix 2) the information relating to editing associated with each of the first object and the second object is information relating to a color of the virtual space; The editing means determines the color of the predetermined area based on information about the color associated with the first object and information about the color associated with the second object. The program described in Appendix 1. This configuration eliminates the need for the user to manually color a predetermined area, and facilitates the work of coloring the virtual space.

[0085] (Appendix 3) information relating to editing associated with each of the first object and the second object is information relating to a shape of the virtual space; The editing means determines the shape of the predetermined area based on information about the shape associated with the first object and information about the shape associated with the second object. The program described in Appendix 1. This configuration eliminates the need for the user to manually create a shape for a predetermined area, and facilitates the task of creating a shape in the virtual space.

[0086] (Appendix 4) the editing information associated with each of the first object and the second object is information about an object to be placed in the virtual space; The editing means arranges objects in the predetermined area based on information about objects associated with the first object and arranged in the virtual space, and information about objects associated with the second object and arranged in the virtual space. The program described in Appendix 1. This configuration eliminates the need for the user to manually place objects in a predetermined area, and facilitates the work of placing objects.

[0087] (Appendix 5) the editing information associated with each of the first object and the second object is information about an object to be placed in the virtual space; The editing means determines details of the object itself to be placed in the predetermined area based on information about an object to be placed in the virtual space that is associated with the first object and information about an object to be placed in the virtual space that is associated with the second object. The program described in Appendix 1. According to this configuration, it is possible to eliminate the need for the user to manually determine the details of an object to be placed in a predetermined area, and to facilitate the work of determining the details of the object.

[0088] (Appendix 6) The editing means generating a plurality of polygons each having a vertex corresponding to a plurality of edited objects including the first object and the second object as objects associated with a plurality of points in the virtual space; Based on the editing information associated with each of the plurality of editing objects, information about editing of the area inside the polygon is obtained by linear interpolation. A program according to any one of appendices 1 to 5. With this configuration, extensive editing can be performed with a small processing load by utilizing polygons and linear interpolation.

[0089] The problem-solving means constituted by the above-mentioned program (for example, each configuration described in the appendix) can be appropriately diverted to an apparatus, system, method, medium, etc. [Explanation of symbols]

[0090] 1 Information processing system, 10 Computer, 11 Processor, 12 Memory, 13 Storage, 14 Input / output IF, 20 Input device, 30 Display device, 110 Control unit, 111 Operation reception unit, 112 Editing unit, 113 Display control unit, 120 Memory unit, 300 Editing screen, 310 Virtual space, 320 Anchor, 340 Polygon

Claims

1. Computer, and functioning as an editing means for editing the virtual space by interpolating editing information for a predetermined area of ​​the virtual space determined based on the first point and the second point, based on editing information associated with a first object associated with a first point in the virtual space and editing information associated with a second object associated with a second point in the virtual space, The editing means changes a point in the virtual space corresponding to the object to be moved based on a user's operation to move the first object or the second object, and changes the predetermined area to be interpolated due to the change. program.

2. the information relating to editing associated with each of the first object and the second object is information relating to a color of the virtual space; The editing means determines the color of the predetermined area based on information about the color associated with the first object and information about the color associated with the second object. The program according to claim 1.

3. information relating to editing associated with each of the first object and the second object is information relating to a shape of the virtual space; The editing means determines the shape of the predetermined area based on information about the shape associated with the first object and information about the shape associated with the second object. The program according to claim 1.

4. information related to editing associated with each of the first object and the second object is information related to objects to be placed in the virtual space; The editing means arranges objects in the predetermined area based on information about objects associated with the first object and arranged in the virtual space, and information about objects associated with the second object and arranged in the virtual space. The program according to claim 1.

5. information related to editing associated with each of the first object and the second object is information related to objects to be placed in the virtual space; The editing means determines details of the object itself to be placed in the predetermined area based on information about an object to be placed in the virtual space that is associated with the first object and information about an object to be placed in the virtual space that is associated with the second object. The program according to claim 1.

6. The editing means generating a plurality of polygons each having a vertex corresponding to a plurality of edited objects including the first object and the second object as objects corresponding to a plurality of points in the virtual space; Based on the editing information associated with each of the plurality of editing objects, information about editing of the area inside the polygon is obtained by linear interpolation. The program according to any one of claims 1 to 5.

Citation Information

Patent Citations

  • Game program and game device

    JP2017127711A