Nice work :)
Thanks.
What script did you use to do this?
What script do you mean?
I import, resize and pose the models manually. I'll post the *.blend files with cameras and lights.
UPDATE: 9 frames in total, keyframes for skeleton rotations in 0, 4 and 8.
Then I generate animation as 72 frames in truecolour PNG with transparent background.
UPDATE: If it looks too bleak, I modify the main texture in Gimp. Usually just increase colour saturation or apply levels.
Then I load frame 0004-3.png to Gimp and make 3 death frames d1.png, d2.png, d3.png and a corpse corpse.png. Just draw the blood, then cut and paste. And maybe rotate the pasted layer.
Then I merge the frames to a single sheet with ImageMagick montage:
montage -geometry '32x40+0+0' -tile '16x5' -background none 0004-* `for cam in {0..7} ; do echo 000{{0..3},{5..8}}-$cam.png; done` d* result-tc.png
Then I convert result-tc.png to 256-colour in Gimp. UPDATE: This may involve another saturation increase.
To create spinning and walking animation from 72 frames I also use montage and a separate program gifsicle:
for camera in {0..7}; do montage -geometry '32x40+0+0' -tile '9x1' -background '#00ff00' 000*-$camera.png spinning-frame-$camera.gif; done ; gifsicle -d 50 spinning-frame-*.gif --loopcount=forever > spinning.gif
for frame in {0..8}; do montage -geometry '32x40+0+0' -tile '8x1' -background '#00ff00' 000$frame-*.png walking-frame-$frame.gif; done ; gifsicle -d 15 walking-frame-{0,1,2,3,4,5,6,7,8,7,6,5,4,3,2,1}.gif --loopcount=forever > walking.gif
Those are Linux bash scripts. I'm not sure if they'd work in Windows PowerShell. If they don't, you can set numbers manually instead of cycles and wildcards:
Sheet:
montage -geometry "32x40+0+0" -tile "16x5" -background none 0004-0.png 0004-1.png 0004-2.png 0004-3.png 0004-4.png 0004-5.png 0004-6.png 0004-7.png 0000-0.png 0000-1.png 0000-2.png 0000-3.png 0000-4.png 0000-5.png 0000-6.png 0000-7.png 0001-0.png 0001-1.png 0001-2.png 0001-3.png 0001-4.png 0001-5.png 0001-6.png 0001-7.png 0002-0.png 0002-1.png 0002-2.png 0002-3.png 0002-4.png 0002-5.png 0002-6.png 0002-7.png 0003-0.png 0003-1.png 0003-2.png 0003-3.png 0003-4.png 0003-5.png 0003-6.png 0003-7.png 0005-0.png 0005-1.png 0005-2.png 0005-3.png 0005-4.png 0005-5.png 0005-6.png 0005-7.png 0006-0.png 0006-1.png 0006-2.png 0006-3.png 0006-4.png 0006-5.png 0006-6.png 0006-7.png 0007-0.png 0007-1.png 0007-2.png 0007-3.png 0007-4.png 0007-5.png 0007-6.png 0007-7.png 0008-0.png 0008-1.png 0008-2.png 0008-3.png 0008-4.png 0008-5.png 0008-6.png 0008-7.png d1.png d2.png d3.png result-tc.png
Spinning:
montage -geometry "32x40+0+0" -tile "9x1" -background "#00ff00" 0000-0.png 0001-0.png 0002-0.png 0003-0.png 0004-0.png 0005-0.png 0006-0.png 0007-0.png 0008-0.png spinning-frame-0.gif
montage -geometry "32x40+0+0" -tile "9x1" -background "#00ff00" 0000-1.png 0001-1.png 0002-1.png 0003-1.png 0004-1.png 0005-1.png 0006-1.png 0007-1.png 0008-1.png spinning-frame-1.gif
montage -geometry "32x40+0+0" -tile "9x1" -background "#00ff00" 0000-2.png 0001-2.png 0002-2.png 0003-2.png 0004-2.png 0005-2.png 0006-2.png 0007-2.png 0008-2.png spinning-frame-2.gif
montage -geometry "32x40+0+0" -tile "9x1" -background "#00ff00" 0000-3.png 0001-3.png 0002-3.png 0003-3.png 0004-3.png 0005-3.png 0006-3.png 0007-3.png 0008-3.png spinning-frame-3.gif
montage -geometry "32x40+0+0" -tile "9x1" -background "#00ff00" 0000-4.png 0001-4.png 0002-4.png 0003-4.png 0004-4.png 0005-4.png 0006-4.png 0007-4.png 0008-4.png spinning-frame-4.gif
montage -geometry "32x40+0+0" -tile "9x1" -background "#00ff00" 0000-5.png 0001-5.png 0002-5.png 0003-5.png 0004-5.png 0005-5.png 0006-5.png 0007-5.png 0008-5.png spinning-frame-5.gif
montage -geometry "32x40+0+0" -tile "9x1" -background "#00ff00" 0000-6.png 0001-6.png 0002-6.png 0003-6.png 0004-6.png 0005-6.png 0006-6.png 0007-6.png 0008-6.png spinning-frame-6.gif
montage -geometry "32x40+0+0" -tile "9x1" -background "#00ff00" 0000-7.png 0001-7.png 0002-7.png 0003-7.png 0004-7.png 0005-7.png 0006-7.png 0007-7.png 0008-7.png spinning-frame-7.gif
gifsicle -d 50 spinning-frame-0.gif spinning-frame-1.gif spinning-frame-2.gif spinning-frame-3.gif spinning-frame-4.gif spinning-frame-5.gif spinning-frame-6.gif spinning-frame-7.gif --loopcount=forever > spinning.gif
(Correction: removed wrong line breaks.)
Walking:
montage -geometry "32x40+0+0" -tile "8x1" -background "#00ff00" 0000-0.png 0000-1.png 0000-2.png 0000-3.png 0000-4.png 0000-5.png 0000-6.png 0000-7.png walking-frame-0.gif
montage -geometry "32x40+0+0" -tile "8x1" -background "#00ff00" 0001-0.png 0001-1.png 0001-2.png 0001-3.png 0001-4.png 0001-5.png 0001-6.png 0001-7.png walking-frame-1.gif
montage -geometry "32x40+0+0" -tile "8x1" -background "#00ff00" 0002-0.png 0002-1.png 0002-2.png 0002-3.png 0002-4.png 0002-5.png 0002-6.png 0002-7.png walking-frame-2.gif
montage -geometry "32x40+0+0" -tile "8x1" -background "#00ff00" 0003-0.png 0003-1.png 0003-2.png 0003-3.png 0003-4.png 0003-5.png 0003-6.png 0003-7.png walking-frame-3.gif
montage -geometry "32x40+0+0" -tile "8x1" -background "#00ff00" 0004-0.png 0004-1.png 0004-2.png 0004-3.png 0004-4.png 0004-5.png 0004-6.png 0004-7.png walking-frame-4.gif
montage -geometry "32x40+0+0" -tile "8x1" -background "#00ff00" 0005-0.png 0005-1.png 0005-2.png 0005-3.png 0005-4.png 0005-5.png 0005-6.png 0005-7.png walking-frame-5.gif
montage -geometry "32x40+0+0" -tile "8x1" -background "#00ff00" 0006-0.png 0006-1.png 0006-2.png 0006-3.png 0006-4.png 0006-5.png 0006-6.png 0006-7.png walking-frame-6.gif
montage -geometry "32x40+0+0" -tile "8x1" -background "#00ff00" 0007-0.png 0007-1.png 0007-2.png 0007-3.png 0007-4.png 0007-5.png 0007-6.png 0007-7.png walking-frame-7.gif
montage -geometry "32x40+0+0" -tile "8x1" -background "#00ff00" 0008-0.png 0008-1.png 0008-2.png 0008-3.png 0008-4.png 0008-5.png 0008-6.png 0008-7.png walking-frame-8.gif
gifsicle -d 15 walking-frame-0.gif walking-frame-1.gif walking-frame-2.gif walking-frame-3.gif walking-frame-4.gif walking-frame-5.gif walking-frame-6.gif walking-frame-7.gif walking-frame-8.gif walking-frame-7.gif walking-frame-6.gif walking-frame-5.gif walking-frame-4.gif walking-frame-3.gif walking-frame-2.gif walking-frame-1.gif --loopcount=forever > walking.gif
I'm still trying to figure out proper placement of cameras. "oxc-studio" assumes model height 1 and places cameras very close. This may result in some perspective distorsions like an abnormally thick arm in the salarian-a pictures. "oxc-studio2" assumes model height 1.8 and places cameras very far. I only tried it with Vorcha so far. — UPDATE: The new cameras are still aimed incorrectly. I'll fix them and post a new archive.
UPDATE: Disabled perspective. Looks a bit better. The Blender Python script for setting uniform orthogonal scaling:for c in bpy.data.cameras:
c.type = 'ORTHO'
c.ortho_scale = 1.25
Orthogonal cameras give the same size regardless of the distance.
Both files are large, because they contain some leftover garbage from previous models. I'm still learning Blender and haven't figured out how to remove it :( — EDIT: Leftovers were visible in Outliner in "Blender File" and "Orphaned Data" — mainly images, textures, materials, brushes.
P.S. The new renders use a model widened 1.5 times to give it proportions similar to the original X-COM characters.
Tried rendering images for inventory and Ufopaedia. Models with 1.5-2 times width seem to have proportions similar to the original game.