Types of animation in computer graphics.

Creating a 2D cartoon in KINESKO is:

The price of 2D animation depends on such factors

  1. Timing of the video.
  2. Complexity of animation. The more detailed the drawing, the higher the price of 2D animation.
  3. Availability of additional services(voiceover, promotion, etc.).

Stages of creating 2D animation

1. Creating 2D animation starts with collection and analysis of initial information, on the basis of which it is formed idea. After its agreement with the customer, it is written scenario.

2. The next stage of making 2D animation is character design development. It begins with a sketch drawn by the artist, which is later refined and simplified. The artist comes up with appearance characters, their emotions and even the sounds they make.

3. Then we proceed to creating a storyboard, preliminary visualization of the video. It allows animators to understand how the final video should look (angle, appearance and behavior of characters, etc.).

4. Storyboards are used to create video key frames. After drawing them, work begins on creating intermediate frames(phasing). Drawing in parallel backgrounds.

5. After the 2D animation production work is completed, there is still voice acting And adding sound effects.

Order with 2D animation service

Why You Should Make 2D Animation

1. In 3D animation there are many limitations when constructing a frame or scene. Creating 2D animation is much easier. 2D characters are more flexible and have better facial expressions which contributes to their memorability. Three-dimensional models are created differently, their every movement calculated by mathematical formulas.

2. 2D animation uses more visual effects than in 3D, which greatly speeds up work.

3. Character animation in 2D videos costs less than in volumetric ones.

4. In 2D animation, information can fill the entire screen. Whereas in 3D videos, landmarks in space take up part of the screen and reduce the number of working pixels.

5. For voluminous characters, the hair may “sink” into the texture of the head, and the ears may go through the hat. There are no such problems with 2D animated characters.


1. "Rubber" hero. The bodies of the drawn characters are often compressed and stretched. And yet the volume of the body must remain the same.

2. Preparatory movements. Before performing any action, a person usually makes preparatory movements. In animation this technique is exaggerated. Mainly to notify the viewer of what will happen next.

3. Stage performance. The poses and facial expressions of animated characters should be simple and expressive.

4. Endless movement. Even if a two-dimensional character is static, the supporting elements should be in constant motion.

5. Movement in arcs. Living things always move along an arc-shaped path. Although sudden movements may appear to be straight, this is deceiving.

6. Caricature. Animation and realism are difficult things to combine. A happy character should shine like the sun, while an angry character should look like a cauldron ready to explode.

7. Attractiveness of the characters. Even a scary troll living in a swamp can be attractive. If the character seems boring, the whole film will seem so.

How to make an animated character cute?

  • the character should look like a child;
  • his main character traits are modesty and self-doubt;
  • his head should be larger than his body, and his eyes should be low-set;
  • his body should be plump, emphasizing a good appetite.

The Evolution of 2D Animation Creation

1. "Steamboat Willie"(1928) is the first sound cartoon. This is also the third cartoon in which Mickey Mouse appears.

2. "Snow White and the Seven Dwarfs"(1937) became the first full-length color cartoon. She even received an Oscar for her innovative achievements.

3. "Mary Poppins"(1964) is not the first film to combine live action with animation. However, this is the main example of the use of such technology, without which Who Framed Roger Rabbit and other famous films would not exist.

4. "The Adventures of Fritz the Cat"(1962) was the first cartoon to receive an X rating. Because of its erotic and violent scenes, it was never shown on television, but it became a starting point in the history of adult animation.

5. "Akira"(1988) was released after Hayao Miyazaki founded his famous Studio Ghibli. But it was she who served as the impetus for the popularization of anime in America and the rest of the world, opening the way for the films of the aforementioned Miyazaki, Evangelion and many others.

6. "Vinnie Bear and His Friends" became Disney's last hand-drawn cartoon, marking the end of an era.

CSS3 animation Gives sites dynamism. It brings web pages to life, improving the user experience. Unlike CSS3 transitions, animation creation is based on keyframes, which allow you to automatically play and repeat effects for a given time, as well as stop the animation within a loop.

CSS3 animation can be used for almost all html elements, as well as the:before and:after pseudo-elements. The list of animated properties is given on the page. When creating animation, do not forget about possible problems with performance, since changing some properties requires a lot of resources.

