My approach: I work as a dev in roboto nautic drones. I am strict at the dayjob so i "shitcode" my "artware" in my sparetime meaning i usually go through the following cycle:
(Example based on the slitscan teeth and eyes effect from the video)
1. I wake up from a (day/night)-dream with a thought: "how wluld it look if the teeth grew out from a video face while showing their past as a slitscan"
2. I find a sourcevideo since i am lazy (usually on youtube)
3. Load up vscode and startwriting python
4. I write in a state of garbage flow, garbage because the code i write is deliberatley trashy (a vent/dayjob escape), flow because i dont do much editing. Itend to like to overwrite (reclare) functions instead of correcting them leaving a huge pile of trash code
3. I render a few frames, correct my algorithm, render some more and when happy (or falling asleep) i press enter and let it run (with tqdm telling me eta on completion)
4. I way, usually days because i deliberatelydont optimize my code so its slooooooow to render
5. On finnish i look at the result and feel like i got the answer and move on.
In this example though i didnt move on cuz i was doing a friend a favor and had to compile my messy clips into a timeline and give it back to him in form of a music video.
I canrelease my shitty code but i am afraidsomebody might get a seazure looking at it lol
Voidface: replace the face with an empty void using dlib and facial landmarks
Teethscan: slitscan teeth and eyes while extruding the scans from the correct landmarks and morph to correct orientation of video face subject
Deathmetal logo growth: create particles that are afraid of the dark and branches like trees while growing out leaving traces after them thru their lifetime ending up painting deathmetal logos
Facetubes: a source particle roams around inside the face region. A target particle roams around inside a rect. Targetcopies the pixel values on the cirumference of a circle with varying radius of the source particle.
Mouthwall/eyewall: orientate, normalize and crop eyes or mouth of a face, put all of them next to eachother in a gri as a circular buffer.new frame comes in in right bottom corner, old one leaves in upper left corner.
I think that was it