Information processing device, information processing method, and program
The information processing device allows controlled object duplication in virtual spaces by replacing constraint objects with substitutes, addressing the challenge of user convenience and social activity balance.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- MIXI INC
- Filing Date
- 2026-01-27
- Publication Date
- 2026-06-18
AI Technical Summary
In virtual spaces, users face difficulties in selecting and replicating objects they like due to constraints, which can impair social activities if unrestricted replication is allowed.
An information processing device that generates a second object by replacing constraint objects with substitute objects based on replication constraints, allowing controlled duplication within virtual spaces.
Enables objects in virtual spaces to be duplicated while respecting constraints, balancing user convenience and social activity integrity.
Smart Images

Figure 2026099792000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to an information processing apparatus, an information processing method, and a program.
Background Art
[0002] Today, on the Internet, a virtual space (hereinafter referred to as "virtual space") in which social activities similar to the real world are possible has been constructed through an object that is the user's avatar (hereinafter referred to as "user object").
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] Even in the virtual space, there are times when you want to reflect popular clothes, items, etc. on your own user object, just like in the real world. However, on the menu screen used to create a user object, it is not always possible to select the clothes, items, etc. of other user objects that you like in the virtual space. In addition, the task of opening the menu screen and searching for similar clothes and items places a burden on the user.
[0005] To reduce such inconveniences and burdens, object replication is effective, but if free replication of objects is permitted, it may impair social activities in the virtual world. Therefore, there is a need for a virtual space that balances object protection and user convenience.
[0006] An object of the present invention is to make it possible to replicate an object existing in a virtual space according to its constraints.
Means for Solving the Problems
[0007] An information processing device according to one embodiment of the present invention has a processor, and when a first object including a plurality of partial objects in a virtual space is designated as the target of replication, and a portion of the plurality of partial objects includes a plurality of constraint objects to which information on replication constraints is attached, and the content of the information on replication constraints corresponding to the constraint objects is set to allow replication by replacing with substitute objects, the processor acquires the information on replication constraints for the constraint objects, generates a second object based on the first object in which each of the plurality of constraint objects is replaced with a substitute object, and places it in the virtual space. [Effects of the Invention]
[0008] According to one embodiment of the present invention, objects existing in a virtual space can be made duplicable according to their constraints. [Brief explanation of the drawing]
[0009] [Figure 1] This figure shows an example configuration of the information processing system according to Embodiment 1. [Figure 2] This figure shows an example of the hardware configuration of a virtual space management server and user terminals that constitute an information processing system. [Figure 3] This figure shows an example of the functional configuration of a virtual space management server. [Figure 4] This diagram illustrates an example of a table for managing object data. [Figure 5] This figure shows an example of data related to structure. [Figure 6] This figure shows an example of data related to attributes. [Figure 7] This figure shows an example of the functional configuration of a user terminal. [Figure 8] This flowchart illustrates an example of the processing operations performed by the processor of the virtual space management server. [Figure 9] This is a diagram illustrating an example of a virtual space. [Figure 10] This diagram illustrates replication when no replication constraints are imposed on the sub-objects that make up the first object. (A) shows the state where the hat object is selected as the target of replication, and (B) shows the state where the hat object created by replication is attached to the head of the user object, which is the destination of the replication. [Figure 11] This diagram illustrates another example of duplication when no duplication constraints are imposed on the subobjects that make up the first object. (A) shows the state where a duplication of the first object is selected, and (B) shows the state where the second object, which is a duplication of the first object, has been pasted. [Figure 12] This diagram illustrates a copy example where the logo object, which is part of the hat object, has copy restrictions, and the user instructing the copy does not have the permission to copy it. (A) shows the hat object as the first object, and (B) shows the hat object as the second object. [Figure 13] This diagram illustrates an example of copying a logo object, which is part of the hat object, even though there are restrictions on copying it, provided the user has permission to copy it. (A) shows the hat object as the first object, and (B) shows the hat object as the second object. [Figure 14] This diagram illustrates other examples of duplication where the logo object, which is part of the hat object, has duplication restrictions and the user instructing the duplication does not have the authority to do so. (A) shows the hat object as the first object, and (B) and (C) show the hat object as the second object. [Figure 15] This diagram illustrates other replication examples where the main body object, which is a part of the hat object, has replication restrictions, and the user instructing the replication does not have the permission to replicate. (A) shows the hat object as the first object, and (B) and (C) show the hat object as the second object. [Figure 16]This diagram illustrates other examples of duplication where the logo object, which is part of the hat object, has duplication restrictions and the user instructing the duplication does not have the authority to do so. (A) shows the hat object as the first object, and (B) and (C) show the hat object as the second object. [Figure 17] This diagram illustrates other examples of duplication where the main body, which is part of the hat object, has duplication restrictions, and the user instructing the duplication does not have the permission to do so. (A) shows the hat object as the first object, and (B) and (C) show the hat object as the second object. [Figure 18] This diagram illustrates other duplication examples where the display color of the logo, which is part of the hat object, changes over time, and where the user instructing the duplication does not have the authority to do so. (A) shows the hat object as the first object, and (B) shows the hat object as the second object. [Figure 19] This diagram illustrates other examples of duplication when two identical duplication constraints are applied to a single object. (A) shows the hat object as the first object, and (B) to (D) show the hat object as the second object. [Figure 20] This diagram illustrates an example of a copy operation when two objects, including constraints on copying, are designated for batch copying. (A) shows the hat object as the first object, and (B) shows the hat object as the second object. [Figure 21] This diagram illustrates another example of duplication when two objects, including duplication constraints, are designated for batch duplication. (A) shows the hat object as the first object, and (B) shows the hat object as the second object. [Figure 22]It is a diagram for explaining an example of object replication according to the number of generations of replication. (A) is an object when the number of generations of replication is "0", (B) is an object when the number of generations of replication is "1", (C) is an object when the number of generations of replication is "2", (D) is an object when the number of generations of replication is "3", and (E) is an object when the number of generations of replication is "4" or more. [Figure 23] It is a diagram for explaining an example of object replication according to the number of replications. (A) is an object when the number of replications is "0", (B) is an object when the number of replications is "1", (C) is an object when the number of replications is "2", (D) is an object when the number of replications is "3", and (E) is an object when the number of replications is "4". [Figure 24] It is a diagram for explaining an example of managing the number of replications in units of the replication source. [Figure 25] It is a diagram for explaining object replication when there is an object serving as the replication source in a place for the purpose of free exchange of objects. (A) shows the case where a constrained object exists in the free space, and (B) shows the replication of the object within the free space. [Figure 26] It is a diagram for explaining another example of object replication when there is an object serving as the replication source in a place for the purpose of free exchange of objects. (A) shows the case where a constrained object exists in the free space, and (B) shows the state where the user's object is replicated in the free space. [Figure 27] It is a diagram for explaining another example of object replication when there is an object serving as the replication source in a place for the purpose of free exchange of objects. (A) shows the case where a constrained object exists in the free space, and (B) shows the state where the user's object is replicated in the free space. [Figure 28] It is a diagram for explaining an example of notification to a user who has instructed constrained replication. (A) shows an example of notification to the user who instructs replication, and (B) shows an example of the content to be notified. [Figure 29] This diagram illustrates an example of a notification to a user with restrictions on copying. (A) shows an example of a notification to a user with restrictions, and (B) shows an example of the content of the notification. [Figure 30] This figure shows an example of a user interface that allows adding replication constraints to an object. [Figure 31] This diagram illustrates an example where the instructions for duplication and the execution of duplication differ. (A) shows an example of displaying the gift option, (B) shows an example of executing duplication as a gift, and (C) shows an example of adjusting the position of the duplicated bag. [Figure 32] This figure shows an example configuration of the information processing system according to Embodiment 2. [Figure 33] This diagram illustrates an example where the display of a duplicated object differs depending on the user who instructs the duplication process. [Modes for carrying out the invention]
[0010] Embodiments of the present invention will be described below with reference to the drawings. The embodiments described below are examples of the present invention, and the technical scope of the present invention is not limited to the scope described in the embodiments described below. For example, it is clear from the claims that embodiments with various modifications or improvements are also included in the technical scope of the present invention.
[0011] <Terminology> First, let's explain the terminology used in the embodiments. "Virtual space" refers to a virtual world or space constructed using computer technology. The virtual space described in the embodiments is not limited to cases where it is constructed as a VR (=Virtual Reality) space. Furthermore, this may include Augmented Reality (AR) spaces that extend the real world, and Mixed Reality (MR) spaces that merge with the real world. The virtual space can also reflect real-world location information. In addition, the virtual space may be assigned computer-defined spatial coordinate information, and the positional relationships between objects existing within the virtual space may be understood.
[0012] The virtual space described in the embodiments is primarily assumed to be provided via network communication. More specifically, the virtual space refers to a space or service that can be used by a user operating a terminal connected to a network. However, this does not mean that virtual spaces provided on terminals operating offline are excluded. For example, a virtual space provided to a user through an application running on an offline terminal is also one embodiment of the present invention.
[0013] Specific examples of virtual spaces include virtual spaces designed for games, virtual spaces that faithfully reproduce the real world, and virtual spaces where social activities similar to those in the real world are possible. Examples of virtual spaces that faithfully reproduce the real world include cityscapes, commercial facilities, showrooms, offices, event venues, and schools. Examples of social activities similar to those in the real world include communication such as conversations and meetings. Virtual spaces can be constructed as two-dimensional spaces or three-dimensional spaces.
[0014] An "object" refers to a physical object that exists in a virtual space. An object can also be defined as a collection of multiple objects. However, natural objects do not exist in a virtual space. For this reason, a user's avatar in a virtual space (i.e., the user's object), as well as dogs, cats, and other animals, are examples of objects. When referring to a user's object as a separate object, it is called a character image or avatar. Objects include not only objects that mimic movable property but also objects that mimic immovable property. Movable property includes, for example, clothing, hats, shoes, bags, and accessories that a user's object might wear. Immovable property includes land, buildings, etc., that make up the townscapes, etc., that constitute a virtual area. Furthermore, objects also include game media. Game media refers to electronic data that is easily used in games, and includes, for example, cards, items, game currency, tickets, characters, avatars, and any other media.
[0015] Some objects are subject to manipulation by user U within the virtual space. Examples of operations include purchase, use, copy, and move. Purchase refers to a state where the ownership of an object is transferred to another user or usage rights are established, for example, through payment with fungibility tokens. Use refers to a state where operations on an object are permitted within the virtual space under predetermined conditions.
[0016] "Duplicating" refers to creating a new object in the virtual space based on the original object, separate from the original object. For example, creating a new object in the same virtual space where the original object exists. There are two types of duplication: a narrow definition where an identical object is newly created, and a broad definition where an object containing different parts is newly created. Specific examples of duplication will be discussed later. "Moving" refers to changing the position of an object in the virtual space. In the case of moving, no new object is created. In the embodiment, an object may be defined as a two-dimensional object or a three-dimensional object.
[0017] "Object data" consists of, for example, information about structure and information about attributes. "Information about structure" includes, for example, the type of object, surface shape, surface pattern, color, transmittance, reflectance, and material. However, these are just examples. Information about structure does not need to include all the information exemplified. In the embodiment, the object uses the type of object, surface shape, surface pattern or design, and color as information about structure. It is also possible to include information such as size, weight, and other information as information about structure.
[0018] "Attribute information" includes, for example, the date and time the attribute was created, the date and time the object was placed in the virtual space, information about the user who created the object, information about the user who placed the object in the virtual space, information about the user who manages the object in the virtual space, information about replication constraints, the number of replications, and the number of replication generations. Attribute information may be integrated with the object's data or it may be managed in the virtual space.
[0019] Some information about the structure of an object is linked to a non-fungible token (NFT) and managed on a distributed ledger on the blockchain. A "non-fungible token" is a unique and irreplaceable unit of data recorded on the blockchain. Fungible tokens (FTs) include crypto assets used for settlements in virtual space. Fungible tokens lack uniqueness as assets; tokens with the same number are treated as having the same value. Fungible tokens are used for transactions within virtual space.
[0020] In the following, an object designated in the virtual space as the target of duplication will be referred to as the "first object." Methods for designating a first object include, for example, tapping or clicking on any part of the object, or drawing a box around the entire object. First objects can be either objects with duplication restrictions or objects without duplication restrictions. First objects without duplication restrictions can be freely duplicated.
[0021] The "replication constraints" here define the conditions for the replication of a specific sub-object among the multiple objects (hereinafter also referred to as "sub-objects") that constitute the first object designated for replication. The replication of the first object described in the embodiment is performed based on these replication constraints. Hereafter, the object generated based on the first object will be referred to as the "second object".
[0022] The second object is an example of a copy of the first object. The second object consists of a sub-object that is identical to the original first object and a sub-object that is different from the original first object. The former second object is an object that has the same appearance as the first object. In the embodiments described later, the second object includes an object that is similar in shape to the first object. For example, if the first object is clothing, clothing of different sizes generated by the copy is treated as an example of a second object.
[0023] The latter, the second object, is an object whose structural information differs from that of the first object in at least some respects. In other words, the second object is an object whose structural information differs from that of the first object from which it was copied. The second object is generated according to the copying constraints imposed on the first object. Here, "constraints" include information that identifies the constrained subobject, the content of the constraints, the conditions under which the constraints are enforced, etc.
[0024] "Information identifying a partial object" includes, for example, pixel or voxel information that identifies a part of the first object specified by user U who has permission to copy, and identifiers that identify the partial object as a component. "Content of constraints" includes, for example, prohibition of copying, prohibition of display, change to another shape, change to another color, change to another pattern, and deletion of time information.
[0025] The prohibition of duplication means that the data of a specified sub-object is not to be transferred. For example, if the sub-object is a "logo," the second object will not inherit the logo's data. For example, the logo object may be replaced with an object defined by the logo's background color and pattern.
[0026] Display prohibition means that while the data of the identified sub-object is allowed to be transferred, its display in the virtual space is replaced by another sub-object. In other words, the identified sub-object is displayed hidden by another sub-object. For example, if the sub-object is a "logo," the second object will display the logo as a sub-object hidden by the background color or pattern.
[0027] Changing to a different shape means that the shape of the duplicated sub-object will be different from the shape of the original object. Changing to a different color means that the color of the duplicated sub-object will be different from the color of the original object. Changing to a different pattern means that the pattern of the duplicated sub-object will be different from the pattern of the original object. Deleting time information means deleting time information related to shape, color, pattern, etc. By deleting time information, characteristic time changes of shape, color, pattern, etc. will no longer be duplicated.
[0028] "Constraint execution conditions" include, for example, whether or not the user has the necessary permissions for copying. For example, if the user who instructed the copying of the first object has the permission to copy the first object or a specific sub-object, then the constraint on copying will be invalidated. If the user who instructed the copying of the first object does not have the permission to copy the first object or a specific sub-object, then additional conditions may need to be met for the constraint to be executed.
[0029] Additional conditions include, for example, receiving notifications and responses to the user who instructed the replication of the first object, receiving notifications and responses to the user who imposed constraints, selection criteria for sub-objects that satisfy the content of the constraints, switching the content of constraints depending on the location and user to which the first object is associated, switching the content of constraints depending on the location and user to which the second object is associated, conditions specific to cases where a single first object contains multiple constraints, conditions specific to cases where multiple first objects are selected for replication, and switching the content of constraints depending on the number of replication generations and the number of replications. Specific examples of these will be discussed later.
[0030] In the following, sub-objects of the second object that are not subject to constraints will be referred to as "unconstrained objects," and sub-objects that are subject to constraints will be referred to as "constrained objects." The first object may consist only of unconstrained objects, or it may consist of both unconstrained and constrained objects.
[0031] The user who has the authority to use or copy the first object determines, for example, which parts of the first object are unconstrained and which are constrained. A second object created from a first object composed solely of unconstrained objects will consist solely of unconstrained objects. On the other hand, a second object created from a first object composed of both unconstrained and constrained objects will consist of unconstrained objects and substitute objects.
[0032] An "alternative object" is an object that replaces a constraint object when the first object is duplicated, and it differs from the constraint object in at least some of its structural information. Specifically, an alternative object differs from the constraint object in at least one of its structural information, such as surface shape, surface pattern, or color. However, the difference between the alternative object and the constraint object must be visually identifiable. Therefore, objects that differ by only one pixel or one voxel are excluded from being alternative objects. Objects with different internal shapes, etc., are also excluded from being alternative objects if the difference cannot be observed externally.
[0033] In addition, objects similar to the constraint object are excluded from the alternative objects. For example, objects whose area or dimensions have changed by only about 10% from the constraint object are excluded from the alternative objects. However, if the area or dimensions become one-tenth or double, it will give the user U observing the object a different impression from the constraint object. It may be used as an alternative object when providing an image or when combining it with an unconstrained object to give a different impression than the first object.
[0034] The same applies when the color or pattern differs. Generally, changes in color or pattern are likely to give a different impression to user U. However, changes to similar colors, or slight changes in saturation or brightness, may not change user U's impression. Similarly, slight changes in the pattern defining the design, or slight changes in the density of the pattern defining the design, may not change user U's impression. For this reason, in the embodiments described later, objects that have been modified in this way to the constraint object are excluded from the alternative objects. It should be noted that objects that are replaced by the background or surrounding color or pattern of the constraint object can also be considered an example of an alternative object from a different perspective.
[0035] Constraint information includes, for example, information identifying which of the multiple sub-objects constituting the first object will be replaced by the substitute object, the type of constraint, the content of the constraint, how the original data will be handled, notifications to users associated with the constraint, and information to assist the user's actions in instructing replication. Furthermore, if attribute information is managed separately from the object data, it will include information for accessing the constraint information.
[0036] Furthermore, the first object may contain more than one constraint object. Incidentally, the constraints on replication that were attached to the first object are also inherited by the second object. Therefore, if the second object created from the first object is the source of replication (i.e., the first object), the substitute objects that make up the second object become new constraint objects. However, it is also possible to set it so that the replication constraints are not inherited from the first object to the second object.
[0037] <Embodiment 1> <System> Figure 1 is a diagram showing an example configuration of an information processing system 1A according to Embodiment 1. The information processing system 1A shown in Figure 1 includes a virtual space management server 10, a plurality of user terminals 20, and a network N that connects them in a communicative manner. The network N here can be, for example, the Internet, LAN (=Local Area Network), or a mobile communication system such as 4G or 5G. Note that the network N may be a wired network or a wireless network.
[0038] The virtual space management server 10 is a server that manages information about objects existing in the virtual space and information about users U who participate in the virtual space. The object information includes, for example, information about the location of objects in the virtual space, as well as the structure and attribute information mentioned above. The user U information includes, for example, the account that identifies the user U participating in the virtual space, as well as permissions related to replication and a history of replication operations.
[0039] For example, user account information may include information such as a number that identifies the user's account, a password, permission information for services available in the virtual space (online shopping, games, etc.), information about the device the user uses to access the virtual space, the user's email address, phone number, credit card information, cryptocurrency wallet address information, SNS (Social Networking Service) account information, linked SNS information, linked chat apps, identity verification ID (Identifier) information (age, nationality, address, gender, date of birth, etc.), and biometric authentication information (fingerprint, voiceprint, face, etc.). Users interact with the virtual space by entering this account information from their device to access services provided by the server. This account information may be used to determine the application of restrictions regarding object constraints.
[0040] The virtual space management server 10 consists of one or more computers. The virtual space management server 10 is an example of an information processing device. The user terminal 20 is a terminal operated by user U who participates in the virtual space. User terminals 20 can be, for example, head-mounted terminals (so-called headsets), glasses-type terminals (so-called smart glasses), smartphones, tablet terminals, notebook or desktop computers, or game terminals. The user terminal 20 is equipped with communication capabilities with network N.
[0041] <Terminal Hardware Configuration> Figure 2 shows an example of the hardware configuration of the virtual space management server 10 and user terminal 20 that constitute the information processing system 1A. <Hardware Configuration of Virtual Space Management Server> The virtual space management server 10 shown in Figure 2 has a processor 101 that controls the operation of the entire terminal, a ROM (Read Only Memory) 102 in which the BIOS (Basic Input Output System), etc. are stored, a RAM (Random Access Memory) 103 used as the work area of the processor 101, an auxiliary storage device 104, and a communication interface 105. The processor 101 and each device are connected via buses and other signal lines.
[0042] The processor 101 is a device that realizes various functions through the execution of programs, and is composed of, for example, a CPU (=Central Processing Unit), an MPU (=Micro Processing Unit), a GPU (=Graphics Processing Unit), and a DSP (=Digital Signal Processor). The auxiliary storage device 104 is, for example, a hard disk drive or semiconductor storage. In addition to programs, the auxiliary storage device 104 stores data for managing the virtual space, etc. The term "program" is used as a general term for the OS (=Operating System) and application programs. The communication interface 105 is a device that enables communication with external terminals such as the user terminal 20.
[0043] <Hardware Configuration of User Terminal> The user terminal 20 shown in Figure 2 includes a processor 201 that controls the operation of the entire terminal, a ROM 202 that stores the BIOS and the like, a RAM 203 used as the work area of the processor 201, an auxiliary storage device 204, an input receiving device 205, a display 206, a microphone 207, a speaker 208, and a communication interface 209. The processor 201 and each device are connected via buses and other signal lines. In addition, the user terminal 20 may have functions to acquire location information and functions to transmit location information. For example, GPS (=Global Positioning System) or communication information may be used.
[0044] The processor 201 is a device that realizes various functions through program execution, and is composed of, for example, a CPU, MPU, GPU, and DSP. It may also be composed of multiple processors. The auxiliary storage device 204 is, for example, a hard disk drive or semiconductor storage. In addition to programs, the auxiliary storage device 204 stores data in the virtual space that the user U can see. The term "program" is used as a general term for the OS and application programs.
[0045] The input receiving device 205 consists of devices that accept input from, for example, a mouse, a directional pad, a joystick, a keyboard, a capacitive touch sensor, and a camera. For example, if the user terminal 20 is a notebook or desktop computer, the input receiving device 205 accepts mouse input. For example, if the user terminal 20 is a smartphone or tablet computer, the input receiving device 205 accepts input from a capacitive touch sensor.
[0046] For example, if the user terminal is a game console, the input device 205 accepts operations via a directional pad, joystick, physical buttons, or capacitive touch sensors. For example, if the user terminal 20 is a head-mounted or glasses-type device, the input receiving device 205 accepts operations such as the user U's gestures, head and neck movements, gaze, blinking, and pupil state through processing images captured by a camera that images the user U, and values detected by sensors (LiDAR (=Light Detection And Ranging), gyro sensors, accelerometers, infrared reflection, etc.). Of course, the input receiving device is not limited to the above-mentioned devices; it may be replaced with user interface technology that can understand the user's intentions, state, and emotions and reflect them in the operation of the device. For example, a user interface that utilizes biometric information may also be used. Biometric information includes, at least as an example, sweat, pulse, heart rate, blood flow, pulse wave, electromyography, electroencephalography, etc.
[0047] The display 206 may be, for example, a liquid crystal display, an organic EL (=Electro-Luminescence), or an aerial display. If the user terminal 20 is a head-mounted terminal or a glasses-type terminal, for example, the light output from the display 206 is guided through a light guide member to the front of the user U's eyeball, and then imaged onto the user U's retina by a diffraction grating or a half mirror.
[0048] Microphone 207 is a device that converts sounds from the surrounding environment of user U in the real world, as well as the voice of user U, into digital data. Speaker 208 is a device that plays back the voices of other users U conversing in the virtual space. Communication interface 209 is a device that enables communication with external terminals such as the virtual space management server 10.
[0049] <Terminal Functional Configuration> Figure 3 shows an example of the functional configuration of the virtual space management server 10.
[0050] <Functional Configuration of the Virtual Space Management Server> The virtual space management server 10 shown in Figure 3 has multiple functional units. Specifically, the virtual space management server 10 has a storage unit 111, a transmitting / receiving unit 112, a generation unit 113, a receiving unit 114, a constraint processing unit 115, and a display control unit 116. These functional units are realized through the cooperation of the hardware of the virtual space management server 10 and the program. When the virtual space management server 10 is configured with multiple devices, the above-mentioned multiple functional units are realized through the cooperation of multiple terminals.
[0051] The memory unit 111 is implemented by a processor 101 (see Figure 2) and an auxiliary storage device 104 (see Figure 2). The memory unit 111 stores, for example, data of objects existing in the virtual space, data identifying user U participating in the virtual space, and a history of user U's activities performed in the virtual space in the auxiliary storage device 104.
[0052] Figure 4 illustrates an example of a table for managing object data. The table in Figure 4 records the object ID, coordinates indicating its position in virtual space, an ID for structure information, and an ID for attribute information. For example, the object ID "0001" records the coordinates (x1, y1, z1), the structure information ID "ST1", and the attribute information ID "AT1". In Figure 4, for the sake of drawing convenience, the structure information ID and the attribute information ID are linked to the object ID, but it is also possible to link the structure information as shown in Figure 5 and the attribute information as shown in Figure 6.
[0053] Figure 5 shows an example of data related to structure. Figure 5 records information such as the structure ID, object type, shape, pattern, color, texture, and constraint objects. The structure ID here is part of the items that make up the table shown in Figure 4. Figure 5 includes examples of "types," such as hats, jackets, bags, coats, and watches.
[0054] The types shown in Figure 5 are intended to represent items that a user's object might wear, but in reality, they describe all types of items that exist in the virtual space. These types are used, for example, when creating a second object from a first object, to maintain the identity of the first and second objects as items.
[0055] For "Shape," "Pattern," and "Color," data files representing the object's shape, pattern, and color are recorded, respectively. However, it is also acceptable to record only one data file for each object. In that case, the pixels or voxels that define the object's shape are modeled after the object. Data on appearance and color are linked and recorded. For "texture," a data file representing the appearance and feel of the surface of an item is recorded. Examples of textures include "sparkly," "shiny," "silky," and "rough." In addition, information on the dimensions and weight of the entire object is also linked to the ID of the structural information. In the case of Figure 5, "Constraint Object A" is recorded in the constraint object of the ST1 object, and "Constraint Object B" is recorded in the constraint object of the ST2 object.
[0056] Figure 6 shows an example of attribute information data. Figure 6 records the attribute information ID, the object's user, whether or not there are replication constraints, the content of the replication constraints, the replication history, the number of replication generations, etc. Note that multiple constraints may be recorded for a single object. For example, two constraints may be recorded for a single object. The attribute information ID here is part of the items that make up the table shown in Figure 4. Figure 6 shows "User A," "User B," etc., as an example of "User."
[0057] The term "user" here includes operators of virtual spaces, operators of stores within virtual spaces, creators of objects, users with usage rights, current owners, and others. While Figure 6 shows only one item related to users, multiple items corresponding to the example user information may be included. Furthermore, information for multiple users may be included within multiple user-related items. For example, information for both the object creator and the user with usage rights may be managed under a single item.
[0058] In Figure 6, "Presence or Absence of Restrictions on Replication" is recorded as "Yes" or "No." The content of the restrictions on replication is described in "Content of Restrictions on Replication." When the first object is instructed to be replicated, the second object will be created according to the content described in this section. While the content of the restrictions may be freely described by the user imposing the restrictions, from the perspective of processing by processor 101 (see Figure 2), it is desirable that the content of the restrictions be standardized in advance.
[0059] In Figure 6, the constraints are exemplified as follows: "Allow duplication of constraint object A by substitute object," "Delete constraint object B," "Duplication of constraint object C is limited to one generation," and "Do not duplicate the time information (shape, color, etc.) of constraint object D." The first point means that duplication of constraint object A is not permitted, but duplication of the first object is permitted if it is changed to a substitute object.
[0060] The second condition is that the deletion of constraint object B is a condition for duplicating the first object. In this case, the area where object B was located will be replaced with an object representing the background pattern or shape. The third condition is that duplication of constraint object C beyond one generation is not permitted. In other words, duplication of constraint object C for two generations is not permitted. A second-generation duplication of constraint object C occurs when the first object designated as the source is a copy. In this case, since duplication of the second-generation constraint object C is not permitted, the same processing as under the first or second condition will be performed.
[0061] By the way, if the second object is a copy of the first generation, the creation of a second object that includes constraint object C itself is permitted. In other words, the creation of a second object identical to the first object is permitted. Furthermore, in the case of the third item, if it is a copy of the first generation, there is no limit to the number of second objects that can be created. Therefore, it is permissible for multiple second objects that are copies of the first generation to exist.
[0062] The fourth point means that if constraint object D contains temporal information, only still image duplication is permitted. Temporal information means that the shape, color, etc., of constraint object D changes over time. For example, if the way a coat sways in the wind contributes to differentiating it from other objects, you might want to prohibit duplication of the swaying coat. The fourth point anticipates such requests.
[0063] The way a coat sways in the wind is an example of a shape changing over time. Other examples of shapes changing over time include shapes that gradually expand to a certain size, shapes that gradually shrink to a certain size, and multiple shapes of different sizes that are displayed alternately. Furthermore, examples of colors changing over time include colors that change to other colors, one color that changes to multiple colors, color combinations that change, and the positions of multiple colors that change.
[0064] Returning to the explanation of Figure 3, the transmitting / receiving unit 112 is realized through the cooperation of the processor 101 (see Figure 2), auxiliary storage device 104 (see Figure 2), and communication interface 105 (see Figure 2) with the program. The transmitting / receiving unit 112 performs data transmission and reception, for example, with the user terminal 20.
[0065] The data transmitted to the user terminal 20 includes, for example, an image of the virtual space as seen from the perspective of the user U object operating the user terminal 20, an overhead view of the virtual space where the user U object operating the user terminal 20 is located, and a query in case there are constraints on the replication of the object designated as the target of replication. The real-world user U operates in the virtual space while viewing this image.
[0066] The data received from user terminal 20 includes, for example, user U's voice, strings entered by user U, user U's instructions for objects, and instructions for copying objects in the virtual space. User U's voice and strings entered by user U are used for communication with other users U in the virtual space. User U's instructions for objects are used to instruct the movement and actions of objects within the virtual space. Instructions for copying objects in the virtual space include specifying the first object, specifying the copy destination, and responding to queries based on constraints regarding copying.
[0067] The generation unit 113 is implemented by the processor 101 (see Figure 2) and the auxiliary storage device 104 (see Figure 2). The generation unit 113 generates data to be stored in the auxiliary storage device 104 and data to be transmitted by the transmission / reception unit 112. The data stored in the auxiliary storage device 104 includes, for example, information about objects existing in the virtual space, a history of object movement and duplication, a history of user U's operations on objects, a history of operations on objects, and information about users participating in the virtual space.
[0068] Object information includes information about its structure and information about its attributes. Attribute information includes information about replication constraints. Additions and modifications to the replication constraint information are permitted. Additions and modifications to replication constraint information are, for example, only permitted for user U who has the authority to replicate objects. Additions and modifications to replication constraint information are performed, for example, when creating an object, when replicating an object, and when querying whether replication is permitted.
[0069] However, any user U with the necessary permissions for copying can add or modify constraints at any time. Additions or modifications to constraints may be limited to the object to which the constraint was added or modified, or they may be reflected in subsequent generations, or even in generations prior to the parent generation.
[0070] The reception unit 114 is implemented by the processor 101 (see Figure 2) and the auxiliary storage device 104 (see Figure 2). The reception unit 114 receives, for example, instructions for user U's object existing in the virtual space, and instructions for copying the first object existing in the virtual space from the user terminal 20.
[0071] The constraint processing unit 115 is implemented by the processor 101 (see Figure 2) and the auxiliary storage device 104 (see Figure 2). The constraint processing unit 115 executes processing based on the constraints attached when one or more constraints on the object designated as the target of replication (i.e., the first object) are attached to it. Specifically, the constraint processing unit 115 generates a second object, which includes an unconstrained object and a substitute object, according to the constraints. The substitute object is generated by the processor 101 based on the constraint object according to predetermined rules.
[0072] If multiple alternative object candidates are generated, the processor 101 selects, for example, a candidate with features similar to those of the constraint object as the alternative object. However, as a second object, an alternative object candidate that has features similar to those of the first object may also be selected as the alternative object to be used. In addition, if alternative object candidates are prepared in advance, a sub-object without constraints on replication, such as free material, may be given priority. In other words, a sub-object with some kind of constraint attached may be set to be avoided as much as possible, as it increases the constraints when replicating the object. An example of a sub-object with constraints attached is a sub-object linked to a non-fungibility token.
[0073] In this embodiment, the data of the second object is assumed to be different from that of the first object. However, if the display manner in which user U perceives the second object in the virtual space is different from that of the first object, the data of the second object may be the same as that of the first object. In this case, the constraint on duplication will specify the display manner of the first object after duplication.
[0074] The processing performed by the constraint processing unit 115 includes the process of creating a new second object according to the constraints, the process of reading out candidates for the second object that are part of or linked to the data of the first object and presenting them to the user U, and the process of displaying one of the read candidates as the second object. Various specific examples can be considered for the process of creating a second object according to the constraints. These specific examples will be described later.
[0075] The display control unit 116 is implemented by a processor 101 (see Figure 2), an auxiliary storage device 104 (see Figure 2), and a communication interface 105 (see Figure 2). The display control unit 116 transmits data related to the virtual space in which user U participates to the user terminal 20 (see Figure 2), and displays an image of the virtual space on the user terminal 20's display 206 (see Figure 2). Specifically, the display control unit 116 displays on the display 206, for example, an image of the virtual space as seen from user U's object UO, or an image that provides an overview of the virtual space where user U's object UO, which operates the user terminal 20, is located.
[0076] The display control unit 116 may also display a candidate for the second object to the user U who instructed the user U to duplicate the first object. Furthermore, the display control unit 116 may display a notification on the display 206 of the user U associated with the duplication constraint, requesting permission to duplicate the first object. The user U associated with the constraint may include, for example, either or both of the users who have permission to duplicate the first object and / or the users who have permission to duplicate the constraint object.
[0077] <Functional Configuration of User Terminal> Figure 7 shows an example of the functional configuration of the user terminal 20. Specifically, the user terminal 20 has an operation identification unit 211, a storage unit 212, a generation unit 213, a transmission / reception unit 214, and a display processing unit 215. These functional units are realized through the cooperation of the hardware of the user terminal 20 and the program. Note that the user terminal 20 includes a terminal operated by user U who instructed the duplication and a terminal operated by user U associated with the constraint.
[0078] The operation identification unit 211 is implemented by the processor 201 (see Figure 2) and the input receiving device 205 (see Figure 2). The operation identification unit 211 is implemented by the input receiving device The device 205 identifies the content of the user U's operation. In the case of a user U who instructs replication, the identified operation may include, for example, the movement of user U's object in the virtual space, the designation of the first object to be replicated, the selection of a candidate for the second object, and the addition of constraints to the second object to be generated as a replica. In the case of a user U associated with constraints, the identified operation may include, for example, whether replication is permitted or not, and the addition of constraints to the first object and the constraint object.
[0079] The memory unit 212 is implemented by a processor 201 (see Figure 2) and an auxiliary storage device 204 (see Figure 2). The memory unit 212 stores, for example, data such as images of the virtual space received from the virtual space management server 10 (see Figure 1), voice data of other users U conversing in the virtual space, string data and voice data received by its own terminal, and operation data received from user U in the auxiliary storage device 204.
[0080] The generation unit 213 is implemented by a processor 201 (see Figure 2) and an auxiliary storage device 204 (see Figure 2). The generation unit 213 generates data representing the content of the user U's operation, as identified by the operation identification unit 211. The generated data is transmitted to the virtual space management server 10 by the transmission / reception unit 214.
[0081] The transmitting / receiving unit 214 is implemented by a processor 201 (see Figure 2), an auxiliary storage device 204 (see Figure 2), and a communication interface 209 (see Figure 2). The transmitting / receiving unit 214 performs data transmission and reception with the virtual space management server 10 (see Figure 2). The data sent to the virtual space management server 10 includes, for example, object data, data on operations performed on the object by user U, data specifying the first object to be replicated, data instructing whether or not to replicate the constraint object, data instructing the selection of a candidate for an alternative object, and data instructing the addition or modification of constraints. Adding constraints includes adding constraints to constraint objects that already have constraints, and assigning constraints to partial objects that do not have constraints.
[0082] The data received from the virtual space management server 10 includes images of the virtual space as seen from user U's object UO, an overhead view of the virtual space where user U's object UO is located while operating user terminal 20, audio of other users U conversing in the virtual space, strings entered by user U, data querying the first object to be duplicated regarding the possibility of duplication, data of candidate second objects, and an image of the second object generated through the duplication instruction.
[0083] The display processing unit 215 is implemented by a processor 201 (see Figure 2), an auxiliary storage device 204 (see Figure 2), and a display 206 (see Figure 2). The display processing unit 215 displays images and the like received through the transmitting / receiving unit 214 on the display 206. For example, the display processing unit 215 displays on the display 206 an image of the virtual space as seen from the user U's object, or an image that provides an overview of the virtual space where the user U's object operating the user terminal 20 is located.
[0084] <Example of Processing Operation> Figure 8 is a flowchart illustrating an example of a processing operation performed by the processor 101 (see Figure 2) of the virtual space management server 10 (see Figure 2). In the figure, the symbol S represents a step. The processing operation shown in Figure 8 is realized by the processor 101 through program execution. First, the processor 101 detects the designation of an object in the virtual space (step 1).
[0085] Next, the processor 101 determines whether the specified object is a target for duplication (step 2). If a predetermined operation is detected, it is determined to be a target for duplication. Predetermined operations include, for example, mouse and keyboard operations assigned to duplication, and instructions for soft keys displayed in the virtual space. If a negative result is obtained in step 2, the processor 101 returns to step 1. In Figure 8, it returns to step 1, but it may also proceed to termination.
[0086] If the object is determined to be a target for replication, the processor 101 obtains a positive result in step 2. If a positive result is obtained in step 2, the specified object is recognized by the processor 101 as the first object. Next, the processor 101 determines whether or not there are any replication restrictions on the first object (step 3). If the first object does not contain any replication restrictions, the processor 101 obtains a negative result in step 3. In this case, user U is allowed to freely replicate the first object.
[0087] If a negative result is obtained in step 3, the processor 101 generates a copy of the first object (step 4) and reflects it in the virtual space (step 5). That is, a second object, which is an identical copy of the first object, is generated at the location specified by user U. Incidentally, the first object, which was specified as the source of the copy, remains in the same location in the virtual space.
[0088] In contrast, if the first object includes constraints regarding replication, the processor 101 obtains a positive result in step 3. If a positive result is obtained in step 3, the processor 101 generates a second object based on the replication constraints (step 6) and reflects it in the virtual space (step 5). That is, a second object, in which the constraint objects constituting the first object have been changed to substitute objects, is generated at the location specified by user U. In this case as well, the first object designated as the source of replication remains in the same location in the virtual space.
[0089] <Examples of object duplication in virtual space> Below, we will explain conditional duplication examples in virtual space using Figures 9 to 27. Note that the duplication examples described below are also common to Embodiment 2. <Example of virtual space> Figure 9 is a diagram illustrating an example of a virtual space. In the virtual space shown in Figure 9, there are objects UO corresponding to multiple users U. User objects UO1 to UO5 correspond to users U1 to U5 in the real world, respectively.
[0090] In situations like this, you might want to reflect the clothes, shoes, hats, bags, etc. that another user's object UO is wearing onto your own object UO. Conversely, you might want to reflect the clothes, shoes, hats, bags, etc. that your own object UO is wearing onto another user's object UO. However, the objects that are the target of duplication are not always completely free to duplicate within the virtual space. For example, if an object is purchased from a shop in the virtual space, allowing free duplication would hinder commercial transactions within the virtual space. On the other hand, some users may allow duplication of the first object if the constraint object is changed to a substitute object.
[0091] <When there are no constraints on duplication> Figure 10 illustrates duplication when there are no constraints on duplication on the subobjects that make up the first object. (A) shows the state in which the hat object O1 (i.e., the first object) is selected as the target of duplication, and (B) shows the state in which the hat object O2 (i.e., the second object) generated by duplication is attached to the head of the user U12 object UO12, which is the destination of the duplication. In other words, the example shown in Figure 10 represents the case in which the hat object O1 designated as the target of duplication does not contain any subobjects that have constraints on duplication. In other words, the example shown in Figure 10 represents duplication when a negative result is obtained in step 3 (see Figure 8).
[0092] In Figure 10(A), menu M is displayed next to the hat object O1, which is the object to be duplicated. Menu M can be displayed, for example, by right-clicking on the hat object O1 with the mouse cursor. Menu M in Figure 10(A) shows "Information" and "Duplicate". In Figure 10(A), "Duplicate" is selected by user U12. However, the duplication of the hat object O1 may also be instructed through soft keys displayed in the virtual space or specific mouse operations.
[0093] Figure 11 illustrates another example of duplication when no duplication constraints are imposed on the sub-objects that make up the first object. (A) shows the state where duplication of the first object is selected, and (B) shows the state where the second object, which is a duplication of the first object, has been attached. Note that Figure 11 is denoted with reference numerals corresponding to the parts that correspond to Figure 10. In Figures 11(A) and (B), the body shape of object UO13 of user U13, which is the destination of the duplication of the hat object O1, is different from that of object UO11 of user U11, which is wearing the hat object O1. In Figure 11(A), the size of the head of object UO13 of user U13 is considerably smaller than the size of the head of object UO11 of user U11.
[0094] In this case as well, as in Figure 10(B), it is possible to create an object O2 of the same size as the first object O1 and place it on the head of user U13's object UO13. However, in that case, the alignment between the head of user U13's object UO13 and the hat object O2 would be unnatural. For this reason, in Figure 11(B), the size of object O3 is reduced to match the head of user U13's object UO13, which is the target of the copy. Note that when copying the hat object O3 of user U13's object UO13 to user U11's object UO11, the size of the hat object O1 may be enlarged instead.
[0095] <When there are restrictions on copying><Copying Example 1: Example of masking the restricted object> Figure 12 illustrates a copying example where a restriction on copying is attached to the logo object O1A, which is part of the hat object O1, and user U, who instructs the copying, does not have permission to copy. (A) shows the hat object O1 as the first object, and (B) shows the hat object O2 as the second object. In Figure 12, for the sake of explanation, only the objects designated as targets for copying are shown. Copying Example 1 shows the case where the content of the restriction attached to the logo object O1A is "copying prohibited". In other words, Copying Example 1 shows the copying when a positive result is obtained in step 3 (see Figure 8).
[0096] As shown in Figure 12(A), the hat object O1 consists of a constraint object O1A and an unconstrained object O1B. The unconstrained object O1B is the main body of the hat. Note that Replication Example 1 assumes that user U, who instructs the replication, does not have the authority to replicate the hat object O1 or the constraint object O1A. Since user U does not have the authority to replicate, a hat object O2 that satisfies the constraints is created.
[0097] As mentioned above, in this duplication example 1, the constraint is "prohibition of duplication" of the constraint object O1A. Therefore, in Figure 12(B), the substitute object O2A, which is composed of the pattern of the unconstrained object O1B, is attached to the part of the constraint object O1A. Note that if the hat object O1 shown in Figure 12(A) has a structure in which the constraint object O1A is attached to the surface of the unconstrained object O1B which is the main body, the hat object O2 may be composed only of the unconstrained object O1B. Alternatively, as the duplicated hat object O2, the data of the original hat object O1 may be duplicated as is, and the surface of the constraint object O1A may be covered with a substitute object O2A that hides the entire constraint object O1A. In any case, the appearance of the generated hat object O2 will be the same as in Figure 12(B).
[0098] <Example of duplication 2: When user U has permission to duplicate> Figure 13 shows the logo object which is part of the hat object O1. This diagram illustrates a copy example where object O1A has copy restrictions, but user U has the right to copy it. (A) shows object O1 of the hat as the first object, and (B) shows object O2 of the hat as the second object. Figure 13 shows corresponding parts with corresponding symbols to Figure 12. Copy example 2 also shows the case where the restriction on object O1A of the logo is "copying prohibited," but object O2 (second object) is identical to the original object O1 (first object) that was copied.
[0099] The reason is that user U, who instructed the copying, has the authority to copy object O1 or its constraint object O1A, and therefore the execution of the constraint is invalidated. Users U who have the authority to copy include, for example, the creator, seller, buyer, or licensee of object O1 or its constraint object O1A. However, this does not mean that copying object O1, including the constraint object, is permitted without restriction if user U falls into one of these categories. Copying example 2 is based on the premise that user U, who instructed the copying, has the authority to copy. For example, even if the seller of object O1 instructed the copying, it is possible to have a constraint that does not permit copying object O1, including the constraint object O1A, without permission from user U, who purchased object O1.
[0100] Additionally, replication may be controlled according to constraints based on the user U's location in real or virtual space. For example, replication control may be changed when user U in real space is located in a specified location or specific area in real space. Furthermore, replication control may be changed according to the distance between the character image (avatar) operated by the user in virtual space and the source object in virtual space. For example, replication may be enabled if the character image operated by the user is in the same area displayed on the screen as the source image. Also, the range of permissions for replication may increase as the distance between the character image operated by the user and the object in virtual space decreases.
[0101] Furthermore, if a character image controlled by the user exists in the virtual space, the system may allow the user to perform a copy operation on a candidate object that the user wishes to designate as the source. In other words, if the character image controlled by the user is not near the candidate object to be copied, the system may refuse to accept the copy operation. Additionally, the system may allow the user's character image to perform certain operations, such as touching an object in the virtual space, to increase the scope of the permissions that enable copying.
[0102] User U, who has the authority to copy object O1, the source object, is managed, for example, in the auxiliary storage device 104 (see Figure 2) of the virtual space management server 10 (see Figure 2). However, user U with the authority to copy may also be managed on the server of user U who placed object O1 in the virtual space, or on the server of user U who sold object O1. In that case, the processor 101 (see Figure 2) of the virtual space management server 10 determines whether or not the user has the authority to copy through communication with other servers.
[0103] <Duplicate Example 3: Example 1 when there are restrictions on shape duplication> Duplicate Example 3 is another duplication example where the user does not have permission to duplicate the constraint object O1A of the source object O1 or the constraint object O1A. Figure 14 illustrates another duplication example where the logo object O1A, which is a part of the hat object O1, has duplication restrictions, and the user U instructing the duplication does not have permission to duplicate. (A) shows the hat object O1 as the first object, and (B) and (C) show the hat object O2 as the second object. Figure 14 is denoted with reference numerals corresponding to the parts corresponding to Figure 12.
[0104] The hat object O1 shown in Figure 14(A) is the same as the hat object O1 shown in Figure 12(A). The constraint on duplication in duplication example 3 is the change in the shape of the logo, which is the constraint object O1A. In Figure 14(A), the constraint object O1A is the "A" in the logo. Therefore, the substitute object O2B in object O2 shown in Figure 14(B) has been changed to the "B" in the logo.
[0105] In Figure 14(B), the letter "B" from the logo is used as an example of the alternative object O2B for object O2. However, other alphabets or Greek letters may be used as alternative object O2B, as may marks such as circles, triangles, or squares. Furthermore, the font used for alternative object O2B may be changed from that of constraint object O1A. In Figure 14(C), object O2 is an example in which the alternative object O2C contains the same logo as constraint object O1A. However, a new circular pattern is added as the background for constraint object O1A, and the color of the logo that makes up constraint object O1A is different from that of the original object O1. In this way, any other object related to constraint object O1A may be considered an alternative object.
[0106] The substitute object here may be generated by the processor 101 (see Figure 2) through program execution when duplication is instructed, but it may also be generated in advance in case constraint object O1A is duplicated and linked to object O1 or constraint object O1A. For example, if the creator of constraint object O1A generates the substitute object in advance, it becomes possible to have some control over the substitute object generated during the duplication process in the virtual space.
[0107] If there are multiple alternative objects associated with constraint object O1A, processor 101 (see Figure 2) may determine which alternative object to use based on the characteristics of user U who instructed the replication, the replication destination, the number of replications, the number of replication generations, and other factors. User U's characteristics include user U's gender, age, preferences inferred from past operation history, and other factors. Replication destinations include user U's object UO, user U's personal spaces such as their room or desk registered in the virtual space, and public spaces such as parks.
[0108] The number of copies includes not only the number of copies of the hat object O1, but also the number of copies and the number of generations of copies of the constraint object O1A. When constraint object O1A is used as a subobject in combination with various other objects, the number of copies and the number of generations of copies may be used on a per-object basis for constraint object O1A. Alternatively, the substitute object may be determined from the perspective of object O2 having similar features to those of the original object O1. Examples of copies based on this information will be discussed later.
[0109] <Duplicate Example 4: Example 2 where there are restrictions on shape duplication> Figure 15 illustrates another duplication example where the body object O1B, which is a part of the hat object O1, has duplication restrictions, and the user U who instructs the duplication does not have the authority to duplication. (A) shows the hat object O1 as the first object, and (B) and (C) show the hat object O2 as the second object. Figure 15 is denoted with reference numerals corresponding to the parts that correspond to those in Figure 12.
[0110] The hat object O1 shown in Figure 15(A) is the same as the hat object O1 shown in Figure 12(A). However, it differs from Figure 12(A) in that the unconstrained object is O1A and the constrained object is O1B. Therefore, the constraint on the duplication in duplication example 4 is the change in the shape of the main body, which is the constrained object O1B. The object O2 shown in Figure 15(B) is the same hat as the original object O1. However, while object O1 as the first object was a so-called cap, object O2, which was created as the second object, has been changed to a so-called hat. This hat-shaped hat object is the substitute object O2D. Note that the logo part object O1A is an unconstrained object, so it is duplicated as is in object O2.
[0111] On the other hand, object O2 shown in Figure 15(C) is the same cap-shaped hat as the original object O1. However, the shape of the brim of the sub-object O2E shown in Figure 15(C) is different from that of the original object O1. Note that the logo is an unconstrained object O1A, so it is copied exactly as it is in object O2.
[0112] <Duplicate Example 5: Example with Restrictions on Color Duplication> Figure 16 illustrates another duplication example where the logo object O1A, which is part of the hat object O1, has duplication restrictions, and the user U instructing the duplication does not have the authority to duplication. (A) shows the hat object O1 as the first object, and (B) and (C) show the hat object O2 as the second object. Figure 16 is denoted with corresponding symbols for parts that correspond to those in Figure 12.
[0113] In duplication example 5, the constraint on duplication is the change in the color of the logo, which is the constraint object O1A. Therefore, the shape of the unconstrained object O1B corresponding to the body of the hat in Figures 16(A), (B), and (C) is the same in all cases. Also, the shape of the constraint object O1A and the corresponding alternative objects O2F and O2G are the same. However, in Figure 16(A), the color of the constraint object O1A is "red," the color of the alternative object O2F is "blue," and the color of the alternative object O2G is "yellow." As mentioned above, the colors of the alternative objects must be different from the colors of the constraint object to a degree that the visual difference is distinguishable. Furthermore, the color change may include not only a change in hue, but also differences in saturation and brightness.
[0114] <Duplicate Example 6: Example where there are restrictions on pattern duplication> Figure 17 illustrates another duplication example where the body, which is a part of the hat object O1, has duplication restrictions, and the user U instructing the duplication does not have the authority to duplication. (A) shows the hat object O1 as the first object, and (B) and (C) show the hat object O2 as the second object. Figure 17 is denoted with reference numerals corresponding to the parts that correspond to those in Figure 12.
[0115] In Replication Example 6, the constraints on the reproduction are applied to the pattern of the main body, which is the constraint object O1B. Therefore, the shape of the constraint object O1B and the unconstrained object O1A corresponding to the body of the hat in Figures 17(A), (B), and (C) are the same before and after reproduction. In Replication Example 6 as well, the hat object O1 before reproduction consists of a plain body and a logo.
[0116] On the other hand, in the case of the duplicated object O2 shown in Figure 17(B), the pattern on the main body of the hat is replaced by the substitute object O2H. In Figure 17(B), the substitute object O2H consists of a dot pattern. In the case of the duplicated object O2 shown in Figure 17(C), the pattern on the main body of the hat is replaced by the substitute object O2J. In Figure 17(C), the substitute object O2J is a checkered pattern. Note that the patterns of substitute objects O2H and O2J are required to be different from the patterns of the constraint object to a degree that the visual difference is distinguishable.
[0117] <Duplicate Example 7: Example where there are restrictions on the duplication of temporal information> Figure 18 illustrates another duplication example where there are restrictions on the duplication of the temporal change in the display color of the logo, which is part of the hat object O1, and the user U instructing the duplication does not have the authority to duplication. (A) shows the hat object O1 as the first object, and (B) shows the hat object O2 as the second object. 18 is indicated by a reference numeral corresponding to the part that corresponds to Figure 12.
[0118] In Figure 18(A), the logo on the hat object O1 is the constraint object O1A, and the color of the logo changes from "red" to "blue" and then from "blue" to "red" every 5 seconds. In duplication example 7, the duplication of the time information attached to the color of constraint object O1A is constrained. Therefore, the color of the substitute object O2K of object O2 (second object) shown in Figure 18(B) is fixed to "red". In other words, the color change over time, as in the original object O1 (first object), is not duplicated. Note that in the duplication example shown in Figure 18, the change in color was explained for the sake of explanation, but duplication excluding the time information may also be performed for changes in shape over time or changes in pattern over time.
[0119] <Duplicate Example 8: Example of a single object containing multiple constraints> Figure 19 illustrates another duplication example where a single object O1 has two identical duplication constraints. (A) shows the hat object O1 as the first object, and (B) to (D) show the hat object O2 as the second object. Figure 19 is denoted with corresponding symbols for parts corresponding to Figure 12. In this duplication example as well, it is assumed that user U, who instructs the duplication, does not have the authority to duplication any of the subobjects.
[0120] Note that the constraint in Figure 19 is shape. Therefore, the shapes of constraint objects O1A1 and O1A2 must be changed to different shapes during duplication. As with other duplication examples, the original hat object O1 is shown in Figure 19(A). In duplication example 8, the unconstrained object O1B is a sub-object of the hat body, and the constraint objects O1A1 and O1A2 are sub-objects of the logo and the mark. The sub-object of the logo is the letter "A", as in other duplication examples. On the other hand, the sub-object of the mark is the symbol double circle. Thus, when a single object O1 contains multiple constraint objects, the multiple constraint objects are not necessarily sub-objects of the same type.
[0121] Figures 19(B) and 19(C) show an example of replacing constraint objects O1A1 and O1A2 with a common shape. In object O2 (second object) shown in Figure 19(B), the shapes of both constraint objects have been changed to the letter "B". That is, the same letter is assigned not only to the substitute object O2L1 corresponding to the partial object of the logo, but also to the substitute object O2L2 corresponding to the partial object of the mark. Substitute objects O2L1 and O2L2 here are examples of common images. By replacing multiple constraint objects O1A1 and O1A2 with the same letter, the visual consistency of object O2 (second object) is enhanced.
[0122] Figure 19(C) shows an example where the shapes of both constraint objects in object O2 (the second object) have been changed to elliptical shapes. That is, the same shape is assigned not only to the substitute object O2M1 corresponding to the partial object of the logo, but also to the substitute object O2M2 corresponding to the partial object of the mark. Substitute objects O2M1 and O2M2 here are also examples of a common image. By replacing multiple constraint objects O1A1 and O1A2 with the same shape, the visual consistency of object O2 (the second object) is enhanced.
[0123] On the other hand, if multiple constraint objects are different types of sub-objects, it is possible to control the process so that they are not changed to a common image. Figure 19(D) shows an example where the shape of the duplicated object O2 (second object) is determined for each type of constraint object from which it is duplicated. For example, the substitute object O2N1 corresponding to the sub-object of the logo is the letter "B", and the substitute object O2N2 corresponding to the sub-object of the mark is circular. Duplicating using this method does not achieve the overall uniformity of object O2 as in the examples in Figures 19(B) and (C), but it is possible to inherit the visual image of the original object O1.
[0124] By the way, Figure 19 illustrates the case where the content of multiple replication constraints is all related to shape, but the content of multiple replication constraints may also be related to color or pattern. Furthermore, if multiple replication constraints contained within a single object have different content, each sub-object can be replaced with an alternative object corresponding to the content of the relevant constraint.
[0125] <Duplicate Example 9: Example of Duplicating Multiple Objects Including Constraints in a Batch> Figure 20 illustrates a duplication example where two objects O1 and O11, which include constraints related to duplication, are designated as targets for batch duplication. (A) shows the hat objects O1 and O11 as the first objects, and (B) shows the hat objects O2 and O21 as the second objects. Figure 20 is denoted with corresponding symbols to the parts corresponding to Figure 12. In this duplication example as well, it is assumed that user U, who instructs the duplication, does not have the authority to duplication any of the subobjects.
[0126] In Figure 20(A), the hat object O1 is composed of a constraint object O1A and an unconstrained object O1B, and the hat object O11 is composed of a constraint object O11A and an unconstrained object O11B. In Figure 20, the constraints are all related to shape. Therefore, the shape of the constraint object must be changed to a different shape when duplicated. As with other duplication examples, the hat objects O1 and O11 that will be duplicated are shown in Figure 20(A).
[0127] In Figure 20(A), constraint object O1A is the letter "A", and constraint object O11A is the letter "B". That is, the types of constraint objects O1A and O11A included in the two objects O1 and O11 that are the target of batch duplication, as well as the content of the constraints, are the same. For this reason, in Figure 20(B), substitute objects O2A and O21A of the same letter are assigned to the parts of constraint objects O1A and O11A. Specifically, the letter "C" is assigned. However, as explained in Figure 19(C), it is also possible to assign a common shape to substitute objects O2A and O21A.
[0128] By assigning the same image to multiple constraint objects O1A and O11A included in the multiple objects (first object) that are the target of batch duplication, the visual consistency of the two generated objects O2 and O21 is enhanced. Incidentally, Figure 20 illustrates the case where the content of multiple duplication constraints is all shape, but the content of multiple duplication constraints may also be color or pattern. Furthermore, if the content of multiple duplication constraints included in the multiple objects targeted for batch duplication contains different content, each sub-object can be replaced with an alternative object corresponding to the content of the corresponding constraint.
[0129] Figure 21 illustrates another example of duplication when two objects O1 and O11, which include duplication constraints, are designated for batch duplication. (A) shows the hat objects O1 and O11 as the first objects, and (B) shows the hat objects O2 and O21 as the second objects. Figure 21 is denoted with corresponding symbols to those in Figure 20. The difference from Figure 20 is that the duplication constraints for object O1 located on the left side of the figure are shape, while the duplication constraints for object O1 located on the right side of the figure are color.
[0130] In this case, there is no commonality in the content of the constraints. Therefore, in the case of Figure 21(B), duplication is performed according to each constraint. For example, in the case of object O2 located on the left side of the figure, an alternative object O2A of the letter "C" is placed as a partial object of the logo. On the other hand, in the case of object O21 located on the right side of the figure, an alternative object O21A of the letter "B", which is a different color from the original object, is placed as a partial object of the logo. Incidentally, the color of constraint object O11A is red, and the color of alternative object O21A is blue.
[0131] <Duplicate Example 10: An example where the content of a substitute object changes depending on the number of replication generations> Duplicate Example 10 explains an example of replication execution according to the number of replication generations when the number of replication generations of an object in a virtual space is managed. Figure 22 is a diagram illustrating an example of object replication according to the number of replication generations. (A) is object O0 when the number of replication generations is "0", (B) is object O1 when the number of replication generations is "1", (C) is object O2 when the number of replication generations is "2", (D) is object O3 when the number of replication generations is "3", and (E) is object O4 when the number of replication generations is "4" or more. In Figure 22, corresponding parts with those in Figure 15 are indicated with corresponding symbols.
[0132] A generation number of "0" indicates the object at the beginning of a series of replications, and is also called the original object or prototype object. Even if other objects are replicated based on object O0, which has a generation number of 0, the generation number of object O0 remains "0". The object O0 (the first object) shown in Figure 22(A) is a hat object and is identical to object O1 shown in Figure 15(A). Object O0 consists of an unconstrained object O0A and a constrained object O0B. That is, the body of the hat is the constrained object. The constraint is its shape.
[0133] In the following, the generation number of object O1 (second object) created using object O0 as the source will be counted as "1". No matter how many objects O1 (second objects) are created using object O0 as the source, the generation number will always be "1". The generation number of object O2 (second object) created using object O1 (first object) with a generation number of "1" as the source will be "2", the generation number of object O3 (second object) created using object O2 (first object) with a generation number of "2" as the source will be "3", and the generation number of object O4 (second object) created using object O3 (first object) with a generation number of "3" as the source will be "4".
[0134] Objects O1, O2, and O3 shown in Figures 22(B) to (D) correspond to the replication generations "1," "2," and "3." Object O1 shown in Figure 22(B) consists of an alternative object O1B and an unconstrained object O0A. The shape of the alternative object O1B, which corresponds to the body of the hat, differs from that of the constrained object O0B. However, the visual difference between the constrained object O0B and the alternative object O1B is mainly the difference in the brim of the hat, and they are highly similar to the original object.
[0135] In the case of replication example 10, the shapes of object O1 with a generation count of "1", object O2 generated from object O1 with a generation count of "2", and object O3 generated from object O2 with a generation count of "3" are all identical. This is the difference from the replication example mentioned earlier. In other words, even if an object containing a constraint object is replicated, the constraint object portion is not necessarily changed to a substitute object. Object O4 shown in Figure 22(E) represents the case where the number of replication generations is "4" or more. In this object O4 shown in Figure 22(E), the substitute object O4B has been changed to a hat. Note that even if the number of replication generations increases to 4 or more, the shape of the replicated substitute object O4B remains the same. ru.
[0136] Object O4, shown in Figure 22(E), is also a hat, just like object O0 in Figure 22(A), but the change in appearance is greater than that of object O1 in Figure 22(B). In other words, in Figures 22(A) to (E), the replication conditions are designed so that as the number of generations increases, the shape of the substitute objects that make up the generated object changes more from the constraint objects that make up the original object. Note that in the example in Figure 22, it is assumed that the content of the constraints defined for the constraint objects is shape, but conditional replication can also be managed according to the number of replication generations if the content of the constraints is color or pattern.
[0137] <Duplicate Example 11: An example where the content of a substitute object changes depending on the number of copies> Duplicate Example 11 explains an example of duplication that is performed according to the number of duplication generations when the number of duplications of an object in a virtual space is managed. Figure 23 is a diagram that explains an example of object duplication according to the number of duplications. (A) is object O0 when the number of duplications is "0", (B) is object O1 when the number of duplications is "1", (C) is object O2 when the number of duplications is "2", (D) is object O3 when the number of duplications is "3", and (E) is object O4 when the number of duplications is "4". Figure 23 is indicated with corresponding symbols for parts that correspond to Figure 22.
[0138] The number of generations in Figures 23(B) to (D) is "1", and the number of generations in Figure 23(E) is "2". However, the appearance of the generated objects is different from that in Figure 22(B) because the constraint execution conditions are different. In Figure 23, the number of copies is managed by integrating it with the original object, object O0. For this reason, object O4 shown in Figure 23(E) is considered to be the 4th copy. In this example as well, the copy conditions are designed so that as the number of copies increases, the shape of the substitute objects that make up the generated objects changes more from the original constraint object.
[0139] Therefore, in the example in Figure 23, the shape of the main body of the hat changes each time the number of copies increases. However, in the example in Figure 23, the shape of the main body of the hat does not change even if the number of copies exceeds three. However, the number of copies at which the change in the shape of the main body of the hat stops is not limited to three. For example, it could be four or five times. It is also possible to set it so that there is no limit to the number of copies at which the change in the shape of the main body of the hat stops. Furthermore, in the example in Figure 23, it is assumed that the content of the constraint defined for the constraint object is shape, but conditional copying may also be managed according to the number of generations of copies when the content of the constraint is color or pattern.
[0140] On the other hand, it is also possible to manage the number of copies without integrating it with the original object, object O0. Figure 24 illustrates an example of a copy process where the number of copies is managed on a per-source basis. Figure 24 includes corresponding symbols for parts that correspond to those in Figure 23. In the example shown in Figure 24, the number of copies is managed on a per-source object basis. Therefore, objects O1, O2, and O3 of the second-row hat are managed by the number of copies made to the same source object O0, while objects O4 and O5 of the third-row hat are managed by the number of copies made to the same source object O2. As a result, object O4 is the first copy, and object O5 is the second copy.
[0141] The number of times objects O4 and O5 are duplicated is based on the source object O2. Therefore, the shape of the substitute object O4B that constitutes object O4 is changed based on the substitute object O2B, which is the constraint object of the source object O2. As a result, the difference in shape from the original object O0 is smaller than in the case of Figure 22. In the case of Figure 24, if the number of duplications is less than or equal to a predetermined number, the shape of the hat body, which is an unconstrained object, does not change even if the number of duplications increases. However, as shown in Figures 23(B) to (D), the shape may be changed each time the number of duplications increases. Also, in the example of Figure 24, it is assumed that the constraint defined for the constraint object is shape, but even if the constraint is color or pattern, conditional duplication may be managed according to the number of duplication generations.
[0142] <Duplicate Example 12: Example 1 of duplication based on the location of the source object in the virtual space> Figure 25 illustrates the duplication of an object when the source object exists in a place intended for the free exchange of objects (hereinafter referred to as "free space"). (A) shows the case where a constrained object O1 exists in the free space, and (B) shows the duplication of object O1 within the free space. Here, "free space" is just one example of a name; for example, it could be a free exchange or a public space. In Figures 25(A) and (B), the free space is shown as an example of a park.
[0143] Object O1 (the first object) described in duplication example 12 has duplication restrictions attached to the logo portion, just like in the other duplication examples. In duplication example 12, the execution condition of the restrictions includes a clause that the restrictions will be invalidated for duplication within free space. However, the execution condition for invalidating the restrictions can also be set by specifying a date and time or a specific period of time.
[0144] Figure 25(B) shows two examples of duplication. The first example of duplication is the duplication of object O1 to another location in free space. In Figure 25(B), object O2, which is identical to object O1, is duplicated. Note that object O2 inherits the duplication constraints of object O1. Therefore, when duplicating object O2 to another location in virtual space, the aforementioned duplication constraints are invoked.
[0145] The second duplication example is one in which object O1 is duplicated to user U1's object UO1 in free space. In Figure 25(B), when the destination of the duplication is user U1's object UO1, the constraint is enforced even for duplication in free space. Therefore, as with the other duplication examples mentioned above, the logo of object O3, which is duplicated on top of user U1's object UO1, is changed to "B". However, when duplication is performed in free space, even if the destination is user U1's object UO1, it is also possible to create an object O2 that is the same as the original object O1. That is, an object O2 of a hat with the logo "A" may be duplicated on top of user U1's object UO1.
[0146] However, when user U1's object UO1 leaves the free space, the constraint may be activated, and the object O2 duplicated on top of user U1's object UO1 may be switched to object O3. In other words, while staying in the free space, the logo on the hat may be "A," but when moving outside the free space, the logo may change to "B." On the other hand, if duplication is performed in the free space, the setting may be such that the deactivation of the constraint on the duplicated object O2 is maintained even when moving outside the free space. However, for duplication performed outside the free space, the constraints on the duplication that have been inherited by object O2 may be reactivated to prevent the same object from being duplicated. For example, when duplicating to a space such as a desk or closet associated with a specific user U, or to an object UO of a specific user U, duplication will be performed according to the constraints.
[0147] <Duplicate Example 13: Example 2 of duplication based on the location of the source object in the virtual space> Figure 26 illustrates another example of object duplication when the source object is located in a place intended for the free exchange of objects. (A) shows the case where a constrained object O1 exists in free space, and (B) shows how user U1's object UO1 is duplicated in free space. Figure 26 is denoted with corresponding symbols for parts that correspond to Figure 25. The difference between Figure 26 and Figure 25 is that the source object O1 is located above user U1's object UO1.
[0148] In the case of Figure 26, object O1 is subject to replication constraints, but since the replication occurs in free space, the execution of these constraints is disabled. As a result, an identical object O2 is replicated in free space. In this case as well, object O2 inherits the replication constraints of object O1. Therefore, when object O2 is replicated in another location within the virtual space, the aforementioned replication constraints are invoked.
[0149] <Duplicate Example 14: Example 2 of duplication based on the location of the source object in the virtual space> Figure 27 illustrates another example of object duplication when the source object is located in a place intended for the free exchange of objects. (A) shows the case where a constrained object O1 exists in free space, and (B) shows how user U1's object UO1 is duplicated in free space. Figure 27 is denoted with corresponding symbols for parts that correspond to Figure 25. The difference between Figure 27 and Figure 25 is that the source object O1 is located above user U2's object UO2.
[0150] The example shown in Figure 27 illustrates the difference in duplication depending on whether or not the user has duplication permission. In the free space shown in Figure 27(A), there is object UO1 belonging to user U1, who is wearing a hat, object UO2 belonging to user U2, who is not wearing a hat, and object UO3 belonging to user U3. Note that user U2 does not have permission to duplicate object O1, but user U3 does. Figure 27(B) shows the case where object O1, the hat object, is duplicated on top of object UO2 of user U2 and object UO3 of user U3. In Figure 27(B), the logo of object O2, which is duplicated on top of user U2's head, who does not have duplication permission, is changed to "B". On the other hand, the logo of object O3, which is duplicated on top of user U3's head, who does have duplication permission, remains "A". In duplication example 14, object O3, which is linked to object UO3 of user U3, who has duplication permission, does not change its display even if it is moved outside the free space.
[0151] <Examples of User Interfaces Related to Object Duplication> Below, we will describe examples of user interfaces displayed when performing the duplication described above. Note that the user interface examples described below are also common to Embodiment 2. Below, we will describe the user interface used for prior notification of constrained duplication and the user interface used for adding and modifying constraints.
[0152] <Advance Notification> This section describes the function for providing advance notification when object O has restrictions on replication. Advance notification includes notifications to user U who instructs replication and notifications to user U who has imposed the replication restrictions.
[0153] <Notification to the user who instructs replication> Figure 28 illustrates an example of notification to user U who instructs replication with constraints. (A) shows an example of notification to the user who instructs replication, and (B) shows an example of the content of the notification. Figure 28 is denoted with corresponding symbols for parts that correspond to Figure 10. In the menu M shown in Figure 28(A), the hat object O1 is selected as the target for replication. At this time, a message MS notifying the existence of constraints on replication is displayed to the right of menu M. Figure 28(B) shows an example of message MS and the execution of replication.
[0154] In Example 1, after the constraints are notified, a copy of the entire object is automatically executed. Example 1 is a copy with constraints. Since the purpose is prior notification, the replication itself is performed automatically. The message MS used for notification might be, for example, "There are replication restrictions on this object." This notification allows user U to know why a second object, different from the first object specified for replication, is being replicated.
[0155] In Example 2, after notifying the user that changes will occur to a portion of the sub-object, the entire object is automatically duplicated. The difference from Example 1 is that it explicitly states that the constraints reside in a portion of the sub-object. The message MS used for notification might be, for example, "Duplicating this object will result in changes to some of its sub-objects." This notification allows user U to know the specific reason why a second object, different from the first object specified for duplication, is being duplicated.
[0156] In Example 3, the system notifies user U that some parts of the partial object will be modified and asks whether or not to proceed with the replication. The difference from Examples 1 and 2 is that the replication is performed only after user U gives instructions. The message MS used for the notification may include, for example, "Duplicating this object will modify some of its partial objects. Do you want to duplicate it?" and "Yes / No". "Yes" and "No" are displayed as soft keys in the virtual space. This notification allows user U, who does not want any modification to the partial object, to cancel the replication before it is performed.
[0157] In Example 4, candidate objects to be generated by the replication are presented, and user U is asked whether or not to proceed with the replication. In Example 4, user U is also asked in advance whether or not to proceed with the replication. The difference between Example 4 and Example 3 is that candidate objects to be generated by the replication are presented in advance. Messages MS used for notification include, for example, "If you replicate this object, it will be changed to the following object. Do you want to replicate it?", and "Yes / No". Images of the candidate objects to be generated are also presented. This notification allows user U to confirm the objects to be generated by the replication and then choose whether or not to proceed with the replication.
[0158] In Example 5, multiple candidate objects to be generated by duplication are presented, and the user is asked to select a candidate. Example 5 is similar to Example 4 in that candidate objects to be generated by duplication are presented in advance. The difference is that multiple candidates are presented. The candidates may be presented one by one in order, or multiple candidates may be presented at once. Examples of messages used for notification include "Please select the object to use from the following candidates," and "○ Candidate 1 ◎ Candidate 2 ○ Candidate 3 ○ Candidate 4." In the example in Figure 28(B), it is displayed as text, but in reality, thumbnail images of the candidates are displayed. In Figure 28(B), the second candidate has been selected.
[0159] When presenting multiple candidates sequentially or simultaneously, recommended candidates may be placed higher in the list. Recommended candidates are indicated by highlighting or comments. The candidates presented may be determined based, for example, on the operation history of user U who initiated the duplication, or on a statistical history of operations by unspecified users U. Incidentally, the history includes trends in candidates selected in past duplications and the number of times each candidate has been selected. Using individual history allows for the prioritization of candidates that match user U's preferences. However, if a sufficient amount of data is not accumulated, suggestions based on individual history may not reflect user U's preferences. In this case, using statistical history allows for the prioritization of candidates preferred by many users U.
[0160] In Example 6, user U is asked to edit a constrained subobject. Unlike the other examples, in Example 6, user U makes edits to the constrained subobject. The message MS used for notification may include, for example, "The logo needs to be changed to perform the replication. Do you want to edit the logo?", and "Yes / No". If "Yes" is selected, for example, an editing window will appear in the virtual space, allowing editing of object O1, which was designated as the target of replication. In this window, the constrained subobject is explicitly shown.
[0161] <Notification to Users with Restrictions on Replication> Figure 28 illustrates an example of notification to user U who instructed replication, but here we will explain notification to user U with restrictions. Figure 29 illustrates an example of notification to user U21 with restrictions on replication. (A) shows an example of notification to user U21 with restrictions, and (B) shows an example of the content of the notification. In Figure 29(A), the message MS is displayed in a callout format at the location of the user object UO21 corresponding to user U21. Figure 29(B) shows an example of the message MS.
[0162] In Example 1, the system notifies the user of the occurrence of a duplication event for a constrained object or a sub-object. Since the purpose of Example 1 is to provide advance notification of the duplication event, the notification is sent before the duplication is performed. An example of the message MS used for notification is "A duplication of the hat object has been requested." In practice, as shown in Figure 29(B), an image of the hat object that has been instructed to be duplicated is displayed. The display of the image allows the user to confirm the sub-object on which constraints have been set. In Example 1, user U21 is only aware that a duplication event has occurred, and cannot instruct whether or not to proceed with the duplication.
[0163] In Example 2, the system notifies the user of the execution of a duplication event for a constrained object or a partial object. Since the purpose of Example 2 is to notify the user of the execution of a duplication event, the notification is sent after the duplication has been performed. An example of the message MS used for the notification is "The hat object has been duplicated." Again, as shown in Figure 29(B), an image of the hat object that was instructed to be duplicated is displayed. In Example 2 as well, user U21 only becomes aware that the duplication has been performed, and cannot instruct whether or not to allow the duplication.
[0164] In Example 3, the system notifies the user of a replication event for a constrained object or a partial object and asks for permission to replicate. In Example 3, not only is the replication event notified, but the user U21 is also given the opportunity to indicate whether or not to allow the replication. The message MS used for the notification could be, for example, "A replication of the hat object has been requested. Do you allow the replication?", with the options "Yes / No". "Yes" and "No" are displayed as soft keys in the virtual space. In this notification, if the user U21 who imposed the constraint does not allow it, the object replication will not be performed. However, although the replication itself will be performed, it will be possible to subsequently change the constrained object to an alternative object.
[0165] <Adding Constraints> Constraints regarding duplication are intended to be enforced when, for example, a new object is created in the virtual space. However, in practice, it may be necessary to modify or add constraints. Figure 30 shows an example of a user interface that allows the addition of duplication constraints to object O1. Menu M shown in Figure 30 can be displayed, for example, by right-clicking object O1 with the mouse cursor. Figure 30 is labeled with corresponding symbols to parts that correspond to Figure 10(A). Note that object O1 is not limited to the original object, but may also be a copy created from the original object.
[0166] In Figure 30, menu M displays the options "Add Constraint" and "Modify Constraint." In Figure 30, user U has selected "Add Constraint." In Figure 30, the submenu SM for "Add Constraint" is displayed. In the case of submenu SM shown in Figure 30, the message "Specify the subobject to which you want to add a constraint, and select the constraint content and execution conditions." is followed by examples of "Permissions," "Constraint Content," and "Execution Conditions." The subobject here is not limited to an unconstrained object; it can also be a constraint object. If a constraint object is specified, another constraint will be added to the existing constraint. The subobject here can also be an object created by duplication (a second object).
[0167] The "Permission Status" input field is used to confirm the type of permission granted to the subobject. It is provided to prevent unauthorized user U from adding constraints. Whether or not a user actually has permission is authenticated based on data managed by the virtual space management server 10 (see Figure 1). In Figure 30, the user with the right to use the object is selected. The "Constraint Content" input field is used to enter the content of the constraint to be added. Examples of constraint content include "Prohibition of duplication," "Change of shape," "Change of color," and "Change of pattern." These are just examples. In Figure 30, "Change of shape" is selected.
[0168] The "Execution Conditions" input field is used to add execution conditions for constraints. Figure 30 shows examples of "Number of Generations of Replication," "Number of Replications," and "Allow Replication in Free Space." In Figure 30, "Number of Generations of Replication" and "Allow Replication in Free Space" are selected. Incidentally, "Up to 3 generations of replication are allowed" is entered for "Number of Generations of Replication." However, execution may not be guaranteed if specified in a free document, so it is preferable to select from the options. Also, "Yes" is selected for "Allow Replication in Free Space." Therefore, free replication is permitted in free space.
[0169] Furthermore, if the content of the added constraint conflicts with other existing constraints, this will be indicated, and the constraint will not be added. This is because adding conflicting constraints will disrupt the replication process. However, if conflicting constraints are added, a mechanism may be adopted that prioritizes the older constraint in terms of the order in which they were added, so as not to disrupt the replication process. A similar submenu is provided for "Modify Constraints." However, only the user U who assigned the constraint is required to be able to modify the constraint using the submenu SM corresponding to "Modify Constraints."
[0170] <Examples of situations in which duplication is performed> In most cases, the duplication instruction and the execution of the duplication are performed simultaneously, but there are also cases where the duplication instruction and the execution of the duplication are performed at different times. Figure 31 illustrates an example of a case where the duplication instruction and the execution of the duplication are performed at different times. (A) shows an example of displaying the gift option, (B) shows an example of performing a duplication as a gift, and (C) shows an example of adjusting the position of the duplicated bag. In Figure 31(A), object UO12 corresponding to user U12, object UO13 corresponding to user U13, and object UO14 corresponding to user U14 are displayed.
[0171] Figure 31(A) shows the situation where the gift option has been selected in the menu that appears when the mouse cursor is right-clicked. Therefore, menu M is titled "Gift Options" and displays images of objects that can be duplicated. In Figure 31(A), images of a bag and a hat are displayed, and the bag is selected. In addition, submenu SM displays options for the destination of the duplicate and an option for whether or not to use a pose when performing the duplicate. In Figure 31(A), the thumbnail images of user U13's object UO13 and user U14's object UO14 are displayed as destination options, and the thumbnail image of user U13's object UO13 is selected. Also, "Yes" for posing when performing the duplicate is selected.
[0172] In Figure 31(B), the sender, user U12's object UO12, says "I'm giving you a present," and "I hope you like it," as message MS1. Note that, due to drawing constraints, it is omitted in Figure 31(B), but a pose and actions specific to presenting a gift are added to the sender user U12's object UO12. This expresses the sender's feelings. Note that in Figure 31(B), the recipient of the present, U... Object O31, a bag, is duplicated near the chest area of object UO13 of The U13, clearly indicating the destination of the duplication.
[0173] In Figure 31(C), since it is a replica as a gift, joy and gratitude are expressed through the pose and actions of object UO13 of user U13, who has received the gift bag. In Figure 31(C), the message MS2 reads "Thank you." Also, since the gifted bag is a handbag, object O31 is automatically adjusted to the position of object UO13's hand. If a dominant hand setting is available, the hand holding object O31 of the bag may be determined according to the dominant hand setting.
[0174] In addition, if the structure information of object O31 includes size information, the displayed size of object O31 in the virtual space will be automatically adjusted according to the scale at the time object O31 is displayed at the destination. Furthermore, if the structure information of object O31 includes weight information, the weight of object O31 may be reflected in the actions of object U13, which has acquired the sense of weight of the bag. If the object, such as a bag, that is duplicated and given as a gift is heavy, object U13 will perform actions to indicate that it is heavy, such as bending its legs or holding it with both hands. On the other hand, if the duplicated and given object is light, it will perform actions to indicate that it is light, such as holding it with one hand and lifting it high.
[0175] <Embodiment 2><System> Figure 32 is a diagram showing an example configuration of the information processing system 1B according to Embodiment 2. Figure 32 is denoted by reference numerals corresponding to parts in Figure 1. The information processing system 1B shown in Figure 32 has a blockchain system 30 added to it. The blockchain system 30 is composed of multiple terminals and manages data using a distributed ledger. In Embodiment 2, the distributed ledger of the blockchain system 30 records, for example, data managed by the virtual space management server 10 and transaction data in the virtual space in block units. Each block is linked in a chain and managed by the distributed ledger.
[0176] In the blockchain system 30, transactions within the virtual space using crypto assets, which are an example of fungible tokens, are recorded, as well as non-fungible tokens linked to the data of objects existing in the virtual space. The blockchain system 30 is also used to record the activities of user U within the virtual space and to record restrictions on replication. By linking replication restrictions to non-fungible tokens, it is possible to prevent malicious alteration of the restrictions. In other words, fraud against the restrictions can be eliminated. Access to non-fungible tokens linked to replication restrictions is achieved through link information linked to object O. Link information may exist integrally with object O as attribute data or may be managed by the virtual space management server 10.
[0177] <Other Embodiments> In the embodiments described above, the object UO as the destination for duplication is linked to an individual user U, but the destination may also be a corporation or a group of multiple users U. Examples of groups include clubs and families. For example, if object O is designated as the destination for a group's object UO, the duplicated object (second object) may be reflected in the object UOs of multiple users U who make up the group. That is, the number of copies to be made may be automatically set according to the number of groups to be duplicated, or if they are all in the same group, the second object may be changed to a specific image set for that group. For example, if they are all from the same company, it may be automatically changed to the company logo.
[0178] Furthermore, although not explained in the above embodiment, the execution conditions for constraints may be defined according to the gender, age, and other attributes of the user U to which the source object O (first object) is associated, and the gender, age, and other attributes of the user U to which the duplicated object (second object) is associated. For example, even if the content of the constraints is the same, the shape of the duplicated object O may differ depending on the gender of the user U to which the source object O is associated. Also, for example, even if the content of the constraints is the same, the duplicated object O may differ depending on the gender of the user U to which the duplicated object O is associated.
[0179] Figure 33 illustrates an example where the display of duplicated objects O2 and O3 differs depending on whether the users U12 or U13 instruct the duplication. Figure 33 uses corresponding symbols to indicate parts that correspond to those in Figure 10. In Figure 33, the logo of the source hat object O1 is a constraint object, and the change in shape is defined as a constraint. In Figure 33, when the destination of the duplicated hat object O1 is linked to user U12's object UO12, the logo of object O2 (second object) is changed to "B". On the other hand, when the destination of the duplicated hat object O1 is linked to user U13's object UO13, the logo of object O3 (second object) is changed to "D". Note that the order of duplication is ignored in Figure 33.
[0180] The image of a duplicated object may be modified according to the environment set in the virtual space of the duplicated object. For example, if an object is duplicated underwater, the image may be changed to a soggy texture. Similarly, if an object is placed in fire, the image of the object may be changed to one with a burnt surface. The scope of the impact of such changes may be described in the constraints. Furthermore, objects with constraints may be controlled according to the state of the user issuing the duplication command. For example, if biometric information is obtained from the user and it is determined that the user is anxious (sweating, rapid pulse, etc.), the handle of the bag that the user was trying to give as a gift may be changed to appear damp. This example illustrates the state of a user in the real world.
[0181] If the ID of a token is removed from the blockchain ledger where the constraint information is recorded, the object associated with that constraint may be changed to an object without constraints. In this case, there will be no restrictions on object duplication, and it will be possible to duplicate it freely. In conjunction with the deletion of the token ID, notifications may be sent to the most recent owner and users who were previously denied permission to duplicate, informing them that duplication is now permitted, through various notification methods such as messages.
[0182] Objects whose replication is restricted in the virtual space may be hidden from users who are not permitted to replicate some or all of them. In other words, regardless of whether replication is actually permitted or not, only those who are permitted to replicate the object will be able to find it, thereby reducing unnecessary access by users.
[0183] When duplicating an object with constraints imposed on a non-fungible token, a fee (which may include all costs associated with conversion) in the form of cryptocurrency may be charged for the duplication. In this case, the fee will be automatically deducted from the user's associated cryptocurrency wallet using available cryptocurrency. A confirmation screen may be displayed to obtain the user's confirmation before the deduction. If the user's cryptocurrency balance is insufficient, the duplication may be interrupted and a notification may be issued.
[0184] The configurations described in each of the embodiments described above may be combined in each embodiment or applied in part only. The configuration of the present invention may also be appropriately replaced with technically similar configurations that are not illustrated.
[0185] <Summary> The main features of the information processing device, information processing method, and program described in the embodiments are shown below.
[0186] (1) The information processing device has a processor, and if a part of a first object in the virtual space includes one or more constraint objects that have constraints on replication, the processor displays a second object that is generated based on the first object in accordance with the constraints. This information processing device makes it possible to conditionally replicate objects that exist in the virtual space.
[0187] (2) In the information processing device described above, the first object includes a constraint object and an unconstrained object, and the second object includes a substitute object different from the constraint object and an unconstrained object. In this case, the information processing device can generate a second object in which the constraint object of the first object is changed to the substitute object.
[0188] (3) In the aforementioned information processing device, when the processor receives a predetermined instruction from the user, it notifies the user that a display based on constraints will be executed before the second object is created. This notification function allows the user to know that a second object different from the first object will be created before the replication is performed.
[0189] (4) In the information processing device described above, the processor presents the user with one or more candidates for a second object and generates a second object based on the candidate selected by the user. This function allows the information processing device to generate a second object that reflects the user's selection.
[0190] (5) In the aforementioned information processing device, if the user who has executed a predetermined instruction has the authority to copy the constraint object, the processor displays a second object that includes the constraint object. This function allows the information processing device to generate a second object that includes the constraint object for users who have the authority to copy the constraint object.
[0191] (6) In the information processing device described above, the processor notifies the user associated with the constraint whether or not to duplicate the constraint object, and displays the second object in a manner corresponding to whether or not to duplicate it. This function allows the information processing device to generate a second object that reflects whether or not the user associated with the constraint has duplicated it.
[0192] (7) In the information processing device described above, if the first object contains multiple constraint objects, the processor displays a second object in which the multiple constraint objects have been replaced with multiple substitute objects having a common image. This function allows the information processing device to generate a second object in which the multiple substitute objects contained in the second object have a unified appearance with a common image.
[0193] (8) In the information processing device described above, if multiple first objects are designated as targets for replication, the processor displays multiple second objects in which the multiple constraint objects included in the multiple first objects designated as targets for replication have been changed to multiple substitute objects having a common image. This function allows the information processing device to generate multiple second objects that have a unified appearance with multiple substitute objects included in the second object having a common image.
[0194] (9) In the aforementioned information processing device, if the first object designated as the target of replication is a copy, the processor displays the second object according to the number of generations of replication of the first object. This function allows the information processing device to generate the second object according to the number of generations of replication of the first object that is the source of replication.
[0195] (10) In the information processing device described above, the processor displays the second object in proportion to the number of times the first object has been duplicated. This function allows the information processing device to generate the second object in proportion to the number of times the first object, which is the source of the duplication, has been duplicated.
[0196] (11) In the information processing device described above, the processor imposes a copy constraint on the unconstrained object of the first object or at least a portion of the second object. This function allows the information processing device to impose a copy constraint on a specified object.
[0197] (12) In the aforementioned information processing device, the processor is The constraint is obtained from a non-fungible token managed on the blockchain, which is associated with the first object or constraint object. This feature eliminates fraud regarding constraints related to duplication.
[0198] (13) In the information processing device described above, the processor displays the second object based on conditions specified by the user who specified the constraints and the first object. This function allows the information processing device to change the display of the second object generated by replication according to the user who specified the constraints and the first object.
[0199] (14) In the information processing device described above, the processor selects an object having features similar to those of the first object as a candidate for the second object. This function allows the information processing device to generate a second object whose features are similar to those of the original first object.
[0200] (15) In the information processing device described above, the processor permits the acceptance of a copy operation of the first object if the object being operated by the user exists in the virtual space. This function allows the information processing device to refuse the copy operation if the object being operated by the user does not exist in the virtual space of the first object.
[0201] (16) In the information processing device described above, the processor determines the second object according to the state of the user giving the copy instruction. This function allows the information processing device to change the second object according to the state of the user giving the copy instruction.
[0202] (17) If a part of a first object in a virtual space includes one or more constraint objects that have constraints on replication, the processor can provide an information processing method that processes the display of a second object generated based on the first object in accordance with the constraints.
[0203] (18) If a part of the first object in the virtual space includes one or more constraint objects that have replication constraints, the processor can implement a program that enables it to perform the display of the second object, which is generated based on the first object, in accordance with the constraints. [Explanation of symbols]
[0204] 1A, 1B... Information processing system, 10... Virtual space management server, 20... User terminal, 30... Blockchain system, 101, 201... Processor, 104, 204... Auxiliary storage device, 105, 209... Communication interface, 111, 212... Memory unit, 112, 214... Transmit / receive unit, 113, 213... Generation unit, 114... Reception unit, 115... Constraint processing unit, 116... Display control unit, 205... Input reception device, 206... Display, 207... Microphone, 208... Speaker, 211... Operation identification unit, 215... Display processing unit
Claims
[Claim 1] An information processing device having a processor, wherein if a portion of a first object in a virtual space includes one or more constraint objects that are subject to replication constraints, the processor performs the display of a second object generated based on the first object in accordance with the constraints.