Character Parameter Retargeting to Simplify Stack Processing for Development of Diverse Virtual Environments

Retargeting character parameters in 3D environments addresses resource inefficiencies by reducing repetitive calculations and improving responsiveness through efficient data reuse and uniform character animations.

JP7755761B2Active Publication Date: 2025-10-16AUTODESK INC
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2025021328
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2025-02-11
Filing Date
2025-02-13
Publication Date
2025-10-16
Estimated Expiration
2045-02-13

AI Technical Summary

Technical Problem

Existing computer-aided drafting applications for 3D virtual environments face excessive resource consumption and inefficiencies due to redundant data handling and repetitive calculations when animating diverse characters, leading to performance issues and increased rendering times, especially in complex scenes with numerous characters.

Method used

A method for retargeting character parameters by selecting a modifier, determining unavailable parameters, referencing available parameters from other characters, and generating updated trait data to facilitate efficient character transitions, reducing repetitive calculations and resource usage.

Benefits of technology

This approach reduces computational overhead, saves processing bandwidth, and improves application responsiveness by enabling the reuse of animation data and uniform results across scenes, minimizing manual corrections and power consumption.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007755761000001
    Figure 0007755761000001
  • Figure 0007755761000002
    Figure 0007755761000002
  • Figure 0007755761000003
    Figure 0007755761000003
Patent Text Reader

Abstract

To provide a technology for retargeting character parameters to simplify stack processing in 3D environments.SOLUTION: According to some embodiments, a technology includes the steps of: selecting a modifier to apply to characterization data for a character associated with a virtual environment; determining that a particular parameter, that is subject to modification upon an execution of the modifier, is unavailable for the character; determining that other characterization data for a separate character includes an available parameter that is modifiable according to the modifier; generating, for the particular character, updated characterization data that references the available parameter; modifying the updated characterization data according to the modifier; and causing the particular character to exhibit a transition according to the modifier while the character is being rendered via at least one user interface.SELECTED DRAWING: Figure 4
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS This application claims the benefit of U.S. Provisional Application No. 63 / 552,790, entitled "NATURAL LANGUAGE STACK-BASED TRAVERSAL MODEL," filed February 13, 2024. The subject matter of this related application is incorporated herein by reference. [Background technology]

[0002] Field of Various Embodiments Embodiments of the present disclosure relate generally to computer science, virtual environments, and complex software applications, and more specifically to retargeting character parameters to simplify stack handling, especially when dealing with virtual objects of various origins.

[0003] 2. Description of Related Art Computer-aided drafting applications demand excessive resources from most any device providing access to such applications, particularly those responsible for creating and / or managing 3D virtual environments. For applications that facilitate animation of 3D characters (e.g., animations depicting humans, animals, and / or other objects in complex environments), excessive memory consumption can impair performance and usability. In some instances, memory consumption and processing bandwidth can be particularly limited when animators and engineers store numerous variations of similar animations simply to accommodate slight differences in character features, proportions, and / or structure. When affected animation clips must be recreated or duplicated for each variation, production pipelines can become cluttered with redundant data, thereby further wasting available processing bandwidth and memory during the critical design phase.

[0004] In some cases, variations in bone structure between characters can result in substantial wasted resources, necessitating repeated modifications to character behavior. For example, developers may attempt to fit existing movements to a character that does not align with a particular source skeleton. This often leads to the need for manual bone-by-bone adjustments in the application. These per-frame calculations and manual edits can be particularly taxing on available resources when complex characters are involved. Such practices may not be an effective solution because they frequently involve periods of limited processing bandwidth, slowing interactive playback and iterative refinements and ultimately compromising the responsiveness required for large-scale or real-time productions.

[0005] Crowd scenes can pose significant technical obstacles due to the potentially excessive geometric computations they inherently involve. For example, characters with custom skeleton definitions may force an application to simultaneously resolve conflicts in multiple character definitions and hierarchy constraints. This parallel processing of individually defined skeletons can severely impact the performance of real-time engines and lead to excessive rendering overhead. As such, scenes containing hundreds or thousands of characters can be particularly prone to stuttering, frame drops, and increased rendering times.

[0006] Overall, many existing pipelines struggle to support real-time adjustments of characters, especially when faced with factors such as user-driven character drawing. Without an efficient means for handling diverse character definitions and / or origins, the system must repeatedly calculate per-bone translations, for example, which consume excessive computational resources and fatigue developers. This can also force frequent asset rebaking or recreation, which can further exacerbate inefficiencies in memory management and processing bandwidth.

[0007] As the above illustrates, what is needed in the art are more effective techniques for resolving sharp character definition in virtual / animated environments. Summary of the Invention [Means for solving the problem]

[0008] One embodiment describes a method for retargeting character parameters to simplify stack processing in a 3D environment. According to some embodiments, the method includes the steps of selecting a particular modifier to apply to trait data of a particular character associated with a virtual environment, determining that a particular parameter subject to modification upon execution of the character modifier is unavailable for the particular character, determining that other trait data of a separate character includes available parameters modifiable in accordance with the character modifier, generating updated trait data for the particular character that references the available parameters, modifying the updated trait data in accordance with the character modifier, and causing the particular character to exhibit a transition in accordance with the character modifier while the particular character is being rendered via at least one user interface.

[0009] Other embodiments of the present disclosure include, but are not limited to, one or more computer-readable media containing instructions for performing one or more aspects of the disclosed technology, and computing devices for performing one or more aspects of the disclosed technology.

[0010] One technical advantage of the disclosed technology over the prior art is that the disclosed technology provides an efficient system for retargeting characteristic data to integrate instances of characteristic data for a virtual environment. In particular, such retargeting facilitates the reuse of character libraries and other existing animation data, saving production time and ensuring uniform results across scenes. For example, when a character's pose is modified using retargeted characteristic data, computational overhead can be reduced as a result of avoiding repetitive calculations that might otherwise be performed if these technologies were not available.

[0011] Furthermore, when an example of characteristic data is at least temporarily retargeted, applying character modifiers to specific parameters of the updated characteristic data can eliminate a disruptive workflow for the designer. This modular approach to effecting character transitions can reduce processing delays that might otherwise be present when characteristic data is modified, regardless of the content of the available characteristic data. As such, the techniques detailed herein can reduce user downtime while increasing the processing bandwidth available to affected devices, at least as compared to users and devices employing prior art approaches.

[0012] Yet another technical advantage is that retargeting can reduce or simplify the computational load of application modules tasked with resolving relationships between objects in a virtual environment (e.g., when generating frame data or rendering animations). When character stacks are modified to incorporate retargeting behavior, CPU and GPU load can also be saved for other downstream tasks involved in designing the virtual environment. This can allow designers to focus more on creative design tasks and minimize time spent manually correcting errors or inconsistencies that may be apparent through the design application's viewport. Reducing the number of manual corrections of errors in this manner can save power and computational resources across an enterprise, especially when multiple designers collaborate to create virtual environments with complex character interactions (e.g., crowd animations).

[0013] Furthermore, the disclosed techniques enable improved application responsiveness and more accurate character movement than can be achieved using prior art approaches, thereby streamlining the 3D design process while preserving computing resources.

[0014] These technical advantages provide one or more technical advances over prior art approaches.

[0015] In order that the above-described features of various embodiments may be more particularly understood, the inventive concepts briefly summarized above will now be more particularly described with reference to various embodiments, some of which are illustrated in the accompanying drawings. It should be noted, however, that the accompanying drawings illustrate only exemplary embodiments of the inventive concepts and are therefore not intended to be limiting in any way on the scope, and that there may be other equally effective embodiments. The present invention provides, for example, the following. (Item 1) 1. A computer-implemented method for applying character modifications to a character in a virtual environment, comprising: selecting a character modifier to apply to characteristic data of a particular character associated with the virtual environment; determining that a particular parameter to be modified upon execution of the character modifier is unavailable to the particular character; determining that the distinct character's other characteristic data includes available parameters modifiable in accordance with said character modifier; generating updated characteristic data for the particular character that references the available parameters; modifying the updated characteristic data in accordance with the character modifier; and causing the particular character to exhibit a transition according to the character modifier while the particular character is being rendered via at least one user interface. (Item 2) the character modifier corresponds to an application action for modifying an initial pose of the particular character within the virtual environment; The computer-implemented method of any preceding claim, wherein the transition corresponds to the particular character moving from the initial pose to a final pose. (Item 3) The computer-implemented method of any of the preceding items, further comprising processing the other characteristic data of the distinct character using one or more trained machine learning models before determining that the other characteristic data includes the available parameters modifiable in accordance with the character modifier. (Item 4) A computer-implemented method as described in any of the preceding items, wherein selecting the character modifier to apply to the characteristic data of the particular character is performed in response to user input or in response to automated action of an application providing access to the characteristic data. (Item 5) The computer-implemented method of any of the preceding items, further comprising, before generating the updated characteristics data, modifying existing parameters of the characteristics data to include the contents of the available parameters or to include references to the available parameters. (Item 6) 10. The computer-implemented method of claim 1, wherein the particular character corresponds to a virtual person in the virtual environment and the existing parameters characterize appendage features of the virtual person. (Item 7) The computer-implemented method of any of the preceding items further comprises generating frame data characterizing frames depicting the transition of the particular character between an initial pose and a final pose before causing the particular character to exhibit the transition in accordance with the character modifier. (Item 8) The computer-implemented method of any of the preceding items, wherein generating the updated characteristic data that references the available parameters of the particular character includes storing the available parameters within the characteristic data or storing a reference to the available parameters within the characteristic data. (Item 9) 10. The computer-implemented method of claim 1, wherein determining that the particular parameter is unavailable for the particular character is performed before selecting the character modifier to apply to the characteristic data. (Item 10) The character modifier is: 2. The computer-implemented method of claim 1, wherein the method corresponds to a constraint on the movement of the particular character. (Item 11) One or more non-transitory computer-readable media storing instructions that, when executed by one or more processors, cause the one or more processors to: selecting a character modifier to apply to the characteristic data of a particular character associated with the virtual environment; determining that a particular parameter to be modified upon execution of the character modifier is unavailable to the particular character; determining that the distinct character's other characteristic data includes available parameters modifiable in accordance with said character modifier; generating updated characteristic data for the particular character that references the available parameters; modifying the updated characteristic data in accordance with the character modifier; and and applying character modifications to a character in the virtual environment by performing the operation of: causing the particular character to exhibit a transition in accordance with the character modifier while the particular character is being rendered via at least one user interface. (Item 12) One or more non-transitory computer-readable media described in any of the preceding items, wherein the character modifier corresponds to movement of the particular character relative to scene objects rendered for the particular character and the separate character via at least one user interface. (Item 13) One or more non-transitory computer-readable media described in any of the preceding items, wherein the operation further includes receiving user input identifying the character modifier for moving the particular character relative to scene objects in the virtual environment before selecting the character modifier to apply to the characteristic data of the particular character. (Item 14) 2. The one or more non-transitory computer-readable media of any preceding item, wherein the characteristic data is imported from a separate application that is different from an application that renders the at least one user interface. (Item 15) Before determining that the other characteristic data of the separate character includes the available parameters that can be modified according to the character modifier, the operation further includes processing the other characteristic data using a trained machine learning model trained based on various instances of the characteristic data, in any of the above items One or more non - transient computer - readable media. (Item 16) Before generating the updated characteristic data, the operation further includes modifying the existing parameters of the characteristic data so as to include the content of the available parameters or include a reference to the available parameters, in any of the above items One or more computer - implemented methods. (Item 17) The specific character corresponds to a virtual person in the virtual environment, and the existing parameters characterize the characteristics of the limbs of the virtual person, in any of the above items One or more non - transient computer - readable media. (Item 18) Before causing the specific character to exhibit the transition according to the character modifier, the operation further includes generating frame data characterizing a frame depicting the transition of the specific character between an initial pose and a final pose, in any of the above items One or more non - transient computer - readable media. (Item 19) Generating updated characteristic data that references the available parameters of the specific character includes storing the available parameters in the characteristic data or storing a reference to the available parameters in the characteristic data, in any of the above items One or more non - transient computer - readable media. (Item 20) A computer system, One or more memories including instructions, and One or more processors coupled to the one or more memories, which, when executing the instructions, selecting a character modifier to apply to the characteristic data of a particular character associated with the virtual environment; determining that a particular parameter to be modified upon execution of the character modifier is unavailable to the particular character; determining that the distinct character's other characteristic data includes available parameters modifiable in accordance with said character modifier; generating updated characteristic data for the particular character that references the available parameters; modifying the updated characteristic data in accordance with the character modifier; and The computer system includes the processor, which is configured to apply character modifications to a character in the virtual environment by performing the operation of causing the particular character to exhibit a transition in accordance with the character modifier while the particular character is being rendered via at least one user interface. (Summary) One embodiment describes a technique for retargeting character parameters to simplify stack processing in a 3D environment. According to some embodiments, the technique includes the steps of selecting a modifier to apply to trait data of a character associated with a virtual environment, determining that a particular parameter targeted for modification upon execution of the modifier is unavailable to the character, determining that other trait data of a separate character includes available parameters modifiable according to the character modifier, generating updated trait data for the particular character that references the available parameters, modifying the updated trait data according to the modifier, and causing the particular character to exhibit a transition according to the modifier while the character is being rendered via at least one user interface. [Brief explanation of the drawings]

