Method for controlling actions of a 3D model, such as an avatar

The system addresses the challenge of controlling multiple avatars in virtual spaces by distinguishing between environmental and non-environmental actions, enabling realistic interactions and enhancing user engagement.

JP2026029255APending Publication Date: 2026-02-20METAVERSE CREATORS CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2024132076
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-08-08
Publication Date
2026-02-20

AI Technical Summary

Technical Problem

Existing methods for controlling user avatars in virtual spaces do not adequately support users with multiple avatars, limiting the ability to enjoy a personalized and interactive metaverse experience.

Method used

A system that distinguishes between environmental and non-environmental actions for avatars, allowing users to control and customize actions through action triggers and settings, enabling multiple avatars to interact and behave realistically in a virtual space.

Benefits of technology

Enables users to enjoy a more personalized and interactive metaverse experience by allowing multiple avatars to live and interact realistically, enhancing user engagement and satisfaction.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026029255000001_ABST
    Figure 2026029255000001_ABST
Patent Text Reader

Abstract

To provide a method for enabling a user to increasingly enjoy his / her favorite Metaverse life by providing a mechanism for making a user avatar live with a favorite avatar character so as to live with a friend or a pet in a virtual space.SOLUTION: In a method of controlling an action of an avatar NPC (non-player character) by an application that supports execution of communication between users in a virtual space in an avatar action control execution system in which a server terminal and a user terminal are connected to each other via a network, a control unit of the server terminal checks whether an action to be executed by the avatar NPC is an environmental action or a non-environmental action, checks whether an action trigger is satisfied when the action is the non-environmental action, and performs control to execute an action set for the avatar NPC when the action trigger is satisfied.SELECTED DRAWING: Figure 6
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a method for controlling the actions of a 3D model such as an avatar in an application that supports communication between users in a virtual space. [Background technology]

[0002] Recently, in virtual spaces, users can communicate with each other through avatars and the like, and communication similar to conversation in real space is becoming possible.

[0003] For example, Patent Document 1 discloses a method for controlling the movement of an avatar object in a virtual space. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] Patent registration No. 7502292 Summary of the Invention [Problem to be solved by the invention]

[0005] However, although several methods for controlling the behavior of a user avatar in a virtual space have been disclosed, including the technology disclosed in Patent Document 1, it is not uncommon these days for one user to own multiple avatars.

[0006] Taking this situation into consideration, the present invention aims to provide a system that allows users to live with multiple favorite avatars and characters in a virtual space, just as if they were living with friends or pets, thereby enabling users to enjoy a metaverse life that suits their preferences even more. [Means for solving the problem]

[0007] In one aspect of the present invention, a method for controlling the actions of an avatar NPC in an application that assists users in communicating with each other in a virtual space, wherein a control unit of a server terminal checks whether the action performed by the avatar NPC is an environmental action or a non-environmental action, and if it is a non-environmental action, checks whether an action trigger has been satisfied, and if the action trigger has been satisfied, controls the avatar NPC to execute the action set for it. [Effects of the Invention]

[0008] According to the present invention, it is possible for users to enjoy life in the Metaverse together with their avatar characters. [Brief explanation of the drawings]

[0009] [Figure 1] 1 is a block diagram showing an avatar action control execution system according to a first embodiment of the present invention. [Figure 2] FIG. 2 is a functional block diagram showing the server terminal 100 of FIG. [Figure 3] FIG. 2 is a functional block diagram showing the user terminal 200 of FIG. [Figure 4] FIG. 2 is a diagram showing an example of user data stored in the server terminal 100. [Figure 5] FIG. 2 is a diagram showing an example of action program data stored in the server terminal 100. [Figure 6] FIG. 10 is a flowchart illustrating an example of a process for controlling an action of an avatar. [Figure 7] FIG. 10 is a diagram showing an example of a script that defines a command for executing a predetermined action (environmental action) of an avatar. [Figure 8] FIG. 10 is a diagram illustrating an example of a script for explaining an action trigger. [Figure 9]FIG. 10 is a diagram showing an example of a script that defines commands for executing a predetermined action (non-environment action) of an avatar. DETAILED DESCRIPTION OF THE INVENTION

[0010] Hereinafter, embodiments of the present invention will be described with reference to the drawings. Note that the embodiments described below do not unduly limit the content of the present invention described in the claims. Furthermore, not all of the components shown in the embodiments are necessarily essential components of the present invention.

[0011] <Configuration> 1 is a block diagram showing a system for controlling and executing avatar actions in an application that supports communication between users in a virtual space according to a first embodiment of the present invention. As an example of this embodiment, the system 1 includes a server terminal 100 associated with a virtual space provision service provider that provides an application that enables users to communicate with other users by manipulating 3D models such as user avatars and characters (hereinafter referred to as user avatars) in a virtual space, and user terminals 200A and 200B (hereinafter collectively referred to as "user terminals 200") associated with the users.

[0012] The server terminal 100 and the user terminal 200 are connected to each other via a network NW1. The network NW is configured by the Internet, an intranet, a wireless LAN (Local Area Network), a WAN (Wide Area Network), or the like.

[0013] The server terminal 100 may be, for example, a general-purpose computer such as a workstation or a personal computer, or may be logically realized by cloud computing.

[0014] The user terminal 200 is, for example, an information processing device such as a personal computer or a tablet terminal, but may also be configured as a smartphone, a mobile phone, a PDA, a VR device, or the like.

[0015] Fig. 2 is a functional block configuration diagram of the server terminal 100 of Fig. 1. The server terminal 100 includes a communication unit 110, a storage unit 120, and a control unit .

[0016] The communication unit 110 is a communication interface for communicating with the user terminal 200 via the network NW, and communication is performed according to a communication protocol such as TCP / IP (Transmission Control Protocol / Internet Protocol).

[0017] The storage unit 120 stores input data and other information for executing various control processes and functions within the control unit 130, and is composed of RAM (Random Access Memory), ROM (Read Only Memory), and other components. The storage unit 120 also includes a user data storage unit 121 for storing various data related to users, and a program data storage unit 122 for storing data related to programs that control the actions of 3D models of user avatars operated by users and non-player character avatars (hereinafter referred to as "avatar NPCs") that are not operated by users in the virtual space. A database (not shown) storing various data may be constructed outside the storage unit 120 or the server terminal 100, and all or part of the user data, provider data, and content-related data may be stored in the user terminal 200.

[0018] The control unit 130 controls the overall operation of the server terminal 100 by executing a program stored in the storage unit 120, and is composed of a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), etc. Functions of the control unit 130 include an information receiving unit 131 that receives information from each terminal, and an information processing unit 132 that refers to and processes various data related to users and various data related to programs. The information receiving unit 131 and the information processing unit 132 are activated by a program stored in the storage unit 120 and executed by the server terminal 100, which is a computer (electronic calculator). Furthermore, the program stored in the storage unit 120 may be stored in the user terminal 200 and processed by the control unit 240 of the user terminal 200.

[0019] The information receiving unit 131 is provided by the server terminal 100 and receives information from the user terminal 200 via the communication unit 110. For example, from the user terminal 200, it receives action requests of the user avatar and avatar NPC in the virtual space.

[0020] The information processing unit 132 executes predetermined processing while referring to the user data and program data, for example, executing processing to control actions in response to action requests from user avatars and avatar NPCs.

[0021] The control unit 130 may also have a screen generation unit (not shown), which generates screen information to be displayed via the user interface of each of the multiple user terminals 200 upon request. For example, the control unit 130 generates a user interface by using image and text data (not shown) stored in the storage unit 120 as material and arranging various images and text in predetermined areas of the user interface based on predetermined layout rules. Processing related to the image generation unit may also be executed by a GPU (Graphics Processing Unit).

[0022] Fig. 3 is a functional block diagram showing the user terminal 200 of Fig. 1. The user terminal 200 includes a communication unit 410, a display operation unit 420, a storage unit 430, and a control unit 440.

[0023] The communication unit 210 is a communication interface for communicating with the server terminal 100 via the network NW, and communication is performed according to a communication protocol such as TCP / IP.

[0024] The display operation unit 220 is a user interface used by the user to input instructions and display text, images, etc. in accordance with input data from the control unit 240. If the user terminal 200 is a personal computer, the display operation unit 220 is configured with a display, keyboard, and mouse. If the user terminal 200 is a smartphone or tablet terminal, the display operation unit 220 is configured with a touch panel or the like. The display operation unit 420 is activated by a control program stored in the storage unit 430 and executed by the user terminal 200, which is a computer (electronic calculator). Other examples of the user terminal 200 include game consoles and smartwatches, and examples of display devices include VR glasses, AR glasses, head-mounted displays, holograms, and projectors. However, the combination of the user terminal and the display device can be selected appropriately and is not limited to a specific combination. In this case, the display operation unit 220 can also be a VR controller.

[0025] The storage unit 230 stores input data, programs for executing various control processes and functions in the control unit 240, and is composed of RAM, ROM, etc. The storage unit 230 also temporarily stores the contents of communication with the server terminal 100.

[0026] The control unit 240 controls the overall operation of the user terminal 200 by executing the programs stored in the storage unit 230, and is composed of a CPU, a GPU, and the like.

[0027] FIG. 4 is a diagram showing an example of user data stored in the server terminal 100. As shown in FIG.

[0028] The user data 1000 stores various data related to a user. For convenience of explanation, FIG. 4 shows an example of one user (a user identified by a user ID "10001"), but information related to multiple users can be stored. The various data related to a user can include, for example, basic information about the user (such as a user name arbitrarily registered by the user), avatar data (image data of the user avatar and avatar NPC, 3D shape data, bone object data, texture data, animation data and parameter data constituting them such as coordinate information and color information, as well as profiles, conversation / action history, etc. of the user avatar and avatar NPC), and world data (such as background image data, animation data, and object data constituting the virtual space).

[0029] FIG. 5 is a diagram showing an example of program data stored in the server terminal 100 for controlling the actions of user avatars and avatar NPCs.

[0030] The program data 2000 stores programs that enable user avatars and avatar NPCs to move (take actions) in a virtual space and customize such actions. The program data 2000 can store programs that control the movement of user avatars using inverse kinematics (IK) (for example, a program that controls the movement of parts of a user avatar (chest, neck, head, etc.) in relation to the direction the user avatar is facing in a virtual space, and a program that controls the movement of another avatar's head in accordance with the hand movement of the user avatar when the user avatar strokes the head of another avatar), as well as an avatar NPC movement control program that allows avatar NPCs to customize various actions, such as walking and interacting with other avatars, while defining the movement range and path using NavMesh in the virtual space. Also stored as program data 2000 is an action program that defines specific actions of the avatar NPC that can be selected by the user in the NPC action control program. Examples of action programs include "Move Point Action" (an action that moves the avatar NPC to a specified location), "Play Anim Action" (an action that makes the avatar NPC perform a specified motion), "Move And Play Animation Action" (an action that moves the avatar NPC to a specified location and makes the avatar NPC perform a specified motion; this is a combination of Move Point Action and Play Anim Action), as well as programs that define normal actions such as Waiting Action (an action that makes the avatar NPC do nothing for a specified number of seconds), Random Walk Action (an action that makes the avatar NPC walk around to a random location for a random time between Min Wandering Time and Max Wandering Time), "Start Random Action" (an action that makes the avatar NPC randomly perform one of the actions specified in NextActions), "State Start AnimAction" (an action that makes the avatar NPC unable to use a specified action after performing a specified action until State End AnimAction is called), and "State End Programs that define special actions such as "StateStartAnimAction" (used together with StateStartAnimAction. Non-environmental actions only. When this action is completed, the avatar NPC will be able to use the actions locked by StateStartAnimAction), and "Eye Contact Action" (non-environmental actions only. Can be executed as an action called by a trigger action when the target avatar is present. If the target avatar looks at the avatar NPC for a certain period of time, the avatar NPC will be made to execute the Success Next Action. If the condition is not met, the avatar NPC will be made to execute the Next Action.), "Follow Player Contact" (limited to non-environmental actions, can be executed as an action called by a trigger action when the target avatar is present. If the target avatar is a certain distance away, the action will move towards the avatar, and when the hand touches the Contact Trigger, the avatar NPC will perform a specific motion), and "Player Contact Action" (limited to non-environmental actions, can be executed as an action called by a trigger action when the target avatar is present. When the player stays in place and touches the Contact Trigger, the avatar NPC will perform a specific motion). In other words, these action controls allow the user avatar and / or avatar NPC to move to a specific location and perform a specific motion, act as if greeting other avatars that enter the world, act as if approaching other avatars when they are within their field of vision, and react in a specific way or pat their head when touched in a specific location. As shown in FIG. 7, a user can specify "actions" stored in program data 2000 to cause a user avatar and avatar NPC stored in user data 1000 to perform actions such as "moving to a specified location" or "performing a specified motion" in units of "actions." In this way, the avatar NPC can select several "actions" and randomly execute available ones from among them. For example, the avatar NPC can be configured to move to the position of an object with a MoveAndPlayAnimAction component attached and perform an animation. Such settings can be stored in storage unit 120 as user data 1000 for each avatar owned by the user. As mentioned above, all or part of the program data 2000 can also be stored in the user terminal 200.

[0031] <Processing flow> The flow of processing related to control of avatar actions in a virtual space, which is executed by the system 1 of this embodiment, will be described with reference to Fig. 6. Fig. 6 is a flowchart showing an example of processing for controlling avatar actions according to the first embodiment of the present invention. Hereinafter, an example will be given in which the control unit 130 of the server terminal 100 processes various data and programs stored in the storage unit 120 of the server terminal 100. However, in the case where the various data and programs are stored in the user terminal 200, this can also be interpreted as processing mainly executed by the control unit 240 of the user terminal 200.

[0032] First, as a preprocessing step in step S101, to use the system 1, a user accesses the server terminal 100 using a web browser or application on their terminal. If this is their first time using the service, they register by entering their basic user data. During user registration, the user can register any username without providing personal information. The information receiving unit 131 of the control unit 130 of the server terminal 100 receives information necessary for user registration from the user terminal 200 via the communication unit 110. The information processing unit 132 of the control unit 130 of the server terminal 100 stores the received information as user data 1000 in the user data storage unit 121 of the memory unit 120. If the user has already registered and obtained a user account, they can log in and use the service after undergoing a predetermined authentication process, such as entering an ID and password. After this authentication, a predetermined user interface is provided via a website, application, or the like. For example, the user can operate a user avatar in a virtual space and communicate with other users via voice or text. For example, a user can install on the user terminal 200 an application that has a pre-set program in which an avatar automatically moves around as a non-player character (avatar NPC) in a world decorated with world asset data consisting of graphic data and object data, and place their favorite avatar or character in the world asset, thereby realizing communal living with their favorite character in a virtual space. Here, the user can selectively acquire avatar data that corresponds to the world asset data and user avatar and is composed of graphic data and object data, which can be used in this system, from a business that sells this data, for a fee, and download this data to the user terminal 200 from a server (not shown) operated by the business, or install this data in the user terminal 200 via a storage medium on which this data is stored.

[0033] When an avatar NPC performs a predetermined action in a virtual space in which a world is implemented, in step S101, the information processing unit 132 of the control unit 130 of the server terminal 100 checks whether the control command for performing the action of the avatar NPC includes an environmental action or a non-environmental action by referring to the action setting information of each avatar NPC included in the avatar data stored in the user data storage unit 121 of the memory unit 120. There are two types of actions: "environment actions" and "non-environment actions." An "environment action" is an action that is randomly selected from the checked actions when the "Is Environment Action" checkbox is checked in a script that specifies the command for a specific action (in this example, "Move and Play Animation Action"), as shown in Figure 7. When the avatar NPC has no next action to perform, the action is executed. On the other hand, a "non-environment action" is an action that is not selected by the agent and is not executed independently by the avatar NPC when the "Is Environment Action" checkbox is not checked. In other words, a "non-environment action" is basically executed when specified in "Next Action" or by an "action trigger." As shown in Figure 8, an "action trigger" is a function that interrupts and executes an action when a specific condition is met. For example, when the condition "the player (user avatar) enters a specific collider" is met, the target avatar NPC will move to that location. A "Player Enter Trigger" is an action trigger that executes the action specified in "Action" when the player enters the trigger. Action triggers include "Player Enter Trigger" (an action trigger that fires when a player (avatar) enters the trigger collision), "Player Join Trigger" (an action trigger that fires when a player (avatar) enters the world), "Find Player Trigger" (an action trigger that fires when a player (avatar) enters the field of view), and "Custom Event Trigger" (an action trigger that fires when Send Custom Event is sent). In this step, if the action setting of the avatar NPC is set to "environmental action", the process proceeds to step S102, and if it is set to "non-environmental action", the process proceeds to step S103.

[0034] Next, in the process of step S102, the information processing unit 132 performs a process of causing the avatar NPC to execute a predetermined action when an environmental action is set. Here, the predetermined action may be an action (e.g., "Move and Play Animation Action") randomly selected from a plurality of pre-set actions. As described above, the program for controlling each action is stored in the action data storage unit 122 of the memory unit 120, and the action set as setting information is randomly applied to execute the action control.

[0035] Next, in the process of step S103, when a non-environmental action is set for the avatar NPC, the information processing unit 132 checks whether an action to be executed is also set by referring to the action setting information of each avatar NPC. As described above, when a "non-environmental action" is set, the avatar NPC executes the action either when an action to be executed by the avatar ("Next Action") is set in advance or when an "action trigger" is satisfied. Therefore, when a "Next Action" is set, the process proceeds to step S104, and the information processing unit 132 executes a process of executing the set action for the avatar NPC. If "Next Action" is not set, the process proceeds to step S105, where the information processing unit 132 checks whether or not an "action trigger," a condition for the avatar NPC to execute an action, has been satisfied. Here, the information processing unit 132 checks the action trigger by referring to the action setting information of each avatar NPC. If the action trigger has been satisfied, the information processing unit 132 causes the avatar NPC to execute a predetermined action, as processing in step S106. For example, when an action trigger such as "the user avatar has entered a specific collider" is satisfied, the information processing unit 132 causes the avatar NPC to execute the action set as "Action" (e.g., "Move and Play Animation Action") as shown in FIG. 8. Here, the user can also set additional controls to allow flexibility in the avatar NPC's behavior. For example, the user can set an "action trigger" to be locked. If the conditions of the action trigger are met again while the avatar NPC is already performing an action triggered by the action trigger, the specified action will be executed from the beginning. To prevent this, the user can apply a lock function to prevent the action trigger from being activated while a specific action is being executed. By registering an action in the "Locker Actions" shown in Figure 8, the user can prevent the action trigger from being activated while the registered action is being executed. The user can also set a "cancel action." When an action trigger interrupts an action, the previously executed action is interrupted. If there is an action that the user wants to execute when the action is interrupted, the user can specify a "cancel action" to execute the action after the interruption, followed by the "trigger action." The user can also set an "action broadcaster." Generally, when one avatar NPC is performing an action, other NPCs cannot perform that action, but by setting an action in the "action broadcaster," it is possible to have all NPCs in the world perform that action simultaneously. As mentioned above, the program that controls each action is stored in the action data storage unit 122 of the memory unit 120, and the action set as setting information is applied to control the action.

[0036] As an example, as shown in Figure 9, when a "Move Point Action" is set in a non-environment action, an agent (a specific avatar NPC) that can execute this action is specified as the "Usable Agent," and if no other agent is specified, everyone can use it. Also, the action that will be executed after this action is completed is set as the "Next Action," and in this example, "Contact Action" is set. Also, as described above, if a "Cancel Action" is set, the action that will be executed after this action is interrupted can be executed. Other commands specific to this action can also be set, such as the destination of the movement, whether to adjust the direction when arriving at the destination, whether to perfectly align the position when arriving at the destination, and whether to move by running.

[0037] As described above, users can easily and flexibly set specific actions, particularly for one or more avatar NPCs within the world, and can enjoy life in the Metaverse in a manner close to reality, with the user avatar they control working together with avatar NPCs such as pets or friends within the virtual space.

[0038] Although the embodiments of the present invention have been described above, they can be embodied in various other forms, and various omissions, substitutions, and modifications can be made. These embodiments, modifications, and omissions, substitutions, and modifications are included in the technical scope of the claims and their equivalents. [Explanation of symbols]

[0039] 1 System 100 Server terminal, 110 Communication unit, 120 Storage unit, 130 Control unit, 200 User terminal, NW1 Network

Claims

1. A method for controlling actions of an avatar NPC in an application that supports communication between users in a virtual space, comprising: The control unit of the server terminal Check whether the action performed by the avatar NPC is an environmental action or a non-environmental action, If the action is a non-environmental action, check whether the action trigger is met; When the action trigger is satisfied, the method controls the avatar NPC to execute a set action.

2. 10. The method of claim 1, If it is a non-environmental action, check whether the next action to be executed is set, When the next action to be executed is set, the method controls to execute the next action set.

3. 10. The method of claim 1, If the action is an environmental action, the method controls the avatar NPC to randomly execute a set action.

4. 10. The method of claim 1, The control unit The method performs control so that the action set for the avatar NPC is not executed even when the action trigger is satisfied, if an action has been executed beforehand for the avatar NPC.

5. 10. The method of claim 1, The control unit When the action trigger is satisfied, if an action has been previously performed on the avatar NPC, the method controls so that the previous action is interrupted and the action set for the avatar NPC is performed.

6. 10. The method of claim 1, A method for providing world asset data consisting of graphic data and object data that decorates the virtual space, and avatar character data consisting of graphic data and object data that the user can operate within the virtual space.

Citation Information

Patent Citations

  • Multimodal hand location and orientation for avatar locomotion

    JP7502292B2