Tuesday, October 30

World Famous Starship Captain

I decided to create an animation of Snoopy as Captain Kirk combined with the sound of warp drive acceleration. I used this picture as a base.
Image result for world famous starship captain

I removed Woodstock from it and darkened the background.

The next step was to cut Snoopy and the doghouse out of the background and fill in the background.
 




Next, I used MS Paint to skew Snoopy to about 20 degrees. The sound file was 30 seconds long, and at 24 frames per second made for 720 total frames. Dividing that out came to about a degree every 20 frames.























Each of these were combined with the background. Then I used a Java program to fill in the gaps.

/**
 * @author Tim Madden
 *
 */

import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.StandardCopyOption;

public class CopyFile {

public static void main(String[] args) {
int[] skew = {0, 1, 32, 64, 96, 128, 160, 192, 224, 256, 288, 320, 352, 384, 416, 448, 480, 512, 544, 576, 608,
640, 672, 704, 720, 721 };
// String src = "D:/Shared/My Pictures/1 Blender Models/Snoopy/Sequence";
File source;
File dest;
String destString, sourceString;

try {
for (int x = 1; x < skew.length; x++) {
sourceString = String.format("D:/Shared/My Pictures/1 Blender Models/Snoopy/Sequence/%04d.png", skew[x]);
System.out.println(sourceString);
source = new File(sourceString);
for (int i = skew[x]; i < skew[x + 1]; i++) {
destString = String.format("D:/Shared/My Pictures/1 Blender Models/Snoopy/Output/%04d.png", i);
System.out.println("\t" + destString);
dest = new File(destString);
Files.copy(source.toPath(), dest.toPath(), StandardCopyOption.REPLACE_EXISTING);
}
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

/*
* try { for (int i = 1; i < 281; i++) { destString =
* String.format("/Users/tjmad/OneDrive/Pictures/Cloak/Image Sequence/%04d.png",
* i); dest = new File(destString); Files.copy(source.toPath(), dest.toPath(),
* StandardCopyOption.REPLACE_EXISTING); } } catch (IOException e) { // TODO
* Auto-generated catch block e.printStackTrace(); }
*/
}

}

I then thought it would be good to have a title card. 
Blender was used to put the sequences together with the sound file.

And the end result:


No comments: