Web platform for interactive design, synthesis and delivery of 3d character motion data
Abstract
Systems and methods are described for animating 3D characters using synthetic motion data generated by motion models in response to a high level description of a desired sequence of motion provided by an animator. In a number of embodiments, the synthetic motion data is streamed to a user device that includes a rendering engine and the user device renders an animation of a 3D character using the streamed synthetic motion data. In several embodiments, an animator can upload a custom model of a 3D character or a custom 3D character is generated by the server system in response to a high level description of a desired 3D character provided by the user and the synthetic motion data generated by the generative model is retargeted to animate the custom 3D character.
Claims
exact text as granted — not AI-modified1 . An animation system, comprising:
a server system connected to a communication network and configured to communicate with a user device that is also connected to the communication network; wherein the server system is configured to generate a user interface that is accessible via the communication network; wherein the server system is configured to receive a high level description of a desired sequence of motion via the user interface; wherein the server system is configured to generate synthetic motion data using at least one motion model resident on the server system based on the high level description of the desired sequence of motion received via the user interface; wherein the server system is configured to stream the synthetic motion data to a rendering engine on the user device; and wherein the user device is configured to render a 3D character animated using the streamed synthetic motion data.
2 . The animation system of claim 1 , wherein:
the server system comprises an application server and a web server that are configured to communicate; the application server is configured to communicate with a database of motion data; the web server is connected to the communication network; the application server is configured to generate the at least one motion model using the motion data and provide the at least one motion model to the web server; the web server is configured to generate the user interface that is accessible via the communication network; the web server is configured to receive the high level description of the desired sequence of motion via the user interface; the web server is configured to use the at least one motion model to generate synthetic motion data based on the high level description of the desired sequence of motion; and the web server is configured to stream the synthetic motion data to a rendering engine on the user device.
3 . The animation system of claim 1 , wherein the motion data includes actual motion data obtained via motion capture.
4 . The animation system of claim 3 , wherein the motion data is obtained via marker based motion capture.
5 . The animation system of claim 3 , wherein the motion data includes meshes obtained using markerless motion capture.
6 . The animation system of claim 1 , wherein the motion data includes manually generated motion data.
7 . The animation system of claim 1 , wherein the web server is configured to generate synthetic motion by:
determining a time base based on the high level description of the desired sequence of motion; normalizing a number of different motions to the time base; determining weightings for each of the motions based on the high level description of the desired sequence of motion; and interpolating the normalized motions using the determined weightings.
8 . The animation system of claim 7 , wherein:
the synthetic motion data is based upon a standard model for a 3D character; the server system is configured to receive a model of a 3D character from the user device via the communication network; the server system is configured to retarget the synthetic motion data to the received model of a 3D character; and the synthetic motion data streamed by the server system is the retargeted synthetic motion data.
9 . The animation system of claim 7 , wherein:
the motion data is based upon a standard model for a 3D character; the server system is configured to generate a model of a 3D character from a high level description of a 3D character received via the user interface; the server system is configured to retarget the synthetic motion data to the generated model of a 3D character; and the synthetic motion data streamed by the server system is the retargeted synthetic motion data.
10 . The animation system of claim 7 , wherein the server system is configured to impose environmental constraints on the synthetic motion data.
11 . The animation system of claim 10 , wherein the server system is configured to modify the synthetic motion data to constrain a certain aspect of the motion to occur during a particular period of the time base.
12 . The animation system of claim 10 , wherein the server system is configured to modify the synthetic motion data to prevent portions of the 3D character from penetrating a floor during the motion.
13 . The animation system of claim 7 , wherein the server system is configured to use the motion model to generate synthetic motion data from any description within the continuum of the scale of the high level characteristic.
14 . The animation system of claim 1 , wherein the high level description of the desired sequence of motion includes at least a motion type, a trajectory for the motion, and at least one motion styling.
15 . The animation system of claim 14 , wherein the motion styling is a description of a physical characteristic or an expressive characteristic of the motion.
16 . The animation system of claim 14 , wherein the motion system is expressed as one of a number of discrete types of motion.
17 . The animation system of claim 14 , wherein the trajectory of the motion is specified including at least a start point and an end point.
18 . The animation system of claim 14 , wherein the motion styling is expressed using at least one value from a continuous scale that corresponds to a high level characteristic that was used to describe differences between repeated sequences of motion in the motion data used to generate the motion models.
19 . The animation system of claim 1 , wherein:
the server system is configured to receive an updated high level description of the desired sequence of motion over the communication network via the user interface; the server system is configured to use the motion model to generate a second set of synthetic motion data based on the updated high level description of the desired sequence of motion; and the server system is configured to stream the second set of synthetic motion data to a rendering engine on the user device.
20 . The animation system of claim 1 , wherein the rendering engine is a plug-in to a browser application on the user device that is used to interact with the user interface generated by the server system.
21 . The animation system of claim 1 , wherein:
the motion data is based upon a standard model for a 3D character; the server system is configured to receive a model of a 3D character from the user device via the communication network; the server system is configured to retarget the synthetic motion data generated by the motion model based upon the high level description of the desired sequence of motion to animate the 3D character received from the user device; and the synthetic motion data streamed by the server system is the retargeted synthetic motion data.
22 . The animation system of claim 1 , wherein:
the motion data is based upon a standard model for a 3D character; the server system is configured to generate a model of a 3D character from a high level description of a 3D character received via the user interface; the server system is configured to retarget the synthetic motion data generated by the motion model based upon the high level description of the desired sequence of motion to animate the 3D character generated by the server system; and the synthetic motion data streamed by the server system is the retargeted synthetic motion data.
23 . A method of animating a 3D character, comprising:
receiving a high level description of the motion characteristics for a desired motion sequence from a user device via a user interface generated by a server system; generating synthetic motion data using the server system based upon the at least one motion model and the high level description of the motion characteristics for a desired motion sequence; streaming the synthetic motion data from the server system to the user device; and rendering an animation of a 3D character using the client device based upon the streamed synthetic motion data.
24 . The method of animating a 3D character of claim 23 , wherein generating synthetic motion data based upon the at least one motion model and the high level description of the motion characteristics for a desired motion sequence further comprises:
determining a time base based on the high level description of the motion characteristics for a desired motion; normalizing the motion data of a number of different motions included in the at least one motion model to the time base; determining weightings for the motion data of each of the motions based on the high level description of the motion characteristics for a desired motion; and interpolating the normalized motion data using the determined weightings to generate synthetic motion data.
25 . The method of animating a 3D character of claim 24 , further comprising:
obtaining a custom model of a 3D character; and retargeting the synthetic motion data to the user model prior to streaming the synthetic motion data to the user device.
26 . The method of animating a 3D character of claim 25 , wherein the custom model of a 3D character is uploaded to the server system from the user device.
27 . The method of animating a 3D character of claim 25 , wherein the custom model of a 3D character is generated by the server system in response to a high level description of the 3D character obtained from the user device via a user interface generated by the server system.
28 . The method of animating a 3D character of claim 25 , further comprising imposing environmental constraints on the retargeted synthetic motion data.Join the waitlist — get patent alerts
Track US2010259547A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.