I have a PNG sequence of an animated 2D character waving. I'd like to put it in my blender scene like a cardboard cut out (so the scene treats it as a 3D object with a very small amount of depth). Basically it would be like if you had a cardboard cutout that can move around and the shape of the cutout coincides with the character's body movement (basically the shape of the "cardboard cutout" would exclude the alpha of the current PNG on each frame). This means the shape of the 3D object would change every frame and match the shape of the 2D character. Is there a way to do this that wouldn't be a huge headache? Let me know if there are any clarifications you need to form a better picture of what I'm going for here. Thanks in advance!
When using the "Import Image as planes" function (Shift A in the 3D Window), there are options for using alpha, animating an image sequence and use an emitter or shadeless shader.
The 3D shape is not affected, but the result is a cardboard cutout.
The images of the sequence have to be named with the same base name and a progressive number (Object_001, Object_002, .......).
In the shader editor you will use the image texture node to set the duration and the time offset of the animation.
If combined with grease pencil objects the material has to be set as "Alpha clip" in order to work in Eevee, to avoid uncorrect Z depth.
If you need your cutout to have thickness, and you don't have too many frames, you could probably do it manually in the following way:
- Load each png into inkscape
- use the fill tool on the transparent area, this will give you the contour as vector line
- remove anything but the contour of the image
- save as svg
- load svg into blender as curve
- convert to mesh
- animate the visibility of each frame, so that it is shown in the appropriate moment only
Steps 5 to 8 could probably be automated with python rather easily