Excellent animation! As far as clothes ripping I agree it wouldn't happen, BUT what about the now-too-large clothes sliding down/off? our hero looks down at the boxers around his ankles and gets an erection at what he sees.
I do enjoy your work...the thought behind tg has been an elusive dream for me a number of years now. I always come back to this site in hopes of finding something new
Stupendous. Your animation style is amazing. It has a sort of fluidity that I don't see in TG animations. It looks, in a hypothetical universe where the occurrence is plausible, natural, and organic in a sense. I would love to see more. You have a talent for this that uncommon, if not rare. It is, in effect, how I imagine a TG taking place. Also, as a comment on an earlier comment, a cloths transformation really is a waste of time, unless it is some sort of Dimensional bending TG where the rest of the world doesn't even realize what happened and 'Oh Bobbie was always a girl' but those TG's always feel strange to me. It seems like a cop out for the world to suddenly bend around the person rather than the person have a realistically hard landing into a new life. and... egad I ramble.
@Cooper, Thanks! I did the animation and the sound effects were added by Mako. He/she is pretty good at answering questions so you might go to the youtube page and ask.
The precision, attention to detail and passion to create this is phenomenal. I have not even such a piece of tg in years. You have something to be proud of here. Though one question if I may, what is the sound affect for the butt change and growing breasts?
You have such a finesse to your work; and you make me wish I was the male-turned-female every time. Wish I could afford to have my own work done.. Keep it up!!! :-)
I agree with u on the part about clothing rip. It wouldnt fit if u put it an MtF.
As for the clothing transforming during the process i think that sounds lik a great idea! it would add to the shock,fear, and/or amazement factor of the transformation. Maybe even add to the curiousity of the transformed victim.
I use an old Intuos 3 tablet, which is better than a lot of new tablets because of the button cluster. It has several buttons grouped together that can be differentiated by feel along with a scroll strip. The trend with newer tablets is to have a row of buttons down the side which is not as quick or easy to press.
I used Krita this image, and most of the recent images. It is free and open source. It's good for drawing but if I need to do a complex layout with masking, lots of text, or a super smooth gradient, I'll go back to Photoshop CS 9. CS9 is old but it does not require a subscription or internet activation.
For a few of the really smooth vector animations, I used a program that I wrote myself.
Amazing work! Two of my favorite artists getting together is like a dream come true. No pinching though... if this is a dream I want it to last a little longer!
Sheik is already gender-swapped (disguised?) princess Zelda, so now we're swapping her back? Or keeping him male? Is he/she the top or bottom? I'm gonna need a flowchart here.
Thanks! I was looking for something like that so I could improve the timing of sub animations. I have updated the code so now the blinking in panel 3 happens on its own timescale. I also added support for multiple sub animations and opacity changes, which I used to add random blushing to panel 3.
I just wanna say that I love that we're getting daily updates now!! I know that we can't expect this to last forever, but I'm addicted to your content; so, when I get my fix met every day, and not just twice or thrice a week, it's really kool!!
window.requestAnimationFrame() can play more nicely with others (e.g. maybe stopping when the window doesn't have focus, delaying when the CPU is overloaded and maybe other niceties that vary by browser) than setTimeout on modern browsers, at the cost of having to track time yourself.
function init() { ... for( ...) { var frameState = {idx: i, start: null, nextFrame: null} window.requestAnimationFrame(processOverlay.bind(frameState)) } }
function processOverlay(timestamp) { var idx = this.idx; if (!this.start) { this.start = timestamp; this.nextFrame = timestamp }
if (this.nextFrame > timestamp) { // Nothing to do this time. window.requestAnimationFrame(processOverlay.bind(this)); return }