[0016] [Figure 1]1 illustrates a software infrastructure configured to implement one or more aspects of various embodiments. [Figure 2] 2 is a conceptual diagram of an architecture and information flow that may be implemented by the management server of FIG. 1, according to various embodiments. [Figure 3] 2 illustrates a conceptual diagram of characteristic data parameters being retargeted at the direction of a software application executing on one of the endpoint devices of FIG. 1, according to various embodiments. [Figure 4] 1 illustrates a method for retargeting trait data of characters in a virtual environment to efficiently apply modifications across a multi-character environment, according to various embodiments. [Figure 5] 2 is a more detailed diagram of a computing device capable of implementing the functionality of the entities shown in FIG. 1, according to various embodiments. DETAILED DESCRIPTION OF THE INVENTION

[0017] In the following description, numerous specific details are set forth to provide a better understanding of various embodiments. However, it will be apparent to one skilled in the art that the concepts of the present invention may be practiced without one or more of these specific details.

[0018] System Overview 1 is a conceptual diagram of a system 100 configured to implement one or more aspects of various embodiments. As shown, system 100 includes at least one endpoint device 102, at least one management server 106, at least one database 108, and optionally at least one trained model 110, each of which may be available over a communications network 104. Communications network 104 may represent any technically feasible network or networks, including, for example, a wide area network (WAN) such as the Internet, a local area network (LAN), a Wi-Fi network, a cellular network, or a combination thereof.

[0019] Endpoint device 102 may represent a computing device (e.g., a desktop computing device, a laptop computing device, a mobile computing device, etc.). As shown in Figure 1, at least one software application 103 may be installed and executable on endpoint device 102. Software application 103 may represent, for example, one or more of a design application, a design application plug-in, a web browser application, a web browser extension, a productivity application, etc. Software application 103 may interface with management server 106 and / or a separate application for accessing character pipeline(s) 120 and solver module(s) 122, which may be managed by management server 106 (and / or other entities not shown in Figure 1).

[0020] Management server 106 may interface with one or more databases 108 implemented by management server 106 (and / or other entities not shown in FIG. 1 ). Management server 106 may represent a computing device (e.g., a rack server, a blade server, a tower server, etc.). In some embodiments, database(s) 108 may include at least one software application 103, one or more character pipelines 120 associated with and operated by software application 103, one or more solver modules 122 associated with software application 103, one or more frame data modules 124, and one or more viewport / UI modules 126 (and other information and / or modules associated with software application 103), details of which are described in further detail below in conjunction with FIGS. 2-4.

[0021] A user can engage with software application 103 by interacting with viewport / UI module 126 of software application 103. Viewport / UI module 126 can facilitate user input (e.g., using voice-based input, text-based input, etc.) selection of different virtual characters (i.e., rigs) to be included in an animation or virtual scene the user is creating using software application 103. In some embodiments, software application 103 can facilitate user selection of how each character is modified in character pipeline(s) 120. When a user selects a particular character to receive modification during animation playback, software application 103 can determine whether the particular character is suitable for retargeting or is already associated with integrated parameters (e.g., by activating a modifier stack or initializing one or more other operations). In some implementations, character data can be imported into software application 103 (e.g., from local and / or non-local storage) to create the animation and / or virtual scene.

[0022] As described in further detail herein, retargeting may include correlating specific character parameters of a specific character with existing integrated parameters. Alternatively or additionally, retargeting may include supplementing character data with existing integrated parameters, at least if such integrated parameters are not already correlated to the specific character. During retargeting, management server 106 may access database(s) 108 and trained model(s) 110 to leverage existing parameter data or models to efficiently retarget or supplement parameters of a specific character. Alternatively or additionally, as described in further detail herein, one or more heuristic processes may be utilized to retarget or supplement parameters of a specific character.

[0023] As described above, the management server 106 can be configured to facilitate at least temporary integration of characters and / or their respective parameters to efficiently manipulate character stacks developed by users via the endpoint device 102. Integrating specific character data for character modifications allows for more efficient processing of the character stack while also creating more accurate and consistent character transformations and movements between frames of associated animation or other rendered output. For example, a user can select a modifier (e.g., "look_at_Object()") for a particular character object (e.g., a pedestrian in a crowd) via the interface of the endpoint device 102. In response, the management server 106 can access the database 108 to determine any integration parameters (e.g., bone labels, bone hierarchy, etc.) that will be modified by the selected modifier. If such integration parameters are not already stored in association with the selected character, the management server 106 can identify available integration parameters for another character and retarget the selected character's existing parameters accordingly.

[0024] When a user selects a modifier for a particular character and the appropriate parameters (e.g., parameters according to the selected modifier) ​​are retargeted, a character pipeline 120 may be added to apply the modifier. The modifier may then be applied to the retargeted parameters of the particular character to effect the corresponding modification (e.g., rotating a part of the character's body to look at a particular object). As a result of the modification, characteristic data may be generated to characterize the modified pose of the particular character.

[0025] In some embodiments, as further detailed herein, the characteristic data may be available to solver module(s) 122 to perform other calculations to determine and resolve problems that the modified character's pose may have in the current scene or animation. Tasks such as inverse kinematics (e.g., performed using Autodesk® Human-IK® or other inverse kinematics tools on management server 106 or other local or non-local devices), collision detection, and biomechanical constraint enforcement may be performed by solver module(s) 122 to ensure that a particular character exhibits realistic movement in the scene. Frame data module(s) 124 may then receive any additional characteristic data from solver module(s) 122 to generate and write any corresponding frame data to database(s) 108. In some embodiments, with confirmation from the user and / or other manual input from the user (e.g., when less standard naming is employed), the characteristic data may also be utilized to further train any trained model(s) 110, as further detailed herein. A more detailed description of the functionality of management server 106 and software application 103 is presented below in conjunction with FIGS.

[0026] It will be understood that the endpoint device 102, management server 106, database 108, and trained model(s) 110 described in connection with FIG. 1 are exemplary and that variations and modifications are possible. The connection topology, including the number of processors and memory, may be modified as desired, and in particular embodiments, one or more components shown in FIG. 1 may be absent or consolidated into fewer components. Furthermore, in particular embodiments, one or more components shown in FIG. 1 may be implemented as virtualized resources in one or more virtual and / or cloud computing environments. Furthermore, in particular embodiments, one or more components shown in FIG. 1 may be implemented solely by the endpoint device 102, without the network 104 or without some or all components provided over the network topology shown in FIG. 1.

[0027] Active retargeting of character parameters to selected modifiers Figure 2 is a conceptual diagram of an architecture and information flow that may be implemented by management server 106 of Figure 1, according to various embodiments. The architecture presented in view 200 of Figure 1 may include application database(s) 202 for storing and retrieving data related to characters 204 and / or scene objects 206. When a user interacts with an application, such as software application 103, the user may provide user input 210 to select character parameters 212 and / or modifiers 214 for character 204. When a user makes a particular user selection 226, data related to character 204 (e.g., data characterizing how the character's bones react to collisions with the character) may be updated in a corresponding application database 202, such as database(s) 108 shown in Figure 1.

[0028] When a character is imported into a particular environment that a user is creating, the imported character may be characterized by characteristic data 220 that differs in structure and / or hierarchy from the characteristic data 220 of other characters in that environment. This may also occur for original characters created via the software application 103. Thus, because the characteristic data 220 for each character in the environment can be frequently retrieved for applying modifiers and rendering frames, uniformity during the processing of such characteristic data 220 can be optimized for resource usage. For example, when a user selects modifiers 214 to apply to a particular character 204 imported or otherwise created from a different application, the characteristic data 220 of that particular character may be at least temporarily retargeted to achieve such uniformity. In some embodiments, the software application 103 may actively initiate the retargeting process by importing or otherwise creating a character that has not yet been targeted for retargeting (e.g., via one or more plug-ins or other suitable module(s)).

[0029] In some embodiments, a user can access the software application 103 GUI to interact with the trait data 220 for a particular character. The trait data 220 can include parameters and / or reveal missing parameters associated with the integrated character definition or associated with modifiers 214 to be applied to a particular character. If such parameters are unavailable or otherwise not linked to a particular character, the character pipeline module 216 can be invoked to update the character stack 218 for that particular character 204. The character stack 218 can be updated to include tasks (e.g., collision detection) or other operations performed to modify and / or link parameters to the definition of the particular character 204. Proactively appending the character stack 218 in this manner can reduce delays when a user subsequently selects modifiers 214 to be applied to a particular character 204. If the modifiers 214 are subsequently used, retargeting can be performed per the proactive character stack 218 operation, and the modifiers 214 can be applied to the retargeted character parameters. The resulting characteristic data 220 may then be written back to the appropriate application database 202 for that particular character 204 (eg, as a new pose, a replacement pose, a final pose, etc.).

[0030] In some embodiments, the retargeting parameters of the character 204 can be performed by referencing other characters 204 associated with the environment and / or otherwise available via the application database 202 or other network locations. For example, a user can select a modifier 214 for a first character to cause the first character to avoid a scene object 206 in a particular scene or environment (e.g., using the stepoverObject() modifier). In response, the software application 103 can determine whether an existing second character has undergone the same modification and / or is otherwise associated with any character parameters affected by the selected modifier 214. When affected parameters are identified for the second character, the trait data 220 can be added and / or otherwise modified to include or reference those parameters for effecting the selected modifier 214. This application action can be performed according to the character pipeline for the first character and can optionally include adding actions to another character pipeline for the second character or otherwise retrieving parameter data from the application database 202.

[0031] In some embodiments, retargeting may involve using one or more heuristic processes and / or one or more trained machine learning models 208. For example, certain parameters of a second character previously affected by a modifier may be processed to generate one or more embeddings 214 that can be mapped to a latent space. The existing parameters of the first character may also be processed to generate other embeddings, which may then be mapped to the latent space. Next, the distance between the embeddings of the first and second characters may be determined and optionally compared to a threshold. When the potential distance between the embeddings for certain parameters meets one or more thresholds, it may be determined that the certain character parameters of the first character correspond to parameters of the second character that are appropriate for the selected modifier 214. The selected modifier 214 may then be executed to modify certain character parameters of the first character because those parameters exhibit a threshold similarity to parameters already affected by the selected modifier 214 (e.g., "left_arm[]" has a threshold similarity to "left_arm_bone[]").

[0032] In some examples, the first character's existing parameters may be unavailable or otherwise not determined to have a threshold relevance to the second character's affected parameters. Under these circumstances, the first character's trait data 220 may be added or otherwise modified to include or reference parameters determined to be subject to the selected modifier 214 (e.g., torso hierarchy data, ankle bone parameters, etc.). In some embodiments, modifying trait data 220 in this manner may include an automatic process executed through the character pipeline for the first character and / or manual input from a user. For example, in response to determining that the first character does not include a particular parameter to effect the selected modifier 214, the software application 103 may cause the interface of the computing device to render a notification to the user. The notification may prompt the user to modify the character definition of the first character using one or more application interfaces of the software application 103. For example, a user may manually type, select menus, and / or make other inputs to include or link appropriate parameters (e.g., new skeleton definitions) that effect the selected modifiers 214 to the trait data 220 of the first character to be modified.

[0033] When selected modifiers 214 have been applied to the property data 220, the updated property data can be written to the database 202. In some examples, this updated property data can characterize a subsequent or final pose of the affected character, at least relative to the originally obtained property data 220 (e.g., first characterizing an initial pose). These instances of property data 220 for the characters 204 of the scene can be accessed by the advanced solver module 222 to solve for any adjustments made to the characters 204, scene objects 206, and / or other constraints of the scene. In some examples, the advanced solver module 222 can process instances of property data 220 from the application database(s) 202 through the character pipeline 216 for the appropriate characters 204. For example, the advanced solver module 222 can resolve issues that may be evident in a particular scene where the property data 220 of a character 204 remains unchanged (e.g., a lower bone responds to an object while an upper bone remains static).

[0034] In some embodiments, the advanced solver module 222 can communicate with a scene output / viewport 226 of the architecture for the software application 226. The frame data generated by the frame data module 224 is also available at the scene output / viewport 226, allowing a user to visualize the animation being created according to the user input 210. In some embodiments, the frame data module 224 can receive data from the advanced solver module 222 to generate frame data that can be converted to other file formats. In some examples, a user can optionally interact with the viewport 226 to adjust the character 204, the scene objects 206, and / or other data accessible via the software application 103. For example, a user can manipulate the position of a first character to move the first character closer to a particular object or other obstacle in the virtual environment. As a result, the viewport 226 can communicate such modifications to the advanced solver module 222 and / or the character pipeline module 216 to effect any modifiers that may be associated with the repositioning, object, or obstacle. When the modifiers 214 associated with an obstacle or object indicate modifying parameters newly added to or referenced by the first character's updated characteristic data 220, the retargeting process can be bypassed. As a result, the software application 103 can adjust the first character in real time without duplicating code or other processes. This can save significant processing bandwidth and memory, especially in complex environments such as the environment shown in FIG. 3. For example, the character pipeline can be streamlined over time relative to the environment, the software application 103, and / or any other entities that regularly utilize such software application 103.As a result, devices operating on these character pipelines may realize reduced power consumption, thereby allowing such power to be utilized for other power-intensive operations (e.g., further training of model 208 and / or processing data using model 208).

[0035] 3 illustrates a conceptual diagram view 300 of a user interface associated with a software application 103 executing on one of the endpoint devices 102 of FIG. 1, according to various embodiments. As shown in FIG. 3, characteristic data 304 associated with a frame 318 may be received at a character stack 218 of a character pipeline module 216. The characteristic data 304 may optionally be stored in association with one or more characters 320 that are viewable via a scene output / viewport 226 of an application, such as the software application 103.

[0036] 3, a read 302 operation can be performed to retrieve specific characteristic data 304 that may be affected by modifiers 310 selected by a user and / or selected by software application 103. In some embodiments, the read 302 operation can be performed to obtain specific characteristic data 304 without first providing modifiers 310 in the corresponding stack. In some examples, when characteristic data 304 is imported from another application or environment, software application 103 can actively perform retargeting 306 to integrate the corresponding imported character with other characters in the environment. As represented by oval 316, multiple other character stacks and modules can be implemented by software application 103 to facilitate the sharing of characteristic data between different characters.

[0037] When the character stack 218 of FIG. 3 is augmented to include at least the retargeting 306 behavior, retargeted characteristic data 308 may be generated. Retargeting characteristic data 304 in this manner facilitates reuse of available animation libraries and can improve the precision of modifier 310 behaviors. For example, the modifier 310 behavior may correspond to a “look-at()” modifier, which can introduce constraints and / or clarify adjustments to a character’s pose (e.g., limiting the movement of a human head or other appendages relative to a virtual person). These adjustments may be made to the retargeted characteristic data 308 to characterize a pose or movement consistent with the appropriate biological constraints of the corresponding character 320. The retargeting 306 behavior is performed because the original characteristic data 304 may not include the appropriate parameters (e.g., content characterizing biological constraints, bone hierarchy, etc.) that are modified when the modifier 310 is executed. As a result, the appropriate reference parameters may be at least temporarily included or referenced in the retargeted character data 308, further facilitating application of modifiers 310 to the appropriate reference parameters. Updated trait data 312 may then be generated to reflect the adjustments made to those parameters.

[0038] As further shown in FIG. 3 , the updated property data 312 can be subjected to a write 314 operation to incorporate the updated property data 312 into the environment or scene being designed. In some embodiments, further processing can be performed on the retargeted property data 308 and / or the updated property data 312 to resolve issues that may be apparent to other modules of the software application 103. Nevertheless, the retarget 306 operation can ensure that further processing on affected characters is performed in accordance with an integrated system, as detailed herein. Efficiencies realized by these modular retargeting techniques can include memory savings, reduced CPU and GPU load, and improved application responsiveness. These efficiencies can be further realized by unifying variations in character definitions across the entire character stack, thereby reducing the number of apparent inconsistencies during downstream design tasks.

[0039] It should be noted that the diagram shown in FIG. 3 is not intended to be limiting, and the example characteristic data may be available with or modified to include any quantity, type, form, etc., of UI element(s) at any level of granularity consistent with the scope of the present disclosure.

[0040]

[0033] Figure 4 illustrates a method 400 for retargeting characteristic data parameters of a character included in a virtual environment, according to various embodiments. As shown in Figure 4, the method begins at step 402 with selecting a character modifier to apply to characteristic data of a particular character associated with the virtual environment (e.g., as described above in connection with Figures 1-3). In step 404, the management server 106 determines that a particular parameter targeted for modification upon execution of the character modifier is unavailable for the particular character (e.g., as described above in connection with Figures 1-3).

[0041] In step 406, the administration server 106 determines that the distinct character's other characteristic data includes available parameters that are modifiable according to the character modifier (e.g., as described above in conjunction with FIGS. 1-3). In step 408, the administration server 106 generates updated characteristic data for the particular character that references the available parameters (e.g., as described above in conjunction with FIGS. 1-3).

[0042] At step 410, the administration server 106 modifies the updated characteristic data according to the character modifier. At step 412, the administration server 106 causes the particular character to exhibit a transition based on the updated characteristic data while the particular character is being rendered via at least one user interface (e.g., as described above in connection with FIGS. 1-3).

[0043] 5 is a more detailed diagram of a computing device capable of implementing the functionality of the entities shown in FIG. 1 , according to various embodiments. This diagram is not, and is not intended to be, limiting in any way the scope of various embodiments. In various implementations, system 500 may be an augmented reality, virtual reality, or mixed reality system or device, a personal computer, a video game console, a personal digital assistant, a mobile phone, a mobile device, or any other device suitable for implementing various embodiments. Furthermore, in various embodiments, any combination of two or more systems 500 may be coupled together to implement one or more aspects of various embodiments.

[0044] As shown, system 500 includes a central processing unit (CPU) 502 and a system memory 504 that communicate via a bus path that may include a memory bridge 505. CPU 502 includes one or more processing cores; during operation, CPU 502 is the master processor of system 500, controlling and coordinating the operation of other system components. System memory 504 stores software applications and data for use by CPU 502. CPU 502 executes software applications and, optionally, an operating system. Memory chip 505, which may be, for example, a Northbridge chip, is connected to I / O (input / output) bridge 507 via a bus or other communication path (e.g., a HyperTransport link). I / O bridge 507, which may be, for example, a Southbridge chip, receives user input from one or more user input devices 508 (e.g., a keyboard, a mouse, a joystick, a digitizer tablet, a touchpad, a touchscreen, a still or video camera, a motion sensor, and / or a microphone) and forwards the input to CPU 502 via memory bridge 505.

[0045] Display processor 512 is coupled to memory bridge 505 via a bus or other communication path (e.g., PCI Express, Accelerated Graphics Port, or HyerTransport link). In one embodiment, display processor 512 is a graphics subsystem that includes at least one graphics processing unit (GPU) and graphics memory. The graphics memory includes display memory (e.g., a frame buffer) used to store pixel data for each pixel of an output image. The graphics memory may be integrated into the same device as the GPU, connected to the GPU as a separate device, and / or implemented within system memory 504.

[0046] Display processor 512 periodically delivers pixels to display device 510 (e.g., a screen or conventional CRT, plasma, OLED, SED, or LCD-based monitor or television). Additionally, display processor 512 may output pixels to a film recorder adapted to reproduce computer-generated images on photographic film. Display processor 512 can provide analog or digital signals to display device 510. In various embodiments, one or more of the various graphical user interfaces described in FIG. 3 are displayed to one or more users via display device 510, and one or more users can input data into and receive visual output from the various graphical user interfaces.

[0047] System disk 514 may also be connected to I / O bridge 507 and configured to store content as well as applications and data for use by CPU 502 and display processor 512. System disk 514 provides non-volatile storage for applications and data and may include fixed or removable hard disk drives, flash memory devices, and CD-ROMs, DVD-ROMs, Blu-ray®, HD-DVDs, or other magnetic, optical, or solid-state storage devices.

[0048] Switch 516 provides connectivity between I / O bridge 507 and other components, such as network adapter 518 and various add-in cards 520 and 521. Network adapter 518 enables system 500 to communicate with other systems over electronic communications networks, which may include wired or wireless communications over local area networks and wide area networks such as the Internet.

[0049] Other components (not shown), including USB or other port connections, film recording devices, etc., may also be connected to I / O bridge 507. For example, an audio processor may be used to generate analog or digital audio output from instructions and / or data provided by CPU 502, system memory 504, or system disk 514. The communication paths interconnecting the various components of FIG. 5 may be implemented using any suitable protocol, such as Peripheral Component Interconnect (PCI), PCI Express (PCI-E), Accelerated Graphics Port (AGP), HyperTransport, or any other bus or point-to-point communication protocol(s), and connections between different devices may use different protocols, as is known in the art.

[0050] In one embodiment, display processor 512 incorporates circuitry optimized for graphics and video processing, including, for example, video output circuitry, to form a graphics processing unit (GPU). In another embodiment, display processor 512 incorporates circuitry optimized for general-purpose processing. In yet another embodiment, display processor 512 may be integrated with one or more other system elements, such as memory bridge 505, CPU 502, and I / O bridge 507, to form a system-on-chip (SoC). In a further embodiment, display processor 512 is omitted, and software executed by CPU 502 performs the functions of display processor 512.

[0051] Pixel data may be provided directly from CPU 502 to display processor 512. In some embodiments, instructions and / or data representing the scene are provided via network adapter 518 or system disk 514 to a render farm or set of server components, each similar to system 500. The render farm uses the provided instructions and / or data to generate one or more rendered images of the scene. These rendered images may be stored in digital format on a computer-readable medium and, optionally, returned to system 500 for display. Similarly, stereo image pairs processed by display processor 512 may be output to another system for display, stored on system disk 514, or stored in digital format on a computer-readable medium.

[0052] Instead, CPU 502 provides data and / or instructions defining a desired output image to display processor 512, from which display processor 512 generates pixel data for one or more output images, including characterizing and / or adjusting for offsets between stereo image pairs. The data and / or instructions defining the desired output image may be stored in system memory 504 or in graphics memory of display processor 512. In an embodiment, display processor 512 includes 3D rendering functionality for generating pixel data for output images from instructions and data defining geometry, lighting, shading, texturing, motion, and camera parameters for a scene. Display processor 512 may further include one or more programmable execution units capable of executing shader programs, tone mapping programs, etc.

[0053] Furthermore, in other embodiments, CPU 502 or display processor 512 may be replaced by or supplemented by any technically feasible form of processing device configured to process data and execute program code. Such processing devices may be, for example, central processing units (CPUs), graphics processing units (GPUs), application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), etc. In various embodiments, any of the operations and / or functions described herein may be performed by CPU 502, display processor 512, or one or more other processing devices, or any combination of these different processors.

[0054] The CPU 502, the render farm, and / or the display processor 512 may use any surface or volume rendering technique known in the art, including rasterization, scanline rendering (REYES or micropolygon rendering), ray casting, ray tracing, image-based rendering techniques, and / or combinations of these and any other rendering or image processing techniques known in the art, to create one or more rendered images from the provided data and instructions.

[0055] In other contemplated embodiments, system 500 may be a robot or robotic device and may include a CPU 502 and / or other processing unit or processing device, and a system memory 504. In such embodiments, system 500 may or may not include the other elements shown in Figure 5. The system memory 504 and / or other memory units or devices of system 500 may include instructions that, when executed, cause the robot or robotic device represented by system 500 to perform one or more operations, steps, tasks, etc.

[0056] It is understood that the systems shown herein are exemplary and that variations and modifications are contemplated. The connection topology, including the number and placement of bridges, can be modified as desired. For example, in some embodiments, the system memory 504 is connected directly to the CPU 502 rather than through a bridge, and other devices communicate with the system memory 504 via the memory bridge 505 and the CPU 502. In other alternative topologies, the display processor 512 is connected to the I / O bridge 507 or directly to the CPU 502 rather than to the memory bridge 505. In still other embodiments, the I / O bridge 507 and the memory bridge 505 may be integrated into a single chip. Certain components shown herein are optional. For example, any number of add-in cards or peripherals may be supported. In some embodiments, the switch 516 is eliminated, and the network adapter 518 and add-in cards 520, 521 connect directly to the I / O bridge 507.

[0057] In summary, the disclosed technology provides a modular approach for applying character modifications to a diverse group of characters in an environment by facilitating parameter retargeting. The retargeting operation can be initiated actively by the system and / or in response to user input to the system, such as when a user selects to apply a character modifier to a particular character. Selection of a character modifier can be performed by a user accessing a software application interface and identifying a particular adjustment to be made to a particular character. A character modifier can include, for example, adjusting a particular character's pose while the character is in a vehicle in the virtual environment (e.g., traffic on a virtual highway).

[0058] The selection of a character modifier can initiate retargeting of specific parameters for a particular character, such as those parameters that may facilitate accurate portrayal of the particular character (e.g., restricting leg movement to the interior of a vehicle). While such parameters may not be readily available for a particular character, the system can utilize one or more heuristic processes and / or machine learning models to determine whether another available character is associated with such parameters (e.g., another character in another vehicle within the virtual highway environment). This automated operation can include identifying parameters of available characters whose data has already been modified according to the selected character modifier. Alternatively or additionally, the operation can include comparing information about the selected character modifier with the particular character to determine whether the specific parameter is unavailable in the particular character's characteristic data.

[0059] In some embodiments, if a particular parameter is not available in or referenced by a particular character's characteristic data but is available for a separate character, a retargeting operation may be initiated by the system. Retargeting characteristic data may then be generated to provide a link or reference between the separate character's available parameters and the particular character's current parameters. Alternatively or additionally, the retargeted characteristic data may be generated by adding a parameter or other value (e.g., movement limits for the legs or other appendages of a virtual persona of a virtual vehicle) to the particular character's current characteristic data.

[0060] When the retargeted characteristic data is generated, the character modifiers can be executed, and updated characteristic data can be generated by the system. This updated characteristic data can then be utilized by other modules of the system and / or further processed to resolve any conflicts the updated characteristic data may have with the virtual environment and / or virtual objects within the virtual environment. Such processing can include the system prompting the user for further input to resolve outstanding issues (e.g., issues between a virtual person in a vehicle and a particular character), although such input can be limited when retargeting has already been performed on numerous characters in the virtual environment.

[0061] One technical advantage of the disclosed technology over the prior art is that the disclosed technology provides an efficient system for retargeting characteristic data to integrate instances of characteristic data for a virtual environment. In particular, such retargeting facilitates the reuse of character libraries and other existing animation data, saving production time and ensuring uniform results across scenes. For example, when a character's pose is modified using retargeted characteristic data, computational overhead can be reduced as a result of avoiding repetitive calculations that might otherwise be performed if these technologies were not available.

[0062] Furthermore, when an example of characteristic data is at least temporarily retargeted, applying character modifiers to specific parameters of the updated characteristic data can eliminate a disruptive workflow for the designer. This modular approach to effecting character transitions can reduce processing delays that might otherwise be present when characteristic data is modified, regardless of the content of the available characteristic data. As such, the techniques detailed herein can reduce user downtime while increasing available processing bandwidth on affected devices, at least as compared to users and devices employing prior art approaches.

[0063] Yet another technical advantage is that retargeting can reduce or simplify the computational load of application modules tasked with resolving relationships between objects in a virtual environment (e.g., when generating frame data or rendering animations). When character stacks are modified to incorporate retargeting behavior, CPU and GPU load can also be saved for other downstream tasks involved in designing the virtual environment. This can allow designers to focus more on creative design tasks and minimize time spent manually correcting errors or inconsistencies that may be apparent through the design application's viewport. Reducing the number of manual corrections of errors in this manner can save power and computational resources across an enterprise, especially when multiple designers collaborate to create virtual environments with complex character interactions (e.g., crowd animations).

[0064] 1. In some embodiments, a computer-implemented method for applying character modifications to a character in a virtual environment includes selecting a character modifier to apply to characteristic data of a particular character associated with the virtual environment, determining that a particular parameter that is subject to modification upon execution of the character modifier is unavailable for the particular character, determining that other characteristic data of a separate character includes available parameters that are modifiable in accordance with the character modifier, generating updated characteristic data for the particular character that references the available parameters, modifying the updated characteristic data in accordance with the character modifier, and causing the particular character to exhibit a transition in accordance with the character modifier while the particular character is being rendered via at least one user interface.

[0065] 2. The computer-implemented method described in clause 1, wherein the character modifier corresponds to an application action for modifying an initial pose of the particular character in the virtual environment, and the transition corresponds to the particular character moving from the initial pose to a final pose.

[0066] 3. The computer-implemented method of clause 1, further comprising processing the other characteristic data using one or more trained machine learning models before determining that the other characteristic data of the distinct character includes the available parameters modifiable in accordance with the character modifier.

[0067] 4. The computer-implemented method of clause 1, wherein selecting the character modifier to apply to the characteristic data of the particular character is performed in response to user input or in response to automated action of an application providing access to the characteristic data.

[0068] 5. The computer-implemented method of clause 1, further comprising, before generating the updated characteristic data, modifying existing parameters of the characteristic data to include the contents of the available parameters or to include references to the available parameters.

[0069] 6. The computer-implemented method of clause 5, wherein the particular character corresponds to a virtual person in the virtual environment and the existing parameters characterize appendage characteristics of the virtual person.

[0070] 7. The computer-implemented method of clause 6, further comprising generating frame data characterizing frames depicting the transition of the particular character between an initial pose and a final pose before causing the particular character to exhibit the transition in accordance with the character modifier.

[0071] 8. The computer-implemented method of clause 1, wherein generating the updated characteristic data that references the available parameters of the particular character includes storing the available parameters within the characteristic data or storing a reference to the available parameters within the characteristic data.

[0072] 9. The computer-implemented method of clause 1, wherein determining that the particular parameter is unavailable for the particular character is performed before selecting the character modifier to apply to the characteristic data.

[0073] 10. The computer-implemented method of clause 1, wherein the character modifier corresponds to a constraint on the behavior of the particular character.

[0074] 11. In some embodiments, one or more non-transitory computer-readable media store instructions that, when executed by one or more processors, cause the one or more processors to retarget trait data of a character in a virtual environment by performing the following operations: selecting a character modifier to apply to trait data of a particular character associated with the virtual environment; determining that a particular parameter subject to modification upon execution of the character modifier is unavailable for the particular character; determining that other trait data of a separate character includes available parameters that are modifiable in accordance with the character modifier; generating updated trait data for the particular character that references the available parameters; modifying the updated trait data in accordance with the character modifier; and causing the particular character to exhibit a transition in accordance with the character modifier while the particular character is rendered via at least one user interface.

[0075] 12. One or more non-transitory computer-readable media as described in clause 11, wherein the character modifier corresponds to movement of the particular character relative to scene objects rendered for the particular character and the separate character via at least one user interface.

[0076] 13. One or more non-transitory computer-readable media described in clause 11, wherein, prior to selecting the character modifier to apply to the characteristic data of the particular character, the operation further includes receiving user input identifying the character modifier for moving the particular character relative to scene objects in the virtual environment.

[0077] 14. The one or more non-transitory computer-readable media of clause 11, wherein the characteristic data is imported from a separate application that is different from an application that renders the one or more user interfaces.

[0078] 15. The one or more non-transitory computer-readable media of clause 11, wherein, prior to determining that the other characteristic data of the distinct character includes the available parameters modifiable in accordance with the character modifier, the operation further includes processing the other characteristic data using a trained machine learning model trained based on various instances of characteristic data.

[0079] 16. The one or more non-transitory computer-readable media of clause 11, wherein, prior to generating the updated characteristic data, the operation further includes modifying existing parameters of the characteristic data to include the contents of the available parameters or to include references to the available parameters.

[0080] 17. One or more non-transitory computer-readable media according to clause 16, wherein the particular character corresponds to a virtual person in the virtual environment and the pre-existing parameters characterize features of an appendage of the virtual person.

[0081] 18. One or more non-transitory computer-readable media described in clause 17, wherein the operation further includes generating frame data characterizing frames depicting the transition of the particular character between an initial pose and a final pose before causing the particular character to exhibit the transition in accordance with the character modifier.

[0082] 19. The one or more non-transitory computer-readable media of clause 11, wherein generating updated characteristic data that references the available parameters of the particular character includes storing the available parameters within the characteristic data or storing a reference to the available parameters within the characteristic data.

[0083] 20. In some embodiments, a computer system includes one or more memories containing instructions, and one or more processors coupled to the one or more memories, the processors configured, when executing the instructions, to apply the character modifications to a character of a virtual environment by performing the following operations: selecting a character modifier to apply to characteristic data of a particular character associated with a virtual environment; determining that a particular parameter subject to modification upon execution of the character modifier is unavailable for the particular character; determining that other characteristic data of a separate character includes available parameters that can be modified in accordance with the character modifier; generating updated characteristic data for the particular character that references the available parameters; modifying the updated characteristic data in accordance with the character modifier; and causing the particular character to exhibit a transition in accordance with the character modifier while the particular character is rendered via at least one user interface.

[0084] Any and all combinations of any claim element recited in any claim and / or any element recited in this application, in any manner, are within the intended scope and protection of the present disclosure.

[0085] The descriptions of various embodiments have been presented for purposes of illustration and are not intended to be exhaustive or limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described embodiments.

[0086] Aspects of the present embodiments may be embodied as a system, a method, or a computer program product. Accordingly, aspects of the present disclosure may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, microcode, etc.), or an embodiment combining software and hardware aspects, all of which may be referred to generically herein as a "module," "system," or "computer." Furthermore, any hardware and / or software technique, process, function, component, engine, module, or system described in this disclosure may be implemented as a circuit or set of circuits. Furthermore, aspects of the present disclosure may take the form of a computer program product embodied in one or more computer-readable medium(s) having computer-readable program code embodied therein.

