Automated quadruped locomotion controller generation (learned locomotion).
Techniques for generating locomotion data for animating a virtual quadruped model, starting at an origin point and travelling to a destination point along a defined path. A virtual skeletal structure for the virtual quadruped model is analyzed to identify a torso region, limbs each ending in a respective end effector, and limb attributes. A predefined locomotion template for virtual quadruped characters is retrieved and mapped to the virtual quadruped model by aligning the torso region and the plurality of limbs of the virtual skeletal structure for the virtual quadruped with a second torso region and a second plurality of limbs of the predefined locomotion template. Locomotion data is generated for the virtual quadruped model based on the defined path and by upscaling the mapped predefined locomotion template, based at least on the set of limb attributes determined by analyzing the virtual skeletal structure for the virtual quadruped model.
BACKGROUND(1) Field of the Invention(2) Embodiments disclosed herein relate to computer-generated imagery (CGI) and computer-aided animation, and more specifically, this disclosure relates to techniques for realistically generating locomotion for quadruped models.(3) Description of the Related Art(4) With the increasingly wide-spread availability of computers, many graphic artists and animators rely upon computers to assist in the production process for the creation of animations, computer-generated imagery (CGI) and the like. In doing so, the artists and animators may create virtual models stored in computer memory that represent physical models or other entities (e.g., fictitious characters). Typically, two-dimensional (2D) or three-dimensional (3D) computer-aided animation combines 2D/3D models of objects and programmed movement of one or more of the models. In 3D computer animation, an object modeling process can be used in which objects are sculpted, akin to working with real clay or plaster, working from general forms to specific details, for example, with various sculpting tools. Models may be constructed, for example, out of geometrical vertices, faces, and edges in a 3D coordinate system to represent the objects. These virtual models can be manipulated using computers to, for example, simulate physics, design aesthetic actions such as poses or other deformations, create lighting, coloring and paint, or the like, of characters or other elements of a computer animation
1. A method, comprising: receiving a request to generate locomotion data for a virtual quadruped model, starting at an origin point and travelling to a destination point along a defined path; analyzing, by operation of one or more computer processors, a virtual skeletal structure for the virtual quadruped model comprising: identifying a torso region, a plurality of limbs, and a set of limb attributes; identifying a ground surface within a virtual world containing the virtual quadruped model; and identifying a respective end effector of each of the plurality of limbs, based on a plurality of bones within the virtual skeletal structure determined to be in contact with the ground surface within the virtual world; retrieving a predefined locomotion template for virtual quadruped characters; mapping the predefined locomotion template to the virtual quadruped model by aligning the torso region and the plurality of limbs of the virtual skeletal structure for the virtual quadruped model with a second torso region and a second plurality of limbs of the predefined locomotion template; and generating locomotion data for the virtual quadruped model based on the defined path and by upscaling the mapped predefined locomotion template, based at least on the set of limb attributes determined by analyzing the virtual skeletal structure for the virtual quadruped model.
12. A system, comprising: one or more computer processors; and a memory containing computer program code that, when executed by operation of the one or more computer processors, performs an operation comprising: receiving a request to generate locomotion data for a virtual quadruped model, starting at an origin point and travelling to a destination point along a defined path; analyzing, by operation of one or more computer processors, a virtual skeletal structure for the virtual quadruped model comprising: identifying a torso region, a plurality of limbs, and a set of limb attributes; identifying a ground surface within a virtual world containing the virtual quadruped model; and identifying a respective end effector of each of the plurality of limbs, based on a plurality of bones within the virtual skeletal structure determined to be in contact with the ground surface within the virtual world; retrieving a predefined locomotion template for virtual quadruped characters; mapping the predefined locomotion template to the virtual quadruped model by aligning the torso region and the plurality of limbs of the virtual skeletal structure for the virtual quadruped model with a second torso region and a second plurality of limbs of the predefined locomotion template; and generating locomotion data for the virtual quadruped model based on the defined path and by upscaling the mapped predefined locomotion template, based at least on the set of limb attributes determined by analyzing the virtual skeletal structure for the virtual quadruped model.
18. A non-transitory computer-readable medium containing computer program code that, when executed by operation of one or more computer processors, performs an operation comprising: receiving a request to generate locomotion data for a virtual quadruped model, starting at an origin point and travelling to a destination point along a defined path; analyzing, by operation of one or more computer processors, a virtual skeletal structure for the virtual quadruped model comprising: identifying a torso region, a plurality of limbs, and a set of limb attributes; identifying a ground surface within a virtual world containing the virtual quadruped model; and identifying a respective end effector of each of the plurality of limbs, based on a plurality of bones within the virtual skeletal structure determined to be in contact with the ground surface within the virtual world; retrieving a predefined locomotion template for virtual quadruped characters; mapping the predefined locomotion template to the virtual quadruped model by aligning the torso region and the plurality of limbs of the virtual skeletal structure for the virtual quadruped model with a second torso region and a second plurality of limbs of the predefined locomotion template; and generating locomotion data for the virtual quadruped model based on the defined path and by upscaling the mapped predefined locomotion template, based at least on the set of limb attributes determined by analyzing the virtual skeletal structure for the virtual quadruped model.