I'm trying to animate a superhero zap into his super suit. I have two separate characters, the identity, and the superhero.

I want the costume of the superhero to crawl up the legs of the identity but I cant figure out a good way to do this in blender.

If you can find anything on the internet that may help me with something like this, please show me because I cannot find anything related to this.

I need it to look a little like Iron Man mixed with Miraculous Ladybug.

Concept art related to what I'm looking for... enter image description here

My Characters I'm Using enter image description here

  • $\begingroup$ I can't read your comment's question Kaylee because the earlier version of the question itself has been removed. I'll submit the answer I'd prepared for that version to at least let you see how simple the procedure was. It can be expanded on as much as desired. $\endgroup$
    – Edgel3D
    Commented Mar 6, 2017 at 0:25
  • $\begingroup$ Thank you so much for helping me succeed in finding an answer to this question. $\endgroup$ Commented Mar 6, 2017 at 23:30
  • $\begingroup$ You're most welcome :) $\endgroup$
    – Edgel3D
    Commented Mar 7, 2017 at 1:51
  • $\begingroup$ FYI, Another way to do it is dynamic paint. It has good and bad aspects depending on the models. (@Edgel3D, FYI too) $\endgroup$
    – lemon
    Commented Mar 8, 2017 at 9:44
  • $\begingroup$ Thanks @Lemon. I've yet to experiment with that. Have noticed people having trouble and have put it on my "Must look into that" list. $\endgroup$
    – Edgel3D
    Commented Mar 9, 2017 at 0:29

4 Answers 4


I imagine something akin to this might be what you're after. Much more in the way the sparkles are formed and travel, plus more mesh building, e.g. to form a pair of large boots from the ground up, could be added to enhance the overall effect.

Combining this with @Wossname's answer would enhance things also.

The main objective of this answer however, that of re-clothing your character from the feet up, is to demonstrate another relatively simple method of achieving this in Blender.

enter image description here

The exercise is performed in Blender's 3D Window, (stage) using a 3D model. You can use the same technique just as well with flat 2D drawings instead. (textured 2D planes)

The model (or drawing) of the character in normal clothing is in layer one. The zap-dressed model/drawing in layer two.

The secret is to have both models/drawings with EXACTLY the same dimensions so no change apart from the clothing would be noticable.

Blender will do this by duplicating layer 1's model, and moving the copy to layer 2.

The duplicate would then be allotted it's own exclusive material slots which would be textured this time with the hero's costume. Additional mesh for the boots & gloves would be added in this layer also.

In the case of 2D drawings, the first drawing plane would be duplicated in layer 2, so you'd need to retexture that with a modified drawing showing our hero with new clothing.

To keep both drawn characters at exactly the same dimensions, both would probably need to be produced in the same application that drew it in the first place.

i.e. Create a second drawing layer by duplicating the first, then repainting the clothing onto the copied drawing.

You would have two drawings, one in each layer.

Export both as separate image files with which to texture the two 2D planes in Blender.

Now for the zap!


Both layers would be included in the final render but layer 2's model or drawing wouldn't be visible initially.

An 'inviso' mask is used to do this in the second layer.

When the mask is slid upwards in the z axis, it would progressively unmask (reveal) the new clothing.

The original drawing would be masked in reverse. i.e. another 'Inviso' mask in layer 1 would rise from the ground up and progressively hide the original drawing or 3D model.

Both masks rise together and at the same speed to -

a) From the feet up, progressively render as invisible, the normally dressed character.

b) From the feet up, progressively reveal the zap dressed character.

Once the first model is hidden it can be instantly disposed of.

Animating limbs during this process is no problem because when duplicating, the copy inherits the original's keyframes. Synchronization is automatic -

Layer one's mask is positioned so it's top edge just overlaps Layer 2's mask lower edge so there would be no gap.

Sparkles (particles) could be added where the two planes meet. This one is parented to the Layer 2's Inviso. As it rises the view alignment changes so keyframed adjustments to the sparkle emitter's Z axis "location" will be necessary to correct this.

Alpha layering the final clip is also handy for making promos/demos. Inviso masks work just as well with this process.

Note how once alpha layered, our char can be sparkling into his uniform whilst placed 'physically' within this jpeg image, using (again) inviso masks, one for the chair, the other for the table to mask the shadow.


Inviso Masks - (Edited - New link 22/March 2019)

For details on how to create these, click here - How to put a mask into 3d space

NOTE: Inviso's will only work when rendering using "OpenGL". (Top left of window under "Render") PLUS everything must be deselected. i.e. Press 'A' before viewing or rendering. Also select "Only Render" in the 3D windows properties panel-->Display. (Press N)


A Blend file for this answer isn't possible in it's present form for reasons of copyright, (The 3D model)