[0087] Any combination of one or more computer-readable medium(s) may be utilized. The computer-readable medium may be a computer-readable signal medium or a computer-readable storage medium. The computer-readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the above. More specific examples (a non-exhaustive list) of computer-readable storage media may include an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof. In the context of this document, a computer-readable storage medium may be any tangible medium that can contain or store a program for use by or in connection with an instruction execution system, apparatus, or device.

[0088] Aspects of the present disclosure are described above with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the methods. It is understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus to produce a machine. When executed by the processor of the computer or other programmable data processing apparatus, the instructions enable performance of the function / acts specified in the block(s) of the flowchart illustrations and / or block diagrams. Such a processor may be, but is not limited to, a general-purpose processor, a special-purpose processor, an application-specific processor, or a field-programmable gate array.

[0089] The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, apparatuses, and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowcharts or block diagrams may represent a module, segment, or portion of code, including one or more executable instructions for implementing the specified logical function(s). It should also be noted that in some alternative implementations, the functions noted in the blocks may occur out of the order noted in the figures. For example, two blocks shown in succession may in fact be executed substantially simultaneously, or the blocks may sometimes be executed in the reverse order, depending on the functionality involved. It should also be noted that each block of the block diagrams and / or flowchart diagrams, and combinations of blocks in the block diagrams and / or flowchart diagrams, may be implemented by a special-purpose hardware-based system that performs the specified functions or acts, or a combination of special-purpose hardware and computer instructions.

[0090] The present invention has been described with reference to specific embodiments. However, those skilled in the art will understand that various modifications and changes can be made thereto without departing from the broader spirit and scope of the invention as set forth in the appended claims. For example, and not by way of limitation, while much of the description herein refers to particular types of I / O devices that may obtain data related to objects of interest, those skilled in the art will understand that the systems and techniques described herein are applicable to other types of I / O devices. Accordingly, the foregoing specification and drawings are to be regarded in an illustrative and not a limiting sense.

[0091] While the forgoing is directed to embodiments of the present disclosure, other and further embodiments of the present disclosure may be devised without departing from the basic scope thereof, which scope is determined by the following claims.

Claims

1. 1. A computer-implemented method for applying character modifications to a character in a virtual environment, comprising: selecting a character modifier to apply to characteristic data of a particular character associated with the virtual environment; determining that a particular parameter to be modified upon execution of the character modifier is unavailable to the particular character; determining that the distinct character's other characteristic data includes available parameters modifiable in accordance with said character modifier; generating updated characteristic data for the particular character that references the available parameters; modifying the updated characteristic data in accordance with the character modifier; and causing the particular character to exhibit a transition according to the character modifier while the particular character is being rendered via at least one user interface.

2. the character modifier corresponds to an application action for modifying an initial pose of the particular character within the virtual environment; The computer-implemented method of claim 1 , wherein the transition corresponds to the particular character moving from the initial pose to a final pose.

3. 2. The computer-implemented method of claim 1, further comprising processing the other characteristic data of the distinct character using one or more trained machine learning models before determining that the other characteristic data includes the available parameters modifiable according to the character modifier.

4. 2. The computer-implemented method of claim 1, wherein selecting the character modifier to apply to trait data for the particular character is performed in response to user input or automated action of an application providing access to the trait data.

5. 2. The computer-implemented method of claim 1, further comprising, before generating the updated characteristics data, modifying existing parameters of the characteristics data to include the contents of the available parameters or to include references to the available parameters.

6. The computer-implemented method of claim 5 , wherein the particular character corresponds to a virtual person in the virtual environment and the existing parameters characterize appendage features of the virtual person.

7. 7. The computer-implemented method of claim 6, further comprising generating frame data characterizing frames depicting the transition of the particular character between an initial pose and a final pose before causing the particular character to exhibit the transition in accordance with the character modifier.

8. 2. The computer-implemented method of claim 1, wherein generating the updated characteristic data that references the available parameters of the particular character comprises storing the available parameters within the characteristic data or storing a reference to the available parameters within the characteristic data.

9. The computer-implemented method of claim 1 , wherein determining that the particular parameter is unavailable for the particular character is performed before selecting the character modifier to apply to the trait data.

10. The character modifier is: The computer-implemented method of claim 1 , corresponding to constraints on the movement of the particular character.

11. One or more non-transitory computer-readable media storing instructions that, when executed by one or more processors, cause the one or more processors to: selecting a character modifier to apply to the characteristic data of a particular character associated with the virtual environment; determining that a particular parameter to be modified upon execution of the character modifier is unavailable to the particular character; determining that the distinct character's other characteristic data includes available parameters modifiable in accordance with said character modifier; generating updated characteristic data for the particular character that references the available parameters; modifying the updated characteristic data in accordance with the character modifier; and the one or more non-transitory computer-readable media applying character modifications to a character in the virtual environment by performing the operation of: causing the particular character to exhibit a transition in accordance with the character modifier while the particular character is being rendered via at least one user interface.

12. 1. A computer system comprising: one or more memories containing instructions; and one or more processors coupled to the one or more memories that, when executing the instructions, selecting a character modifier to apply to the characteristic data of a particular character associated with the virtual environment; determining that a particular parameter to be modified upon execution of the character modifier is unavailable to the particular character; determining that the distinct character's other characteristic data includes available parameters modifiable in accordance with said character modifier; generating updated characteristic data for the particular character that references the available parameters; modifying the updated characteristic data in accordance with the character modifier; and the processor is configured to apply character modifications to a character in the virtual environment by performing the operation of causing the particular character to exhibit a transition in accordance with the character modifier while the particular character is being rendered via at least one user interface.

Citation Information

Patent Citations

  • Information processing device, information processing method, and program

    JP2020149396A