This example demonstrates how to create 2D frame animations in the Galacean editor. Through simple steps, you will learn how to create an animation clip for frame animation. If this is your first time using the animation editor, it is recommended to read the previous documents:
Before starting, we need to have the sequence frame images required for creating frame animations. Both sprite sheets and single-frame images can be used. This example uses a sprite sheet. If you don't have one, you can download the sprite sheet here.
There are three ways to import textures:
Upload -> Texture2DTexture2DFor a detailed introduction to Sprite, please refer to the Sprite document.
There are three ways to create a Sprite:
Create -> Sprite+ and select SpriteUpload -> Sprite, and then choose your single-frame image. This method will automatically create a Sprite asset and bind the image as its texture while importing the texture.Create three Sprite assets, each corresponding to one frame in the sprite sheet.
If you are using a sprite sheet, you need to configure the appropriate Region based on the number of frames. If you are using single-frame images, simply bind the texture as described in the first step.
Sprite asset, click the Texture property, and select the corresponding texture.Region based on the number of frames. This example has three frames and only one row, so the Region for each frame has a W of 1/3 (the texture width is also changed to 1/3 of the original) and an H of 1.Region for the other two Sprites. The difference from the first Sprite is that their Region X values are different, set to 0, 1/3, and 2/3, respectively.Sprite1:
Sprite2:
After binding the textures, the Sprite assets will display the corresponding images as shown:
After preparing the Sprites, we need to create an AnimationClip (for an introduction to AnimationClip, please refer to the AnimationClip document). There are two ways to create an AnimationClip:
Create -> Animation Clip+ and select Animation ClipAnimationClip assetentity. According to the prompt, we need to select an entity in the Hierarchy Panel as the target for editing the animation.Select the default entity created by the editor (you can also click the + button in the hierarchy panel to create a new one)
Create button in the AnimationClip editor. The editor will prepare some work for you. In this example, you can ignore the understanding of these concepts for now.The preparation work includes:
Animator component (detailed introduction) for the selected entity and creating an AnimatorController (detailed introduction) asset.AnimatorController will contain an AnimatorState , and the AnimatorState will automatically bind the selected AnimationClip and connect to the entry node (for a detailed introduction to the entry node, please refer to the AnimatorStateMachine document).Animator component will automatically bind the AnimatorController.After creation, you will open the AnimationClip editor as shown below:
MeshRenderer component (if you created it yourself, ignore this step). Add a SpriteRenderer component to the selected entity.Sprite assets we just created to the Sprite property of the SpriteRenderer component as the default Sprite.entity and switch to the 2D viewAnimationClip editor0:00, then switch the Sprite property of the SpriteRenderer component to the first frame's Sprite asset. Since our first frame is the same as the default Sprite of the SpriteRenderer component, we still select this Sprite. In recording mode, the editor will automatically add the corresponding property and keyframe.0:20 and 0:40, switch the Sprite property of the SpriteRenderer component to the second and third frame's Sprite assets, respectively. At 1:00, switch back to the first frame's Sprite asset. The first and last keyframes are the same, so the animation will not jitter when looping. Click the play button to preview this AnimationClip.This completes the creation of the frame animation AnimationClip. For more operations on the animation editor, please refer to the AnimationClip document.
To learn how to use this AnimationClip in your project, refer to the two documents listed at the top of the article.