Information Processing System, Information Processing Method, and Program

The system dynamically adjusts control parameters for avatar proximity and movement in virtual spaces, addressing the challenge of controlling avatar movement and reducing processing load, thereby enhancing the efficiency and smoothness of virtual environments.

JP7691718B2Active Publication Date: 2025-06-12GLEE HOLDINGS CO LTD
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
JP2023116575
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2023-07-18
Publication Date
2025-06-12
Estimated Expiration
2042-06-21

AI Technical Summary

Technical Problem

Existing technologies face challenges in appropriately controlling the movement of avatars in virtual spaces, leading to inefficiencies and potential conflicts between avatars.

Method used

A system that includes a setting change processing unit to dynamically adjust control parameters for avatar proximity and movement, and a position control unit to manage avatar positions based on these changes, with the ability to turn off proximity/collision control when the processing load exceeds a threshold.

Benefits of technology

This solution enables effective control of avatar movement, reducing processing load and preventing conflicts, while maintaining a smooth and efficient virtual environment.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007691718000001
    Figure 0007691718000001
  • Figure 0007691718000002
    Figure 0007691718000002
  • Figure 0007691718000003
    Figure 0007691718000003
Patent Text Reader

Abstract

To appropriately control movement, etc. of an avatar in a virtual space.SOLUTION: An information processing system includes: a setting change processing part for dynamically changing a setting value of at least one control parameter out of a setting value of a first control parameter for controlling proximity or collision between a plurality of virtual reality media in a three dimensional virtual space, and a setting value of a second control parameter for controlling movable positions of the plurality of virtual reality media in the virtual space; and a position control part for, when the setting value is changed by the setting change processing part, controlling the positions or orientations of the plurality of virtual reality media based on the changed setting value.SELECTED DRAWING: Figure 23
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to an information processing system, an information processing method, and a program.

Background Art

[0002] Techniques for controlling the positional relationship between avatars in a virtual space are known.

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] However, in the prior art as described above, it is difficult to appropriately control the movement of an avatar in a virtual space.

[0005] Therefore, in one aspect, an object of the present invention is to appropriately control the movement of an avatar in a virtual space.

Means for Solving the Problems

[0006] On one side, a setting change processing unit that dynamically changes at least one of the set value of the first control parameter for controlling the proximity or collision between a plurality of virtual reality media in a three-dimensional virtual space and the set value of the second control parameter for controlling the movable positions of the plurality of virtual reality media in the virtual space, and when the set value is changed by the setting change processing unit, a position control unit that controls the position or orientation of the plurality of virtual reality media based on the changed set value, wherein the setting change processing unit dynamically changes the set value of the first control parameter so that the first control process for executing the control related to the proximity or collision between the plurality of avatars in the position control unit is turned off when the processing load of the information processing related to the three-dimensional virtual space is equal to or greater than a first predetermined threshold value. An information processing system is provided.

Effect of the Invention

[0007] On one side, according to the present invention, it is possible to appropriately control the movement of avatars in a virtual space.

Brief Description of the Drawings

[0008]

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5A

Figure 5B

Figure 6

Figure 7

Figure 8

Figure 9

Figure 10

Figure 11

Figure 12

Figure 13

Figure 14

Figure 15

Figure 16

Figure 17

Figure 18

Figure 19

Figure 20

Figure 21

Figure 22

Figure 23

Figure 24

Figure 25

Figure 26

Figure 27

Mode for Carrying Out the Invention

[0009] Hereinafter, each embodiment will be described in detail with reference to the accompanying drawings. In the accompanying drawings, for ease of viewing, only some of the parts having the same attribute may be provided with reference numerals.

[0010] Referring to FIG. 1, the outline of the virtual reality generation system 1 according to an embodiment of the present invention will be described. FIG. 1 is a block diagram of the virtual reality generation system 1 according to this embodiment. FIG. 2 is an explanatory diagram of the terminal image visible through the head-mounted display.

[0011] The virtual reality generation system 1 includes a server device 10 and one or more terminal devices 20. In FIG. 1, for simplicity, three terminal devices 20 are illustrated, but the number of terminal devices 20 may be two or more.

[0012] The server device 10 is an information processing system such as a server managed by an operator that provides, for example, one or more virtual realities. The terminal device 20 is a device used by a user, such as a mobile phone, smartphone, tablet terminal, PC (Personal Computer), head-mounted display, or game device. A plurality of terminal devices 20 can typically be connected to the server device 10 via the network 3 in different ways for each user.

[0013] The terminal device 20 is capable of executing a virtual reality application according to this embodiment. The virtual reality application may be received by the terminal device 20 from the server device 10 or a predetermined application distribution server via the network 3, or may be pre-stored in a storage device provided in the terminal device 20 or a storage medium such as a memory card readable by the terminal device 20. The server device 10 and the terminal device 20 are communicably connected via the network 3. For example, the server device 10 and the terminal device 20 cooperate to execute various processes related to virtual reality.

[0014] Each terminal device 20 is communicably connected to each other via the server device 10. Hereinafter, "one terminal device 20 transmits information to another terminal device 20" means "one terminal device 20 transmits information to another terminal device 20 via the server device 10". Similarly, "one terminal device 20 receives information from another terminal device 20" means "one terminal device 20 receives information from another terminal device 20 via the server device 10". However, in a modified example, each terminal device 20 may be communicably connected without passing through the server device 10.

[0015] Note that the network 3 may include a wireless communication network, the Internet, a VPN (Virtual Private Network), a WAN (Wide Area Network), a wired network, or any combination thereof.

[0016] Hereinafter, although the virtual reality generation system 1 realizes an example of an information processing system, each element of a specific one terminal device 20 (referring to the terminal communication unit 21 to the terminal control unit 25 in FIG. 1) may realize an example of an information processing system, or a plurality of terminal devices 20 may cooperate to realize an example of an information processing system. Further, the server device 10 alone may realize an example of an information processing system, or the server device 10 and one or more terminal devices 20 may cooperate to realize an example of an information processing system.

[0017] Here, the outline of the virtual reality according to the present embodiment will be described. The virtual reality according to the present embodiment is, for example, virtual reality for any reality such as education, travel, role-playing, simulation, games, and entertainment such as concerts. With the execution of the virtual reality, a virtual reality medium such as an avatar is used. For example, the virtual reality according to the present embodiment may be realized by a three-dimensional virtual space, various virtual reality media appearing in the virtual space, and various contents provided in the virtual space.

[0018] The virtual reality medium is electronic data used for virtual reality, and includes, for example, any medium such as cards, items, points, in-service currency (or in-virtual reality currency), tokens (e.g., Non-Fungible Tokens (NFTs)), tickets, characters, avatars, parameters, etc. Further, the virtual reality medium may be virtual reality-related information such as level information, status information, parameter information (such as physical strength value and attack power), or ability information (skills, abilities, spells, jobs, etc.). Also, the virtual reality medium is electronic data that can be acquired, owned, used, managed, exchanged, synthesized, enhanced, sold, discarded, or gifted within the virtual reality by the user, but the usage mode of the virtual reality medium is not limited to those explicitly stated in this specification.

[0019] Note that an avatar is typically in the form of a character having a front direction, and may have the form of a human, an animal, or the like. By being associated with various avatar items, the avatar can have various appearances (appearances when drawn). In the following, due to the nature of the avatar, there may be cases where the user and the avatar are described by identifying them with each other. Therefore, for example, "one avatar does something" may be synonymous with "one user does something".

[0020] The user may wear a wearable device on a part of the head or face, and view the virtual space through the wearable device. Note that the wearable device may be a head-mounted display or a glasses-type device. The glasses-type device may be so-called AR (Augmented Reality) glasses or MR (Mixed Reality) glasses. In any case, the wearable device may be separate from the terminal device 20, or may implement some or all of the functions of the terminal device 20. The terminal device 20 may be implemented by a head-mounted display.

[0021] (Configuration of Server Device) The configuration of the server device 10 will be specifically described. The server device 10 is composed of a server computer. The server device 10 may be realized by a plurality of server computers cooperating with each other. For example, the server device 10 may be realized by a server computer that provides various contents, a server computer that realizes various authentication servers, etc., cooperating with each other. Further, the server device 10 may include a web server. In this case, some of the functions of the terminal device 20 described later may be realized by the browser processing an HTML document received from the web server and various programs (Javascript) associated therewith.

[0022] As shown in FIG. 1, the server device 10 includes a server communication unit 11, a server storage unit 12, and a server control unit 13.

[0023] The server communication unit 11 includes an interface for communicating with an external device wirelessly or wiredly to transmit and receive information. The server communication unit 11 may include, for example, a wireless LAN (Local Area Network) communication module or a wired LAN communication module. The server communication unit 11 can transmit and receive information to and from the terminal device 20 via the network 3.

[0024] The server storage unit 12 is, for example, a storage device that stores various information and programs necessary for various processes related to virtual reality.

[0025] The server control unit 13 may include a dedicated microprocessor or a CPU (Central Processing Unit) that realizes a specific function by loading a specific program, a GPU (Graphics Processing Unit), etc. For example, the server control unit 13 cooperates with the terminal device 20 to execute a virtual reality application according to a user input.

[0026] (Configuration of the terminal device) The configuration of the terminal device 20 will be described. As shown in FIG. 1, the terminal device 20 includes a terminal communication unit 21, a terminal storage unit 22, a display unit 23, an input unit 24, and a terminal control unit 25.

[0027] The terminal communication unit 21 includes an interface for communicating with an external device wirelessly or wiredly to transmit and receive information. The terminal communication unit 21 may include, for example, a wireless communication module corresponding to mobile communication standards such as LTE (Long Term Evolution) (registered trademark), LTE-A (LTE-Advanced), the fifth-generation mobile communication system, UMB (Ultra Mobile Broadband), a wireless LAN communication module, or a wired LAN communication module. The terminal communication unit 21 can transmit and receive information to and from the server device 10 via the network 3.

[0028] The terminal storage unit 22 includes, for example, a primary storage device and a secondary storage device. For example, the terminal storage unit 22 may include a semiconductor memory, a magnetic memory, an optical memory, or the like. The terminal storage unit 22 stores various information and programs used for virtual reality processing received from the server device 10. The information and programs used for virtual reality processing may be acquired from an external device via the terminal communication unit 21. For example, a virtual reality application program may be acquired from a predetermined application distribution server. Hereinafter, the application program is also simply referred to as an application.

[0029] In addition, the terminal storage unit 22 may store data for rendering a virtual space, such as an image of an indoor space like a building or an outdoor space. Note that a plurality of types of data for rendering a virtual space may be prepared for each virtual space and used appropriately.

[0030] In addition, the terminal storage unit 22 may store various images (texture images) for projecting (texture mapping) onto various objects arranged in a three-dimensional virtual space.

[0031] For example, the terminal storage unit 22 stores avatar drawing information related to an avatar as a virtual reality medium associated with each user. The avatar in the virtual space is drawn based on the avatar drawing information related to the avatar.

[0032] In addition, the terminal memory unit 22 stores drawing information related to various objects (virtual reality media) different from the avatar, such as various gift objects, buildings, walls, or NPCs (Non Player Characters). Various objects in the virtual space are drawn based on such drawing information. Note that a gift object is an object corresponding to a gift (present) from one user to another user and is part of an item. The gift object may be something worn on the avatar's body (clothes and accessories), something for decoration (fireworks, flowers, etc.), a background (wallpaper) or the like, or a ticket or the like that can be used for a gacha (lottery). Note that the term "gift" used in the present application means the same concept as the term "token". Therefore, it is also possible to understand the technology described in the present application by replacing the term "gift" with the term "token".

[0033] The display unit 23 includes a display device such as a liquid crystal display or an organic EL (Electro-Luminescence) display. The display unit 23 can display various images. The display unit 23 is configured by, for example, a touch panel and functions as an interface for detecting various user operations. Note that the display unit 23 may be incorporated in the head-mounted display as described above.

[0034] The input unit 24 may include physical keys, and may further include any input interface such as a pointing device such as a mouse. Further, the input unit 24 may be capable of receiving non-contact user inputs such as voice input, gesture input, and gaze input. Note that for gesture input, sensors for detecting various states of the user (such as image sensors, acceleration sensors, distance sensors, etc.), dedicated motion capture integrating sensor technology and cameras, controllers such as joysticks, etc. may be used. Also, the camera for gaze detection may be disposed within the head-mounted display. Note that as described above, various states of the user are, for example, the orientation, position, movement of the user or the like. In this case, the orientation, position, movement of the user means not only the orientation, position, movement of part or all of the body such as the face or hand of the user, but also the orientation, position, movement of the user's gaze or the like, and is a concept including such.

[0035] Note that operation input by gesture may be used to change the viewpoint of the virtual camera. For example, as schematically shown in FIG. 3, when the user holds the terminal device 20 by hand and changes the orientation of the terminal device 20, the viewpoint of the virtual camera may be changed according to the direction. In this case, even when using a terminal device 20 with a relatively small screen such as a smartphone, it is possible to secure the width of the visual recognition area in a manner similar to being able to look around through the head-mounted display.

[0036] The terminal control unit 25 includes one or more processors. The terminal control unit 25 controls the operation of the entire terminal device 20.

[0037] The terminal control unit 25 transmits and receives information via the terminal communication unit 21. For example, the terminal control unit 25 receives various information and programs used for various processes related to virtual reality from at least one of the server device 10 and other external servers. The terminal control unit 25 stores the received information and programs in the terminal storage unit 22. For example, a browser (Internet browser) for connecting to a Web server may be stored in the terminal storage unit 22.

[0038] The terminal control unit 25 activates a virtual reality application according to a user's operation. The terminal control unit 25 cooperates with the server device 10 to execute various processes related to virtual reality. For example, the terminal control unit 25 causes the display unit 23 to display an image of a virtual space. On the screen, for example, a GUI (Graphic User Interface) for detecting user operations may be displayed. The terminal control unit 25 can detect user operations via the input unit 24. For example, the terminal control unit 25 can detect various operations by a user's gesture (operations corresponding to tap operations, long tap operations, flick operations, swipe operations, etc.). The terminal control unit 25 transmits operation information to the server device 10.

[0039] The terminal control unit 25 draws an avatar or the like together with the virtual space (image) and causes the display unit 23 to display an image for the terminal. In this case, for example, as shown in FIG. 2, by generating images G200 and G201 respectively viewed by the left and right eyes, a stereoscopic image for a head-mounted display may be generated. FIG. 2 schematically shows images G200 and G201 respectively viewed by the left and right eyes. Hereinafter, unless otherwise specified, the image of the virtual space refers to the entire image represented by images G200 and G201. Further, the terminal control unit 25 realizes various movements of the avatar in the virtual space, for example, according to various operations by the user.

[0040] Note that the virtual space described below is not only an immersive space that can be viewed using a head-mounted display or the like and in which the user can freely move around (similarly to the real world) through an avatar in a continuous three-dimensional space, but also a concept including a non-immersive space that can be viewed using a smartphone or the like as described above with reference to FIG. 3. Note that the non-immersive space that can be viewed using a smartphone or the like may be a continuous three-dimensional space in which the user can freely move around through an avatar, or may be a two-dimensional discontinuous space. Hereinafter, when distinguishing, a continuous three-dimensional space in which the user can freely move around through an avatar is also referred to as a "metaverse space".

[0041] FIG. 4 is an explanatory diagram of an example of a virtual space that can be generated by a virtual reality generation system.

[0042] In the example shown in FIG. 4, the virtual space includes a plurality of space parts 70 and a free space part 71. In the free space part 71, the avatar can basically move freely.

[0043] The space part 70 may be a space part that is at least partially separated from the free space part 71 by a wall body (an example of a predetermined object described later) or a movement prohibition part (an example of a predetermined object described later). For example, the space part 70 may have an entrance / exit (for example, a hole or a predetermined object such as a door) through which the avatar can enter and exit with respect to the free space part 71. In FIG. 4, the space part 70 and the free space part 71 are drawn as a two-dimensional plane, but the space part 70 and the free space part 71 may be set as a three-dimensional space. For example, the space part 70 and the free space part 71 may be a space having walls and a ceiling in a range corresponding to the planar shape shown in FIG. 4 as a floor. Further, apart from the example shown in FIG. 4, it may be a world imitating a space having a height such as a dome shape or a spherical shape, a building such as a building, a specific place on the earth, or a space in the universe where the avatar can fly around.

[0044] By the way, in the metaverse space, since many avatars can move around freely, proximity and collision between a plurality of avatars may occur. In this regard, the proximity (including contact) between avatars as schematically shown in FIGS. 5A and 5B is advantageous in promoting communication between avatars, but may also induce troubles between avatars.

[0045] In this regard, in the metaverse space, it is effective to control the proximity or collision between a plurality of avatars (hereinafter, also referred to as "proximity / collision control between avatars"). For example, as schematically shown in a top view in FIG. 6 for this type of proximity / collision control between avatars, the distance L between avatar A and avatar B becomes a predetermined distance L that is a threshold value 0When the following conditions are met, in order to suppress further proximity between Avatar A and Avatar B, controls such as generating a repulsive force F or arranging a virtual wall (invisible wall) can be considered.

[0046] However, this type of control (control related to proximity or collision between multiple avatars) requires monitoring distances such as distance L between a large number of avatars, so the processing load tends to be high.

[0047] Therefore, as will be described in detail below, the first aspect of the present embodiment efficiently realizes proximity / collision control between avatars.

[0048] The distance L between Avatar A and Avatar B may be calculated as the distance between representative positions such as the centers (e.g., centers of gravity) of each avatar (the distance between two positions when projected onto a two-dimensional plane or the Euclidean distance), or as the shortest distance (the shortest Euclidean distance) between virtual capsules covering each avatar. In this case, one virtual capsule may be set for one avatar, or it may be set for each finer-grained part such as for each of the head, arms, torso, etc. In this case, for example, even when an avatar reaches out its hand to touch another avatar, such contact can be detected.

[0049] In the metaverse space, proximity or collision may occur between an avatar and an object other than the avatar. Also in this case, the same control as the proximity / collision control between avatars is applicable.

[0050] FIG. 7 is an explanatory diagram of an example of a method for dynamically switching the setting value (on / off state) of a control flag related to proximity / collision control between avatars, and is a table showing the on / off state of the control flag at two points in time (time point t1 and time point t2). When the control flag is in the on state, the proximity / collision control between avatars is in the on state, and when the control flag is in the off state, the proximity / collision control between avatars is in the off state. In the on state of the proximity / collision control between avatars, the proximity / collision control between avatars can be executed, and in the off state of the proximity / collision control between avatars, the proximity / collision control between avatars cannot be executed.

[0051] In the example shown in FIG. 7, the setting value of a control flag (an example of the first control parameter) is associated with each space ID. In this case, the space ID may be an identifier assigned to each of the space part 70 and the free space part 71 as shown in FIG. 4.

[0052] In the example shown in FIG. 7, at time point t1, the control flag is "on" (an example of the second setting value) for space IDs "001", "002", etc., whereas at time point t2, the control flag is "off" (an example of the first setting value) for space IDs "001", "002", etc. Therefore, in the space part associated with the space IDs "001", "002", etc., at time point t1, the proximity / collision control between avatars can be executed, whereas at time point t2, the proximity / collision control between avatars is not executed.

[0053] In this way, according to this embodiment, by dynamically changing the set value (on / off state) of the control flag, the on or off state of the proximity / collision control between avatars can be dynamically changed. In particular, according to the example shown in FIG. 7, by dynamically changing the set value (on / off state) of the control flag associated with each space ID, the on or off state of the proximity / collision control between avatars can be dynamically changed for each space part. Therefore, for example, when the processing load of the server device 10 exceeds the threshold load (an example of the first predetermined threshold), the proximity / collision control between avatars in a plurality of space parts can be turned off like the state at time t2, thereby reducing the processing load of the server device 10.

[0054] Note that in the example shown in FIG. 7, since the set value of the control flag is associated with each space ID, at a certain point in time, in some space parts, the proximity / collision control between avatars is on, while in other space parts, a state where the proximity / collision control between avatars is off can also be formed. Therefore, in the example shown in FIG. 7, it is also possible to dynamically change the on or off state of the proximity / collision control between avatars according to the type, attribute, current state (e.g., the degree of avatar congestion), etc. of the space part.

[0055] FIG. 8 is an explanatory diagram of another example of a method for dynamically switching the set value (on / off state) of the control flag related to the proximity / collision control between avatars, and is a table diagram showing the on / off state of the control flag at a certain three points in time (from time t10 to time t12).

[0056] In the example shown in FIG. 8, at time t10 and time t11, the control flag is "on" for space IDs "001", "002", etc., while at time t12, the control flag is "off" for space IDs "001", "002", etc. Therefore, in the space parts associated with space IDs "001", "002", etc., the proximity / collision control between avatars can be executed at time t10 and time t11, while the proximity / collision control between avatars is not executed at time t12.

[0057] Also, in the example shown in FIG. 8, at time points t10 and t11, although the control flags are both "on", at time points t10 and t11, a predetermined distance L (the threshold value related to the proximity / collision control between avatars) as described above with reference to FIG. 6 0 is set to different values. Specifically, at time point t10, the predetermined distance L 0 = D1, while at time point t11, the predetermined distance L 0 = D2. In this case, the distance D1 and the distance D2 are significantly different from each other. Therefore, in the example shown in FIG. 8, although the proximity / collision control between avatars can be executed at time points t10 and t11, the execution conditions of the proximity / collision control between avatars are different at time points t10 and t11. For example, assuming that the distance D2 < the distance D1, at time point t11, it becomes more difficult to execute the proximity / collision control between avatars than at time point t10.

[0058] FIG. 9 shows a time-series waveform 1400 that takes time on the horizontal axis and the distance L (distance between avatars) on the vertical axis, and shows an example of the change pattern of the distance L between two certain avatars (for example, avatar A and avatar B shown in FIG. 6). Note that the time-series waveform 1400 is a waveform over the period from time point t20 to time point t21. In FIG. 9, the distances D1 and D2 are shown with respect to the time-series waveform 1400.

[0059] If the state of the above-mentioned time point t10 (control flag = on, and the predetermined distance L 0 = D1) is maintained over the period from time point t20 to time point t21, the time-series waveform 1400 will not fall below the distance D1. However, if the control flag is in the off state and the proximity / collision control between avatars is not executed, the time-series waveform 1400 will fall below the distance D1 twice. Therefore, in this case, during the period from time point t20 to time point t21, the control for forcibly increasing the distance between avatars in the proximity / collision control between avatars (for example, the control for generating the repulsive force F described above, etc.) is executed twice. On the other hand, over the period from time point t20 to time point t21, the state of the above-mentioned time point t11 (control flag = on, and the predetermined distance L 0When the control flag is maintained at 0 , the time-series waveform 1400 does not fall below the distance D2. However, when the control flag is off and the proximity / collision control between the avatars is not executed, the time-series waveform 1400 will fall below the distance D2 once. Therefore, in this case, during the period from time point t20 to time point t21, the control for forcibly increasing the distance between the avatars in the proximity / collision control between the avatars (for example, the control for generating the repulsive force F described above, etc.) is executed once. Thus, the smaller the predetermined distance L 0 is, the more difficult it becomes to execute the control for forcibly increasing the distance between the avatars in the proximity / collision control between the avatars. Thus, the predetermined distance L 0 = D1 and / or the predetermined distance L 0 = D2, the control flag switches to on at time point t, and the predetermined distance L 0 > D1 and / or the predetermined distance L 0 > D2, the control flag switches to off at time point t.

[0060] The repulsive force F generated between the avatars can also be implemented by a rule that does not erode the mutual distances D1 and D2. For example, as the control for generating the repulsive force F described above, a mechanical "spring model" that increases the repulsive force according to the distance between two points may be used. However, in the case of the "spring model", there may be situations where the control becomes difficult when the distances D1 and D2 are extremely small or when the network delay is large. Furthermore, when a large number of "spring models" are provided, there may be situations where vibrations occur due to the repulsion between the models. In such cases, instead of the "spring model", a "damper model" or a "spring-damper model" may be used. When using such mechanical models, if necessary, the weights of each avatar and the weight of the equipment can also be taken into consideration, so it is also possible to use expressions such as it is difficult for heavy avatars or large avatars to move. Note that when using these mechanical models, it is considered that no inertia is generated when colliding and separating and the distance is not further changed, and no penetration between the avatars occurs.

[0061] In this way, according to the example shown in FIG. 8, for example, in response to an increase in the processing load of the server device 10, the proximity / collision control between the avatars can be gradually restricted. For example, when the processing load of the server device 10 becomes equal to or higher than the first threshold load, as in the state at time t11, it becomes difficult to execute the proximity / collision control between the avatars. When the processing load of the server device 10 becomes equal to or higher than the second threshold load, which is significantly higher than the first threshold load, as in the state at time t12, the proximity / collision control between the avatars may be turned off. In this case, in response to an increase in the processing load of the server device 10, it is possible to reduce the processing load of the server device 10.

[0062] In the examples described with reference to FIGS. 7 to 9, the set value of the control flag is associated with each space part. However, the granularity of the space part with which the set value of the control flag is associated is arbitrary and may be associated with positions in the virtual space in any manner. Also, the unit (granularity of the space part) of the position with which the set value of the control flag is associated may be dynamically changed. Further, equivalently, instead of associating the set value of the control flag with each space part, the set value of the control flag may be associated with each area. For example, a control flag may be associated with an area in front of a specific store (a store in the metaverse) or a square, etc. In this case, it becomes possible to dynamically adjust the degree of congestion, etc. in the area in front of a specific store or a square, etc. Note that a space part or an area is a set of positions. Therefore, a state in which the set value of the control flag is associated with one space part or area is equivalent to a state in which the set value of the control flag is associated with each position included in the one space part or area.

[0063] FIG. 10 is an explanatory diagram of still another example of a method for dynamically switching the set value (on / off state) of the control flag related to the proximity / collision control between avatars, and is a table diagram showing the on / off state of the control flag at two points in time (time t31 and time t32).

[0064] In the example shown in FIG. 10, a set value of a control flag is associated with each avatar. At time t31, the control flag is "on" for avatar IDs "001", "002", etc., while at time t32, the control flag is "off" for avatar IDs "001", "002", etc. Therefore, for the avatars associated with avatar IDs "001", "002", etc., proximity / collision control between avatars can be executed at time t31, whereas proximity / collision control between avatars is not executed at time t32.

[0065] In this way, according to the present embodiment, by dynamically changing the set value (on / off state) of the control flag, the on or off state of the proximity / collision control between avatars can be dynamically changed. In particular, according to the example shown in FIG. 10, by dynamically changing the set value (on / off state) of the control flag associated with each avatar ID, the on or off state of the proximity / collision control between avatars can be dynamically changed for each avatar. Therefore, for example, when the processing load of the server device 10 becomes equal to or higher than the threshold load, the processing load of the server device 10 can be reduced by turning off the proximity / collision control between avatars for a specific avatar as in the state at time t32.

[0066] Note that in the example shown in FIG. 10, since the set value of the control flag is associated with each avatar, at a certain point in time, a state can also be formed in which the proximity / collision control between avatars is on for some avatars, while the proximity / collision control between avatars is off for other avatars. Therefore, in the example shown in FIG. 10, it is also possible to dynamically change the on or off state of the proximity / collision control between avatars according to the type, attributes, etc. of the avatars.

[0067] FIG. 11 is an explanatory diagram of still another example of a method for dynamically switching the set value (on / off state) of a control flag related to proximity / collision control between avatars, and is a table diagram showing the on / off state of the control flag at three points in time (from time t40 to time t42).

[0068] In the example shown in FIG. 11, at time t40 and time t41, the control flag is "on" for avatar IDs "001", "002", etc., while at time t42, the control flag is "off" for avatar IDs "001", "002", etc. Therefore, for the avatars associated with avatar IDs "001", "002", etc., proximity / collision control between avatars can be executed at time t40 and time t41, while proximity / collision control between avatars is not executed at time t42.

[0069] Also, in the example shown in FIG. 11, although the control flags are both "on" at time t40 and time t41, at time t40 and time t41, a predetermined distance L 0 (the threshold value related to proximity / collision control between avatars) as described above with reference to FIG. 6 0 is set to different values. Specifically, at time t40, the predetermined distance L 0 = D1, while at time t41, the predetermined distance L

[0070] = D2. In this case, for example, assuming that distance D2 < distance D1 as in the case described above with reference to FIGS. 8 and 9, at time t41, it becomes more difficult to execute proximity / collision control between avatars than at time t40.

[0071]

[0070] In this way, according to the example shown in FIG. 11, for example, the proximity / collision control between avatars can be restricted step by step in response to an increase in the processing load of the server device 10. For example, when the processing load of the server device 10 becomes equal to or higher than the first threshold load, proximity / collision control between avatars can be made difficult to execute as in the state at time t41, and when the processing load of the server device 10 becomes equal to or higher than the second threshold load, which is significantly higher than the first threshold load, proximity / collision control between avatars can be turned off as in the state at time t42. In this case, in response to an increase in the processing load of the server device 10, it is possible to reduce the processing load of the server device 10.

[0071] Incidentally, in the examples shown in FIGS. 10 and 11, the set value of the control flag is associated with each avatar, but the set value of the control flag may be associated for each pair of avatars. FIG. 12 is an explanatory diagram when the set value of the control flag is associated for each pair of avatars.

[0072] In the example shown in FIG. 12, it is related to a specific single avatar (here, avatar A with avatar ID "001"). In FIG. 12, an example of the state of the set value (on / off state) of the control flag is shown in a table diagram (upper side) regarding the relationship between the specific single avatar and other avatars. Also, in FIG. 12, an explanatory diagram of the upper table diagram is shown together on the lower side. Here, the avatars with avatar IDs "002", "003", and "004" are set as avatars B, C, and D, respectively.

[0073] In the example shown in FIG. 12, the control flag is on for avatar A with respect to avatar B and avatar C, and the control flag is set to off for avatar D. In this case, between avatar A and avatar B or avatar C, the control flag is "on", while between avatar A and avatar D, the control flag is "off". Therefore, in this case, between avatar A and avatar B or avatar C, proximity / collision control between avatars can be executed, while between avatar A and avatar D, proximity / collision control between avatars is not executed.

[0074] Thus, according to the example shown in FIG. 12, since the set value of the control flag is associated for each pair of avatars, for some pairs of avatars, the proximity / collision control between avatars is on, while for other pairs of avatars, a state where the proximity / collision control between avatars is off can also be formed. Therefore, for example, in the example shown in FIG. 12, when avatar A and avatar D are in a friendship relationship, the inconvenience that the interaction between avatar A and avatar D (for example, the approaching mode shown in FIGS. 5A and 5B) is hindered due to the proximity / collision control between avatars can be reduced.

[0075] In the example shown in FIG. 12, the predetermined distance L 0 is constant. However, as shown in FIG. 11 and the like, the predetermined distance L 0 may be made different for each avatar. Also, in the example shown in FIG. 12, the on / off state of the control flag for each avatar may be dynamically changed as described above with reference to FIGS. 7 and 8 and the like.

[0076] Next, with reference to FIGS. 13 to 15, a preferred example of a method for dynamically changing the set value (on / off state) of the control flag will be described.

[0077] The method for dynamically changing the set value (on / off state) of the control flag is arbitrary. However, the on / off state of the control flag may be changed based on various parameters such as the processing load of the server device 10, the degree of congestion in the space part (congestion degree by avatars), the attributes of the avatars themselves, the action attributes of the avatars, and the operation mode.

[0078] FIG. 13 is an explanatory diagram of a case where the on / off state of the control flag is dynamically changed according to the degree of congestion related to a specific space part 70. In FIG. 13, time is taken on the horizontal axis, the number of people (number of avatars) in a specific space part 70 is taken on the vertical axis, and a time-series waveform of the number of avatars in the specific space part 70 is shown. The degree of congestion in the space part 70 may be evaluated by, in addition to the number of connection sessions to the server device 10, the rendering cost for the space part 70 to be drawn, the narrowness of the space part 70 (space parts such as narrow passages are likely to collide), the calculation amount of physical simulation of flexible objects such as hair and clothing that move separately from the intention of the avatars, and the integration of the moving speeds of individual avatars (avatars moving faster are more likely to collide).

[0079] In this case, for example, when the number of avatars in a specific space part 70 exceeds a threshold number of people set in advance for the specific space part 70, the control flag associated with the space ID related to the specific space part 70 may be turned on. That is, when the number of avatars in the specific space part 70 is less than or equal to the threshold number of people, the control flag is turned off, and proximity / collision control between avatars is not executed. On the other hand, when the number of avatars in the specific space part 70 exceeds the threshold number of people, the control flag is turned on, and proximity / collision control between avatars can be executed. Thereby, the inconvenience of an excessive number of avatars in the specific space part 70 can be reduced. In the example shown in FIG. 13, for example, the threshold number of people is set to 65 people, and the rapid increase in the number of avatars is suppressed from the time when it exceeds 65 people.

[0080] Note that the threshold number of people may be appropriately set according to the size, attributes, etc. of the specific space part 70, or may be dynamically changed. For example, the threshold number of people may be set larger as the size of the specific space part 70 is larger. Also, when the specific space part 70 is an event venue, the threshold number of people may be set large, and when the specific space part 70 is a conference room, the threshold number of people may be set relatively small. Further, the threshold number of people may be set larger only during time periods when congestion is expected than during other time periods.

[0081] FIG. 14 is an explanatory diagram of a case where the on / off state of the control flag is dynamically changed according to the processing load of the server device 10. In FIG. 14, time is taken on the horizontal axis, and an index value of the processing load of the server device 10 is taken on the vertical axis, and a time-series waveform of the index value of the processing load of the server device 10 is shown. Note that the index value of the processing load of the server device 10 may include the CPU usage rate, the memory usage amount, etc. Also, the index value of the processing load of the server device 10 may include throughput, packet loss, latency, etc. as index values related to the communication capacity of the network 3 (transmission path).

[0082] In this case, for example, when the processing load of the server device 10 exceeds the threshold load, the control flag may be turned off. That is, when the processing load of the server device 10 exceeds the threshold load, the control flag is turned off, and the proximity / collision control between the avatars is not executed. On the other hand, when the processing load of the server device 10 does not exceed the threshold load, the control flag is turned on, and the proximity / collision control between the avatars can be executed. Thereby, the inconvenience (for example, a further increase in the processing load of the server device 10) caused by the execution of the proximity / collision control between the avatars in a situation where the processing load of the server device 10 is relatively high can be reduced.

[0083] FIG. 15 is an explanatory diagram of a case where the on / off state of the control flag is dynamically changed according to the action attributes or operation modes of the respective avatars. FIG. 15 shows two avatars A and B who are taking commemorative photos at a commemorative photo spot. In FIG. 15, the number "1" indicated by G700 indicates the countdown (countdown until the imaging timing) at the time of taking a commemorative photo.

[0084] In this case, for example, when the action attributes or operation modes of avatar A and avatar B are action or operation modes for a collective event, the control flag may be turned off. Thereby, when the action attributes or operation modes of avatar A and avatar B are action or operation modes for a collective event, the proximity / collision control between the avatars is not executed. On the other hand, when the action attributes or operation modes of avatar A and avatar B are action or operation modes for other purposes (for example, simple movement), the control flag may be turned on. Thereby, the possibility that a collective event by a plurality of avatars that activates the metaverse space is inappropriately inhibited due to the proximity / collision control between the avatars can be reduced.

[0085] By the way, although the metaverse space is a "virtual" space where many avatars can freely move around as described above, if the movable areas of each avatar are set without limit, there is a possibility that the movement of each avatar cannot be appropriately restricted.

[0086] In this regard, in the metaverse space, control for restricting the movable area of each avatar (hereinafter referred to as "movement area control of each avatar" or simply "movement area control") becomes effective. For example, as schematically shown in a top view in FIGS. 16 and 17, a method of controlling the width D7 of the passage area 73 in the space part 70 (similarly for the free space part 71) in the metaverse space can be considered. Note that in FIG. 16, the width D7 of the passage area 73 is controlled (set) to be smaller than that in FIG. 17. The control of reducing the width D7 of the passage area 73 may be substantially realized by making the cost of an avatar when passing through the passage area 73 (hereinafter also referred to as "movement cost") significantly smaller than the movement cost of the avatar when passing through both sides of the passage area 73. For example, in the example shown in FIG. 16, the area SC High represents an area where the movement cost when an avatar passes through is relatively high, and the area SC Low represents an area where the movement cost when an avatar passes through is relatively low.

[0087] However, if the control parameters (for example, the above-mentioned movement cost) related to this type of control (movement area control of each avatar) are fixed without being dynamically changed, it becomes difficult to balance the convenience regarding the ease of movement of each avatar and the establishment of various orders (rules) in the metaverse. For example, at a certain popular store, many avatars visit the store. From the perspective of each avatar, it is convenient to directly reach the store by eliminating the presence of other avatars, but from the perspective of the store side or the operation side of the metaverse, it may be desirable to achieve the visit of each avatar with a certain order. For example, if the degree of congestion (density of avatars) at the store and the queue of avatars waiting in line can be appropriately represented, various orders (rules) are likely to become clear and it is difficult for chaos among avatars to occur.

[0088] Therefore, as will be described in detail below, the second aspect of the present embodiment effectively realizes the movement area control of each avatar.

[0089] FIG. 18 is an explanatory diagram of an example of a dynamic switching method of the value of the movement cost related to the movement area control of each avatar, and is a table diagram showing the values of the movement cost at two points in time (time t51 and time t52). FIGS. 19 and 20 are explanatory diagrams of FIG. 18, and are diagrams showing the matrix formation mode in the area in front of a specific store (refer to the object OB19 related to the store).

[0090] In FIG. 18, for each area ID assigned to each of a plurality of areas in the metaverse space, the value of the movement cost (an example of the second control parameter) is associated. When the value of the movement cost associated with one area = w1, it indicates that the cost (difficulty of passing) when the avatar passes through the area is relatively low (that is, relatively easy to pass). On the other hand, when the value of the movement cost associated with one area = w2, it indicates that the cost (difficulty of passing) when the avatar passes through the area is relatively high (that is, relatively difficult to pass).

[0091] Note that an area is a set of positions. Therefore, the state in which a set value of the movement cost is associated with one area may be equivalent to the state in which the set value of the movement cost is associated with each position included in the one area. Also, instead of the area, a set value of the movement cost may be associated with a space part. In this case as well, the state in which a set value of the movement cost is associated with one space part is equivalent to the state in which the set value of the movement cost is associated with each position included in the one space part.

[0092] The areas 2001, 2002, and 2003 related to the area IDs "001", "002", and "003" in the example shown in FIG. 18 are, for example, as shown in FIG. 20, areas in front of a specific store (refer to the object OB19 related to the store) and are areas for forming a matrix. Also, the area related to the area ID "004" in the example shown in FIG. 18 may be another peripheral area (peripheral area of a specific store). Note that the way of dividing the areas may be appropriately changed by the user of the store or the like.

[0093] In the example shown in FIG. 18, at time t51, a movement cost value = w1 is associated with region IDs “001” to “004”, whereas at time t52, a movement cost value = w2 is associated with region IDs “001” to “003” and a movement cost value = w1 is associated with “0040”. Here, it is assumed that the movement cost value w2 is significantly higher than the movement cost value w1. Therefore, for each of the regions 2001, 2002, and 2003 associated with region IDs “001” to “003”, the avatar can move relatively easily at time t51, whereas it becomes difficult to move at time t52. As a result, as shown in FIG. 20, it becomes possible to form a queue of avatars in front of a specific store (see object OB19 related to the store). For example, a new avatar customer can line up at the end of the queue (see arrow R21), and a user who has purchased a product can smoothly exit from the exit side (see arrows R22 and R23). In this case, as described above, even in a popular store or the like, the visiting modes of each avatar can be realized in a certain order. Also, the surrounding avatars can easily recognize that the store is a popular store by looking at the queue that can be formed in front of the specific store.

[0094] FIG. 21 is an explanatory diagram of another example of a method for dynamically switching the value of the movement cost related to the movement area control of each avatar, and is a table showing the values of the movement cost at two points in time (time t61 and time t62). FIG. 22 is an explanatory diagram of FIG. 21 and is an explanatory diagram of the movement cost for each movement path of the avatar.

[0095] In the example shown in FIG. 21, at time t61, a movement cost value = w1 is associated with region IDs “0010” to “0040”, while at time t62, a movement cost value = w2 is associated with region IDs “0010” to “0030” and a movement cost value = w1 is associated with “0040”. Here, it is assumed that the movement cost value w2 is significantly higher than the movement cost value w1. For each of the regions 2021, 2022, 2023 associated with region IDs “0010” to “0030”, at time t61, the avatar can move relatively easily, while at time t62, it becomes difficult for the avatar to move. Note that region ID “0040” is assumed to be a peripheral region of each of the regions 2021, 2022, 2023.

[0096] For example, at time t62, due to an event or the like, the density (congestion level) of avatars in each of the regions 2021, 2022, 2023 has increased. As a result, it becomes difficult to move through each of the regions 2021, 2022, 2023. For example, in each of the regions 2021, 2022, 2023, because of the congestion, it tends to take time to pass through due to contact between avatars (and activation of a repulsive force F due to proximity / collision control between avatars). In this case, an avatar aiming for a specific space part 70 shown in FIG. 22 (the space part 70 marked with a star in FIG. 22) can reach the destination earlier by using a movement route R21 that does not pass through the regions 2021, 2022, 2023 (the movement route R21 passing through the region related to region ID “0040”) rather than the movement routes R22, R23 that pass through the regions 2021, 2022, 2023. In this case, the movement costs when passing through the movement routes R21, R22, R23 may be output to the avatar (user), and a guidance display along the movement route selected by the avatar may be output. In this way, by dynamically changing the movement cost according to the congestion level of each region, it is possible to increase the mobility of the avatar while reducing the possibility that the congestion level will be unnecessarily enhanced. Also, the convenience of the avatar can be improved by a guidance display or the like.

[0097] Note that in FIG. 21, a relatively high movement cost is associated with a region where the density (degree of congestion) of avatars that can change dynamically is relatively high, but it is not limited to this. For example, even in a region where the density (degree of congestion) of avatars is relatively high, if the control flag associated with the region is off, since the repulsive force F due to proximity / collision control between avatars does not occur, a relatively low movement cost may be associated.

[0098] Next, with reference to FIG. 23 and subsequent figures, specific functions of the server device 10 and the like will be described.

[0099] FIG. 23 is a schematic block diagram showing the functions of the server device 10 related to the proximity / collision control and movement area control between the above-described avatars. FIG. 24 is an explanatory diagram showing an example of data in the user information storage unit 152. FIG. 25 is an explanatory diagram showing an example of data in the avatar information storage unit 154. Note that in FIGS. 24 and 25, "***" indicates a state in which some information is stored, and "···" indicates a repeated state of storing the same information. Note that some or all of the functions of the server device 10 described below may be realized by the terminal device 20 as appropriate.

[0100] The server device 10 includes a setting state storage unit 150, a user information storage unit 152, and an avatar information storage unit 154.

[0101] Each of the storage units from the setting state storage unit 150 to the avatar information storage unit 154 can be realized by the server storage unit 12 of the server device 10 shown in FIG. 1. Note that the way of dividing each of the storage units from the setting state storage unit 150 to the avatar information storage unit 154 is for convenience of explanation, and part or all of the data stored in one storage unit may be stored in other storage units.

[0102] The setting state storage unit 150 stores setting states related to proximity / collision control between avatars, setting states related to movement area control of each avatar, and setting states related to proximity / collision control between an avatar and an object, which will be described later. For example, the on / off state of a control flag related to proximity / collision control between avatars, which is associated with each space part and / or each avatar as described above, is stored. Also, the value of the movement cost related to the movement area control of each avatar, which is associated with each of a plurality of areas as described above, is stored.

[0103] The user information storage unit 152 stores user information. In the example shown in FIG. 23, the user information includes user information 600 related to the user.

[0104] For each user ID, the user information 600 has a user name, user authentication information, an avatar ID, position / orientation information, friend information, user attribute information, etc. associated therewith. The user name is a name registered by the user himself / herself and is optional. The user authentication information is information for indicating that the user is a legitimate user and may include, for example, a password, an email address, a date of birth, a password phrase, biometric information, etc.

[0105] The avatar ID is an ID for identifying an avatar. In the present embodiment, one avatar ID is associated with each user ID. Therefore, in the following description, the expression "associated with a user (or user ID)" or a similar expression is synonymous with the expression "associated with an avatar ID" or a similar expression. However, in other embodiments, a plurality of avatar IDs may be associated with one user ID.

[0106] The position / orientation information includes the position information and orientation information of the avatar. The orientation information may be information representing the orientation of the avatar's face. Note that the position / orientation information, etc. is information that can change dynamically in response to an operation input from the user. In addition to the position / orientation information, information representing the movement of parts such as the hands and feet of the avatar, facial expressions (e.g., mouth movement), the orientation or line of sight direction of the face or head (e.g., the orientation of the eyeballs), information representing an object indicating an orientation or coordinates in the space such as a laser pointer, etc. may be included.

[0107] The friend information may include information (e.g., user ID) for identifying a user in a friend relationship. The friend information may be used as a value of a parameter representing the intimacy between avatars (users) described later.

[0108] The user attribute information represents the attributes of the user (or avatar) (hereinafter simply referred to as "user attributes"). User attributes may include operating-side users, host users who conduct distribution activities, etc., specific users such as famous people and influencers (users with significantly more follow requests than other users in the virtual space), nuisance users who have received warnings or reports from other users, general users, etc. Here, general users may include users who manage or own a certain section of the space part 70, that is, users who edit and publish a certain section in the virtual space. For example, a user who provides an event venue may be given a different attribute as a user attribute from the specific users who appear there. Note that the user attributes may be automatically assigned based on the activities of each avatar in the virtual space, or may be linked to the real-world attributes. Also, the user attributes may be shared via files, databases, API (Application Programming Interface) requests, NFTs, etc. between different platforms, or may be converted and shared as attributes within the system based on attributes described on other systems, NFTs, and external features of the avatar (such as skin color).

[0109] Avatar information is stored in the avatar information storage unit 154.

[0110] In the example shown in FIG. 25, for each avatar ID in the avatar information 700, a face part ID, a hairstyle part ID, a clothing part ID, etc. are associated. The part information related to the appearance such as the face part ID, the hairstyle part ID, and the clothing part ID is a parameter characterizing the avatar and may be selected by each corresponding user. For example, a plurality of types of information related to the appearance such as the face part ID, the hairstyle part ID, and the clothing part ID related to the avatar are prepared. Also, for the face part ID, part IDs are prepared for each type such as the shape of the face, eyes, mouth, nose, etc., and the information related to the face part ID may be managed by a combination of the IDs of the respective parts constituting the face. In this case, based on each ID related to the appearance associated with each avatar ID, it is possible to draw each avatar not only on the server device 10 side but also on the terminal device 20 side.

[0111] The server device 10 also includes an operation input acquisition unit 160, a setting change processing unit 170, a position control unit 172, and a predetermined parameter monitoring unit 180. Also, from the operation input acquisition unit 160 to the predetermined parameter monitoring unit 180 can be realized by the server control unit 13 shown in FIG. 1. Also, a part (function unit for communicating with the terminal device 20) of the operation input acquisition unit 160 to the predetermined parameter monitoring unit 180 can be realized by the server communication unit 11 together with the server control unit 13 shown in FIG. 1.

[0112] The operation input acquisition unit 160 acquires operation input information generated in response to various operations by the user from the terminal device 20. Note that the operation input information by the user is generated via the input unit 24 of the terminal device 20 described above. Note that the operation input information may include an operation input (movement operation input) for changing the position of the avatar in the virtual space, an operation input for changing the value of other parameters (parameters other than movement) such as the orientation of the avatar, an operation input generated via the user interface, voice or text input for the purpose of dialogue, etc. Note that the movement operation input, etc. may be generated by operating a specific key (for example, the "WASD" key), may be generated via a user interface including an arrow button, etc., or may be generated by movements such as voice and gesture.

[0113] Based on the monitoring results of various parameters by the predetermined parameter monitoring unit 180 described later, the setting change processing unit 170 dynamically changes the setting value of the above-described control flag, the value of the above-described movement cost, and the setting value of the editing flag described later. The setting change processing unit 170 may dynamically change the setting value of the control flag (on / off state), the value of the movement cost, and / or the setting value of the editing flag by updating (dynamically updating) the data in the setting state storage unit 150. Further details of the setting change processing unit 170 will be described later in relation to the description of the predetermined parameter monitoring unit 180 to be presented later.

[0114] Based on the operation input (movement operation input, etc.) acquired by the operation input acquisition unit 160, the position control unit 172 controls the position, orientation, etc. of a plurality of avatars in the virtual space. At this time, the position control unit 172 controls the position, orientation, etc. of a plurality of avatars in the virtual space based on the data (on / off state of the control flag and the value of the movement cost) in the setting state storage unit 150.

[0115] Here, controlling the position of the avatar includes not only the mode of controlling the position (coordinates) of the entire avatar, but also the mode of controlling the position of each part of the avatar. In addition to and / or instead of these, it may also include the mode of controlling the position and situation of the avatar's clothing and / or surrounding events. Similarly, controlling the orientation of the avatar includes not only the mode of controlling the orientation of the entire avatar, but also the mode of controlling the orientation of each part of the avatar. In addition to and / or instead of these, it may also include the mode of controlling the orientation of the avatar's clothing and / or surrounding events. The granularity of each part of the avatar is arbitrary, and the part of the avatar itself may be a part defined by a skeletal model set for an object such as hands, feet, fingers, wings, or a tail. The control of the position and orientation of each part related to the avatar's body can be defined by a skeletal model in the case of a humanoid avatar or a non-humanoid avatar (such as an animal avatar or a furry avatar). However, when expressing the distance and repulsion from other avatars by the avatar's clothing, equipment, or surrounding events of the avatar, for example, physical simulation may be performed on flexible objects such as accessories as clothing, equipment such as weapons, and clothes and hair, and the results may be included. The surrounding events of the avatar may include events that are uncontrollable or do not exist in the real world but can be expressed as interactive video expressions such as "wrapped in wind", "wrapped in aura", and "putting up a barrier". By including these points, when the position control unit 172 controls the position of the avatar, the position of a specific part, clothing, and / or surrounding events of the avatar may change while the position (coordinates) of the entire avatar remains unchanged.

[0116] The position control unit 172 includes a first control processing unit 1721, a second control processing unit 1722, and a third control processing unit 1723.

[0117] The first control processing unit 1721 executes proximity / collision control between avatars based on the set value (on / off state) of the above-described control flag. For example, when the control flag associated with a certain space part 70 is on, the first control processing unit 1721 executes proximity / collision control between avatars in the certain space part 70. On the other hand, when the control flag associated with a certain space part 70 is off, the first control processing unit 1721 does not execute proximity / collision control between avatars in the certain space part 70. Similarly, when the control flag associated with a certain avatar is on, the first control processing unit 1721 executes proximity / collision control between avatars regarding the certain avatar. On the other hand, when the control flag associated with a certain avatar is off, the first control processing unit 1721 does not execute proximity / collision control between avatars regarding the certain avatar. Note that when the set value of the control flag is associated for each pair of avatars as described above, it may be substantially the same.

[0118] Specifically, when executing proximity / collision control between avatars, the first control processing unit 1721 may execute determination processing related to proximity or collision between a plurality of avatars and avoidance processing for preventing proximity or collision between avatars based on the result of the determination processing. Further, instead of or in addition to the avoidance processing, the first control processing unit 1721 may execute animation processing for automatically drawing the behavior of each avatar at the time of collision or proximity.

[0119] Specifically, first, as the determination processing, the first control processing unit 1721 determines whether the distance between avatars is smaller than a predetermined distance L 0 For a certain target avatar, the other avatars to be monitored for the distance between avatars may be all the avatars located around the certain target avatar, or may be some of the avatars. For example, for a certain target avatar, the other avatars to be monitored for the distance between avatars may be the avatars located within a circular region with a predetermined radius L1 based on the position of the certain target avatar. In this case, the predetermined radius L1 is the predetermined distance L 0is significantly larger. Note that instead of the circular region, other forms of regions may be used. By appropriately setting the predetermined radius L1, the number of other avatars to be monitored for the distance between avatars can be efficiently reduced, and the processing load can be reduced.

[0120] The first control processing unit 1721 then, based on the result of the determination process, when the distance between avatars is less than the predetermined distance L 0 performs avoidance processing so that the distance between avatars spreads. The avoidance processing may include processing for generating a repulsive force F or the like, as described above with reference to FIG. 6.

[0121] The second control processing unit 1722 performs movement area control for each avatar based on the above-described value of the movement cost. Specifically, the second control processing unit 1722 sets a region associated with a relatively high movement cost value (for example, the value w2 described above with reference to FIG. 18) as a region where an avatar cannot pass through or a difficult-to-pass region (hereinafter, these are also collectively referred to as an "immovable region").

[0122] When performing movement area control for each avatar, the second control processing unit 1722 may execute a determination process for determining the positional relationship between each avatar and the immovable region, and an avoidance process for preventing movement to the immovable region based on the result of the determination process. Further, instead of or in addition to the avoidance process, the second control processing unit 1722 may execute an animation process for automatically drawing the behavior of an avatar moving in the immovable region.

[0123] Specifically, first, as a determination process, the second control processing unit 1722 determines whether the distance between each avatar and the immovable region is less than or equal to a predetermined distance L 2 or not. The predetermined distance L 2 may be 0 or a small value close to 0.

[0124] The second control processing unit 1722 then, based on the result of the determination process, when the distance between one avatar and the immovable region is less than or equal to the predetermined distance L 2When the following conditions are met, avoidance processing is executed so that the distance between the single avatar and the immovable area increases. The avoidance processing may include processing for generating a repulsive force F or the like, similar to the case of proximity / collision control between avatars.

[0125] Alternatively, the second control processing unit 1722 may execute processing to reduce the moving speed of the avatar located within the immovable area. That is, the second control processing unit 1722 may execute processing to apply resistance when the avatar located within the immovable area attempts to move. In this case, the resistance applied to the avatar may change according to the attributes of the immovable area. For example, when the immovable area is an area having water such as a "pool", resistance similar to when walking in water may be applied.

[0126] The third control processing unit 1723 executes proximity / collision control between the avatar and an object other than the avatar (hereinafter, also referred to as "proximity / collision control between avatar and object") based on the set value (on / off state) of an edit flag (another example of the first control parameter). The edit flag is turned on when it is an input mode for constructing or editing a virtual space (for example, various objects within the space unit 70). The input mode for constructing or editing a virtual space (hereinafter, also referred to as the "edit mode") refers to a mode of arranging an object (hereinafter, also referred to as a "predetermined object") corresponding to an arbitrary virtual reality medium (for example, a building, a wall, a tree, or an NPC, etc.) different from the avatar within the virtual space. For example, a user who manages or owns a space unit 70 of a certain section can arrange various predetermined objects in the space unit 70 by forming the edit mode. Note that the edit flag may be associated with a position in the virtual space in an arbitrary manner, such as being associated with each space unit 70 or each area.

[0127] When executing proximity / collision control between avatars and objects, the third control processing unit 1723 may execute a determination process for determining the positional relationship between each avatar and a predetermined object, and an avoidance process for preventing proximity or collision from occurring between the avatar and the predetermined object based on the result of the determination process. Further, the third control processing unit 1723 may execute an animation process for automatically drawing the respective behaviors of the avatar and the predetermined object at the time of collision or proximity, instead of or in addition to the avoidance process.

[0128] Specifically, first, as the determination process, the third control processing unit 1723 determines whether the distance between the avatar and the predetermined object is equal to or less than a predetermined distance L 3 The predetermined distance L 3 may be 0 or a small value close to 0.

[0129] Next, based on the result of the determination process, when the distance between the avatar and the predetermined object is equal to or less than the predetermined distance L 3 the third control processing unit 1723 executes an avoidance process to increase the distance between the avatar and the predetermined object. The avoidance process may include a process of generating a repulsive force F or the like, similar to the case of proximity / collision control between avatars.

[0130] Note that the third control processing unit 1723 may operate based on the set value (on / off state) of a control flag associated with a position such as the space unit 70, instead of or in addition to the set value (on / off state) of an edit flag (another example of the first control parameter). In this case, for example, when the control flag associated with a certain space unit 70 is in the on state, the third control processing unit 1723 is turned on with respect to a predetermined object arranged in the certain space unit 70, and when the control flag is in the off state, the third control processing unit 1723 is turned off with respect to a predetermined object arranged in the certain space unit 70.

[0131] The predetermined parameter monitoring unit 180 calculates the values of various predetermined parameters that can be calculated in relation to the virtual space. The monitoring results of the values of the various predetermined parameters are utilized by the above-described setting change processing unit 170. That is, the setting change processing unit 170 dynamically changes the setting value (on / off state) of the control flag, the value of the movement cost, and the setting value (on / off state) of the edit flag based on the monitoring results of the values of the various predetermined parameters.

[0132] The predetermined parameter monitoring unit 180 includes a first parameter monitoring unit 1801 to a sixth parameter monitoring unit 1806.

[0133] The first parameter monitoring unit 1801 monitors the value of a first parameter that represents or implies the processing load of information processing related to the virtual space. The first parameter may be, for example, an index value that represents or implies the processing load of the server device 10, and such an index value may be as described above.

[0134] In this case, according to the processing load of the information processing, the control mode related to the proximity / collision control between avatars can be dynamically changed. For example, when the processing load of the server device 10 is equal to or greater than the threshold load, the setting change processing unit 170 may change the control flag to the off state so that the first control processing unit 1721 does not function. Thereby, it is possible to prevent an increase in the processing load due to the function of the first control processing unit 1721 in a situation where the processing load of the server device 10 is equal to or greater than the threshold load.

[0135] Note that when the processing load of the server device 10 is equal to or higher than the threshold load, the setting change processing unit 170 may turn off all control flags, or may turn off only some of the control flags. For example, when the set value of the control flag is associated with each of the plurality of space units 70, the setting change processing unit 170 may turn off the control flags in order from the space unit 70 (for example, the space unit 70 with a large number of avatars) that has a high degree of influence on the processing load of the server device 10. Further, the setting change processing unit 170 may turn off the control flags step by step as the processing load of the server device 10 increases. For example, the setting change processing unit 170 may increase the number of space units 70 for turning off the control flags step by step as the processing load of the server device 10 increases. These are the same when the control flag is associated with each avatar as described above (see FIGS. 10 and 11, etc.) or when it is associated between avatars (see FIG. 12).

[0136] Also, in another embodiment, the setting change processing unit 170 may dynamically change the value of the movement cost according to the processing load of the information processing. In this case, according to the processing load of the information processing, the control mode related to the movement area control of each avatar can be dynamically changed. For example, when the processing load of the server device 10 is equal to or higher than the threshold load, the setting change processing unit 170 may change the value of the movement cost associated with each position or a specific position to a relatively low value (for example, the value w1 described above). In this case, since the movable area of each avatar in the virtual space expands, the distance between avatars is likely to expand, and as a result, a reduction in the processing load related to the proximity / collision control between avatars can be expected.

[0137] The second parameter monitoring unit 1802 monitors the value of the second parameter that represents or suggests the intimacy between a plurality of avatars. The intimacy between a plurality of avatars may basically be evaluated in a one-to-one relationship. For example, the intimacy between one avatar and another avatar may be regarded as the same as the intimacy between the corresponding users. The intimacy between users may be calculated based on the user information (for example, friend information) in the user information storage unit 152 as described above with reference to FIG. 24.

[0138] In this case, according to the intimacy between avatars, the control mode related to the proximity / collision control between avatars can be dynamically changed. For example, the setting change processing unit 170 may change the control flag to the off state so that the first control processing unit 1721 does not function for avatars whose intimacy is equal to or higher than the threshold intimacy (an example of the second predetermined threshold). In this case, in the configuration where the control flag is associated with each avatar as described above (see FIGS. 10 and 11, etc.), when avatars whose intimacy is equal to or higher than the threshold intimacy are located within a predetermined radius L1, the control flags associated with those avatars may be turned off. On the other hand, in the configuration associated with between avatars (see FIG. 12), the control flag associated with between avatars whose intimacy is equal to or higher than the threshold intimacy may be turned off.

[0139] The third parameter monitoring unit 1803 monitors the value of the third parameter representing or suggesting the attribute of each avatar. The attribute of the avatar may be the same as or different from the attribute of the corresponding user. For example, the value of the third parameter may include a value representing that the user attribute is any one of an operator-side user, a distribution user, a specific user (such as a celebrity or an influencer), a nuisance user, and a general user. For example, the value of the third parameter may include a value representing whether the user attribute is a general user. Here, the general user may include a user who manages or owns a certain section of the space part 70, that is, a user who edits and publishes a certain section in the virtual space. For example, a user who provides an event venue may be given a user attribute different from that of the specific users who appear there.

[0140] In this case, according to the attributes of each avatar, the control mode related to the proximity / collision control between avatars can be dynamically changed. For example, when one avatar has a user attribute other than a general user (an example of a predetermined attribute), the setting change processing unit 170 may change the control flag to the on state so that the first control processing unit 1721 functions for the one avatar. Thereby, it is possible to reduce the possibility that many avatars gather around avatars such as famous people and influencers and become disorderly. Alternatively, it is possible to prevent the avatar of a nuisance user from performing nuisance acts on other avatars. In this case, a predetermined distance L 0 related to avatars such as famous people and influencers may be set to an appropriate size that is relatively large, or a very high movement cost value may be associated with a region within a predetermined radius L2 centered on the position of avatars such as famous people and influencers. Alternatively, conversely, when one avatar has a user attribute of a general user (another example of a predetermined attribute), the setting change processing unit 170 may change the control flag to the off state so that the first control processing unit 1721 does not function for the one avatar.

[0141] The fourth parameter monitoring unit 1804 monitors the value of a fourth parameter that represents or suggests the behavior attribute or operation mode of each avatar. For example, the value of the fourth parameter may include a value indicating whether the behavior attribute or operation mode of the avatar is related to the behavior or operation of a plurality of avatars for a collective event. The behavior attribute or operation mode of the avatar may be estimated (predicted) by artificial intelligence or the like, or may be set based on user input (for example, operation of a selection button for the operation mode). A collective event is an event in which a plurality of avatars may approach each other, and its form, name, etc. are arbitrary. The collective event may include, for example, the event related to the commemorative photographing described above with reference to FIG. 15.

[0142] In this case, according to the action attributes or operation modes of the avatars, the control mode related to the proximity / collision control between the avatars can be dynamically changed. For example, when the action attributes or operation modes of the avatars are action attributes or operation modes related to the actions or operations of a plurality of avatars for a collective event, the setting change processing unit 170 may change the control flag to an off state so that the first control processing unit 1721 does not function. Thereby, in a collective event where a plurality of avatars may approach each other, it is possible to prevent inconveniences (for example, a situation where the repulsive force F acts and the avatars cannot approach and gather together) caused by the execution of the proximity / collision control between the avatars.

[0143] The fifth parameter monitoring unit 1805 monitors the value of a fifth parameter representing or suggesting the avatar density in a specific area. The avatar density in the specific area may be a value obtained by dividing the number of avatars located in the specific area by the area (size) of the specific area. The specific area may be any area, but is preferably a popular spot or an event venue where the avatar density is likely to be high.

[0144] In this case, according to the avatar density in the specific area, the control mode related to the proximity / collision control between the avatars in the specific area can be dynamically changed. For example, when the avatar density in the specific area is equal to or greater than a threshold density (an example of a third predetermined threshold), the setting change processing unit 170 may change the control flag to an on state so that the first control processing unit 1721 functions. On the other hand, when the avatar density in the specific area is less than the threshold density, the setting change processing unit 170 may change the control flag to an off state so that the first control processing unit 1721 does not function. Thereby, it is possible to prevent the avatar density in the specific area from becoming excessive.

[0145] The sixth parameter monitoring unit 1806 monitors the value of a sixth parameter representing or suggesting the input mode of the user associated with the avatar. The value of the sixth parameter may include a value indicating that the input mode of the user is the editing mode described above.

[0146] In this case, according to the user's input mode, the control mode related to the proximity / collision control between the avatar and the object can be dynamically changed. For example, when the user's input mode is the editing mode, the setting change processing unit 170 may change the corresponding flag (hereinafter, also referred to as the "control flag for between avatar and object") to the off state so that the proximity / collision control between the avatar and the object is turned off. Thereby, when the input mode is the editing mode, the inconveniences (for example, inconveniences such as not being able to touch a predetermined object even when trying to change the arrangement due to the repulsive force F, etc.) that may occur due to the execution of the proximity / collision control between the avatar and the object can be reduced. In this case, the control flag for between avatar and object may be associated with a position for each space part 70 or for each region. Therefore, when the editing mode is formed for a specific one of the space parts 70, the proximity / collision control between the avatar and the object may be turned off only for the specific one of the space parts 70.

[0147] Next, with reference to FIG. 26 and later, an operation example of the virtual reality generation system 1 related to the proximity / collision control between avatars, the movement area control of each avatar, etc. will be described.

[0148] FIG. 26 is a flowchart showing an example of a process that may be executed by the server device 10 in relation to the proximity / collision control between avatars. The process shown in FIG. 26 may be executed independently for each space part 70. In the following description of FIG. 26 (the same applies to FIG. 27 to be described later), the space part 70 refers to one space part 70 that is the object of explanation.

[0149] In step S2600, the server device 10 determines whether the processing load of the server device 10 is equal to or greater than the threshold load. If the determination result is "YES", the process proceeds to step S2602, and otherwise, the process proceeds to step S2601.

[0150] In step S2601, the server device 10 determines whether the avatar density in the space part 70 is equal to or higher than the threshold density. If the determination result is "YES", the process proceeds to step S2608; otherwise, the process proceeds to step S2602.

[0151] In step S2602, the server device 10 sets the control flag associated with the space part 70 to the off state.

[0152] In step S2604, the server device 10 determines whether there is an avatar (hereinafter also referred to as "predetermined avatar") having a user attribute other than a general user in the space part 70. If the determination result is "YES", the process proceeds to step S2606; otherwise, the process proceeds to step S2620.

[0153] In step S2606, the server device 10 sets the control flag associated with the predetermined avatar to the on state. For example, when a specific event is held in the space part 70, for the avatar of the distribution user who attends as a distributor for the specific event, as the predetermined avatar, the control flag associated with the avatar may be set to the on state. Therefore, in this case, in the space part 70, basically, proximity / collision control between avatars is not executed, but for the predetermined avatar, proximity / collision control between avatars may be executed. Note that the distribution user may be treated as a general user in other space parts 70. In this way, when the user attribute changes dynamically, the set value (on / off state) of the control flag may be changed dynamically according to such dynamic changes.

[0154] As an opportunity to set the control flag associated with a predetermined avatar to the on state, in addition, the presence or absence of charging may be considered. For example, users who are charged by the operator in the real world may be given special treatment, or users who are charged with virtual currency in the virtual space may be given special treatment. As an example of special treatment, for the said predetermined avatar, the control flag may be set to the on state at any time and anywhere, or the control flag may be set to the on state at a predetermined date and time and location. Note that for the management-side users and the users who edit and publish a certain section in the virtual space, in order to avoid creating an immovable virtual space, the control flag may be set to the off state at all times or as needed so that they can move freely without colliding with the ground, walls, ceiling, etc. in the virtual space. Also, as will be described later, for avatars whose intimacy level is equal to or higher than the threshold intimacy level, the control flag is set to the off state. However, when a user issues, for example, "the right to sit on this couple's seat" as user-generated content (UGC), for users who are charging for this right as a charged item, the control flag may be set to the off state so that they have an authority or mode such as "off collision with others". Note that when a general user sets it as UGC, it may be possible to distribute profits between the UGC creator and other users. For example, special paid seats such as "throne" and "VIP seat" can be created, and 50% of the sales may be distributed to the platform (PF), which is the operator-side user, and 50% may be distributed to the UGC creator.

[0155] In step S2608, the server device 10 sets the control flag associated with the space unit 70 to the on state.

[0156] In step S2610, the server device 10 determines whether there is an avatar whose intimacy level is equal to or higher than the threshold intimacy level. If the determination result is "YES", the process proceeds to step S2612, and otherwise, the process proceeds to step S2614.

[0157] In step S2612, the server device 10 sets the control flag associated with avatars having an intimacy level equal to or higher than the threshold intimacy level (referred to as "between high-intimacy avatars" in FIG. 26) to the off state.

[0158] In step S2614, the server device 10 determines whether or not there are two or more avatars (referred to as "two or more avatars during a collective event" in FIG. 26) within the space unit 70 whose action attribute or operation mode is related to the action or operation for the collective event. If the determination result is "YES", the process proceeds to step S2616; otherwise, the process proceeds to step S2620.

[0159] In step S2616, the server device 10 sets the control flag associated with each of the two or more avatars whose action attribute or operation mode is related to the action or operation for the collective event to the off state.

[0160] In step S2620, the server device 10 acquires the position information of each avatar within the space unit 70 and the input of the movement operation from each user related to each avatar.

[0161] In step S2622, the server device 10 determines the movement pattern related to each avatar based on the position information and the input of the movement operation obtained in step S2620 and the value of the movement cost associated with each position within the space unit 70. Although FIG. 26 does not explain the dynamic change of the value of the movement cost, the value of the movement cost used in step S2622 may also be dynamically changeable as described above.

[0162] In step S2624, the server device 10 executes proximity / collision control between avatars based on the setting state of each control flag related to the space unit 70 and / or each avatar within the space unit 70 and the movement pattern related to each avatar determined in step S2622.

[0163] According to the process shown in FIG. 26 in this way, the control flag can be dynamically changed in various modes based on the values of various predetermined parameters such as the processing load of the server device 10 and the avatar density.

[0164] In the process shown in FIG. 26, as an example, when the avatar density in the space unit 70 is equal to or higher than the threshold density, the control flag associated with the space unit 70 is turned on so as not to become overcrowded. However, conversely, when the avatar density in the space unit 70 is equal to or higher than the threshold density, the control flag associated with the space unit 70 may be set to the off state for the purpose of reducing the processing load.

[0165] Also, in the process shown in FIG. 26, as an example, in step S2606, the server device 10 sets the control flag associated with the predetermined avatar to the on state so that no other avatar approaches the predetermined avatar too closely. However, in other examples, the server device 10 may set the control flag associated with the space unit 70 to the on state for the same purpose.

[0166] FIG. 27 is a schematic flowchart showing an example of proximity / collision control between avatars executed in step S2624 of FIG. 26. The process shown in FIG. 27 may be executed for one target avatar, and for other avatars, similar processes may be executed in parallel.

[0167] In step S2700, the server device 10 determines whether the control flag associated with the space unit 70 where the target avatar exists is in the on state. If the determination result is "YES", the process proceeds to step S2704, and otherwise, the process proceeds to step S2702.

[0168] In step S2702, the server device 10 determines whether the control flag associated with the target user is in the on state. If the determination result is "YES", the process proceeds to step S2704, and otherwise, the process proceeds to step S2712.

[0169] In step S2704, the server device 10 determines whether there are other avatars within a predetermined radius L1 centered on the position of the avatar. If the determination result is "YES", the process proceeds to step S2706; otherwise, the process proceeds to step S2712.

[0170] In step S2706, the server device 10 calculates the distance between the other avatar determined to exist in step S2704 and the target avatar (hereinafter, also simply referred to as the "distance between avatars"). When there are multiple other avatars, the distance between each other avatar and the target avatar (distance between avatars) is calculated.

[0171] In step S2708, the server device 10 determines whether the distance between avatars calculated in step S2706 is 0 less than or equal to a predetermined distance L. If the determination result is "YES", the process proceeds to step S2710; otherwise, the process proceeds to step S2712.

[0172] In step S2710, the server device 10 executes the above-described avoidance process according to the distance between avatars (≦predetermined distance L 0 ) between the other avatar and the target avatar. For example, the server device 10 may correct the movement mode related to each avatar determined in step S2622 of FIG. 26 and execute the above-described avoidance process.

[0173] In step S2712, the server device 10 realizes the movement of the target avatar without performing proximity / collision control between avatars on the target avatar. That is, the server device 10 may realize the movement mode related to each avatar determined in step S2622 of FIG. 26 as it is. In this case, the calculation process of the distance between avatars (step S2706), the determination process (step S2708), and the avoidance process (step S2710) become unnecessary, and the processing efficiency can be improved.

[0174] In this way, according to the process shown in FIG. 27, proximity / collision control between avatars related to each avatar can be efficiently realized according to the set value (on / off state) of the control flag.

[0175] Note that in the process shown in FIG. 27, the control flag that can be associated between avatars is not considered, but it is also possible to consider it. In this case, for the avatars associated with the on state of the control flag, the distance between the avatars is calculated, and when the distance between the avatars is less than or equal to a predetermined distance L 0 the following, a similar avoidance process may be executed.

[0176] Also, in the example shown in FIG. 27, as described above with reference to steps S2704 and S2706, by extracting other avatars within a predetermined radius L1, the number of other avatars for which the distance between the avatars is calculated is reduced, but such a process may be omitted.

[0177] Note that in the description of FIGS. 26 and 27, the case where the processing of each step is executed by the server device 10 has been described. However, as described above, the virtual reality generation system 1 (information processing system) according to the present embodiment may be realized by the server device 10 alone, or may be realized in cooperation with the server device 10 and one or more terminal devices 20. In the latter case, for example, various parameters of other avatars close to the avatars existing in the space part 70 to be drawn are transmitted from the server device 10 to the terminal device 20, and in the terminal device 20, proximity / collision control processing (step S2624) is executed using the received various parameters, and other avatars may be drawn based on each of the above IDs related to the appearance associated with each avatar ID. When drawing is performed on the terminal device 20 side, each object and the relationship with each object do not necessarily have to be drawn in the same way on each terminal device 20. That is, according to the settings of one user, only the terminal device 20 of the one user may have different drawing contents from other terminal devices 20. For example, for a certain object, the avatar related to one user may be set so as not to pass through, while other avatars may be set so as to pass through.

[0178] Although the above-described embodiments have been described in detail, the present invention is not limited to specific embodiments, and various modifications and changes are possible within the scope described in the claims. Further, it is also possible to combine all or a plurality of the constituent elements of the above-described embodiments.

[0179] For example, in the above description, regarding the proximity / collision control between avatars, not only the mode in which the control flag is turned on or off, but also while maintaining the control flag in the on state, a predetermined distance L 0 is increased, it is disclosed that the processing load related to the proximity / collision control between avatars (and accordingly the processing load of the server device 10) can be gradually reduced. However, instead of or in addition to increasing or decreasing the predetermined distance L 0 while maintaining the control flag in the on state, by dynamically changing the set value of other control parameters, it is also possible to dynamically change the processing load related to the proximity / collision control between avatars (and accordingly the processing load of the server device 10). In this case, the other control parameters may include the above-described predetermined radius L1. Further, the other control parameters may include parameters that define the method for calculating the distance between avatars. Specifically, as described above, the method for calculating the distance between avatars may be a first calculation method for calculating the distance between representative positions such as the centers of each avatar, or a second calculation method for calculating the shortest distance between virtual capsules covering each avatar. For the second calculation method, there are methods in which only one virtual capsule is set for one avatar, methods set for each part, and the like. In this case, by dynamically changing these calculation methods, it is also possible to dynamically change the processing load related to the proximity / collision control between avatars (and accordingly the processing load of the server device 10).

[0180] In the above-described embodiment, the data in the setting state storage unit 150, such as the on / off state of the control flag and the value of the movement cost, is automatically realized by the execution of the program by the server device 10. However, part or all of the data in the setting state storage unit 150 may be dynamically set (changed) based on the input from the user (for example, the user on the operation side and each general user).

[0181] The invention described in the claims of the original application of the present application at the time of filing is appended below. [Appendix 1] A setting change processing unit that dynamically changes at least one of the set values of the first control parameter for controlling the proximity or collision between a plurality of virtual reality media in a three-dimensional virtual space and the set value of the second control parameter for controlling the movable positions of the plurality of virtual reality media in the virtual space; A position control unit that controls the position or orientation of the plurality of virtual reality media based on the changed set value when the set value is changed by the setting change processing unit. An information processing system comprising: [Appendix 2] The plurality of virtual reality media includes a plurality of avatars, The first control parameter includes a control parameter for controlling the proximity or collision between the plurality of avatars, The information processing system further includes a predetermined parameter monitoring unit that monitors the value of a predetermined parameter related to the three-dimensional virtual space, The setting change processing unit dynamically changes the set value of at least one of the control parameters based on the monitoring result of the value of the predetermined parameter. The information processing system according to Appendix 1. [Appendix 3] The position control unit includes a first control processing unit that executes control related to the proximity or collision between the plurality of avatars based on the set value of the first control parameter and the position information of the plurality of avatars. The information processing system according to Appendix 2. [Appendix 4] When the first control processing unit executes control related to proximity or collision between the plurality of avatars, the first control processing unit executes determination processing related to proximity or collision between the plurality of avatars and avoidance processing for preventing proximity or collision from occurring based on the result of the determination processing. The information processing system according to Supplementary Note 3. [Supplementary Note 5] The predetermined parameter includes a first parameter representing or suggesting a processing load of information processing related to the three-dimensional virtual space. When the processing load is equal to or greater than a first predetermined threshold, the setting change processing unit dynamically changes a setting value of the first control parameter so that the first control processing unit is turned off. The information processing system according to Supplementary Note 3. [Supplementary Note 6] The predetermined parameter includes a second parameter representing or suggesting an intimacy level between the plurality of avatars. When the intimacy level is equal to or greater than a second predetermined threshold between two or more of the avatars, the setting change processing unit dynamically changes a setting value of the first control parameter so that the first control processing unit is turned off. The information processing system according to Supplementary Note 3. [Supplementary Note 7] The predetermined parameter includes a third parameter representing or suggesting an attribute of the plurality of avatars. When one of the avatars has a predetermined attribute, the setting change processing unit dynamically changes a setting value of the first control parameter so that the first control processing unit related to the one avatar is turned on or off. The information processing system according to Supplementary Note 3. [Supplementary Note 8] The predetermined parameter includes a fourth parameter representing or suggesting an action attribute or an operation mode of the plurality of avatars. When the action attribute or the operation mode is related to actions or operations of the plurality of avatars for a collective event, the setting change processing unit dynamically changes a setting value of the first control parameter so that the first control processing unit is turned off. The information processing system according to Supplementary Note 3. [Supplementary Note 9] The predetermined parameter includes a fifth parameter representing or suggesting an avatar density in a specific area. The setting change processing unit dynamically changes the set value of the first control parameter so that the first control processing unit is turned on in the specific region when the avatar density is equal to or greater than a third predetermined threshold value. The information processing system according to Supplementary Note 3. [Supplementary Note 10] The information processing system further includes a predetermined parameter monitoring unit that monitors the value of a predetermined parameter related to the three-dimensional virtual space. The plurality of virtual reality media includes a plurality of avatars and a plurality of objects in the virtual space. The first control parameter includes a control parameter for controlling proximity or collision between one of the avatars and one of the objects. The position control unit further includes a third control processing unit that executes control related to proximity or collision between the one object and the one avatar based on the set value of the first control parameter, the position information of the one object, and the position information of the one avatar. The predetermined parameter includes a sixth parameter that represents or suggests the input mode of a user associated with the one avatar. When the input mode is an input mode for constructing or editing the virtual space, the setting change processing unit dynamically changes the set value of the first control parameter so that the third control processing unit is turned off. The information processing system according to Supplementary Note 1. [Supplementary Note 11] The set value of the first control parameter includes a first set value that does not limit the distance between the plurality of avatars and a second set value that limits the distance between the plurality of avatars to be equal to or less than a predetermined distance. The information processing system according to Supplementary Note 4. [Supplementary Note 12] When the set value of the first control parameter is the first set value, the first control processing unit is turned off, and when the set value of the first control parameter is the second set value, the first control processing unit is turned on. The information processing system according to Supplementary Note 11. [Supplementary Note 13] The setting change processing unit sets the set value of the first control parameter in a manner that can be different for each of the plurality of avatars or for every two of the avatars, in the information processing system described in Supplementary Note 11. [Supplementary Note 14] The predetermined parameter includes a second parameter that represents or implies the intimacy between the plurality of avatars, The setting change processing unit sets the predetermined distance such that the higher the intimacy between the plurality of avatars, the smaller the predetermined distance, in the information processing system described in Supplementary Note 12 or 13. [Supplementary Note 15] The set value of the second control parameter is a cost value that determines the accessibility of the plurality of avatars to each position and includes cost values associated with a plurality of positions, The position control unit further includes a second control processing unit that controls the positions where the plurality of avatars can move by changing the accessibility of the plurality of avatars to each of the plurality of positions based on the cost value, in the information processing system described in Supplementary Note 2. [Supplementary Note 16] The setting change processing unit dynamically changes the cost value so that a matrix formed by the plurality of avatars is formed, in the information processing system described in Supplementary Note 15. [Supplementary Note 17] The predetermined parameter includes a fifth parameter that represents or implies the avatar density in a specific region, The setting change processing unit dynamically changes the cost value so that locations with a relatively high avatar density are more difficult for the plurality of avatars to pass through than locations with a relatively low avatar density, in the information processing system described in Supplementary Note 15. [Supplementary Note 18] Dynamically change at least one of the set value of the first control parameter for controlling the proximity or collision between a plurality of virtual reality media in a three-dimensional virtual space and the set value of the second control parameter for controlling the movable positions of the plurality of virtual reality media in the virtual space, An information processing method executed by a computer, including controlling the position or orientation of the plurality of virtual reality media based on the changed set value when the set value is changed. [Appendix 19] Dynamically changing at least one of the set value of the first control parameter for controlling proximity or collision between a plurality of virtual reality media in a three-dimensional virtual space and the set value of the second control parameter for controlling the movable positions of the plurality of virtual reality media in the virtual space, and controlling the position or orientation of the plurality of virtual reality media based on the changed set value when the set value is changed A program for causing a computer to execute the process.

Explanation of Signs

[0182] 1 Virtual reality generation system 3 Network 10 Server device 11 Server communication unit 12 Server storage unit 13 Server control unit 20 Terminal device 21 Terminal communication unit 22 Terminal storage unit 23 Display unit 24 Input unit 25 Terminal control unit 70 Space unit 71 Free space unit 73 Passage area 150 Setting state storage unit 152 User information storage unit 154 Avatar information storage unit 160 Operation input acquisition unit 170 Setting change processing unit 172 Position control unit 1721 First control processing unit 1722 Second control processing unit 1723 Third control processing unit 180 Predetermined parameter monitoring unit 181 First parameter monitoring unit 182 Second Parameter Monitoring Unit 183 Third Parameter Monitoring Unit 184 Fourth Parameter Monitoring Unit 185 Fifth Parameter Monitoring Unit 186 Sixth Parameter Monitoring Unit

Claims

1. A setting change processing unit that dynamically changes at least one of the set values of a first control parameter for controlling proximity or collision between a plurality of virtual reality media in a three-dimensional virtual space and a set value of a second control parameter for controlling the movable positions of the plurality of virtual reality media in the virtual space; A position control unit that controls the position or orientation of the plurality of virtual reality media based on the changed set value when the set value is changed by the setting change processing unit, The plurality of virtual reality media includes a plurality of avatars, The setting change processing unit dynamically changes the set value of the first control parameter so that a first control process for executing control related to proximity or collision between the plurality of avatars in the position control unit is turned off when the processing load of information processing related to the three-dimensional virtual space is equal to or greater than a first predetermined threshold value. An information processing system.

2. A setting change processing unit that dynamically changes at least one of the set values of a first control parameter for controlling proximity or collision between a plurality of virtual reality media in a three-dimensional virtual space and a set value of a second control parameter for controlling the movable positions of the plurality of virtual reality media in the virtual space; A position control unit that controls the position or orientation of the plurality of virtual reality media based on the changed set value when the set value is changed by the setting change processing unit, The plurality of virtual reality media includes a plurality of avatars, The setting change processing unit dynamically changes the set value of the first control parameter so that a first control process for executing control related to proximity or collision between the plurality of avatars in the position control unit is turned off for two or more of the avatars whose intimacy between the plurality of avatars is equal to or greater than a second predetermined threshold value. An information processing system.

3. A setting change processing unit that dynamically changes at least one of the set values of a first control parameter for controlling proximity or collision between a plurality of virtual reality media in a three-dimensional virtual space and a set value of a second control parameter for controlling the movable positions of the plurality of virtual reality media in the virtual space; A position control unit that controls the position or orientation of the plurality of virtual reality media based on the changed set value when the set value is changed by the setting change processing unit, The plurality of virtual reality media include a plurality of avatars, The setting change processing unit dynamically changes the set value of the first control parameter so that when one of the plurality of avatars has a predetermined attribute, the first control process related to proximity or collision between the plurality of avatars in the position control unit related to the one avatar is turned on or off. An information processing system.

4. A setting change processing unit that dynamically changes the set value of at least one of the set value of the first control parameter for controlling proximity or collision between a plurality of virtual reality media in a three-dimensional virtual space and the set value of the second control parameter for controlling the movable positions of the plurality of virtual reality media in the virtual space, A position control unit that controls the position or orientation of the plurality of virtual reality media based on the changed set value when the set value is changed by the setting change processing unit, The plurality of virtual reality media include a plurality of avatars, The setting change processing unit dynamically changes the set value of the first control parameter so that the first control process related to proximity or collision between the plurality of avatars in the position control unit is turned off when the action attributes or operation modes of the plurality of avatars are related to the actions or operations of the plurality of avatars for a collective event. An information processing system.

5. A setting change processing unit that dynamically changes the set value of at least one of the set value of the first control parameter for controlling proximity or collision between a plurality of virtual reality media in a three-dimensional virtual space and the set value of the second control parameter for controlling the movable positions of the plurality of virtual reality media in the virtual space, A position control unit that controls the position or orientation of the plurality of virtual reality media based on the changed set value when the set value is changed by the setting change processing unit, The plurality of virtual reality media include a plurality of avatars, When the avatar density in a specific area is equal to or higher than a third predetermined threshold, the setting change processing unit dynamically changes the set value of the first control parameter so that the first control process for controlling proximity or collision between the plurality of avatars in the position control unit in the specific area is turned on. An information processing system.

6. Dynamically change the set value of at least one of the set value of the first control parameter for controlling proximity or collision between a plurality of virtual reality media in a three-dimensional virtual space and the set value of the second control parameter for controlling the movable positions of the plurality of virtual reality media in the virtual space, When the set value is changed, it includes controlling the position or orientation of the plurality of virtual reality media based on the changed set value. The plurality of virtual reality media include a plurality of avatars. When the processing load of information processing related to the three-dimensional virtual space is equal to or higher than a first predetermined threshold, the set value of the first control parameter is dynamically changed so that the first control process for controlling proximity or collision between the plurality of avatars is turned off. An information processing method executed by a computer.

7. Dynamically change the set value of at least one of the set value of the first control parameter for controlling proximity or collision between a plurality of virtual reality media in a three-dimensional virtual space and the set value of the second control parameter for controlling the movable positions of the plurality of virtual reality media in the virtual space, When the set value is changed, control the position or orientation of the plurality of virtual reality media based on the changed set value. The plurality of virtual reality media include a plurality of avatars. When the processing load of information processing related to the three-dimensional virtual space is equal to or higher than a first predetermined threshold, the set value of the first control parameter is dynamically changed so that the first control process for controlling proximity or collision between the plurality of avatars is turned off. A program that causes a computer to execute the process.

8. Dynamically change the set value of at least one of the set value of the first control parameter for controlling proximity or collision between a plurality of virtual reality media in a three-dimensional virtual space and the set value of the second control parameter for controlling the movable positions of the plurality of virtual reality media in the virtual space, When the set value is changed, controlling the position or orientation of the plurality of virtual reality media based on the changed set value, The plurality of virtual reality media include a plurality of avatars, An information processing method executed by a computer, wherein the set value of the first control parameter is dynamically changed so that a first control process for controlling proximity or collision between the plurality of avatars is turned off for two or more of the avatars whose intimacy between the plurality of avatars is equal to or greater than a second predetermined threshold.

9. Dynamically changing the set value of at least one of the set value of the first control parameter for controlling proximity or collision between a plurality of virtual reality media in a three-dimensional virtual space and the set value of the second control parameter for controlling the movable positions of the plurality of virtual reality media in the virtual space, When the set value is changed, controlling the position or orientation of the plurality of virtual reality media based on the changed set value, The plurality of virtual reality media include a plurality of avatars, A program that causes a computer to execute a process of dynamically changing the set value of the first control parameter so that a first control process for controlling proximity or collision between the plurality of avatars is turned off for two or more of the avatars whose intimacy between the plurality of avatars is equal to or greater than a second predetermined threshold.

10. Dynamically changing the set value of at least one of the set value of the first control parameter for controlling proximity or collision between a plurality of virtual reality media in a three-dimensional virtual space and the set value of the second control parameter for controlling the movable positions of the plurality of virtual reality media in the virtual space, When the set value is changed, including controlling the position or orientation of the plurality of virtual reality media based on the changed set value, The plurality of virtual reality media include a plurality of avatars, An information processing method executed by a computer, wherein when one of the plurality of avatars has a predetermined attribute, the set value of the first control parameter is dynamically changed so that a first control process for controlling proximity or collision between the plurality of avatars related to the one avatar is turned on or off.

11. A set value of a first control parameter for controlling proximity or collision between a plurality of virtual reality media in a three-dimensional virtual space, and a set value of a second control parameter for controlling movable positions of the plurality of virtual reality media in the virtual space, at least one of the set values of the control parameters is dynamically changed, when the set value is changed, based on the changed set value, the positions or orientations of the plurality of virtual reality media are controlled, the plurality of virtual reality media includes a plurality of avatars, a program that causes a computer to execute a process of dynamically changing a set value of the first control parameter so that when one of the plurality of avatars has a predetermined attribute, a first control process for executing control related to proximity or collision between the plurality of avatars related to the one avatar is turned on or off.

Citation Information

Patent Citations

  • Object movement control system, object movement control method, server and computer program

    JP2009230442A

  • Program, information storage medium and user terminal

    JP2012018569A

  • Information processing system, information processing program, information processor, and information processing method

    JP2018102931A

  • Display control device, display control method, and display system

    JP2021068269A

  • Information processing system, information processing method, and information processing program

    JP2022085903A