Introduction to CSS Animation

Browser support

IE: 10.0
Firefox: 16.0, 5.0 -moz-
Chrome: 43.0, 4.0 -webkit-
Safari: 4.0 -webkit-
Opera: 12.1, 12.0 -o-
iOS Safari: 9, 7.1 -webkit-
Opera Mini:
Android Browser: 44, 4.1 -webkit-
Chrome for Android: 44

1. Keyframes

Keyframes are used to specify animation property values ​​at various points in the animation. Keyframes define the behavior of one animation cycle; the animation can repeat zero or more times.

Keyframes are specified using the @keyframes rule, defined as follows:

@keyframes animation name (rules list)

Animation creation begins with installation key frames@keyframes rules. Frames determine which properties will be animated at which step. Each frame may include one or more declaration blocks of one or more property and value pairs. The @keyframes rule contains the name of the element's animation, which links the rule and the element's declaration block.

@keyframes shadow ( from (text-shadow: 0 0 3px black;) 50% (text-shadow: 0 0 30px black;) to (text-shadow: 0 0 3px black;) )

Keyframes are created using the from and to keywords (equivalent to the values ​​0% and 100%) or using percentage points, which can be specified as many as you like. You can also combine keywords and percentage points. If frames have the same properties and values, they can be combined into one declaration:

@keyframes move ( from, to ( top: 0; left: 0; ) 25%, 75% (top: 100%;) 50% (top: 50%;) )

If 0% or 100% frames are not specified, then the user's browser creates them using the calculated (originally set) values ​​of the animated property.

If multiple @keyframes rules are defined with the same name, the last one in document order will fire and all previous ones will be ignored.

Once the @keyframes rule is declared, we can reference it in the animation property:

H1 ( font-size: 3.5em; color: darkmagenta; animation: shadow 2s infinite ease-in-out; )

It is not recommended to animate non-numeric values ​​(with rare exceptions), as the result in the browser may be unpredictable. You should also not create keyframes for property values ​​that do not have a midpoint, such as property values ​​color: pink and color: #ffffff , width: auto and width: 100px , or border-radius: 0 and border-radius: 50% ( in this case, it would be correct to specify border-radius: 0%).

1.1. Timing function for key frames

A keyframe style rule can also declare a temporary function that should be used when the animation moves to the next keyframe.

Example

@keyframes bounce ( from ( top: 100px; animation-timing-function: ease-out; ) 25% ( top: 50px; animation-timing-function: ease-in; ) 50% ( top: 100px; animation-timing- function: ease-out; ) 75% ( top: 75px; animation-timing-function: ease-in; ) to ( top: 100px; ) )

Five keyframes are specified for the animation named "bounce". Between the first and second keyframe (that is, between 0% and 25%), the easing function is used. Between the second and third keyframe (that is, between 25% and 50%), the smooth acceleration function is used. And so on. The element will move up the page by 50px, slowing down as it reaches its highest point, and then speeding up as it drops to 100px. The second half of the animation behaves similarly, but only moves the element 25px up the page.

The timing function specified in the to or 100% keyframe is ignored.

2. Animation name: animation-name property

The animation-name property specifies the list of animations applied to the element. Each name is used to select a keyframe in a rule that provides property values ​​for the animation. If the name does not match any keyframes in the rule, there are no properties to animate, or there is no animation name, the animation will not execute.

If multiple animations attempt to change the same property, the animation closest to the end of the list of names will execute.

The animation name is case sensitive and is not allowed. keyword none . It is recommended to use a name that reflects the essence of the animation, and you can use one or more words listed with a hyphen - or the underscore character _ .

The property is not inherited.

Syntax

Animation-name: none; animation-name: test-01; animation-name: -sliding; animation-name: moving-vertically; animation-name: test2; animation-name: test3, move4; animation-name: initial; animation-name: inherit;

3. Animation duration: animation-duration property

The animation-duration property specifies the duration of one animation cycle. Specified in seconds s or milliseconds ms. If an element has more than one animation specified, you can set a different time for each by listing the values ​​separated by commas.

The property is not inherited.

Syntax

Animation-duration: .5s; animation-duration: 200ms; animation-duration: 2s, 10s; animation-duration: 15s, 30s, 200ms;

4. Timing function: animation-timing-function property

The animation-timing-function property describes how the animation will progress between each pair of keyframes. During animation delay, timing functions are not applied.

The property is not inherited.

animation-timing-function
Values:
linear Linear function, animation occurs evenly throughout the entire time, without fluctuations in speed.
Bezier functions
ease The default feature, the animation starts slow, accelerates quickly, and slows down at the end. Corresponds to cubic-bezier(0.25,0.1,0.25,1) .
ease-in The animation starts slowly and then smoothly speeds up at the end. Corresponds to cubic-bezier(0.42,0,1,1) .
ease-out The animation starts quickly and slows down smoothly at the end. Corresponds to cubic-bezier(0,0,0.58,1) .
ease-in-out The animation starts slowly and ends slowly. Corresponds to cubic-bezier(0.42,0,0.58,1) .
cubic-bezier(x1, y1, x2, y2) Allows you to manually set values ​​from 0 to 1. You can build any trajectory of the speed of animation change.
step functions
step-start Sets step-by-step animation, breaking the animation into segments, changes occur at the beginning of each step. Evaluated in steps(1, start) .
step-end Step-by-step animation, changes occur at the end of each step. Evaluated in steps(1, end) .
steps(number of steps, step position) A step time function that takes two parameters. The first parameter specifies the number of intervals in the function. This must be a positive integer greater than 0, unless the second argument is jump-none, in which case it must be a positive integer greater than 1. The second parameter, which is optional, specifies the step position - the point at which the animation begins, using one of the following values:
  • jump-start - the first step occurs at a value of 0
  • jump-end - the last step occurs with a value of 1
  • jump-none - all steps occur within the range (0, 1)
  • jump-both - the first step occurs with a value of 0, the last - with a value of 1
  • start - behaves like jump-start
  • end - behaves like a jump-end

With the value start the animation starts at the beginning of each step, with the value end at the end of each step with a delay. Latency is calculated by dividing the animation time by the number of steps. If the second parameter is not specified, the default value end is used.

initial
inherit

Syntax

Animation-timing-function: ease; animation-timing-function: ease-in; animation-timing-function: ease-out; animation-timing-function: ease-in-out; animation-timing-function: linear; animation-timing-function: step-start; animation-timing-function: step-end; animation-timing-function: cubic-bezier(0.1, 0.7, 1.0, 0.1); animation-timing-function: steps(4, end); animation-timing-function: ease, step-start, cubic-bezier(0.1, 0.7, 1.0, 0.1); animation-timing-function: initial; animation-timing-function: inherit;

Step-by-step animation can be used to create interesting effects, such as text being printed or a loading indicator.

5. Animation repetition: animation-iteration-count property

The animation-iteration-count property specifies the number of times the animation loop is played. A starting value of 1 means that the animation will play from start to finish once. This property is often used in conjunction with the animation-direction property's alternate value, which causes the animation to play in reverse order in alternate loops.

The property is not inherited.

Syntax

Animation-iteration-count: infinite; animation-iteration-count: 3; animation-iteration-count: 2.5; animation-iteration-count: 2, 0, infinite;

6. Animation direction: animation-direction property

The animation-direction property determines whether the animation should play in reverse order on some or all loops. When the animation is played in reverse order, the timing functions are also reversed. For example, when played in reverse order, the ease-in function will behave like ease-out .

The property is not inherited.

animation-direction
Values:
normal All animation repeats play as specified. Default value.
reverse All animation repeats play in the opposite direction from how they were defined.
alternate Each odd repeat of the animation loop plays in the normal direction, each even repeat plays in the reverse direction.
alternate-reverse Every odd repeat of the animation loop plays in the reverse direction, every even repeat plays in the normal direction.
initial Sets the property value to the default value.
inherit Inherits the property value from the parent element.

To determine whether an animation loop repeat is even or odd, the number of repeats starts at 1.

Syntax

Animation-direction: normal; animation-direction: reverse; animation-direction: alternate; animation-direction: alternate-reverse; animation-direction: normal, reverse; animation-direction: alternate, reverse, normal; animation-direction: initial; animation-direction: inherit;

7. Playing animation: animation-play-state property

The animation-play-state property determines whether the animation will start or pause. Stopping animation within a loop is possible by using this property in a JavaScript script. You can also stop the animation when you hover the mouse over an object - state:hover .

The property is not inherited.

Syntax

Animation-play-state: running; animation-play-state: paused; animation-play-state: paused, running, running; animation-play-state: initial; animation-play-state: inherit;

8. Animation delay: animation-delay property

The animation-delay property determines when the animation will start. Specified in seconds s or milliseconds ms.

The property is not inherited.

Syntax

Animation-delay: 5s; animation-delay: 3s, 10ms;

9. State of the element before and after playing the animation: animation-fill-mode property

The animation-fill-mode property determines what values ​​are applied by the animation outside of its execution time. When the animation completes, the element returns to its original styles. By default, animation does not affect property values ​​when animation is applied to an element - animation-name and animation-delay . Additionally, by default, animations do not affect the values ​​of the animation-duration and animation-iteration-count properties after they are completed. The animation-fill-mode property can override this behavior.

The property is not inherited.

animation-fill-mode
Values:
none Default value. The element's state does not change before or after the animation plays.
forwards Once the animation ends (as determined by the animation-iteration-count value), the animation will apply the property values ​​at the time the animation ends. If animation-iteration-count is greater than zero, the values ​​for the end of the last completed iteration of the animation are applied (not the value for the start of the iteration that comes next). If animation-iteration-count is zero, the applied values ​​will be those that start the first iteration (same as in animation-fill-mode: backwards;).
backwards During the period defined with animation-delay , the animation will apply the property values ​​defined in the keyframe, which will begin the first iteration of the animation. These are either the from keyframe values ​​(when animation-direction: normal or animation-direction: alternate) or the to keyframe values ​​(when animation-direction: reverse or animation-direction: alternate).
both Allows you to leave an element in the first keyframe before the animation begins (ignoring a positive delay value) and delay on the last frame until the end of the last animation.

Syntax

Animation-fill-mode: none; animation-fill-mode: forwards; animation-fill-mode: backwards; animation-fill-mode: both; animation-fill-mode: none, backwards; animation-fill-mode: both, forwards, none;

10. Brief description of animation: animation property

All animation playback parameters can be combined in one property - animation , listing them separated by a space:

Animation: animation-name animation-duration animation-timing-function animation-delay animation-iteration-count animation-direction;

To play the animation, it is enough to specify only two properties - animation-name and animation-duration , the remaining properties will take their default values. The order in which the properties are listed does not matter, the only thing is that the execution time of the animation-duration must come before the animation-delay delay.

11. Multiple animations

You can set several animations for one element by listing their names separated by commas:

Div (animation: shadow 1s ease-in-out 0.5s alternate, move 5s linear 2s;)

Since 2005, Compass Production has been creating 2D animation, commercials and corporate films. You can order an advertising video with 2D animation from Compass Production.

is a video creation technology in which two-dimensional graphic images are animated. The word is derived from the abbreviation 2D, 2-D (from English. 2-dimensional two-dimensional graphics, two-dimensional space) and animation (from French. animation- revival, animation).

Videos in 2D animation, as a rule, do not have a high cost compared to staged advertising, and with high-quality execution, the advertised product is promoted no worse than an expensive filmed advertising video. Animated videos are very popular with audiences, regardless of age, and allow viewers to easily and unobtrusively perceive the plot presented in the advertisement.

2d animation, depending on the type of computer graphics, can be:

Vector 2d animation is a video that is created using geometric objects such as lines, curves and geometric shapes(triangle, circle, polygon, etc.).

Raster 2d animation this is a video that consists of pixels. Unlike vector graphics, when the image is enlarged, 2D raster animation loses its quality.

In two-dimensional space or on a plane using computer software The following types of graphic advertising videos are also created:

Doodle video is an animated hand-drawn video where information is presented using a hand drawing with a pencil or marker with a voice-over. is a special technique for creating a graphic video, a certain style that is well suited for explaining various business processes and devices.

Advantages of advertising with 2D animation

1. The characters in 2D animated advertising videos are remembered and perceived by the audience better than the characters in staged videos.

2. The audience likes videos with 2D animation, and therefore they want to share it with acquaintances and friends.

3. The price of 2D animation is several times lower than the cost of staged or combined advertising, the creation of which involves a stage.

It is worth noting that 2D animation is losing ground to the realism of 3D graphics, which is increasingly ousting it from the market, both in the field of creating commercials and in cinema.

Why do clients choose advertising with 2D animation?

A high-quality advertising video created using 2D animation is able to capture and involve the viewer from the first seconds, and good story and a beautiful picture will hold his attention and make him watch the video to the end. This will subsequently evoke certain emotions in the viewer and make him think about the advertised product.

In addition, developing an advertising video in 2D animation is a great way to tell a bright and interesting story about something boring and monotonous. Also, with the help of graphic 2D animation, you can explain to the audience what is initially difficult to perceive. For example, when it comes to Internet projects, banking services, financial platforms, educational programs, etc. That is why 2D graphics are widely used in the creation of training videos, video presentations, presentation and corporate films.

In most cases, 2D animation is used when creating any commercial. When creating a shooting advertising video, post-production specialists receive the filmed video material in its original form. It is then processed, edited and the necessary graphic elements are superimposed on the video, such as an advertising campaign slogan, logo and moving text.

If you want to order 2D animation from Compass Production, we invite you to look at a playlist with examples of videos with 2D animation created by specialists from our studio:

Cost of 2d animation in advertising

It is generally accepted that the cost of 2D animation is calculated per second of the finished video. This is partly true. But the cost of 2D animation will be influenced by many factors: the type of animation, the number of 2D characters and their elaboration, timing, complexity and number of graphic elements and scenes, etc. In order to calculate the price of 2D animation, the customer first needs to fill out a 2D video for the development, in which he must describe all the necessary requirements.

It is worth noting that when creating an advertising video in 2D animation, the production stage is completely absent, so its price in any case will be lower than for a filmed or combined video, where both shooting and graphics are present. Creating 2D animation will cost on average from 50,000 to 300,000 rubles.

Order 2d animation


To order 2D animation, you must have a prepared detailed technical specification or an advertising video with. It is best to upload all the necessary materials (developed characters, illustrations, references) to a file hosting service and send all the necessary information by e-mail.

In order to order 2D animation, you need to trust the professionals and contact an experienced studio - Compass Production. Our specialists will tell you how to create 2D animation and prepare an excellent proposal. You can order a commercial with 2D animation by calling our office by phone or sending an e-mail.

  • Tutorial

In this article we will talk about 2D animations in Unity. I will talk about my experience working with native animations in Unity, how timelines are similar to Flash ones, about managing animations, events, nesting, and how an artist deals with animation.

First, a little theory.

There are two entities in Unity:

1. Animation(what is displayed in the "Animation" window)
2. Mechanim Animation tree (what is displayed in the Animator window).

Below I will tell you a little about what it is and how it may (or may not) be useful to us.

Animation

So, animation. Essentially, it's a timeline with keyframes. Here you can move, rotate, scale your objects. Naturally, you can draw curves and use different isings. And even manage any of their properties (including self-written ones). That is, it is quite possible to write a component with a float public value “brightness” and animate this “brightness” along with x, y, z using standard means. Sprites support frame-by-frame animation.

By the way, despite the fact that each animation has an FPS (the “sample” field), the animations themselves are not tied to FPS. They are tied to time. Those. if you are making an animation at 5 FPS, where you have an object moving from point A to point B by setting two key frames at the beginning and at the end, then in the game this object will not move in steps at 5 FPS. The animation is calculated every frame of the game, and the FPS inside the animation is made only for your convenience, so that you do not lose frames.

Animator

This is a large and complex system that directly controls animations. That is, animation is just a file (resource) with key frame settings and cannot do anything on its own. It is the “Animator” component that is able to play these animations.

Additionally, you can create a tree of these animations with morphs between them. Those. if you have a character animated by translations (when each part of the body is a separate sprite that you rotate/move), then it is quite possible to make the animation of the legs separately, the animation of the arms separately. And then (using the mouse) set the condition that, depending on the speed of your object’s movement, the mechanim animator will turn on either the “walking” or “running” leg animation. And your character’s shooting will be a separate animation, which has nothing to do with the speed of moving his legs.

In the simplest case, your animator will look like this:

Let's start doing shamanism.

So far everything is clear. But let's think about how to do something a little more complex?

My specific case is that we have a snowdrift in which a hare is sitting. The snowdrift moves on its own:

1. the snowdrift, moving, moves to the left
2. A hare peeks out of a snowdrift (the pulsation animation stops):

3. the snowdrift moves to the right

In principle, nothing complicated. We animate the pulsation of a snowdrift inside the object, use an external animator to move it to the left, then hide it, and instead show a frame-by-frame animation of a peeking hare, then back. And all this on one timeline (except for the “internal” animation of the snowdrift).

But I don’t like this option due to its rigidity. First of all, I think it’s wrong that in this version the frame-by-frame animation of the rabbit getting out is on the same timeline as the movement of the snowdrift. This means that if we want to do a variation of this animation where the snowdrift moves along a different path, we will have to re-animate the hare getting out. And if we then want to correct this very crawling out, then we will have to do this in all animations where it is used.

I would like more flexibility.

There is another option. We animate the peeking of the hare in a separate object (just as we did with the movement of the snowdrift), and in the main timeline we simply turn on this object (active) at the right moment and the animation begins.

This is much better, but still not ideal. Indeed, in this case, we must know in our main timeline how long the animation of this crawling out is. To turn it on and off at the right time. What if we change this animation again and the hare looks around longer? And in general, in some more complex cases it will be even more difficult for us to fit everything into one timeline.

It would be ideal to be able to pause the main timeline, start playing a nested animation, and unpause it after the end of this nested animation (or some event in it).

That is, do this:

1. move left
2. hide the pulsating snowdrift, show the animation of the rabbit crawling out, pause
3. hide the animation of the rabbit crawling out, show the moving snowdrift, move to the right

What do we need for this? Unity allows you to add calls to custom user events to the animation. This is exactly what we need! All that remains is to write everything correctly.

The first thing we need is to write a simple component (in our case it is called GJAnim) and hang it on the same object on which our animator hangs. It is the methods of this component that we will be able to call using events from the timeline.

Let's write a method for pausing. By the way, there is no such direct possibility in Unity. In order to pause the animation, a slightly dirty hack is usually used by setting its speed to 0. It generally works, although there are some oddities (more on this in the last part of the article).

Public void Pause() ( _animator.speed = 0; ) protected void Resume() ( _animator.speed = 1; )
Where _animator is the variable in which we cached the "Animator" component:

Animator = GetComponent ();

If you noticed in the screenshot above, there is a small vertical line above the key frame, which I marked with the number “2”. It is behind this that the call of the “Pause” event (method) is hidden:

It is worth noting that you can even pass a parameter to such events. String, float and object from the library (not from the stage) are supported.

Ok, we've paused. Now the task is to unpause. Obviously, a nested animation should do this. That is, the animation of the rabbit crawling out played to the end, and the “let’s move on” events were pushed up.

Public void ResumeParent() ( Transform pr = transform; while (true) ( ​​pr = pr.parent; if (pr == null) ( Debug.LogWarning("No GJAnim found in parents!"); return; ) GJAnim a = pr.gameObject.GetComponent (); if (a != null) ( a.Resume(); return; ) ) )

This method searches the parents for the "GJAnim" component and unpauses it. Accordingly, we set this event to end the animation of our rabbit:

Profit!

Actually, that's all. We wrote a simple component that allows you to manage nested/parent animations and is quite flexible. You may also need a method like ResumeByName(string) that would unpause a specific animation, and not the first parent one.

In addition, everything is done within the unit UI and is quite transparent for any animator. After an hour of getting this tool in his hands, our artist was already fully animated.

About Unity bugs and madness.

However, not everything is so smooth. At some point, after creating the animation, we saw that it was not behaving correctly.

We had a parent (main) animation, which showed one object (hiding all the others), paused, at which time this object began to play its own (nested) animation, which unpaused the parent upon completion. Next - the next object was shown, etc.

So, we noticed that frames sometimes skip.

We debugged it for a long, long time, wrote a lot in the log... and this is what we found out:

Apparently, there is some kind of stack of animation frames/events in Unity. And when the computer (unity editor) slows down, it can put two frames on this stack at once in order to execute both of them in the next iteration.

This entails an almost completely irreparable failure. We caught a situation when the animator performed all the actions with the frame and paused (that’s ok), and then in the same frame I also performed the next frame. That is, in one frame I calculated two frames of animation at once. And the fact that in the 1st frame there was an event that set the animation speed to 0, did not prevent him from calculating the next frame, which, apparently, was already on the stack.

And if in an animation with a rabbit no one would notice this (the rabbit would crawl out a pixel in the wrong place), then when you hide and show something every frame, there may be a failure.

At this point, the problem appears to be unfixable. How did we cope? We set the FPS of such animations to 20. Apparently, at such an FPS, the case when the unit wants to calculate two frames in one iteration does not happen.

But still, the situation is not very good. It turns out that if there are some freezes on the computer (or very slow ones), the player will still be able to catch the animation glitch.

What to do about this is not clear.

01/03/17 6.3K

Animation techniques are constantly evolving, and game developers and film studios are constantly looking for talented and creative individuals who can apply these techniques.


Here are the main types of animation that can be used to create digital characters for television shows, commercial applications, company logos, movies, videos or games.
  • Traditional animation.
  • 2D vector animation.
  • 3D computer animation.
  • Motion graphics.
  • Stop motion.

Traditional animation

Have you ever seen images that appear as frames in quick succession, drawn on transparent sheets of paper with colored markers? This type of computer animation is called traditional. It is used for preliminary character sketches.

This process can be quite expensive and time-consuming, as animators have to create a series of different frames based on the 24 frames per second frame rate. This method is used mainly on PCs, as well as tablets using special computer programs, allowing you to create animation in the style of old Disney cartoons.

2D vector animation

The most commonly used animation style. Its frames are created on a relatively flat surface. In addition, vector animation has adopted some traditional animation techniques. In reality, it is the same as traditional animation, except that a process known as shading and shading is applied to the frames.

During this process, animators place thin, transparent sheets of celluloid onto paper on which animated characters are drawn, and then transfer them onto film. At the end there are stills from different characters overlap each other, and due to the high transparency of the film, this allows you to create a composition from various elements and characters.

3D computer animation

3D animation is completely different from other types of animation in computer graphics. Although they use the same principles of composition and movement, the technical methods used to solve the various problems differ significantly. In 3D animation, the animator does not need to be a graphic artist. It's more like playing with dolls than drawing.

These are also called computer-generated images ( CGI). They occur when computer animators create a stream of images that are brought together to form an animation. Combining dynamic and static images is done using computer graphics. Characters created in 3D are digitally displayed on screen and then combined with the wireframe, allowing each model to be animated differently.

Animation is created by creating models in individual keyframes, and then the computer multiplies them, interpreting the animation by adding intermediate frames between keyframes.

In addition, a lot of time is spent working with curves representing different parts of the object at different periods of time. In 3D animation, all characters must be taken into account, even those that are certain moment time are blocked by something and are not visible.

The main difference between these types of animation is that in traditional and 2D animation the artist works on individual frames, while in 3D animation there is always a continuous flow. If it stops, it is perceived as an error. Even when the character remains in place, there is always a continuous flow of frames that creates the illusion of reality.

Motion graphics

Have you ever wondered how promotional videos, animated logos, movie opening credits, and app advertisements are created? This is done using moving graphic texts and elements, or as I call it, motion graphics.

This is a process that uses "multiplication" of animated frames to create smooth movement between frames. Frame multiplication programs support scripts that automatically change the animation to create numerous effects.

3D compositions are created from flat elements moving relative to each other, which creates the illusion of volume. They may also be accompanied by sound effects or music. Such objects are often used in multimedia projects.

Stop motion

Stop motion is a type of computer animation that is more similar to traditional animation. All you have to do is take a photo of the object, and when you move the object relatively short distance, you take another photo. This procedure is repeated repeatedly, and when the images are played one after another, the impression of movement is created.

Share: