Improvements to animated characters
By providing a user interface with multiple endpoints and preview areas in a computer game, users can customize the appearance of the game character, solving the problem of users in the prior art that it is difficult for users to adjust the character shape, and achieving higher personalization and interactivity.
Patent Information
- Application Number
- CN201980096140.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-05-17
- Filing Date
- 2019-09-18
- Publication Date
- 2025-03-11
- Estimated Expiration
- 2039-09-18
AI Technical Summary
The prior art is difficult to effectively modify and display game characters in computer games, especially in multiplayer environments, and it is difficult for users to customize and adjust the appearance of characters.
Provides a user interface that contains at least three endpoints and a preview area where the user can determine the size of the character's body parts by entering specific locations within the area and update the character's display in the preview area based on these sizes.
The function of users to customize the appearance of game characters is realized. Users can adjust the character size and shape according to their needs, improving the personalization and interactivity of the game experience.
Smart Images

Figure CN113826147B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to computer games, and more particularly to methods, systems and computer-readable media for modifying and displaying game characters in computer games. Background Art
[0002] Some online gaming platforms allow users to connect with each other, interact with each other (e.g., within a game), and / or share information with each other over the Internet. Users of online gaming platforms can participate in multiplayer gaming environments (e.g., in a virtual two-dimensional or three-dimensional environment), design custom gaming environments, design characters and avatars, decorate avatars, exchange virtual items with other users, and communicate with other users using audio, video, or text messaging, etc.
[0003] Taking into account the above requirements and other factors, some implementation methods are provided. Summary of the invention
[0004] Embodiments of the present application provide for displaying and improving game characters. In some embodiments, a computer-implemented method for updating a displayed character includes: providing a user interface, the user interface including at least three endpoints and a preview area including the displayed character. In at least some embodiments, each of the at least three endpoints is associated with a character of a corresponding type and the input area is surrounded by a plurality of lines. In at least some embodiments, each of the plurality of lines connects two adjacent endpoints of the at least three endpoints.
[0005] In some embodiments, the method includes: receiving user input indicating a specific location within the input area; in response to receiving the user input, determining the size of one or more body parts of the displayed character based on the specific location; and updating the displayed character within the preview area based on the determined size of the one or more body parts of the displayed character. In some embodiments, the input area is defined as a triangle, each vertex of the triangle corresponding to a corresponding endpoint of the at least three endpoints.
[0006] In some embodiments, determining the size of one or more body parts of the displayed character based on the specific position includes: selecting the corresponding size of the one or more body parts based on the corresponding distance between the specific position and the at least three endpoints. In some embodiments, determining the size includes: determining the length or circumference of the one or more body parts.
[0007] In some embodiments, the at least three endpoints include a first endpoint associated with a human female character, a second endpoint associated with a human male character, and a third endpoint associated with a minifigure character.
[0008] In some embodiments, updating the displayed character includes: adjusting a texture of the displayed character. In some embodiments, adjusting the texture includes adjusting at least one of a brightness transition or a color transition.
[0009] In some embodiments, the displayed character includes a skeleton with 15 joints connected to the one or more body parts.
[0010] In some embodiments, determining the size of one or more body parts of the displayed character includes: determining a corresponding distance between the specific position and each endpoint; and determining the size of the one or more body parts based on a weighted average of the corresponding sizes of the one or more body parts of the character of the corresponding type associated with each endpoint.
[0011] In some embodiments, determining the size of one or more body parts of the displayed character includes: calculating a relative weighted size corresponding to each endpoint based on a corresponding distance between the specific position and the endpoint; and calculating an average of the relative weighted sizes corresponding to each endpoint as the weighted average.
[0012] In some embodiments, determining the size of one or more body parts of the displayed character based on the specific position includes: determining the distance between the specific position and a previous position; and determining the size of one or more body parts of the displayed character based on the distance and the corresponding sizes of one or more body parts of the displayed character at the previous position.
[0013] In some embodiments, the method further comprises: storing the sizes of one or more body parts of the displayed character corresponding to a plurality of predetermined positions in the input area. In some embodiments, determining the sizes of one or more body parts of the displayed character according to the specific position comprises: determining the distance between the specific position and at least one predetermined position of the plurality of predetermined positions; and determining the sizes of one or more body parts of the displayed character according to the distance and the sizes of the corresponding one or more body parts of the displayed character at the at least one predetermined position.
[0014] Some embodiments include a system comprising: a memory for storing instructions; and a processing device connected to the memory, the processing device being configured to access the memory and execute the instructions, the instructions causing the processing device to perform operations including: providing a user interface including a user interface of at least three endpoints, an input area surrounded by a plurality of lines, and a preview area including a displayed character. In at least some embodiments, each of the at least three endpoints is associated with a character of a corresponding type. In at least some embodiments, each of the plurality of lines connects two adjacent endpoints of the at least three endpoints. In some embodiments, the operations include: receiving user input indicating a specific location within the input area; in response to receiving the user input, determining the size of one or more body parts of the displayed character according to the specific location; and updating the displayed character in the preview area according to the determined size of the one or more body parts of the displayed character.
[0015] In some embodiments, determining the size of one or more body parts of the displayed character based on the specific position includes: selecting the corresponding size of the one or more body parts based on the corresponding distance between the specific position and the at least three endpoints. In some embodiments, the at least three endpoints include a first endpoint associated with a human female character, a second endpoint associated with a human male character, and a third endpoint associated with a minifigure character.
[0016] Some embodiments include a non-transitory computer-readable medium comprising instructions that, in response to being executed by a processing device, cause the processing device to perform operations, including: providing a user interface comprising a user interface of at least three endpoints, an input area surrounded by a plurality of lines, and a preview area including a displayed character.
[0017] In at least some embodiments, each of the at least three endpoints is associated with a role of a corresponding type. In at least some embodiments, each of the plurality of lines connects two adjacent endpoints of the at least three endpoints.
[0018] In some embodiments, the operation includes: receiving user input indicating a specific location within the input area; in response to receiving the user input, determining the size of one or more body parts of the displayed character based on the specific location; and updating the displayed character in the preview area based on the determined size of the one or more body parts of the displayed character.
[0019] In some embodiments, determining the size of one or more body parts of the displayed character includes: determining a corresponding distance between the specific position and each endpoint; and determining the size of the one or more body parts based on a weighted average of the corresponding sizes of the one or more body parts of the character of the corresponding type associated with each endpoint.
[0020] In some embodiments, the input area is defined as a triangle, each vertex of the triangle corresponds to a respective endpoint of the at least three endpoints. In some embodiments, the at least three endpoints include a first endpoint associated with a human female character, a second endpoint associated with a human male character, and a third endpoint associated with a minifigure character. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] Figure 1 A system architecture diagram for role improvement provided by an embodiment of the present application is shown.
[0022] Figure 2A An example of a character (avatar) provided by an embodiment of the present application and a user interface that allows a user to improve the character are shown.
[0023] Figure 2B A three-dimensional exemplary skeleton (bone) provided in an embodiment of the present application is shown.
[0024] Figure 2C An exemplary user interface provided by an embodiment of the present application that allows a user to customize a displayed role is shown.
[0025] Figure 3A It shows that there are displayed characters and user input positions at corresponding endpoints on an exemplary interface provided by an embodiment of the present application.
[0026] Figure 3B The displayed character at the user input position selected by an exemplary user provided by an embodiment of the present application is shown.
[0027] Figure 4 A flowchart of an exemplary method for improving a role provided by an embodiment of the present application is shown.
[0028] Figure 5A , Figure 5B and Figure 5C The additional position indicated by the user input and the corresponding displayed character provided by the embodiment of the present application are shown.
[0029] Fig. 6A , Figure 6B and Figure 6C The embodiment of the present application shows the conversion from one displayed character to another displayed character in response to the received user input.
[0030] Figure 7 A block diagram of an exemplary computing device provided by an embodiment of the present application is shown. DETAILED DESCRIPTION
[0031] Online gaming platforms (also referred to as "user-generated content platforms" or "user-generated content systems") provide users with a variety of ways to interact. For example, users of online gaming platforms can work together toward a common goal, share various virtual gaming items, send electronic messages to each other, and so on. Users of online gaming platforms can join games as avatars, playing roles specific to the game. For example, avatars may be part of a team or multiplayer gaming environment, where each character is assigned a specific role and has associated parameters corresponding to the role, such as clothing, armor, weapons, skills, and so on. In another example, avatars may be joined by computer-generated characters, such as when a single player is part of the game.
[0032] The online gaming platform may also allow users of the platform to create and animate new characters and avatars. For example, users of the online gaming platform may create, design, and customize new characters.
[0033] In some embodiments, the animation may include a character moving one or more body parts to simulate motion such as walking, running, jumping, fighting, swinging a weapon such as a sword, etc. In some embodiments, the character may make facial expressions in which the entire body of the character or a portion of the character is moving. The animation may correspond to various sports, such as graceful, samurai, ballet, etc., and may imitate the movements of popular real and fictional characters.
[0034] Figure 1 An example system architecture 100 is shown according to some implementations of the present disclosure. Figure 1 The same reference numerals as in other figures are used to identify the same elements. A letter following a reference number, such as "110," indicates that the text refers specifically to the element having that particular reference number. A reference number in the text that is not followed by a letter, such as "110," refers to a portion of the element bearing that reference numeral in any or all of the figures (e.g., "110" in the text refers to reference numerals "110a," "110b," and / or "110n" in the figures).
[0035] System architecture 100 (also referred to herein as “system”) includes online game server 102, data storage 120, and client devices 110a, 110b, and 110n (collectively referred to herein as “client devices 110”). Game server 102, data storage 120, and client devices 110 are coupled via network 122.
[0036] The online game server 102 may include a game engine 104, one or more games 106, and a graphics engine 108, etc. The client device 110 may include a game application 112 and an input / output interface 114 (e.g., an input / output device). The input / output device may include one or more of a microphone, a speaker, a headset, a display device, a mouse, a keyboard, a game controller, a touch screen, a virtual reality console, etc.
[0037] The system architecture 100 is provided below for illustration. In various implementations, the system architecture 100 may include Figure 1 The same, fewer, more or different elements configured in the same or different manner as shown.
[0038] In some embodiments, the network 122 may include a public network (e.g., the Internet), a private network (e.g., a local area network (LAN) or a wide area network (WAN)), a wired network (e.g., an Ethernet network), a wireless network (e.g., an 802.11 network, a Wi-Fi network, or a wireless LAN (WLAN)), a cellular network (e.g., a 5G network, a long-term evolution (LTE) network, etc.), a router, a hub, a switch, a server computer, or a combination thereof.
[0039] In some embodiments, data storage 108 may be a non-transitory computer-readable memory (e.g., random access memory), a cache, a drive (e.g., a hard drive), a flash drive, a database system, or other type of component or device capable of storing data. Data storage 108 may also include multiple storage components (e.g., multiple drives or multiple databases) that can span multiple computing devices (e.g., multiple server computers).
[0040] In some embodiments, the online game server 102 may include a server having one or more computing devices (e.g., a cloud computing system, a rack-mounted server, a server computer, a physical server cluster, etc.). In some embodiments, the online game server 102 may be an independent system, may include multiple servers, or may be part of another system or server.
[0041] In some embodiments, the online game server 102 may include one or more computing devices (e.g., rack-mounted servers, router computers, server computers, personal computers, mainframe computers, laptop computers, tablet computers, desktop computers, etc.), data storage (e.g., hard disks, memories, databases), networks, software components, and / or components that may be used to perform operations on the online game server 102 and to provide users with access to the online game server 102. The online game server 102 may also include a website (e.g., a web page) or application backend software that may be used to provide users with access to content provided by the online game server 102, for example, a user may access the online game server 102 using a game application 112 on a client device 110.
[0042] In some embodiments, the online game server 102 may be a social network or a user-generated content system that provides connections between users, allowing users (e.g., end users or consumers) to communicate with other users on the online game server 102. Wherein the communication may include voice chat (e.g., synchronous and / or asynchronous voice communication), video chat (e.g., synchronous and / or asynchronous video communication), or text chat (e.g., synchronous and / or asynchronous text-based communication). In some embodiments of the present disclosure, a "user" may be represented as a single individual. However, other embodiments of the present disclosure include a "user" (e.g., creating a user) as an entity controlled by a group of users or an automated source. For example, a group of individual users united as a community or group in a user-generated content system may be considered a "user."
[0043] In some embodiments, the online game server 102 may be a virtual game server. For example, the game server may provide single-player or multiplayer games to a community of users who may access or interact with the game using a client device 110 via the network 122. In some embodiments, the game (also referred to herein as a "video game," "online game," or "virtual game") may be a two-dimensional (2D) game, a three-dimensional (3D) game (e.g., a 3D user-generated game), a virtual reality (VR) game, or an augmented reality (AR) game. For example, in some embodiments, a user may participate in a game with other users. In some embodiments, a game may be played in real time with other users of the game.
[0044] In some embodiments, the game process may refer to the interaction of one or more players in a game (e.g., 106) using a client device (e.g., 110) or the presentation of the interaction on a display or other output device (e.g., 114) of the client device 110.
[0045] In some embodiments, game 106 may include an electronic file that can be executed or loaded using software, firmware, or hardware configured to present game content (e.g., digital media items) to an individual. In some embodiments, game application 112 may be executed, and game 106 may be associated with game engine 104. In some embodiments, game 106 may have a common set of rules or a common goal, and multiple environments of game 106 may share a common set of rules or a common goal. In some embodiments, different games may have different rules or goals.
[0046] In some embodiments, a game may have one or more environments (also referred to herein as "game environments" or "virtual environments"), where multiple environments may be linked. An example of an environment may be a three-dimensional (3D) environment. One or more environments of a game application 106 may be collectively referred to herein as a "world" or "game world" or "virtual world" or "universe". An example of a world may be the 3D world of a game 106. For example, a user may build a virtual environment that is linked to another virtual environment created by another user. Characters of a virtual game may cross a virtual boundary into an adjacent virtual environment.
[0047] It may be noted that a 3D environment or 3D world uses graphics that use 3D representations of geometric data that represent the game content (or at least currently the game content appears as 3D content, whether or not 3D representations of geometric data are used). A 2D environment or 2D world uses graphics that use 2D representations of geometric data that represent the game content.
[0048] In some embodiments, the online game server 102 may host one or more games 106 and may allow users to interact with the game 106 using the game application 112 of the client device 110. Users of the online game server 102 may play, create, interact or build the game 106, may also communicate with other users, and / or create and build objects (e.g., also referred to herein as "items" or "game objects" or "virtual game items"). For example, when generating user-generated virtual items, users may create characters, decorate characters, one or more virtual environments of interactive games, or build structures used in the game 106, etc. In some embodiments, users may buy, sell or trade game virtual game objects with other users of the online game server 102, such as platform currency (e.g., virtual currency). In some embodiments, the online game server 102 may transmit game content to the game application (e.g., 112). In some embodiments, game content (also referred to herein as "content") may refer to any data or software instructions (e.g., game objects, games, user information, videos, images, commands, media items, etc.) related to the online game server 102 or the game application. In some embodiments, a game object (also referred to herein as an "item" or "object" or "virtual game item") may refer to an object that is used, created, shared, or otherwise depicted in a game application 106 of an online game server 102 or a game application 112 of a client device 110. For example, a game object may include parts, models, characters, tools, weapons, clothing, buildings, vehicles, currency, flora, fauna, components of the above (e.g., windows of a building), etc.
[0049] It can be noted that the online game server 102 provides the game 106 for the purpose of illustration, not for limitation. In some embodiments, the online game server 102 can host one or more media items, which can include communication messages from one user to one or more other users. The media items can include, but are not limited to, digital videos, digital movies, digital photos, digital music, audio content, melodies, website content, social media updates, e-books, e-magazines, digital newspapers, digital audiobooks, e-journals, web blogs, RSS feeds, electronic comic books, software applications, etc. In some embodiments, the media items can be electronic files that can be executed or loaded using software, firmware, or hardware that is configured to present the digital media items to an entity.
[0050] In some embodiments, a game 106 may be associated with a particular user or a particular group of users (e.g., a private game), or may be made generally available to users who have access to the online game server 102 (e.g., a public game). In some embodiments, the online game server 102 associates one or more games 106 with a particular user or group of users, and the online game server 102 may use user account information (e.g., a user account identifier such as a username and password).
[0051] In some embodiments, the online game server 102 or the client device 110 may include a game engine 104 or a game application 112. In some embodiments, the game engine 104 may be used for the development or execution of some games 106. For example, the game engine 104 may include a rendering engine ("renderer") for 2D, 3D, VR or AR graphics, a physics engine, a collision detection engine (and collision response), a sound engine, scripting functions, an animation engine, an artificial intelligence engine, network functions, streaming functions, memory management functions, threading functions, scene graph functions, or video support for movies, among other functions. Components of the game engine 104 may generate commands (e.g., rendering commands, collision commands, physics commands, etc.) that help calculate and render the game. In some embodiments, the game application 112 of the client device 110 / 116 may work independently, in conjunction with the game engine 104 of the online game server 102, or in combination with the two.
[0052] In some embodiments, both the online game server 102 and the client device 110 may execute a game engine (104 and 112, respectively). The online game server 102 using the game engine 104 may perform some or all of the game engine functions (e.g., generating physics commands, rendering commands, etc.), or offload some or all of the game engine functions to the game engine 104 of the client device 110. In some embodiments, each game 106 may have a different ratio between the game engine functions executed on the online game server 102 and the game engine functions executed on the client device 110. The engine 104 of the online game server 102 may be used to generate physics commands in the event of a collision between at least two game objects, while additional game engine functions (e.g., generating rendering commands) may be downloaded to the client device 110. In some embodiments, the ratio of the game engine functions executed on the online game server 102 and the client device 110 may change (e.g., dynamically) based on game play conditions. For example, if the number of users participating in the game play of a particular game 106 exceeds a threshold number, the online game server 102 may execute one or more game engine functions previously executed by the client device 110.
[0053] For example, a user may be playing a game 106 on a client device 110 and may send control instructions (e.g., user input, such as right, left, up, down, user selection, or character position and speed information, etc.) to an online game server 102. After receiving the control instructions from the client device 110, the online game server 102 may send game process instructions (e.g., position and speed information of characters participating in the group game process or commands such as rendering commands, collision commands, etc.) to the client device 110 based on the control instructions. For example, the online game server 102 may perform one or more logical operations on the control instructions (e.g., using the game engine 104) to generate game process instructions for the client device 110. In other cases, the online game server 102 may participate in the game 106 through one or more or one client device 110 to other client devices (e.g., from client device 110a to client device 110b). The client device 110 may use the game process instructions and cause the game process to be displayed on the display of the client device 110.
[0054] In some embodiments, the control instructions may be instructions for instructing the actions of the user character in the game. For example, the control instructions may include user input to control the actions in the game, such as right, left, up, down, user selection, character position and direction data, force sensor data, etc. The control instructions may include character position and speed information. In some embodiments, the control instructions are sent directly to the online game server 102. In other embodiments, the control instructions may be sent from one client device 110 to another client device (e.g., from client device 110b to client device 110n). The other client device generates game process instructions using the local game engine 104. The control instructions may include instructions to play a voice communication message or other sound from another user on an audio device (e.g., a speaker, headphones), such as a voice communication or other sound generated using the audio spatialization technology described herein.
[0055] In some embodiments, the gameplay instructions may refer to instructions that allow the client device 110 to present the gameplay of a game, such as a multiplayer game. The gameplay instructions may include one or more of user input (e.g., control instructions), character position and velocity information, or commands (e.g., physics commands, rendering commands, collision commands, etc.).
[0056] In some embodiments, a character (or a general game object) is composed of components, one or more of which can be selected by a user, and these components are automatically connected together to help the user edit. One or more characters (also referred to herein as "avatars" or "models") can be associated with a user, wherein the user can control the character to facilitate the user's interaction with the game 106. In some embodiments, the character includes components such as body parts (e.g., hair, arms, legs, etc.) and accessories (e.g., T-shirts, glasses, decorative images, tools, etc.). In some embodiments, the customizable body parts of the character include head types, body part types (arms, legs, torso, and hands), facial types, hair types, and skin types, etc. In some embodiments, customizable accessories include clothing (e.g., shirts, pants, hats, shoes, glasses, etc.), weapons or other tools. In some embodiments, the user can also control the size of the character (e.g., height, width, or depth) or the size of the component of the character. In some embodiments, the user can control the proportions of a character (e.g., blocky, anatomical, etc.). It should be noted that in some embodiments, the character may not include a character game object (such as body parts, etc.), but the user can control the character (without the character game object) to facilitate the user's interaction with the game (for example, a puzzle game where the character game object is not rendered, but the user still controls the character to control the in-game actions).
[0057] In some embodiments, a component, such as a body part, may be a primitive geometric shape, such as a block, a cylinder, a sphere, etc., or other primitive shapes, such as a wedge, a ring, a tube, etc. In some embodiments, a creator module may publish a user's character for other users of the online game server 102 to view or use. In some embodiments, creation, modification, or characters should be in the form of a character, other game objects, a game 106, or a game environment, which can be performed by a user using an input and output interface (e.g., a developer interface) and with or without a script (or with or without an application programming interface API). It can be noted that for purposes of illustration and not limitation, the character is described as having a humanoid form. It can also be noted that the character can have any form, such as a vehicle, an animal, an inanimate object, or other creative forms.
[0058] In some embodiments, the online game server 102 can store the characters created by the user in the data center 108. In some embodiments, the online game server 102 maintains a character directory and a game directory, which can be presented to the user. In some embodiments, the game directory includes game images stored on the online game server 102. In addition, the user can select a character (e.g., a character created by the user or other users) from the character directory to participate in the selected game. The character directory includes a character image stored on the online game server 102. In some embodiments, one or more characters in the character directory may have been created or customized by the user. In some embodiments, the selected character may have a character setting to define one or more components of the character.
[0059] In some embodiments, the user's role may include a configuration of a component, wherein the configuration and appearance of the component and a more general role appearance may be defined by a role setting. In some embodiments, the role setting of the user's role may be selected at least in part by the user. In other embodiments, the user may select a role with a default role setting or a role setting selected by other users. For example, the user may select a default role from a role catalog with a predefined role setting, and the user may further customize the default role by changing some role settings (e.g., adding a shirt with a custom logo). The online game server 102 may associate a role setting with a specific role.
[0060] In some embodiments, the client devices 110 may each include a computing device, such as a personal computer (PC), a mobile device (e.g., a laptop, a mobile phone, a smart phone, a tablet computer, or a netbook computer), a network-connected television, a game console, etc. In some embodiments, the client devices 110 may also be referred to as "user devices". In some embodiments, one or more client devices 110 may be connected to the online game server 102 at any given time. It should be noted that the number of client devices 110 is provided as an example. In some embodiments, any number of client devices 110 may be used.
[0061] In some embodiments, each client device 110 may include an instance of a game application 112, respectively. In one embodiment, the game application 112 may allow a user to use and interact with the online game server 102, such as controlling a virtual character in a virtual game initiated by the online game server 102, or viewing or uploading content, such as a game 106, an image, a video project, a web page, a document, etc. In one example, the game application may be a network application (e.g., an application operating in conjunction with a web browser) that can access, retrieve, present, or navigate content (e.g., a virtual character in a virtual environment, etc.), which is provided by a network server. In another example, the game application may be a local application (e.g., a mobile application, an application, or a game program) that is locally installed and executed on the client device 110 and allows the user to interact with the online game server 102. The game application may present, display, or present content (e.g., a web page, a media viewer) to the user. In one embodiment, the game application may also include an embedded media player (e.g., a Flash player) embedded in a web page.
[0062] According to aspects of the present disclosure, the game application may be an application program of the online game server for users to build, create, edit, upload content to the online game server 102, and interact with the online game server 102 (e.g., play the game 106 hosted by the online game server 102). In this way, the game application may be provided to the client device 110 by the online game server 102. In another example, the game application may be an application downloaded from the server.
[0063] In some embodiments, a user can log into an online game server 102 through a game application. A user can access a user account by providing user account information (e.g., a username and password), wherein the user account is associated with one or more characters that can participate in one or more games 106 of the online game server 102.
[0064] Generally, functions described in one embodiment as being performed by the online game server 102 may also be performed by the client device 110 or, in other embodiments, by the server, if appropriate. In addition, functions attributed to a particular component may be performed by different or multiple components operating together. The online game server 102 may also be accessed as a service provided to other systems or devices through an appropriate application programming interface (API), and is therefore not limited to use in a website.
[0065] In some embodiments, the online game server 102 may include a graphics engine 106. In some embodiments, the graphics engine 106 may be a graphics engine that allows some online game servers 102 to provide graphics and animation capabilities. In some embodiments, the graphics engine 106 may perform the following combined Figure 4 The flowcharts shown describe one or more operations.
[0066] Figure 2A An example of a character (avatar) provided by an embodiment of the present application and a user interface that allows a user to improve the character are shown.
[0067] In some embodiments, a character may be defined by its features (body parts), including head, shoulders, arms, torso, hips, and legs.
[0068] exist Figure 2A In the illustrative example shown, character 200 includes features (body parts) such as head 202 , shoulders 204 , torso 206 , hips 208 , a pair of arms 210 , and a pair of legs 212 .
[0069] In some embodiments, a character may have any combination of the body parts listed here. In some embodiments, a character may choose to include textures and accessories. Textures may refer to surface features such as skin type, skin color, hair type, hair color, etc. Accessories may refer to one or more items worn, carried, or otherwise attached to a character. For example, accessories may include armor, clothing, weapons, etc.
[0070] In some embodiments, a character may optionally include body elements and clothing. Body elements may refer to surface features, such as skin color, hairstyle, hair color, etc. Clothing may refer to one or more items worn, carried, or otherwise attached to a character. For example, clothing may include hats, clothes, accessories, equipment, etc.
[0071] In some embodiments, templates can be used for different types of characters. Characters may resemble humans, animals, robots, birds, and other real and fictional objects / creatures.
[0072] Figure 2B A three-dimensional exemplary skeleton (bone) provided in an embodiment of the present application is shown.
[0073] In some embodiments, the character is represented as a 3D model, including a surface representation (also called a skin or mesh) for drawing the character and a hierarchical combination of multiple bones connected to each other (also called a skeleton or skeleton). The skeleton can be used to animate the character and to simulate the movement and action of the character. The 3D model can be represented as a data structure, one or more parameters of which can be modified to change various attributes of the character, such as size (height, width, circumference, etc.); body shape; movement style; number / type of body parts; proportions (e.g., shoulder-to-hip ratio); head size, etc.
[0074] exist Figure 2B In the illustrative example depicted in , the character includes a skeleton with 15 joints. The skeleton includes joints representing: head 252, right upper arm 254, left upper arm 256, right lower arm 258, left lower arm 260, upper torso 262, lower torso 264, right upper leg 266, left upper leg 268, right hand 270, left hand 272, right lower leg 274, left lower leg 276, right foot 278, and left foot 280.
[0075] In some embodiments, the body parts of the character may be connected by providing a mesh that defines the shape of the character. In some embodiments, additional patterns and / or textures may be added to the character. In some embodiments, the character may have accessories added, such as tools, weapons, etc.
[0076] In some embodiments, the size of the body parts, the layout of the skeletal joints, the distances between the joints, etc. are provided by the user during setup. In some embodiments, predetermined sizes (by example, library, etc.) may be provided to the user for selection. In various embodiments, the relative distances between the body parts may be adjusted to achieve a specific type of character. For example, different distance ratios, such as shoulder-to-hip ratio, may be associated with a character that is more similar to a male (masculine) or more similar to a female (feminine). Similarly, parameters such as head size, width, or height may be selected to generate characters with different body proportions.
[0077] Figure 2C An exemplary user interface provided by an embodiment of the present application that allows a user to customize a displayed role is shown.
[0078] In this illustrative example, user interface 285 includes endpoints 290, 292, 294 representing different representations of displayed characters. The display area associated with the user interface is represented by three or more types of endpoints (vertices). Each endpoint is associated with a corresponding type of character. In some embodiments, the user interface is displayed, for example, on an output device such as a display associated with user device 110. The user provides input using an input device associated with user device 110. The input indicates the specific appearance of the displayed character by selecting a position 296 within an area, which is defined by lines connecting adjacent endpoints. In some embodiments, the position selected by the user may be highlighted on the display to provide feedback to the user.
[0079] In some embodiments, an icon representing a corresponding role type may be displayed near one or more endpoints. In some embodiments, an image of the role type may be displayed near an endpoint.
[0080] In some embodiments, the user can indicate the unknown by utilizing a touch screen disposed on a display of the user device, by using a mouse or pointing device to perform movement and click operations, or by gestures, verbal input, or other input mechanisms.
[0081] In some embodiments, three instances may be used, such as Figure 2C In some embodiments, four, five, or more endpoints may be used, each of which may represent a different representation of the character being displayed.
[0082] In some embodiments, adjacent endpoints may be connected by straight lines. In some embodiments, adjacent endpoints may be connected using curved lines. In these embodiments, the curved lines may be concave or convex. User selection of an endpoint closer to a line may result in a corresponding adjustment to the character's external shape, e.g., more versus less convex compared to when a straight line between the endpoints is selected.
[0083] In some embodiments, the user interface may be three-dimensional, the endpoints may be distributed in a three-dimensional space, and the user input may indicate a selection of a location within a volume defined by a plane connecting the endpoints.
[0084] Figure 3A It shows that there are displayed characters and user input positions at corresponding endpoints on an exemplary interface provided by an embodiment of the present application.
[0085] Characters can be of various types and forms, including humanoid, blocky, animal-based, based on fictional characters, and more.
[0086] In this illustrative example, humanoid (human male and human female) and blocky (minifigure) characters are depicted to demonstrate the techniques of the present disclosure. The corresponding endpoints on the user interface, as previously described with reference to Figure 2C What is explained is also depicted.
[0087] In some embodiments, a human male character may be depicted as a humanoid character with male features. In some embodiments, the male features may include broader shoulders and narrower hips. In some embodiments, a human female character may include a human character with female features. In some embodiments, the female features may include narrower shoulders and wider hips than a human male character. In some embodiments, a human female character may be shorter in height than a human male character.
[0088] In some embodiments, the minifigure character may be depicted as a block-like style character. Features of the minifigure may include a larger head, a shorter torso, and shorter limbs (arms and legs).
[0089] exist Figure 3A , the leftmost figure depicts a human female character 310 having features of narrow shoulders 314 and wide hips 316. The character corresponds to the upper left corner endpoint 320 of the input area in the user interface.
[0090] exist Figure 3A , the rightmost figure depicts a minifigure character 370, which features a large head 374, a short torso 376, and short limbs 378. The character corresponds to the upper right corner endpoint 380 of the input area in the user interface.
[0091] In this illustrative example, user interface 330 includes endpoints corresponding to different representations of characters. For example, the user interface includes multiple endpoints representing a human female character 310, a human male character 340, and a minifigure character 370. Figure 3A As shown, other aspects of the character, such as clothing, headgear, etc., also retain attributes such as color, texture, material, etc., and are only adjusted according to the changes in character size, such as a larger head for a minifigure character, wider shoulders for a human male character, wider hips for a human female character, etc.
[0092] Figure 3B The displayed character at the user input position selected by an exemplary user provided by an embodiment of the present application is shown. In this example, the user provides input indicating a specific appearance of the character by selecting the position 390. The display area may also include a preview area, in which a preview of the character matching the position selected by the user is provided.
[0093] In this illustrative example, the position indicated by the user is approximately equidistant from the three endpoints 320, 350, and 380. Therefore, the selected (and depicted) characters 385 are a human female character, a human male character, and a minifigure character. The hybrid character is an interpolation of the three characters. For example, the head size of the hybrid character is the average of the three characters. In some embodiments, the size may be a simple average or a weighted average. In some embodiments, the weight of the character feature may be based on the distance from each respective endpoint. Other parameters such as shoulder-to-hip ratio, height, etc. can also be determined in a similar manner.
[0094] Figure 4 A flowchart of an exemplary method for improving a role provided by an embodiment of the present application is shown.
[0095] Operation begins at block 410, where a user interface (UI) is provided. The UI is configured to enable a user to provide user input to scale a character. The UI may provide visual feedback to the user, for example, via a display. In various embodiments, the UI may include a mechanism for a user to provide input indicating a location. For example, the user input may be a touch input of a touch screen of the client device 110, a gesture input of gesture detection hardware of the client device 110, a voice input of a microphone of the client device 110, a mouse or other pointer device of the client device 110, or other suitable input mechanisms.
[0096] In some embodiments, a display area associated with a user interface includes a depiction of three or more endpoints (vertices). Each of these endpoints is associated with a corresponding type of character. In some embodiments, an icon representing the corresponding type of character may be displayed near the endpoint. In some embodiments, an image or stylized representation of the type of character may be displayed near the endpoint.
[0097] In some embodiments, adjacent endpoints are connected by lines to enclose the input area. In some embodiments, adjacent endpoints are connected by straight lines.
[0098] In some embodiments, three endpoints are used and the input area is defined as a triangle. In these embodiments, each vertex of the triangle corresponds to a corresponding endpoint and is associated with a corresponding character type. In some embodiments, a first endpoint is associated with a human female character, a second endpoint is associated with a human male character, and a third endpoint is associated with a minifigure character. In these embodiments, the user selects a location that matches a particular endpoint, indicating that the corresponding character has been selected.
[0099] The display area can also include a preview area, which provides a preview of the role that matches the position selected by the user. The displayed role may be a humanoid role, including body parts, such as the head, torso, left arm, right arm, left leg or right leg of the humanoid role. In some embodiments, the role can be modeled as a three-dimensional model, connecting the body parts in the skeleton with multiple joints. In some embodiments, there may be 15 joints in the skeleton. The user can define the size of the body part (such as head size, arm length, etc.) for each endpoint when setting or initializing. Operation continues to block 420.
[0100] At block 420, user input is received indicating a particular location within the input area. The user input may be provided by the user using a user interface (e.g., using Figure 2C In some embodiments, the user input may be provided by moving a cursor to a specific location. Operation continues to block 430.
[0101] At block 430, the size of the character's body part is determined based on the received position. In some embodiments, the size (length, circumference, etc.) of the body part is determined based on the position indicated by the user, which may be based on the corresponding distance between the indicated position and each endpoint.
[0102] In some embodiments, the size of the body part can be determined by interpolation (contour interpolation, non-contour interpolation, etc.) between the sizes of the body parts at the corresponding endpoints. For example, for a user-indicated position located on any edge of the triangular user interface 285, interpolation is performed between the two characters represented by the two endpoints connected by the edge. At other user-indicated positions, within the triangle, interpolation is performed between the relative sizes of the body parts of the characters corresponding to each endpoint.
[0103] In some embodiments, the endpoints represent the final states of the character (usually defined by the user and / or derived from default settings), such as human male, human female, and minifigure, while all other user-indicated positions are the average of these three final states. In some embodiments, the intermediate state may be a weighted average of the three final states.
[0104] In some embodiments, a linear weighting function may be utilized. For example, the size of arm and leg muscle mass may be based on a weighted average of the arm and leg muscle mass sizes provided for the three types of characters. Similarly, limb length may be based on a weighted average of the limb lengths provided for the three types of characters.
[0105] Based on the position indicated by the user, one arm of the displayed character can be realized by determining the distance between the endpoints of the upper and lower arms (e.g., the left upper arm and the left lower arm) from a skeleton with 15 endpoints based on the position selected by the user (using a reference arm length for the endpoints, e.g., 1 for a human female, 1.5 for a human male, and 0.8 for a minifigure). The arm length of the displayed character, therefore, can be determined using the reference arm length and the distance between the position indicated by the user and the corresponding endpoint.
[0106] Similarly, based on the position indicated by the user, muscle mass may be distributed in the shoulder and elbow area of the displayed character. For example, if the position indicated by the user is located on the side of the triangle that is closer to the endpoint corresponding to a human male (as shown on the right side), the displayed character may include more muscle mass than if it is located on the side of the triangle that is closer to the endpoint corresponding to a human female (as shown on the left side).
[0107] In some embodiments, the size of the body part at the user-indicated location may be determined based on a weighted average of the sizes of the body part associated with each endpoint.
[0108] In some embodiments, a simple average is taken of the relative weighted sizes of each of these endpoints.
[0109] In some embodiments, nonlinear weighting of distances may be utilized. In some embodiments, the weighting of distances may be shown in triangles, such as by gradient fills. In some embodiments, higher weights may be associated with locations closer to the endpoints.
[0110] In some embodiments, the size of the body part at the previous user-indicated position (e.g., the last indicated position) can be used as a basis for determining the size of the body part at the current user-indicated position. The size of the body part at the user-indicated position is determined based on the distance between the user-indicated position and the previous position and the size of the body part at the previous position. This can enable faster determination of the size of the body part (compared to direct calculation based on the reference size at the endpoint) and can provide sufficiently accurate determination for subtle movements of the user-indicated position.
[0111] In some embodiments, body parts associated with predetermined locations within the input region are determined and stored. In some embodiments, the dimensions of some body parts at a set of locations may be stored as a lookup table (e.g., stored in Figure 1 For example, such storage may obviate the need to perform interpolation calculations, thereby providing a beneficial technical effect, and instead determine character attributes through database lookup operations, thereby having a lower computational cost.
[0112] In some embodiments, the size of the body part at the user-indicated position is determined based on the distance between the user-indicated position and the predetermined position and the size of the body part at the predetermined position.
[0113] In some embodiments, the determined dimensions of one or more body parts of the displayed character are stored in one location (eg, in data storage 120 for subsequent retrieval and use).
[0114] Operation continues to block 440 .
[0115] At block 440, the displayed character is updated in the preview area based on the determined size of the body part. In some embodiments, textures, body elements, clothing, etc. depicted on the displayed character are also updated. In some embodiments, the updating may include determining the size of the updated texture, body elements, clothing, etc.
[0116] In some embodiments, the displayed character is adjusted according to the user input of the user interface, and the brightness transition or the color transition can be adjusted to generate a smooth transition of the texture.
[0117] In some embodiments, one or more attachments associated with the displayed character may also be adjusted in size according to the update of the displayed character. In some embodiments, an option may be provided to the user to keep the size of the attachment unchanged as the size of the displayed character changes.
[0118] Blocks 410 to 440 may be performed (or repeated) in a different order than described above and / or one or more steps may be omitted. For example, blocks 430 and 440 may be performed substantially simultaneously, such as providing a real-time preview of an updated character. For example, a real-time preview may be provided when a user provides continuous input, such as by sliding a finger on a touch screen, which may result in corresponding calculations and updates to the displayed character in the preview area. In some embodiments, some blocks may be performed in multiple sub-blocks, such as block 430 may be performed by calculating the size of each body part separately, and then combining the calculated sizes into a character.
[0119] Figure 5A , Figure 5B and Figure 5C The additional position indicated by the user input and the corresponding displayed character provided by the embodiment of the present application are shown.
[0120] In this illustrative example, the character is depicted as being displayed at the midpoint of an edge connecting adjacent endpoints. Figure 5A, character 510 is the character displayed corresponding to the user indicated position 520. Character 510 is located at the midpoint of the edge connecting multiple endpoints corresponding to the human male character and the human female character. Accordingly, the displayed character includes body part sizes that represent the average size of the body parts in the human male and human female characters. When determining the size of character 510, the size of the minifigure's body parts (such as its exaggerated head size) is not considered.
[0121] Similarly, in Figure 5B , character 540 is the displayed character corresponding to user indicated location 550. Character 540 is located at the midpoint of the edge connecting the endpoints corresponding to the minifigure character and the human female character. Therefore, the displayed character includes dimensions of the body parts that represent an average of the dimensions of the body parts in the minifigure character and the human female character. When determining the dimensions of character 540, the dimensions of the human male body parts (e.g., large shoulders) are not considered.
[0122] exist Figure 5C 5, character 570 is a displayed character corresponding to user indicated location 580. Character 570 is located at the midpoint of the edge connecting the endpoints corresponding to the minifigure character and the human male character. Thus, the displayed character includes body part dimensions that represent an average of the body part dimensions among the minifigure character and the human male character. When determining the dimensions of character 540, the dimensions of the human female body parts (e.g., wide hips) are not considered.
[0123] As described above, the dimensions of the body parts at the locations representing the midpoints of the edges connecting the adjacent endpoints 520, 550, and 580 may be pre-calculated and stored. In some embodiments, the dimensions stored at these and other predetermined locations may be utilized to speed up the rendering of displayed characters at these locations and at locations determined to be within a predetermined distance from the predetermined locations.
[0124] In some embodiments, these stored sizes and these and other locations can speed up rendering of a displayed character at a user input location by providing additional reference locations (in addition to these locations) by more quickly calculating the size of the body part at a particular user input location.
[0125] Fig. 6A , Figure 6B and Figure 6C The embodiment of the present application shows the conversion from one displayed character to another displayed character in response to the received user input.
[0126] In this illustrative example, user device 610 (similar to Figure 1 The client device 110 is described as being used to adjust the size of the displayed character.
[0127] exist Fig. 6A In the example, an initial user indicated position 630 is provided so that the character 620 is displayed on the screen of the user device 610. It can be understood that since the position 630 is adjacent to the position corresponding to the minifigure character, the displayed character is similar to the minifigure (e.g., Figure 3A 370 in FIG. 1 ).
[0128] exist Figure 6B , the user indicates a user indicated location 650 (eg, by moving their finger on a touch screen of the user device 610 ), causing the character 640 to be displayed on the screen of the user device 610 .
[0129] exist Figure 6C In FIG. 6 , the user indicates a user-indicated position 670, causing a character 660 to be displayed on the screen of the user device 610. Since the position 670 is very close to the endpoint cluster corresponding to the human male character, the displayed character is similar to the human male character (e.g., Figure 3A 340 in FIG.
[0130] In some embodiments, in response to a user indicating movement of a position from one to another, two or more displayed characters may be displayed in a transient manner (eg, by displaying them in an intermittent manner) to enable the user to select a preferred displayed character.
[0131] Figure 7 1 shows a block diagram of an exemplary computing device 700 provided in an embodiment of the present application, which can be used to implement one or more of the above-mentioned features. In one example, the device 700 can be used to implement a computer device (e.g. Figure 1 102 and / or 110), and perform appropriate method embodiments described herein. The computing device 700 can be any suitable computer system, server, or other electronic or hardware device. For example, the computing device 700 can be a mainframe computer, a desktop computer, a workstation, a portable computer, or an electronic device (a portable device, a mobile device, a mobile phone, a smart phone, a tablet computer, a television, a television set-top box, a personal digital assistant PDA, a media player, a gaming device, a wearable device, etc.). In some embodiments, the device 700 includes a processor 702, an input / output interface 706, and an audio / video input / output device 714.
[0132] Processor 702 can be one or more processors and / or processing circuits to execute program code and control the basic operations of device 700. "Processor" includes any suitable hardware and / or software system, mechanism or component for processing data, signals or other information. The processor can include a system with a general-purpose central processing unit CPU, multiple processing units, special circuits for implementing functions or other systems. Processing operations do not have to be limited to a specific geographical location or have time restrictions. For example, the processor can perform its functions in "real time", "offline", "batch mode", etc. Some processing operations can be performed at different times and different places, and by different (or the same) processing systems. The computer can be any processor connected to a memory.
[0133] The memory 704 is generally provided in the device 700 for access by the processor 702 and may be any suitable processor-readable storage medium, such as random access memory (RAM), read-only memory (ROM), electrically erasable read-only memory (EEPROM), flash memory, etc., as long as it is suitable for storing instructions executed by the processor and is separate from and / or integrated with the processor 702. The memory 704 may store software executed by the processor 702 on the server device 700, including an operating system 708, one or more applications 710, such as an audio spatialization application, and application data 712. In some embodiments, the application 710 may include instructions that enable the processor 702 to perform the functions described herein, such as some or all of the steps of the method of FIG. 3.
[0134] For example, the application 710 may include an audio spatialization module 712, as described herein, which may provide audio spatialization within an online gaming server (e.g., 102). Any software in the memory 704 may alternatively be stored in any other suitable storage location or computer-readable medium. In addition, the memory 704 (and / or other connected storage devices) may store instructions and data used in the features described herein. The memory 704 and any other type of memory (disk, optical disk, tape, or other tangible medium) may be considered "memory" or "storage device".
[0135] The input / output interface 706 may provide functionality to interface the server device 700 with other systems and devices. For example, network communication devices, storage devices (e.g., memory and / or data storage 108), and input / output devices may communicate via the interface 706. In some embodiments, the input / output interface may be connected to interface devices including input devices (keyboards, pointing devices, touch screens, microphones, cameras, scanners, etc.) and / or output devices (display devices, speaker devices, printers, motors, etc.).
[0136] The audio / video input / output devices 714 may include a user input device (e.g., a mouse, etc.) that can be used to receive user input, a display device (e.g., a screen, a monitor, etc.), and / or a combined input and display device that can be used to provide graphical and / or visual output, such as the display output of step 340 of Figure 3.
[0137] For ease of explanation, Figure 7 Processor 702, memory 704, input output interface 706 and software block 708 and 710 are shown, and each is represented as a square frame.These square frames can represent one or more processors or processing circuits, operating systems, memories, input output interfaces, applications and / or software engines.In other embodiments, equipment 700 may not have all components shown and / or may have other elements, including other types of elements, to replace the elements shown here or the elements except the elements shown here.Although online game server 102 is described as performing the operation described in some embodiments herein, any suitable component or the combination of components of online game server 102 or similar systems, or any suitable processor or multiple processors associated with such systems, can perform described operation.
[0138] The user device can also be implemented and / or used with the features described herein. The example user device can be a computer device including some components similar to the device 700, such as a processor 702, a memory 704, and an input-output interface 706. The operating system, software, and application programs suitable for the client device can be provided in the memory and used by the processor. The input-output interface of the client device can be connected to a network communication device, or an input-output device, such as a microphone for capturing sound, a camera for capturing images or videos, a mouse for capturing user input, a gesture device for identifying user gestures, a touch screen for detecting user input, an audio speaker device for outputting sound, a display device or other output device for outputting images or videos. For example, a display device in an audio / video input / output device 714 can be connected to (or included in) the device 700 to display pre-processed and post-processed images as described herein, wherein such a display device can include any suitable display device, such as an LCD, LED, plasma display screen, CRT, television, monitor, touch screen, 3D display screen, projector, or other visual display device. Some embodiments can provide an audio output device, such as a voice output or synthesis of reading text.
[0139] One or more methods described herein (e.g., method 400) may be implemented by computer program instructions or codes that can be executed on a computer. For example, the code may be implemented by one or more digital processors (e.g., microprocessors or other processing circuits) and may be stored on a computer program product including a non-transitory computer-readable medium (e.g., storage medium), such as a magnetic, optical, electromagnetic or semiconductor storage medium, including semiconductor or solid-state storage, tape, computer floppy disk, random access memory (RAM), read-only memory (ROM), flash memory, hard disk, optical disk, solid-state drive, etc. The program instructions may also be contained in an electronic signal and provided as an electronic signal, such as in the form of software as a service (SaaS) delivered from a server (e.g., a distributed system and / or a cloud computing system). Alternatively, one or more methods may be implemented in hardware (logic gates, etc.) or in a combination of hardware and software. Example hardware may be a programmable processor (e.g., a field programmable gate array (FPGA), a complex programmable logic device), a general-purpose processor, a graphics processor, an application-specific integrated circuit (ASIC), etc. One or more methods may be performed as part or component of an application running on a system, or as an application or software running in conjunction with other applications and an operating system.
[0140] One or more of the methods described herein may be run in a standalone program that can run on any type of computing device, a program that runs on a web browser, a mobile application that runs on a mobile computing device (e.g., a cell phone, a smartphone, a tablet, a wearable device (a watch, an armband, jewelry, headwear, goggles, glasses, etc.), a laptop, etc.). In one example, a client / server architecture may be used, such as a mobile computing device (as a client device) sending user input data to a server device and receiving final output data from the server for output (e.g., for display). In another example, all computations may be performed within a mobile application (and / or other applications) on the mobile computing device. In another example, computations may be split between the mobile computing device and one or more server devices.
[0141] Although the description has been described with respect to specific embodiments thereof, these specific embodiments are merely illustrative and not restrictive. The concepts illustrated in the examples can be applied to other examples and implementations.
[0142] It should be understood that, as known to those skilled in the art, the functional blocks, operations, features, methods, devices and systems described in this disclosure can be integrated or divided into different combinations of systems, devices and functional blocks. Any suitable programming language and programming techniques can be used to implement the routines of specific implementations. Different programming techniques can be adopted, for example, procedural or object-oriented. The routines can be executed on a single processing device or multiple processors. Although steps, operations or calculations can be presented in a specific order, the order can be changed in different specific implementations. In some embodiments, multiple steps or operations shown as sequential in this specification can be executed simultaneously.
Claims
1. A computer-implemented method for updating a displayed character, comprising: A user interface is provided, the user interface comprising: at least three endpoints, wherein each of the at least three endpoints is associated with a corresponding type of character; an input area surrounded by a plurality of lines, wherein each of the plurality of lines connects two adjacent endpoints of the at least three endpoints; and a preview area including the displayed character, receiving a user input indicating a specific location within the input area, In response to receiving the user input, determining a size of one or more body parts of the displayed character according to the specific position, updating the displayed character within the preview area based on the determined size of one or more body parts of the displayed character, and Wherein, determining the size of one or more body parts of the displayed character according to the specific position includes: determining a corresponding distance between the specific position and each endpoint; Calculating a relative weighted size corresponding to each endpoint based on a corresponding distance between the specific position and the endpoint; calculating an average of the relative weighted sizes corresponding to each endpoint as a weighted average; and The sizes of the one or more body parts are determined based on the weighted average of the corresponding sizes of the one or more body parts of the corresponding type of character associated with each endpoint. 2 . The method according to claim 1 , wherein the input area is defined as a triangle, and each vertex of the triangle corresponds to a corresponding endpoint of the at least three endpoints.
3. The method of claim 1, wherein the at least three endpoints include a first endpoint associated with a human female character, a second endpoint associated with a human male character, and a third endpoint associated with a minifigure character.
4. The method according to claim 1, updating the displayed character, comprising: Adjusting the texture of the displayed character. The method of claim 4 , wherein adjusting the texture comprises adjusting at least one of a brightness transition or a color transition.
6. The method of claim 1, wherein the displayed character comprises a skeleton having 15 joints connected to the one or more body parts.
7. A computer-implemented system for updating a displayed character, comprising: A memory for storing instructions; and A processing device is connected to the memory, and the processing device is configured to access the memory and execute the instructions, wherein the instructions enable the processing device to perform operations, including: A user interface is provided, the user interface comprising: at least three endpoints, wherein each of the at least three endpoints is associated with a corresponding type of character; an input area surrounded by a plurality of lines, wherein each of the plurality of lines connects two adjacent endpoints of the at least three endpoints; and a preview area including a displayed character, receiving a user input indicating a specific location within the input area, In response to receiving the user input, determining a size of one or more body parts of the displayed character according to the specific position, updating the displayed character within the preview area based on the determined size of one or more body parts of the displayed character, and Wherein, determining the size of one or more body parts of the displayed character according to the specific position includes: determining a corresponding distance between the specific position and each endpoint; Calculating a relative weighted size corresponding to each endpoint based on a corresponding distance between the specific position and the endpoint; calculating an average of the relative weighted sizes corresponding to each endpoint as a weighted average; and The sizes of the one or more body parts are determined based on the weighted average of the corresponding sizes of the one or more body parts of the corresponding type of character associated with each endpoint.
8. The system of claim 7, the at least three endpoints comprising a first endpoint associated with a human female character, a second endpoint associated with a human male character, and a third endpoint associated with a minifigure character.
9. A non-transitory computer-readable medium comprising instructions that, in response to being executed by a processing device, cause the processing device to perform operations comprising: A user interface is provided, the user interface comprising: at least three endpoints, wherein each of the at least three endpoints is associated with a corresponding type of character; an input area surrounded by a plurality of lines, wherein each of the plurality of lines connects two adjacent endpoints of the at least three endpoints; and a preview area including a displayed character, receiving a user input indicating a specific location within the input area, In response to receiving the user input, determining a size of one or more body parts of the displayed character according to the specific position, updating the displayed character within the preview area based on the determined size of one or more body parts of the displayed character, and Wherein, determining the size of one or more body parts of the displayed character according to the specific position includes: determining a corresponding distance between the specific position and each endpoint; Calculating a relative weighted size corresponding to each endpoint based on a corresponding distance between the specific position and the endpoint; calculating an average of the relative weighted sizes corresponding to each endpoint as a weighted average; and The sizes of the one or more body parts are determined based on the weighted average of the corresponding sizes of the one or more body parts of the corresponding type of character associated with each endpoint. 10 . The non-transitory computer-readable medium of claim 9 , the input area being defined as a triangle, each vertex of the triangle corresponding to a respective endpoint of the at least three endpoints.
11. The non-transitory computer-readable medium of claim 9, the at least three endpoints comprising a first endpoint associated with a human female character, a second endpoint associated with a human male character, and a third endpoint associated with a minifigure character.
Citation Information
Patent Citations
Picture processor and character form design device
JP1998323455A