Legal claims defining the scope of protection. Each claim is shown in both the original legal language and a plain English translation.
1. A system for generating a plurality of three-dimensional (3D) agents in a game application, the system comprising: a data store configured to store appearance data associated with a plurality of 3D virtual entities, wherein each 3D virtual entity comprises a plurality of elements, wherein each element comprises a mesh defining a shape of the element, wherein the data store is configured to store a plurality of arrays, the plurality of arrays comprising: a control array comprising indices of individual 3D virtual entities of the plurality of 3D virtual entities; a mesh array identifying meshes of individual 3D virtual entities of the plurality of 3D virtual entities; an animation array identifying animations of individual 3D virtual entities of the plurality of 3D virtual entities; an appearance array identifying outfits of individual 3D virtual entities of the plurality of 3D virtual entities; a texture variation array identifying textures associated with the outfits of the respective 3D virtual entities of the plurality of 3D virtual entities; a color variation array identifying colors associated with the outfits of individual 3D virtual entities of the plurality of 3D virtual entities; and an offset array identifying offsets in animation of individual virtual entities of the plurality of 3D virtual entities; and one or more processors configured with computer executable instructions that cause the one or more processors to execute a game application, the game application configured to: receive a request to render a subset of the plurality of 3D virtual entities within a virtual environment during runtime of the game application; for each of the subset of the plurality of 3D virtual entities, access a plurality of appearances associated with the 3D virtual entity; select an appearance from the plurality of appearances for the 3D virtual entity based, at least in part on a set of rules associated with the plurality of appearances, wherein the rules comprise weighted values associated with variations of the plurality of appearances, wherein a higher weighted value increases a probability of being selected; access a plurality of animations associated with the 3D virtual entity; select an animation from the plurality of animations for the 3D virtual entity based, at least in part on a set of rules associated with the plurality of animations, wherein the rules comprise weighted values associated with individual animations of the plurality of animations, wherein a higher weighted value increases a probability of an animation being selected; select an offset for the animation of the 3D virtual entity; and group elements of the subset of the plurality of 3D virtual entities into one or more batches based, at least in part, on the mesh of individual elements, wherein elements with similar meshes are grouped into the same batch; render elements of each batch as a group and independent of other batches of the one or more batches; and generate instructions to output the rendered elements within a frame of the game application during runtime.
This invention relates to computer graphics and game development, specifically to efficiently generating and rendering multiple three-dimensional (3D) virtual entities in a game application. The problem addressed is the computational overhead associated with rendering a large number of diverse 3D characters or objects, particularly when their appearances and animations vary. The system utilizes a data store to hold appearance data for numerous 3D virtual entities. Each entity is composed of elements, where each element has a mesh defining its shape. The data store organizes this information into several arrays: a control array for entity identification, a mesh array, an animation array, an appearance array (for outfits), a texture variation array, a color variation array, and an offset array for animation adjustments. During game runtime, the system receives a request to render a subset of these 3D virtual entities. For each entity in the subset, it accesses its associated appearances and animations. An appearance and an animation are selected based on predefined rules, which include weighted values that influence the probability of selection. An animation offset is also chosen. To optimize rendering, elements of the selected entities are grouped into batches based on their mesh similarity. Elements with identical or similar meshes are placed in the same batch. These batches are then rendered as a group, independently of other batches. This batching strategy significantly reduces rendering workload by allowing for efficient processing of similar graphical elements. Finally, instructions are generated to display the rendered elements within a game frame.
2. The system of claim 1 , wherein the game application is further configured to select the variation of the appearance by using an index of the 3D virtual entity to retrieve the variation of appearance from the color variation array and the texture variation array based on the set of rules for selecting the color variation and the texture variation.
This invention relates to a system for dynamically modifying the appearance of 3D virtual entities in a game application. The system addresses the challenge of efficiently managing and applying visual variations to virtual entities, such as characters or objects, to enhance visual diversity and player engagement without excessive computational overhead. The system includes a game application that interacts with a color variation array and a texture variation array, each storing different visual attributes for a 3D virtual entity. The game application selects a specific variation of the entity's appearance by using an index associated with the entity to retrieve the appropriate color and texture variations from these arrays. The selection process follows a predefined set of rules that determine which color and texture variations are applied based on the entity's index. This approach ensures consistent and rule-based customization of the entity's appearance, allowing for dynamic visual changes while maintaining performance efficiency. The system also includes a method for generating these variation arrays, where the color and texture variations are precomputed and stored for quick retrieval during gameplay. This precomputation reduces runtime processing, enabling real-time adjustments to the entity's appearance without significant performance impact. The rules for selecting variations may be based on factors such as entity type, player preferences, or in-game events, providing flexibility in how the appearance is modified. The overall system enhances visual variety in virtual environments while optimizing resource usage.
3. The system of claim 1 , wherein the game application is further configured to select an offset for the animation of the 3D virtual entity by randomly selecting the offset from a defined range.
This invention relates to a system for animating a 3D virtual entity in a game application. The system addresses the challenge of creating natural and varied movements for virtual entities to enhance realism and user engagement. The game application generates animations for the 3D virtual entity by applying an offset to the animation timing. This offset is randomly selected from a predefined range, introducing variability in the entity's movements. The system ensures that the offset does not cause the animation to exceed a maximum duration, maintaining synchronization with other game elements. By randomizing the offset within the defined range, the system creates more dynamic and lifelike animations, improving the overall gaming experience. The invention focuses on improving the realism of virtual entity movements through controlled randomization of animation timing.
4. The system of claim 1 , wherein the game application is further configured to: identify an event within the virtual environment of the game application; identify a set of 3D virtual entities of the plurality of 3D virtual entities that are affected by the event; and for each 3D virtual entity of the set of 3D virtual entities: determine a state associated with the 3D virtual entity based, at least in part, on the event in the game application; and determine the animation based, at least in part, on the state associated with the 3D virtual entity.
The invention relates to a system for dynamically generating animations for 3D virtual entities in a game application. The system addresses the challenge of creating realistic and contextually appropriate animations for multiple virtual entities in response to events within a virtual environment. Traditional methods often rely on pre-scripted animations, which can be inflexible and fail to account for the dynamic nature of game events. The system includes a game application that operates within a virtual environment populated by a plurality of 3D virtual entities, such as characters, objects, or other interactive elements. The game application is configured to detect an event occurring within the virtual environment, such as a collision, weather change, or player action. Upon detecting the event, the system identifies a subset of 3D virtual entities that are affected by the event. For each affected entity, the system determines its state based on the event, considering factors like proximity, role, or predefined behaviors. The system then generates an animation tailored to the entity's state, ensuring the animation is contextually relevant to the event. This approach enables dynamic, responsive animations that enhance immersion and realism in the game environment. The system may also include a rendering module to display the generated animations in real-time.
5. The system of claim 1 , wherein the game application is further configured to: for each 3D virtual entity of the plurality of 3D virtual entities: access a buffer comprising a history of animation associated with the 3D virtual entity; and determine the animation based, at least in part, on the history of animations associated with the 3D virtual entity.
This invention relates to a system for animating 3D virtual entities in a game application, addressing the challenge of creating realistic and contextually appropriate animations for virtual characters or objects. The system dynamically generates animations by leveraging historical animation data to ensure smooth, coherent movement and behavior. The system includes a game application that manages multiple 3D virtual entities, such as characters or objects, within a virtual environment. For each entity, the application accesses a buffer containing a history of past animations associated with that specific entity. This historical data includes previous movements, gestures, or actions performed by the entity. The system then determines the current animation by analyzing this historical data, allowing the animation to be influenced by prior movements. This approach ensures that animations appear natural and contextually relevant, avoiding abrupt or unnatural transitions between actions. By using historical animation data, the system enables more lifelike and consistent behavior for virtual entities, improving immersion and realism in the game environment. This method is particularly useful for complex animations where continuity and fluidity are critical, such as character interactions or dynamic object movements. The system dynamically adapts animations based on past actions, enhancing the overall quality of the virtual experience.
6. The system of claim 1 , wherein at least some of the plurality of 3D virtual entities are virtual humans.
This invention relates to a system for generating and managing 3D virtual environments, specifically addressing the challenge of creating immersive, interactive digital spaces with dynamic virtual entities. The system includes a plurality of 3D virtual entities, which may represent objects, avatars, or other interactive elements within a virtual environment. These entities are configured to interact with each other and with users in real-time, enhancing the realism and engagement of the virtual space. A key feature of the system is the inclusion of virtual humans among the 3D virtual entities. These virtual humans are designed to simulate human-like behavior, appearance, and interactions, allowing for more natural and lifelike experiences within the virtual environment. The system may also incorporate additional virtual entities, such as objects, animals, or other non-human elements, to further enrich the environment. The system may also include a processing unit that manages the interactions between the virtual entities and users, ensuring smooth and responsive behavior. This processing unit may utilize algorithms to govern the movement, actions, and responses of the virtual entities, adapting to user inputs and environmental conditions. The system may further include input and output interfaces to facilitate user interaction, such as virtual reality (VR) or augmented reality (AR) devices, haptic feedback systems, or traditional input methods like keyboards and controllers. The overall goal of the system is to provide a highly interactive and immersive virtual environment where users can engage with virtual humans and other entities in a seamless and realistic manner, addressing limitations in existing virtual reality and simulation technologies.
7. The system of claim 1 , wherein the game application is further configured to add or hide at least a portion of one or more 3D virtual entities in response to an event in the game application.
This invention relates to a system for managing 3D virtual entities in a game application. The system addresses the challenge of dynamically adjusting the visibility of virtual objects within a game environment to enhance gameplay, reduce computational load, or create specific visual effects. The game application is configured to add or hide portions of one or more 3D virtual entities in response to an event occurring within the game. These events may include player actions, environmental changes, or scripted triggers. The system dynamically modifies the visibility of these entities without requiring manual intervention, improving performance and immersion. The game application may also include a rendering engine that processes the visibility changes to ensure smooth transitions and maintain visual consistency. The system can selectively hide or reveal parts of entities, such as objects, characters, or environmental elements, based on predefined rules or real-time conditions. This dynamic adjustment helps optimize rendering resources and enhances the overall gaming experience by adapting the virtual environment to gameplay events.
8. A method for generating a plurality of three-dimensional (3D) virtual entities in a game application, the method comprising: under the control of a computer system comprising computer hardware, the computer system configured with computer executable instructions to execute a game application, the game application configured to perform operations during runtime of the game application including, accessing a data store storing appearance data associated with a plurality of 3D virtual entities, the data store storing a plurality of arrays, the plurality of arrays comprising: a control array comprising indices of individual 3D virtual entities of the plurality of 3D virtual entities; a mesh array identifying meshes of individual 3D virtual entities of the plurality of 3D virtual entities; an animation array identifying animations of individual 3D virtual entities of the plurality of 3D virtual entities; an appearance array identifying outfits of individual 3D virtual entities of the plurality of 3D virtual entities; a texture variation array identifying textures associated with the outfits of the respective 3D virtual entities of the plurality of 3D virtual entities; a color variation array identifying colors associated with the outfits of individual 3D virtual entities of the plurality of 3D virtual entities; and an offset array identifying offsets in animation of individual virtual entities of the plurality of 3D virtual entities; receiving a request to render a subset of the plurality of 3D virtual entities within a virtual environment during runtime of the game application; for each of the subset of the plurality of 3D virtual entities, accessing a plurality of appearances associated with the 3D virtual entity; selecting an appearance from the plurality of appearances for the 3D virtual entity based, at least in part on a set of rules associated with the plurality of appearances, wherein the rules comprise weighted values associated with variations of the plurality of appearances, wherein a higher weighted value increases a probability of being selected; accessing a plurality of animations associated with the 3D virtual entity; and selecting an animation from the plurality of animations for the 3D virtual entity based, at least in part on a set of rules associated with the plurality of animations, wherein the rules comprise weighted values associated with individual animations of the plurality of animations, wherein a higher weighted value increases a probability of an animation being selected; selecting an offset for the animation of the 3D virtual entity; and grouping elements of the subset of the plurality of 3D virtual entities into one or more batches based, at least in part, on the mesh of individual elements, wherein elements with similar meshes are grouped into the same batch; rendering elements of each batch as a group and independent of other batches of the one or more batches; and generating instructions to output the rendered elements within a frame of the game application during runtime.
This method relates to generating and rendering three-dimensional (3D) virtual entities in a game application. The technology addresses the challenge of efficiently managing and rendering diverse virtual entities with varying appearances, animations, and behaviors in real-time during gameplay. The system uses a structured data store containing multiple arrays to organize and access appearance data for the 3D entities. The data store includes a control array indexing individual entities, a mesh array defining their geometric structures, an animation array specifying possible movements, an appearance array detailing outfits, a texture variation array for outfit textures, a color variation array for outfit colors, and an offset array for animation timing adjustments. During runtime, the game application receives a request to render a subset of these entities within a virtual environment. For each entity in the subset, the system accesses multiple appearance options and selects one based on weighted rules, where higher-weighted variations are more likely to be chosen. Similarly, animations are selected from available options using weighted rules. An offset for the chosen animation is also applied. To optimize rendering, entities with similar meshes are grouped into batches, allowing them to be processed together. Each batch is rendered independently, improving efficiency. The rendered entities are then output within a frame of the game application. This approach ensures dynamic, visually diverse virtual entities while maintaining performance during gameplay.
9. The method of claim 8 , wherein selecting the appearance comprises: determining an index associated with the 3D virtual entity; and retrieving the appearance from an appearance array based at least in part on the index.
This invention relates to systems for managing and displaying appearances of 3D virtual entities in a virtual environment. The problem addressed is efficiently selecting and applying visual appearances to 3D virtual entities, such as objects or characters, in a way that reduces computational overhead and ensures consistency across multiple instances. The method involves a process where a 3D virtual entity is rendered in a virtual environment. When an appearance for the entity needs to be selected, the system determines an index associated with the entity. This index is used to retrieve a corresponding appearance from an appearance array, which stores multiple predefined appearances. The appearance array allows for quick lookup and retrieval of visual data, such as textures, colors, or other visual attributes, based on the index. This approach ensures that the same appearance can be consistently applied to multiple entities using the same index, reducing redundancy and improving rendering efficiency. The method may also involve generating or updating the appearance array dynamically, allowing for real-time adjustments to appearances based on changes in the virtual environment or user interactions. The system ensures that the selected appearance is applied to the 3D virtual entity, enhancing the visual coherence and performance of the virtual environment. This technique is particularly useful in applications like video games, virtual reality, or augmented reality, where multiple entities with varying appearances need to be rendered efficiently.
10. The method of claim 8 , wherein accessing the plurality of appearances is based, at least in part, on a class associated with the 3D virtual entity.
A method for managing appearances in a 3D virtual environment involves dynamically accessing and applying visual representations to a 3D virtual entity based on its associated class. The method addresses the challenge of efficiently handling multiple visual appearances for different types of virtual entities in a 3D space, ensuring consistency and reducing computational overhead. The system first identifies a 3D virtual entity within the environment, which may represent an object, character, or other interactive element. The method then retrieves a plurality of appearances, such as textures, models, or animations, that are pre-stored in a database or generated dynamically. These appearances are selected based on a class attribute assigned to the 3D virtual entity, which categorizes the entity into a specific group (e.g., "vehicle," "character," or "building"). By filtering appearances according to this class, the system ensures that only relevant visual representations are accessed, optimizing performance and maintaining thematic consistency. The method may also involve prioritizing appearances based on factors like user preferences, environmental conditions, or interaction context. This approach enhances scalability and adaptability in virtual environments, such as games, simulations, or augmented reality applications, where entities frequently change appearances or require real-time rendering.
11. The method of claim 8 , further comprising: identifying an event in the game application; identifying a set of 3D virtual entities among the plurality of virtual entities that are affected by the event; for each 3D virtual entity of the set of 3D virtual entities: determining a state associated with the 3D virtual entity based, at least in part on the event in the game application; and determining the animation based, at least in part, on the state associated with the 3D virtual entity.
This invention relates to dynamic animation generation in game applications, specifically addressing the challenge of efficiently animating multiple 3D virtual entities in response to in-game events. The method involves detecting an event within the game, such as a collision, environmental change, or player interaction, and identifying a subset of 3D virtual entities affected by that event. For each affected entity, the system determines its state based on the event, which may include factors like position, orientation, or interaction status. The animation for each entity is then generated or selected based on this state, ensuring contextually appropriate movement or behavior. The approach optimizes performance by focusing only on entities directly impacted by the event, reducing unnecessary computations. This method enhances realism and responsiveness in game environments by dynamically adjusting animations in real-time, improving player immersion and interaction quality. The system may also integrate with broader game logic to ensure animations align with game mechanics and narrative progression.
12. The method of claim 8 , further comprising: for each 3D virtual entity of the plurality of 3D virtual entities: accessing a buffer comprising a history of animations associated with the 3D virtual entity; and determining the animation based, at least in part, on the history of animations associated with the 3D virtual entity.
This invention relates to systems for animating 3D virtual entities in a virtual environment, addressing the challenge of generating realistic and contextually appropriate animations for multiple entities. The method involves dynamically selecting animations for each 3D virtual entity based on its historical animation data. For each entity, a buffer storing its past animations is accessed, and the current animation is determined by analyzing this history. This ensures animations align with the entity's behavior patterns, improving realism and coherence in the virtual environment. The approach may also involve tracking interactions between entities and environmental factors to refine animation selection. By leveraging historical data, the system avoids repetitive or inconsistent animations, enhancing the overall user experience in applications such as gaming, virtual reality, or simulation training. The method can be applied to any system managing multiple 3D entities where animation decisions must adapt to individual entity behaviors over time.
13. A non-transitory computer-readable medium storing computer-executable instructions that, when executed by one or more computing devices, configure the one or more computing devices to execute a game application, the game application configured to perform operations during runtime of the game application comprising: accessing a data store storing appearance data associated with a plurality of 3D virtual entities, the data store storing a plurality of arrays, the plurality of arrays comprising: a control array comprising indices of individual 3D virtual entities of the plurality of 3D virtual entities; a mesh array identifying meshes of individual 3D virtual entities of the plurality of 3D virtual entities; an animation array identifying animations of individual 3D virtual entities of the plurality of 3D virtual entities; an appearance array identifying outfits of individual 3D virtual entities of the plurality of 3D virtual entities; a texture variation array identifying textures associated with the outfits of the respective 3D virtual entities of the plurality of 3D virtual entities; a color variation array identifying colors associated with the outfits of individual 3D virtual entities of the plurality of 3D virtual entities; and an offset array identifying offsets in animation of individual virtual entities of the plurality of 3D virtual entities; receiving a request to render a subset of the plurality of 3D virtual entities within a virtual environment during runtime of the game application; for each of the subset of the plurality of 3D virtual entities, accessing a plurality of appearances associated with the 3D virtual entity; selecting an appearance from the plurality of appearances for the 3D virtual entity based, at least in part on a set of rules associated with the plurality of appearances, wherein the rules comprise weighted values associated with variations of the plurality of appearances, wherein a higher weighted value increases a probability of being selected; accessing a plurality of animations associated with the 3D virtual entity; selecting an animation from the plurality of animations for the 3D virtual entity based, at least in part on a set of rules associated with the plurality of animations, wherein the rules comprise weighted values associated with individual animations of the plurality of animations, wherein a higher weighted value increases a probability of an animation being selected; and select an offset for the animation of the 3D virtual entity; and grouping elements of the subset of the plurality of 3D virtual entities into one or more batches based, at least in part, on the mesh of individual elements, wherein elements with similar meshes are grouped into the same batch; rendering elements of each batch as a group and independent of other batches of the one or more batches; and generating instructions to output the rendered elements within a frame of the game application during runtime.
This invention relates to a system for efficiently rendering 3D virtual entities in a game application by organizing and selecting appearance and animation data. The technology addresses the challenge of managing and rendering large numbers of virtual entities with varying appearances and animations in real-time while optimizing performance. The system stores appearance data for 3D virtual entities in a structured data store, including multiple arrays: a control array indexing individual entities, a mesh array defining their 3D models, an animation array specifying possible animations, an appearance array detailing outfits, a texture variation array for outfit textures, a color variation array for outfit colors, and an offset array for animation timing adjustments. When rendering a subset of entities, the system accesses their associated appearances and animations, selecting variations based on weighted rules that influence selection probabilities. Animations are further customized with offsets. To optimize rendering, entities with similar meshes are grouped into batches, allowing efficient batch processing. Each batch is rendered independently, and the results are output as part of the game's frame. This approach improves rendering efficiency by reducing redundant processing and leveraging batching techniques.
14. The non-transitory computer-readable medium of claim 13 , wherein determining the appearance comprises: determining an index associated with the 3D virtual entity; and retrieving the appearance from an appearance array based at least in part on the index.
This invention relates to computer graphics and virtual environments, specifically to systems for managing and rendering the visual appearance of 3D virtual entities. The problem addressed is efficiently determining and applying the correct visual appearance for a 3D virtual entity in a virtual environment, particularly when multiple entities share similar or identical appearances to optimize rendering performance. The system involves a non-transitory computer-readable medium storing instructions that, when executed, perform a method for determining the appearance of a 3D virtual entity. The method includes determining an index associated with the 3D virtual entity, which uniquely identifies or categorizes the entity's appearance. Using this index, the system retrieves the corresponding appearance data from an appearance array, a structured data storage that maps indices to specific visual attributes such as textures, colors, or shaders. This approach allows for efficient lookups and reduces redundant storage or processing of appearance data, improving rendering performance in virtual environments with many entities. The appearance array may be pre-populated with common visual attributes, and the index can be derived from the entity's properties, such as its type, state, or other metadata. This method ensures that the correct visual representation is applied dynamically, even as entities change or new ones are introduced. The system is particularly useful in applications like video games, simulations, or virtual reality, where real-time rendering of complex scenes is required.
Unknown
September 3, 2019
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.