Untiy3D Animation
Unity’s Animation features include Retargetable animations, Full control of animation weights at runtime, Event calling from within the animation playback, Sophisticated State Machine hierarchies and transitions, Blend shapes for facial animations, and more.
Read this section to find out how to import and work with imported animation and how to animate objects, colours, and any other parameters within Unity itself.
Animation System Overview
Unity has a rich and sophisticated animation system (sometimes referred to as ‘Mecanim’). It provides:
Easy workflow and setup of animations for all elements of Unity including objects, characters, and properties.
Support for imported animation clips and animation created within Unity
Humanoid animation retargeting- the ability to apply animations from one character model onto another.
Simplified workflow for aligning animation clips.
Convenient preview of animation clips, transitions and interactions between them. This allows animators to work more independently of programmers, prototype and preview their animations before gameplay code is hooked in.
Management of plex interactions between animations with a visual programming tool.
Animating different body parts with different logic.
include和containLayering and masking features
Animation workflow
Unity’s animation system is based on the concept of Animation Clips, which contain information about how certain objects should change their position, rotation, or other properties over time. Each clip can be thought of as a single linear recording. Animation clips from external sources are created by artists or animators with 3rd party tools such as Max or Maya, or e from motion capture studios or other sources.
Animation Clips are then organised into a structured flowchart-like system called an Animator Controller. The Animator Controller acts as a “State Machine” which keeps track of which clip should currently be playing, and when the animations should change or blend together.
A very simple Animator Controller might only contain one or two clips, for example to control a powerup spinning and bouncing, or to animate a door opening and closing at the correct time. A more advanced Animator Controller might contain dozens of humanoid animations for all the main character’s actions, and might blend between multiple clips at the same time to provide a fluid motion as the player moves around the scene.
Unity’s Animation system also has numerous special features for handling humanoid characters which give you the ability
to retargethumanoid animation from any source (Eg. motion capture, the asset store, or some other third-party animation library) to your own character model, as well as adjusting muscle definitions. These special features are enabled by Unity’s Avatar system, where humanoid characters are mapped to a mon internal format.
Each of these pieces - the Animation Clips, the Animator Controller, and the Avatar, are brought toget
her on a GameObject via theAnimator ponent. This ponent has a reference to an Animator Controller, and (if required) the Avatar for this model. The Animator Controller, in turn, contains the references to the Animation Clips it uses.
The above diagram shows the following:
Animation clips are imported from an external source or created within Unity. In this example, they are imported motion captured humanoid animations.
The animation clips are placed and arranged in an Animator Controller. This shows a view of an Anim
ator Controller in the Animator window. The States (which may represent animations or nested sub-state machines) appear as nodes connected by lines. This Animator Controller exists as an asset in the Project window.
The rigged character model (in this case, the astronaut “Astrella”) has a specific configuration of bones which are mapped to Unity’s mon Avatar format. This mapping is stored as an Avatar asset as part of the imported character model, and also appears in the Project window as shown.
When animating the character model, it has an Animator ponent attached. In the Inspector view shown above, you can see
the Animator ponent which has both the Animator Controller and the Avatar assigned. The animator uses these together to animate the model. The Avatar reference is only necessary when animating a humanoid character. For other types of animation, only an Animator Controller is required.
Unity’s animation system (Known as “Mecanim”) es with a lot of concepts and terminology. If at any point, you need to find out what something means, go to our Animation Glossary.
Legacy animation system
While Mecanim is remended for use in most situations, Unity has retained its legacy animation system which existed before Unity 4. You may need to use when working with older content created before Unity 4. For information on the Legacy animation system, see this section
Unity intends to phase out the Legacy animation system over time for all cases by merging the workflows into Mecanim. Animation Clips
Animation Clips are one of the core elements to Unity’s animation system. Unity supports importing animation from external sources, and offers the ability to create animation clips from scratch within the editor using the Animation window.
Animation from External Sources
Animation clips imported from external sources could include:
Humanoid animations captured at a motion capture studio
Animations created from scratch by an artist in an external 3D application (such as 3DS Max or Maya)
Animation sets from 3rd-party libraries (eg, from Unity’s asset store)
Multiple clips cut and sliced from a single imported timeline. Animation Created and Edited Within Unity
Unity’s Animation Window also allows you to create and edit animation clips. These clips can animate:
The position, rotation and scale of GameObjects
ponent properties such as material colour, the intensity of a light, the volume of a sound
Properties within your own scripts including float, int, Vector and boolean variables
The timing of calling functions within your own scripts Animation from External Sources
Overview of Imported Animation
Animation from external sources is imported into Unity in the same way as regular 3D files. These files, whether they’re generic FBX files or native formats from 3D software such as Maya, Cinema
4D, 3D Studio Max, can contain animation data in the form of a linear recording of the movements of objects within the file.
In some situations the object to be animated (eg, a character) and the animations to go with it can be present in the same file. In other cases, the animations may exist in a separate file to the model to be animated.
It may be that animations are specific to a particular model, and cannot be re-used on other models. For example, a giant octopus end-boss in your game might have a unique arrangement of limbs and bones, and its own set of animations.
In other situations, it may be that you have a library of animations which are to be used on various different models in your scene. For example, a number of different humanoid characters might all use the same walk and run animations. In these situations, it’s mon to have a simple placeholder model in your animation files for the purposes of previewing them. Alternatively, it is possible to use animation files even if they have no geometry at all, just the animation data.
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论