Programs and Information Processing Systems
The system dynamically adjusts NPC objects in a virtual space to match player-controlled objects, enhancing user engagement and optimizing processing, addressing the challenge of maintaining interest and reducing unease.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-09-27
- Publication Date
- 2026-04-08
AI Technical Summary
Existing virtual space technologies do not effectively maintain user interest by dynamically adjusting the number and placement of non-player character (NPC) objects in response to changes in the number of player-controlled objects, leading to potential feelings of loneliness or unease.
An information processing system that adjusts the number and placement of NPC objects in a virtual space based on the number of player-controlled objects, ensuring a consistent total object count, while employing methods to balance processing load and visual appearance.
Enhances user engagement by maintaining a lively virtual environment, preventing feelings of loneliness, and optimizing processing efficiency through balanced NPC object management.
Smart Images

Figure 2026060740000001_ABST
Abstract
Description
Technical Field
[0006]
[0001] This disclosure relates to programs and information processing systems.
Background Art
[0002] There is known a technique for moving a user object in a virtual space based on a user's operation input and generating a virtual space image based on a virtual camera that moves in accordance with the movement of the user object. Patent Document 1 discloses a method for generating a virtual space image when a virtual space is shared by a plurality of users.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] This disclosure aims to improve the interestingness.
Means for Solving the Problems
[0005] <******030>The program according to an embodiment shown in this disclosure causes a computer to <00****031>set the total number that can be arranged in the virtual space of objects consisting of a first type of object and a second type of object different from the first type, and change the number of second type of objects arranged in the virtual space so as to maintain the total number in accordance with a change in the number of first type of objects currently arranged in the virtual space.
[0006] An information processing system according to an embodiment shown in this disclosure is an information processing system including one or more information processing devices, wherein The total number of objects that can be placed in the virtual space consists of a first type of object and a second type of object that is different from the first type, and In response to changes in the number of first-type objects currently placed in the virtual space, the number of second-type objects placed in the virtual space is changed so as to maintain the total number. [Effects of the Invention]
[0007] According to this disclosure, interest can be improved. [Brief explanation of the drawing]
[0008] [Figure 1] Figure 1 is a diagram showing the configuration of an information processing system according to an embodiment of this disclosure. [Figure 2] Figure 2 is a block diagram showing the configuration of the terminal device shown in Figure 1. [Figure 3] Figure 3 shows an example of a virtual space image displayed on the display unit shown in Figure 2. [Figure 4] Figure 4 shows an example of a virtual space image displayed on the display unit shown in Figure 2, in which NPC objects are placed. [Figure 5] Figure 5 is a flowchart showing an example of the operation flow of the control unit shown in Figure 2 for controlling the display of NPC objects. [Figure 6] Figure 6 is a diagram illustrating the method (part 1) for determining which NPC objects to be deleted. [Figure 7] Figure 7 is a diagram illustrating the method (part 2) for determining which NPC objects to be deleted. [Figure 8] Figure 8 is a diagram illustrating the method (part 3) for determining which NPC objects to be deleted. [Modes for carrying out the invention]
[0009] The embodiments of this technical concept will be described in detail below with reference to the drawings. In the following description, the same parts and components are denoted by the same reference numerals. Their names and functions are also the same. Therefore, detailed explanations of them will not be repeated.
[0010] [Configuration of the Information Processing System] Figure 1 is a diagram showing the configuration of an information processing system 1 according to an embodiment of the present disclosure. As shown in Figure 1, the information processing system 1 includes one or more terminal devices 10 and a server 20, and these devices are connected to each other via a network 13 so that they can communicate with one another. In Figure 1, terminal devices 10A and 10B used by multiple users are shown.
[0011] The terminal device 10 connects to the network 13 by communicating with a wireless router 14 installed in a facility such as a house. Alternatively, the terminal device 10 may be configured to connect to the network 13 via wired communication.
[0012] Terminal device 10 is a computer (information processing device) used by the user. Terminal device 10 is an HMD (Head-Mounted Device) including, for example, a smartphone, tablet, phablet, VR (Virtual Reality) glasses, AR (Augmented Reality) glasses, or MR (Mixed Reality) glasses. Terminal device 10 may also be a contact-type device that can be worn on the eye, like a contact lens.
[0013] The terminal device 10 executes an application program installed via a platform that distributes, for example, apps or the like. Note that instead of executing the application program, the terminal device 10 may execute a program obtained via software for web site browsing, that is, a web browser. The terminal device 10 generates a virtual space image by executing a program and displays the virtual space image. When generating the virtual space image, the terminal device 10 transmits and receives various data to and from the server 20 as necessary.
[0014] The virtual space is generated using, for example, XR technology such as VR, AR, MR, or SR (Substitutional Reality). The virtual space may be common to a plurality of users or may be different for each user. That is, a plurality of user objects may exist in one virtual space, or one user object may exist in one virtual space.
[0015] The server 20 receives information regarding a user's operation input from the terminal device 10 and transmits virtual space information and the like necessary for generating a virtual space to the terminal device 10 according to the received information. The virtual space information includes information for generating various objects such as a virtual camera, a user object, and other user objects operated by other users that are arranged in the virtual space.
[0016] For example, assume that a user performs an operation on the terminal device 10 to place a user object in the virtual space. In this case, the server 20 transmits information for generating the user object, specifically, virtual space information indicating the placement position of the user object and the like, to the terminal devices 10 of each user sharing the virtual space. As a result, in each of the terminal devices 10 of a plurality of users sharing the same virtual space, a virtual space image including the user object can be displayed.
[0017] [Configuration of Terminal Device] (Configuration Overview) FIG. 2 is a block diagram showing the configuration of the terminal device 10 shown in FIG. 1. As shown in FIG. 2, the terminal device 10 includes a communication unit 21, a control unit 22, a storage unit 23, a memory 24, a display unit 25, and an operation reception unit 26.
[0018] The communication unit 21 functions as an interface for the terminal device 10 to communicate with an external device such as the server 20 (see FIG. 1). For example, when virtual space information is transmitted from the server 20 to the terminal device 10, the communication unit 21 receives the virtual space information and outputs it to the control unit 22.
[0019] The storage unit 23 includes a storage device such as an HDD (Hard Disk Drive) or a flash memory. Specifically, the program 41, user information 42, etc. are stored in the storage unit 23. The program 41 is a program for the terminal device 10 to execute various processes. The user information 42 includes information related to the user, such as the identification information of the terminal device 10.
[0020] The memory 24 includes a storage device such as a ROM (Read Only Memory) or a RAM (Random Access Memory). Various data generated along with the operation of the control unit 22, such as information related to the user object operated by the user, are temporarily stored in the memory 24.
[0021] The display unit 25 is a monitor on which a virtual space image is displayed. For example, when the terminal device 10 is an HMD, the display unit 25 is provided at a position included in the user's field of view when the user wears the terminal device 10.
[0022] The operation reception unit 26 receives an operation by the user on the terminal device 10 and outputs operation information indicating the operation content to the communication unit 21 or the control unit 22.
[0023] The control unit 22 is a processor, for example, including a CPU (Central Processing Unit), an MPU (Micro Processing Unit), or a GPU (Graphics Processing Unit). By operating according to the program 41, the control unit 22 performs the functions of a space generation unit 31, a placement unit 32, and an image processing unit 33.
[0024] The space generation unit 31 generates a virtual space and objects such as virtual cameras and user objects to be placed in that virtual space, based on virtual space information transmitted from the server 20 (see Figure 1). The objects generated by the space generation unit 31 include not only user objects, but also other user objects and NPC (Non-Player Character) objects that can operate independently of user operations.
[0025] Hereinafter, user objects and other user objects that can operate in response to user operations will be referred to as "PC objects" (Type 1 objects). Furthermore, NPC objects that can operate independently of user operations will be referred to as "NPC objects" (Type 2 objects). NPC objects have the same appearance as user objects or other user objects. Note that NPC objects are not limited to objects that perform actions; they also include objects that do not perform actions, such as objects that remain in a predetermined location.
[0026] The placement unit 32 places various objects such as a virtual camera, user objects, other user objects, and NPC objects in the virtual space. The image processing unit 33 generates a virtual space image, which is an image captured from the virtual camera within the virtual space, and displays the generated virtual space image on the display unit 25.
[0027] Figure 3 shows an example of a virtual space image displayed on the display unit 25 shown in Figure 2. For example, if a virtual camera is positioned behind a user object 601 operated by the user, a third-person view virtual space image including at least a portion of the user object 601 is displayed on the display unit 25 (see Figure 2), as shown in Figure 3.
[0028] [Display control of NPC objects] (Overview of display control) As shown in Figure 3, if no other user objects exist around user object 601 in the virtual space, the user operating user object 601 may feel lonely. Therefore, the control unit 22 shown in Figure 2 performs display control to display NPC objects around user object 601.
[0029] Referring again to Figure 2, in more detail, the virtual space is divided into, for example, multiple rooms. For each room, a total number of objects that can be placed, consisting of PC objects and NPC objects (hereinafter referred to as the "maximum placement number"), is set. Information indicating the maximum placement number for each room is stored in the memory unit 23.
[0030] The space generation unit 31 in the control unit 22 checks the maximum number of user objects 601 that can be placed in a virtual space room. Then, the space generation unit 31 changes the number of NPC objects in the room according to the number of PC objects so that the maximum number of objects can be placed is maintained.
[0031] In other words, if the total number of PC objects and NPC objects currently placed in the room is less than the maximum number of objects that can be placed, the space generation unit 31 generates new NPC objects. Then, the placement unit 32 places the NPC objects generated by the space generation unit 31 into the room.
[0032] Figure 4 shows an example of a virtual space image displayed on the display unit 25 shown in Figure 2, in which NPC objects are placed. In the example shown in Figure 4, a PC object, user object 601, and another user object 602 are placed in the virtual space room, and NPC objects 701 and 702 are also placed. This makes it appear to the user that the area around user object 601 is raised.
[0033] (Flow of operations) Figure 5 is a flowchart showing an example of the operation flow of the control unit 22, shown in Figure 2, for controlling the display of NPC objects. The order of the processes constituting each flowchart described herein is not limited to the extent that no contradictions or inconsistencies occur in the processing content, and they may be executed in parallel. In addition, some of the processes constituting each flowchart described herein may be omitted.
[0034] Referring to Figures 2 and 5, first, assume that the operation reception unit 26 in the terminal device 10 receives an operation to place a user object 601 in a virtual room (step S11). In this case, the operation reception unit 26 outputs operation information to the control unit 22 indicating that an operation to place the user object 601 in the room has been performed. Then, the space generation unit 31 in the control unit 22, upon receiving the operation information, checks the maximum number of placements set for that room (step S12).
[0035] Next, the space generation unit 31 checks the number of other user objects 602 currently placed in the room. The space generation unit 31 also checks the total number of newly placed user objects 601 and the other user objects 602 currently placed, that is, the number of PC objects to be placed in the room. Then, based on the number of PC objects to be placed in the room and the maximum number of objects set for the room, the space generation unit 31 determines the number of NPC objects to be placed in the room (step S13).
[0036] For example, the space generation unit 31 determines the number of NPC objects such that the sum of the number of PC objects and the number of NPC objects equals the maximum number of objects that can be placed. That is, the space generation unit 31 calculates the number of NPC objects to be placed in a room by subtracting the number of PC objects to be placed in the room from the maximum number of objects that can be placed in the room.
[0037] Specifically, if the maximum number of objects that can be placed in a room is "30" and the number of PC objects that can be placed in that room is "5", then the number of NPC objects that can be placed in that room will be calculated as "25". Also, if the maximum number of objects that can be placed in a room is "30" and the number of PC objects that can be placed in that room is "15", then the number of NPC objects that can be placed in that room will be calculated as "15".
[0038] Next, the space generation unit 31 downloads information necessary to generate a user object 601 from the server 20 (see Figure 1) in response to the operation received in step S11, and generates the user object 601. The space generation unit 31 also downloads information necessary to generate an NPC object from the server 20, and generates the number of NPC objects determined in step S13 (step S14).
[0039] Next, the placement unit 32 places the user object 601 and NPC object generated by the space generation unit 31 into the room in the virtual space (step S15). Then, the image processing unit 33 generates a virtual space image, which is an image captured from the virtual camera within the virtual space, and displays the generated virtual space image on the display unit 25 (step S16).
[0040] Next, the space generation unit 31 receives virtual space information transmitted from the server 20 (see Figure 1) (step S17). In this case, the space generation unit 31 checks whether an operation to place another user object 602 into the room has been performed by another user based on the virtual space information (step S18).
[0041] Here, let's assume that an operation has been performed to place another user object 602 in the above room (YES in step S18). In this case, the space generation unit 31 determines the number of NPC objects to be deleted from the NPC objects to be placed in the room, based on the number of other user objects 602 to be newly placed and the maximum number of objects that can be placed in the room. For example, the space generation unit 31 determines the number of NPC objects to be deleted as the number of other user objects 602 to be newly placed (step S19).
[0042] Next, the space generation unit 31 generates new other user objects 602 to be placed based on the virtual space information received in step S17 (step S20). Then, the placement unit 32 deletes the number of NPC objects determined in step S19 from the room before placing the other user objects 602. For example, the placement unit 32 deletes the NPC objects from the room by unloading the information necessary to generate the NPC objects to be deleted (step S21).
[0043] Next, the placement unit 32 places the other user object 602 generated by the space generation unit 31 into the room (step S22). Then, the operations from step S17 onward are repeated until the user deletes the user object 601 from the room.
[0044] Furthermore, in step S18, it is assumed that no operation has been performed to place another user object 602 in the room (NO in step S18). In this case, the space generation unit 31 checks, based on the virtual space information received in step S17, whether or not an operation to delete the other user object 602 from the room has been performed by another user (step S23).
[0045] Here, assume that another user has performed an operation to delete another user object 602 from the room (YES in step S23). In this case, the space generation unit 31 determines the number of NPC objects to be newly placed in the room based on the number of other user objects 602 to be deleted and the maximum number of objects that can be placed in the room. For example, the space generation unit 31 determines the number of NPC objects to be newly placed as the number of other user objects 602 to be deleted (step S24).
[0046] Next, the space generation unit 31 downloads, for example, the information necessary to generate NPC objects from the server 20 (see Figure 1) and generates one or more NPC objects (step S25). Then, the placement unit 32 deletes one or more other user objects 602 from the room before placing the NPC objects (step S26).
[0047] Next, the placement unit 32 places one or more NPC objects generated in step S25 into the room (step S27). The operations from step S17 onward are then repeated until the user removes the user object 601 from the room.
[0048] Furthermore, let's assume that in step S23, no operation is performed to delete user object 602 from the room (the answer is "NO" in step S23). In this case as well, the operations from step S17 onward are repeated until the user performs an operation to delete user object 601 from the room.
[0049] (A variation of the method for determining the number of NPC objects) The total number of PC objects and NPC objects placed in a room is not limited to the maximum number of objects that can be placed in that room. In other words, the total number may be less than the maximum number of objects that can be placed in that room.
[0050] For example, the space generation unit 31 calculates the minimum number of PC objects and NPC objects to be placed in a room (hereinafter referred to as the "minimum number of placements") by multiplying the maximum number of placements in a room by a predetermined ratio. Specifically, if the maximum number of placements in a room is "30" and the predetermined ratio is 50%, the minimum number of placements in that room is calculated to be "15".
[0051] The space generation unit 31 can then determine the number of NPC objects to be placed in a room, depending on the attributes of the room, such that the sum of the number of PC objects and NPC objects placed in the room falls within the range of the minimum and maximum number of objects to be placed. The attributes of a room are determined according to the size of the room, the type of event taking place in the room, or the types of objects placed in the room.
[0052] For example, if the room is small, the space generation unit 31 determines the number of NPC objects so that the sum of the number of PC objects and NPC objects placed in the room becomes the minimum number of objects that can be placed. Also, if the room is large, the space generation unit 31 determines the number of NPC objects so that the sum of the number of PC objects and NPC objects placed in the room becomes the maximum number of objects that can be placed.
[0053] Specifically, let's assume that the minimum number of objects that can be placed in a room is "15", the maximum number of objects that can be placed in a room is "30", and the number of PC objects that can be placed in a room is "5". In such a case, if the room is small, the space generation unit 31 determines the number of NPC objects to be placed in the room to be "10" (= "15" - "5"). On the other hand, if the room is large, the space generation unit 31 determines the number of NPC objects to be placed in the room to be "25" (= "30" - "5").
[0054] Furthermore, for example, if an event aimed at gathering people is being held in the room, the space generation unit 31 can determine the number of NPC objects so that the sum of the number of PC objects and the number of NPC objects equals the maximum number of objects that can be placed. On the other hand, if no such event is being held in the room, the space generation unit 31 can determine the number of NPC objects so that the sum of the number of PC objects and the number of NPC objects equals the minimum number of objects that can be placed.
[0055] In addition to the maximum number of objects that can be placed in a room, a maximum number of objects that can be placed in each PC object or each NPC object may also be set. For example, suppose the maximum number of objects that can be placed in a room is set to "30", and the maximum number of objects that can be placed in an NPC object is set to "20". In such a case, if the number of PC objects to be placed in the room is "1", the space generation unit 31 will determine the number of NPC objects to be placed in the room to be "20".
[0056] [How to determine which NPC objects to delete and which NPC objects to place] Next, we will explain three methods for determining which NPC objects are deleted in step S21 shown in Figure 5, and which NPC objects are newly placed in step S27 shown in Figure 5.
[0057] (Method 1: Decision based on a predetermined order) (1-1) Deciding which NPC object to delete Figure 6 is a diagram illustrating the method (1) for determining which NPC objects to delete. In Method 1, each room in the virtual space is pre-configured with the maximum number of NPC objects, and each NPC object is assigned an initial placement location and a priority for deletion.
[0058] The initial placement position and priority assigned to each NPC object are stored in the memory unit 23 shown in Figure 2. The placement unit 32 determines which NPC objects to delete from the virtual space in a predetermined order (i.e., according to the priority order described above).
[0059] Specifically, each NPC object is assigned a priority number, such as "N1," "N2," "N3," etc., in order of highest to lowest priority for deletion. For example, NPC objects placed in areas that need to appear lively, such as near the center of the room, are assigned a lower priority. On the other hand, NPC objects placed in areas that don't need to appear lively, such as at the edges of the room, are assigned a higher priority.
[0060] Figure 6(a) shows the initial placement of four NPC objects 701, 702, 703, and 704 in a virtual room. Each NPC object is assigned a priority level of "N1," "N2," "N3," and "N4," respectively. For the sake of explanation, we will assume that the maximum number of objects that can be placed in this room is set to "4."
[0061] In this state, let's assume that user object 601 is placed in the room, as shown in Figure 6(b). In this case, the placement unit 32, for example, determines that NPC object 701, which has the highest priority among the four NPC objects 701, 702, 703, and 704 placed in the room, will be deleted.
[0062] Furthermore, as shown in Figure 6(c), if another user object 602A is placed in the room, the placement unit 32 will, for example, determine that the NPC object 702 with the highest priority among the three NPC objects 702, 703, and 704 placed in the room will be the object to be deleted.
[0063] Furthermore, as shown in Figure 6(d), if another user object 602B is placed in the room, the placement unit 32 will, for example, determine that the NPC object 703 with the highest priority among the two NPC objects 703 and 704 placed in the room will be the target for deletion.
[0064] Thus, the placement unit 32 is configured to determine which NPC objects to delete according to a predetermined order, thereby keeping the processing load when deleting NPC objects low. Furthermore, since the order of deletion is associated with the initial placement position of the NPC objects, NPC objects can be deleted in a balanced manner.
[0065] (1-2) Determining the new NPC objects to be placed Furthermore, the placement unit 32 determines which NPC objects to place in the virtual space according to a predetermined order for each NPC object.
[0066] In other words, when the placement unit 32 places a new NPC object in a room, it checks the priority of each NPC object that is set for that room but is not currently placed in that room. Then, the placement unit 32 places the NPC objects in the room in order of priority, starting with the NPC objects with the lowest priority.
[0067] Thus, the placement unit 32 is configured to determine which NPC objects to place according to a predetermined order, thereby keeping the processing load low when placing new NPC objects. Furthermore, since the order in which new objects are placed corresponds to the initial placement positions of the NPC objects, it is possible to place NPC objects in a well-balanced manner.
[0068] Furthermore, the placement unit 32 may be configured to prioritize the placement of NPC objects in the room, starting with those with the highest priority, depending on the size of the room, the type of event taking place in the room, or the type of object placed in the room.
[0069] Furthermore, the placement unit 32 may control the NPC objects to move to a location that is a predetermined distance or greater away from the PC objects when the number of NPC objects in the room decreases.
[0070] Furthermore, when the number of NPC objects in a room decreases, the placement unit 32 may control the movement of NPC objects to areas with fewer PC objects or NPC objects, as shown by arrow X1 in Figure 6(d).
[0071] (Method 2: Determination based on distance from user object) (2-1) Determining which NPC objects to delete Figure 7 is a diagram illustrating the method (2) for determining which NPC objects to be deleted. In method 2, when the placement unit 32 deletes NPC objects placed in the room, it determines which NPC objects to delete from the room based on the distance from the user object 601 to each NPC object.
[0072] More specifically, the placement unit 32 obtains the distance from the user object 601 for each NPC object currently placed in the room. The placement unit 32 then prioritizes deleting NPC objects that are farther from the user object 601.
[0073] Figure 7(a) shows the state in which four NPC objects 701, 702, 703, and 704 are placed in their initial positions in a virtual room. In this state, as shown in Figure 7(b), when a user object 601 is placed in the room, the placement unit 32 obtains the distance from the user object 601 for each of the four NPC objects 701, 702, 703, and 704. The placement unit 32 then determines that the NPC object furthest from the user object 601 (in the example shown in Figure 7(b), NPC object 701) is to be deleted.
[0074] Furthermore, as shown in Figure 7(c), suppose another user object 602A is placed in the room. In this case, the placement unit 32 determines, for example, that the NPC object furthest from user object 601 among the three NPC objects 702, 703, and 704 (in the example shown in Figure 7(c), NPC object 703) will be deleted.
[0075] Furthermore, as shown in Figure 7(d), suppose another user object 602B is placed in the room. In this case, the placement unit 32 determines, for example, that of the two NPC objects 702 and 704, the NPC object furthest from the user object 601 (in the example shown in Figure 7(d), NPC object 704) will be deleted.
[0076] In this way, NPC objects that are farther from user object 601, i.e., NPC objects located in inconspicuous positions from the user's perspective, are deleted first. This prevents the user from feeling any sense of unease due to the deletion of NPC objects. Furthermore, unlike method 1 described above, it is not necessary to pre-assign a priority to each NPC object.
[0077] In the above method, the NPC objects placed in the room will differ for each user. Therefore, when the placement unit 32 deletes an NPC object, it may obtain the distance from each PC object, including the user object 601 and other user objects 602, for each NPC object placed in the room.
[0078] In this case, the placement unit 32 can prioritize deleting NPC objects whose total distance from each PC object is large (the total distance is far). This allows multiple users to share the same NPC objects placed in a room.
[0079] (2-2) Determining the NPC objects to be placed Furthermore, when the placement unit 32 places a new NPC object in the room, it determines which NPC object to place in the room based on the distance from the user object 601 to each NPC object.
[0080] For example, the placement unit 32 checks the distance between the initial placement position of each NPC object that is not currently placed in the room and the position of the user object 601. Then, the placement unit 32 prioritizes placing NPC objects in the room that are closest to the user object 601. This makes the area around the user object 601 appear more effectively raised.
[0081] On the other hand, as described above, if NPC objects are preferentially placed starting with those closest to the user object 601, the user may feel uneasy seeing NPC objects suddenly appear in the virtual space screen. For this reason, the placement unit 32 may be configured to preferentially place NPC objects in the room starting with those furthest from the user object 601. This makes it appear as if the number of people in the virtual space is increasing naturally.
[0082] Whether NPC objects closer to user object 601 are prioritized for placement, or whether NPC objects farther away from user object 601 are prioritized for placement, can be configured on a room-by-room basis.
[0083] For example, in a room where an event aimed at gathering people is being held, NPC objects will be prioritized for placement starting with those closest to user object 601. On the other hand, in a room where no such event is being held, NPC objects will be prioritized for placement starting with those furthest from user object 601.
[0084] (Method 3: Determination based on the viewing direction of each PC object) (3-1) Determining which NPC objects to delete Figure 8 is a diagram illustrating the third method for determining which NPC objects to be deleted. In method 3, when the placement unit 32 deletes an NPC object placed in a room, it determines which NPC object to delete from the room depending on whether the placement position of the NPC object in the room is within the line of sight of each PC object.
[0085] More specifically, the placement unit 32 identifies NPC objects that are within the field of view of each PC object by checking the line of sight direction of each PC object placed in the room. The placement unit 32 then prioritizes deleting NPC objects that are not within the field of view of each PC object.
[0086] Figure 8(a) shows the state in which five NPC objects 701, 702, 703, 704, and 705 are initially placed in their respective positions in a virtual room. In this state, suppose a user object 601 is placed in the room as shown in Figure 8(b). In this case, the placement unit 32 identifies the NPC objects that are within the user object 601's field of view by checking the user object 601's line of sight direction (arrow X11 shown in Figure 8(b)).
[0087] Here, we assume that NPC objects 702, 703, 704, and 705 are within the line of sight of user object 601. In this case, the placement unit 32 determines that NPC object 701 is to be deleted.
[0088] Furthermore, as shown in Figure 8(c), suppose another user object 602A is placed in the room. In this case, the placement unit 32 identifies NPC objects that are in the field of view of user object 601 by checking the line of view direction of user object 601 (arrow X21 shown in Figure 8(c)). The placement unit 32 also identifies NPC objects that are in the field of view of other user object 602A by checking the line of view direction of other user object 602A (arrow X22 shown in Figure 8(c)).
[0089] Here, we assume that NPC objects 702, 703, 704, and 705 are within the line of sight of user object 601. However, because another object (another user object 602A in the example shown in Figure 8(c)) exists between user object 601 and NPC object 704, we assume that NPC object 704 is not visible from user object 601.
[0090] Furthermore, it is assumed that NPC objects 702, 703, and 705 are within the line of sight of other user object 602A. In this case, the placement unit 32 determines that NPC object 704, which is not visible to user object 601 and is not within the line of sight of other user object 602A, should be deleted.
[0091] Furthermore, as shown in Figure 8(d), suppose another user object 602B is placed in the room. In this case, the placement unit 32 identifies the NPC objects included in the field of view of user object 601 by checking the line of sight direction of user object 601 (arrow X31 shown in Figure 8(d)). The placement unit 32 also identifies the NPC objects included in the field of view of other user object 602A by checking the line of sight direction of other user object 602A (arrow X32 shown in Figure 8(d)). The placement unit 32 also identifies the NPC objects included in the field of view of other user object 602B by checking the line of sight direction of other user object 602B (arrow X33 shown in Figure 8(d)).
[0092] Here, we assume that user object 601 does not have any NPC objects in its line of sight. Also, we assume that NPC object 702 is within the line of sight of other user object 602A.
[0093] Furthermore, assume that NPC objects 702, 703, and 705 are within the line of sight of other user object 602B. However, since there is another object (other user object 602A in the example shown in Figure 8(d)) between other user object 602B and NPC object 703, assume that NPC object 703 is not visible from other user object 602B.
[0094] In such cases, the placement unit 32 determines that NPC object 703, which is not within the line of sight of user object 601 and other user object 602A, and is not visible to other user object 602B, will be deleted.
[0095] As described above, NPC objects are prioritized for removal starting with those placed in less conspicuous locations from each user's perspective. This prevents users from feeling any sense of unease due to the removal of NPC objects.
[0096] (3-2) Determining the NPC objects to be placed Furthermore, when the placement unit 32 places a new NPC object in the room, it determines which NPC object to place in the room by checking whether the initial placement position of each NPC object not currently placed in the room is within the PC object's line of sight.
[0097] More specifically, the placement unit 32 identifies the line of sight of each PC object by checking the line of sight direction of each PC object placed in the room. Then, the placement unit 32 prioritizes placing NPC objects that are not currently placed in the room, and whose initial placement position is within the line of sight of the PC object, into the room.
[0098] In this way, NPC objects are prioritized for placement, starting with those whose initial placement location is within the user's line of sight. This effectively gives each user the feeling that the room is lively and exciting.
[0099] Method 3 is effective when the virtual space image is a first-person view image from the perspective of the user object 601, or when it is a third-person view image including at least a part of the user object 601, as shown in Figure 3, and the direction of the user object 601's line of sight is the same as the direction of the virtual camera. On the other hand, if the virtual space image is an overhead view image looking down on the area around the user object 601 from above, then Method 1 or Method 2 is more effective than Method 3.
[0100] Furthermore, the processing load on the placement unit 32 when deleting NPC objects increases in the order of Method 1, Method 2, and Method 3. The placement unit 32 may also be configured to determine which NPC objects to delete and which NPC objects to newly place in the virtual space by combining two or more of the above-described Methods 1 through 3.
[0101] [Differentiation] The placement unit 32 may control the transparency of a PC object or NPC object to be continuously or gradually increased when deleting the PC object or NPC object from a virtual room. Alternatively, the placement unit 32 may control the transparency of a PC object or NPC object to be continuously or gradually decreased when placing the PC object or NPC object in a virtual room.
[0102] Furthermore, in the example described above, when an NPC object is deleted, the information necessary to create the NPC object is unloaded. Conversely, when a new NPC object is placed, the information necessary to create the NPC object is downloaded. With this configuration, the load on memory 24 can be reduced.
[0103] However, the configuration is not limited to these. For example, instead of unloading the information necessary to generate NPC objects, the image processing unit 33 may switch the NPC objects to be deleted from a visible state to a hidden state when generating the virtual space image. Alternatively, instead of downloading the information necessary to generate NPC objects, the image processing unit 33 may switch the NPC objects to be newly placed from a hidden state to a visible state when generating the virtual space image.
[0104] Furthermore, the image processing unit 33 may be configured to perform culling processing, which prevents rendering of PC objects or NPC objects outside the imaging area of the virtual camera. This reduces the rendering load when generating virtual space images.
[0105] [Additional Notes] The contents of the embodiments of this disclosure are listed below. [assignment] The aim is to improve interest and appeal.
[0106] [Solution] (Item 1) On the computer, The total number of objects that can be placed in the virtual space, consisting of a first type of object and a second type of object different from the first type, is set. A program that changes the number of second-type objects placed in the virtual space in accordance with the change in the number of first-type objects currently placed in the virtual space, so as to maintain the total number.
[0107] With this configuration, for example, if there are few Type 1 objects in the virtual space, many Type 2 objects will be placed there. As a result, users interacting with Type 1 objects can be made to feel that the virtual space where those Type 1 objects are placed is vibrant, thereby increasing their interest.
[0108] (Item 2) The program described in item 1, which, when changing the number of second-type objects placed in the virtual space, determines which second-type objects to be deleted from the virtual space or which second-type objects to be newly placed in the virtual space, in a predetermined order for each second-type object.
[0109] This configuration allows for low processing load when deleting or adding second-type objects to the virtual space. Furthermore, it enables balanced deletion and placement of second-type objects.
[0110] (Item 3) The program described in item 1, which, when changing the number of second-type objects placed in the virtual space, determines which second-type objects to be removed from the virtual space or which second-type objects to be newly placed in the virtual space, according to the distance from the first-type object to each second-type object.
[0111] This configuration allows for, for example, prioritizing the removal of Type 2 objects that are farther from Type 1 objects, thereby preventing any sense of incongruity caused by the removal of Type 2 objects. Furthermore, prioritizing the placement of Type 2 objects that are closer to Type 1 objects can make the area around Type 1 objects appear more raised.
[0112] (Item 4) The program described in item 1, which, when changing the number of second-type objects placed in the virtual space, determines which second-type objects to remove from the virtual space or which second-type objects to newly place in the virtual space, depending on whether the placement position of the second-type objects in the virtual space is within the field of view of each first-type object.
[0113] This configuration allows for, for example, prioritizing the removal of Type 2 objects that are not within the field of view of each Type 1 object, thereby preventing the removal of Type 2 objects from creating an unnatural appearance. Furthermore, by prioritizing the placement of Type 2 objects that are within the field of view of each Type 1 object, the area around the Type 1 objects can be made to appear more raised.
[0114] (Item 5) A program according to any one of items 1 to 4, which, when changing the number of second-type objects placed in the virtual space, determines the number of second-type objects placed in the virtual space based on the attributes of the virtual space so as to maintain the total number.
[0115] This configuration allows for the placement of a more appropriate number of second-type objects, taking into account factors such as the size of the virtual space and the purpose of the events being held within it.
[0116] (Item 6) A program according to any one of items 1 to 5, which moves the second type of objects currently placed in the virtual space to a location at a predetermined distance or more away from the first type of objects, in response to a decrease in the number of second type of objects in the virtual space.
[0117] This configuration prevents users from feeling uncomfortable due to the first type of object and the second type of object being too close together.
[0118] (Item 7) A program according to any one of items 1 to 6, which moves the second type of objects currently placed in the virtual space to an area where the total number of first type objects and second type objects is small, in accordance with the decrease in the number of second type objects in the virtual space.
[0119] This configuration allows for a balanced arrangement of first-type and second-type objects within the virtual space.
[0120] (Item 8) A program according to any one of items 1 to 7, which, upon obtaining information indicating that a first type of object will be newly placed in the virtual space, deletes a second type of object already placed in the virtual space before the first type of object is placed.
[0121] This configuration prevents users manipulating the first type of object from feeling uneasy due to the deletion of the second type of object immediately after the first type of object is placed in the virtual space. Furthermore, it prevents the total number of first and second type objects placed in the virtual space from exceeding the total number of objects that can be placed in that virtual space.
[0122] (Item 9) A program according to any one of items 1 to 8, which, when removing a second type of object from the virtual space or when placing a second type of object in the virtual space, continuously or gradually changes the transparency of the second type of object.
[0123] This configuration allows for the removal of the second type of object without drawing attention to it.
[0124] Furthermore, the solutions constructed in the above program may be adapted to the fields of devices, systems, methods, and media as appropriate.
[0125] Furthermore, the operations performed by the control unit 22 (see Figure 2) in the terminal device 10 of each of the above embodiments may be performed by one processor or by multiple processors. For example, some or all of the operations performed by the control unit 22 may be performed by the server 20 shown in Figure 1.
[0126] Furthermore, the above embodiments are merely illustrative examples to facilitate understanding of the present invention and are not intended to limit its interpretation. The present invention may be modified, improved, or have parts of its embodiments deleted without departing from its spirit, and it goes without saying that the present invention includes equivalents thereof. [Explanation of symbols]
[0127] 1: Information processing system, 10, 10A, 10B: Terminal device, 13: Network, 14: Wireless router, 20: Server, 21: Communication unit, 22: Control unit, 23: Storage unit, 24: Memory, 25: Display unit, 26: Operation reception unit, 31: Space generation unit, 32: Layout unit, 33: Image processing unit, 41: Program, 42: User information, 601: User object, 602, 602A, 602B: Other user object, 701, 702, 703, 704, 705: NPC object
Claims
1. On the computer, The total number of objects that can be placed in the virtual space, consisting of a first type of object and a second type of object different from the first type, is set. A program that changes the number of second-type objects placed in the virtual space in accordance with the change in the number of first-type objects currently placed in the virtual space, so as to maintain the total number.
2. The program according to claim 1, which, when changing the number of second-type objects placed in the virtual space, determines which second-type objects to be deleted from the virtual space or which second-type objects to be newly placed in the virtual space, in a predetermined order for each second-type object.
3. The program according to claim 1, wherein, when the number of second-type objects placed in the virtual space is changed, the program determines which second-type objects are to be removed from the virtual space or which second-type objects are to be newly placed in the virtual space, according to the distance from the first-type object to each second-type object.
4. The program according to claim 1, which, when changing the number of second-type objects placed in the virtual space, determines which second-type objects to be removed from the virtual space or which second-type objects to be newly placed in the virtual space, depending on whether the placement position of the second-type objects in the virtual space is within the field of view of each first-type object.
5. The program according to claim 1, wherein, when changing the number of second-type objects placed in the virtual space, the program determines the number of second-type objects placed in the virtual space based on the attributes of the virtual space so as to maintain the total number.
6. The program according to claim 1, which moves the second type of objects currently placed in the virtual space to a position at a predetermined distance or more away from the first type of objects in the virtual space in response to a decrease in the number of second type of objects in the virtual space.
7. The program according to claim 1, which moves the second type of objects currently placed in the virtual space to an area where the total number of first type objects and second type objects is small, in accordance with the decrease in the number of second type objects in the virtual space.
8. The program according to claim 1, which, when it obtains information indicating that a first type of object will be newly placed in the virtual space, deletes a second type of object already placed in the virtual space before the first type of object is placed.
9. The program according to claim 1, wherein when a second type of object is deleted from the virtual space, or when a second type of object is newly placed in the virtual space, the transparency of the second type of object is changed continuously or in steps.
10. An information processing system comprising one or more information processing devices, The total number of objects that can be placed in the virtual space consists of a first type of object and a second type of object that is different from the first type, and An information processing system that changes the number of second-type objects placed in the virtual space in accordance with the change in the number of first-type objects currently placed in the virtual space, so as to maintain the total number.
Citation Information
Patent Citations
Information processor, information processing method, and program
JP2009134394A
Game apparatus, game processing method, and program
JP2009148483A
Game program, recording medium, and computer device
JP2011186834A
Simulation system and program
JP2019139424A
Game device and game program
JP2019154668A