The char has been replaced with a cube etc. To view it properly switch to the CAMERA VIEW. You can download the modified Blend file here -

  • $\begingroup$ The tutorial is really good but I'm finding it difficult to make the inviso mask you were talking about. $\endgroup$ Commented Mar 6, 2017 at 2:42
  • $\begingroup$ @Kaylee, try d/loading the Blend file from the Inviso Mask link. It's all in the settings. When you see that running in your machine you'll have a reference to work with. The mask itself is nothing more than a 2D plane with the settings mentioned. I'll replace the model in this demo with a cube and upload that also. The masks are both setup in that. The 'dummy' was imported from a now defunct commercial program and whilst very basic, copyright may apply. $\endgroup$
    – Edgel3D
    Commented Mar 6, 2017 at 15:41

For one quick and easy way to achieve this effect, take a look at the Build Modifier

The Build Modifier causes the faces of the mesh object to appear or disappear one after the other over time.

Build Modifier


Using dynamic paint, we can obtain this kind of things:

enter image description here

Here rapidly done with two characters (different shapes) from the Manual Bastioni addon.

The principle is to set both character as DP canvas, use some objects as DP brushes and move these objects to progressively cover them.

Then you bake (in DP bake part) to obtain an image sequence which is colored where the objects have moved and alpha for the other parts (it uses the characters UV maps to do it).

From that, you can use the image sequence as input for a mix shader to drive between the characters original shaders and transparency (that's the bad point: characters materials need to be changed).

If the characters overlap too much, there will be z fighting (see here). But there is a workaround: rendering the characters in 2 render layers and use the compositor to mix them again using a "z combine node" (I did not used that in the first gif above and some z conflicts are visible).

Here is the brushes animation:

enter image description here

The shader output: the image below show the one which is transparent first. For the other one, invert the shaders in the mix node.

enter image description here

DP brushes: a simple setting, with "mesh volume+proximity" and lowered "paint distance".

enter image description here

DP canvas: the paint is on an image sequence (the one used in the material node). Assign a directory per character to bake to and use the bake button.

enter image description here

Result of the bake: one image per frame progressively covering the UV map

enter image description here

If you have z conflicts: use two layers to render. The setup for the scene. The render uses two layers and each character has to be in its separated layers:

enter image description here

...so that you can use the layer Z information in the compositor. Here is the principle using two cubes instead of the characters

enter image description here:

  • $\begingroup$ This is really cool but unfortunately this method is not working for me, I've tried it exactly how you put it but the brush still isn't painting the other texture up at all. Is there something I'm not doing right? $\endgroup$ Commented Mar 9, 2017 at 19:42
  • $\begingroup$ Either you have not inverted the mix node in the material, or, one of the meshes is not set as DP canvas. $\endgroup$
    – lemon
    Commented Mar 9, 2017 at 19:46

I have, in testing some of the answers above, discovered an interesting solution as well, inspired by @Edgel3D's answer and blend file, I came up with a setup like this... enter image description here In the image above the characters are set in the exact position on the X axis but the identity is placed behind the camera and then rotated on the Z axis 180 degrees to face the plane. I had to mirror the hair of my identity character to have its waves on the same side as the character's standing behind the plane so they look identical. ([CTRL+M] to mirror to other side.) enter image description here

The plane you see in the figure above is a mirror, and it reflects the characters appearance without the character actually standing in the camera, which makes rendering all that much easier. Although you can see the characters appearance in the mirror you cannot see the new clothed character behind the plane creating the perfect mask that can then be animated to move up, down, ect. enter image description here

In messing with this particular setup I came up with an identical product as @Edgel3D had done.

enter image description here

To make this setup more elaborate you can add particles to it or the Build Modifier as seen in @Wossname's answer to the plane to create some interesting effects.

  • $\begingroup$ That's even better Kaylee! You only need one plane and don't have to worry about transparencies etc. Whatsmore you're not restricted to OpenGL rendering. $\endgroup$
    – Edgel3D
    Commented Mar 7, 2017 at 1:56
  • $\begingroup$ Yes, although it does have some issues when rendering in perspective, rather than orthographic. The main reason it worked for me was because I was aiming towards a frontal view and rendered in orthographic. These are some bugs I hope to work around and make it even better. $\endgroup$ Commented Mar 8, 2017 at 0:39
  • $\begingroup$ I've also been trying your idea but ran into problems on several fronts. But it's the straightforward and simple ideas that are often the most usable in a lot of cases. Keep at it and keep us updated. I've edited my own post somewhat as I try different things. It was your question that got me going, lol $\endgroup$
    – Edgel3D
    Commented Mar 8, 2017 at 0:50

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .