Intersections between 3D backgrounds and camera-facing sprites are often problematic, especially in Top-View games.
The Wake-up option eliminates this problem to some extent, but should be implemented with caution because it does not work well from a near-vertical perspective and other side effects are to be expected.
How to setup
When using material instances based on embedded materials (M_AnimSprite/M_AnimSprite_Toon), check "bWakeSprite" to enable this option.
"WakeRate" determines the strength of its effect.
If you use your original material, just immitate M_AnimSprite.
MF_WakeSprite does the calculation.
Then check "Use Subdivided Mesh" in the details of AnimSpriteRender component.
Technical Explanation
This section describes the actual effect of this option. This may help in analyzing the side effects that would occur.
Wake Sprite option offsets the vertices toward the camera so that the mesh stands vertically.
This requires a subdivided mesh to deter image distortion.
A2S provides a quad mesh subdivided into 8x8 rectangles.
In addition to BaseColor and Normal, customized textures can be captured.
This is a slightly advanced option.
To use the additional textures, you need to develop a customized material (based on M_AnimSprite).
How to setup
Optional Captures (from presets) : ver 1.7 and later
To add optional captures from presets, fill "Optional Captures."
SRM(Specular,Roughness,Metallic), SeparateOutline and Emissive are defined (ver 1.7).
Presets can be edited in ProjectSettings->AnimToSprite but you need to be careful about modifying this.
Custom Captures
This is more advanced usage.
To create customized additional textures(captured with your own post process materials), fill "Custom Captures" with postprocess material and texture name.
Texture name("MyChannel" in this image) needs to reflect the material parameter name.
If your material doesn't have a corresponding (and active) parameter, it is simply ignored.
"Draw Material" expects a post process material to define the final pixel color.
If you use Paper2D workflow, "Paper2DAdditionalTextureIndex" is used instead of the parameter name.
Caution about capturing
First capture may fail due to material not being compiled in time.
Please check the resulting texture (browse button is good for this).
Making your postprocess material for custom captures
As an example, a material for Specular, Roughness and Metallic is provided (PP_SpecularRoughnessMetallic).
Might be a good place to start by duplicating this.
Paper2D support
Additional textures are also setup into Paper2D Sprites.
In this case, texture names in the capture settings are ignored and textures are added in order.
You need to make customized material to use these textures.
As an example, material using Specular, Roughness and Metallic is provided (M_Paper2DLitSRM).
Slot Index
The Slot Index is a hint as to what the texture is used for in the Paper2D sprite (instead of the material parameter name).
You need to set it up properly according to the material. additional texture slots are assigned as follows:
To enter the Paper2D / PaperZD workflow, check "Output Paper2D Assets" on the left bottom of the main Editor Utility Widget(named EUW_AnimSpriteCapture).
Then Paper2D sprites and flipbooks will be generated when the capture is performed.
The capturing procedure can be seen in the video below.
PaperZD is a plugin that makes development of sprite based games significantly convenient.
Sprites and flipbooks made with AnimToSprite works well with it.
By setting multiple "Rotations" in the capture settings, flipbooks for each direction are created. Set them in PaperZD AnimationSequence to define multi-directional animation.
AnimSpriteSet is the data format handled by this plug-in and used to render the sprites. It contains multiple animations and corresponds to a single sprite character.
Use MasterPoseComponent (Leader Pose Component in UE5.1 and later version) to combine the base SkeletalMeshComponent with the parts(they need to share the skeleton).