[Blender] Rendering pixel-perfect Doom-ey characters

Handy guides on how to do things, written by users for users.
Forum rules
Please don't start threads here asking for help. This forum is not for requesting guides, only for posting them. If you need help, the Editing forum is for you.

[Blender] Rendering pixel-perfect Doom-ey characters

Postby Nash » Thu Jan 12, 2017 2:34 am

Have you tried rendering 3D characters into Doom-sized sprites and always end up with grainy, fragmented and pixelated (in a bad way) results?

That is because realistically-proportioned models do not translate very well into a low res space. What you need to do is re-model your character/monster to have a very distorted, squat-like proportion.

The easiest way to do this in Blender is to pick your favourite Doom sprite, then add it to your 3D viewport as a bacgrkound image:

1) Press N, a new side panel to the right of the screen should appear
2) Scroll down the side panel until you see "Background Images". It is usually unchecked and is collapsed. Click it to expand
3) Click Add Image, and then Open. Choose your Doom sprite.
4) Position it in the canvas to match your model
5) Start remodeling!

You'll want to do both a front and side view to make sure your modeling is accurate in 3 dimensions.

Here's an example of what I did, and what the resulting renders can look like. Your model will look stupid in high resolution 3D, but when rendered into 50 - 60 pixels, it will look awesome. Pretty neat, eh?!

(Click for larger version)

Image
User avatar
Nash
Nash Muhandes [Audio Engineer | Game Designer | Scripting]
 
Joined: 27 Oct 2003
Location: Kuala Lumpur, Malaysia

Re: [Blender] Rendering pixel-perfect Doom-ey characters

Postby Koto » Thu Jan 12, 2017 1:03 pm

This is beautiful. How do you manage the brightness in Blender? and about the pixel perfect rendering, It would be good to have a tutorial.
User avatar
Koto
Usted no aprende. ¿verdad?
 
Joined: 09 Aug 2013
Location: Pinochestein occupied territory (Chile)
Discord: KotoDerToten#6085

Re: [Blender] Rendering pixel-perfect Doom-ey characters

Postby Nash » Thu Jan 12, 2017 1:07 pm

The lighting entirely depends on your aesthetic direction... I just used a Sun lamp, and a Hemi lamp. You'll just have to play around with the angles and the placement of your lights until your renders come out how you want them to be.

Also In the above screenshot, the body texture is actually 100% handpainted, there's not much lighting or material trickery going on there as even the model is pretty shitty and lowpoly...
User avatar
Nash
Nash Muhandes [Audio Engineer | Game Designer | Scripting]
 
Joined: 27 Oct 2003
Location: Kuala Lumpur, Malaysia

Re: [Blender] Rendering pixel-perfect Doom-ey characters

Postby Caligari87 » Thu Jan 12, 2017 1:08 pm

I'm interested how such a character would look, finished and rendered out at sprite resolution. Can you achieve actually doom-like results without additional tweaking/hand-drawing?

EDIT: Oh wait, you already included it. Cool!

8-)
User avatar
Caligari87
I'm just here for the community
 
Joined: 26 Feb 2004
Location: Salt Lake City, Utah, USA
Discord: Caligari87#3089

Re: [Blender] Rendering pixel-perfect Doom-ey characters

Postby Nash » Thu Jan 12, 2017 1:11 pm

Cali: That little section at the top-right of the image - the one with the black background, Macil, and that humanoid looking thing with 3 frames - is rendered out of Blender. Those 3 frames were pushed directly out from the render, that's how it ends up looking like... no post editing. :D

The MODEL in the image, the block grey dude, is just a temporary model, however the actual model I used to push out that render has a similar dwarf/squashed/thicc proportion
User avatar
Nash
Nash Muhandes [Audio Engineer | Game Designer | Scripting]
 
Joined: 27 Oct 2003
Location: Kuala Lumpur, Malaysia

Re: [Blender] Rendering pixel-perfect Doom-ey characters

Postby cce » Sun Jan 15, 2017 11:48 am

Looking good! I just wonder if part of the stumpy look is because of the non-square pixels used in the vanilla version on DOS? Of course this doesn't invalidate your observations at all, I was just thinking that the final presentation in the game should be a bit less comical.
cce
 
Joined: 11 Dec 2012

Re: [Blender] Rendering pixel-perfect Doom-ey characters

Postby Nash » Wed Jan 18, 2017 12:15 pm

The only way to render frames in realistic proportions is to render them at much higher resolutions (like > 100 pixels tall) and then scale them down via the actor's Scale properties.

IF you want to push out frames in the native Doomguy resolution, there's just not enough pixels unless you make the characters stumpy and wide... if your characters are realistic, the result renders would be too tiny and you'll just lose a lot of pixels in the 50-60 tall canvas.
User avatar
Nash
Nash Muhandes [Audio Engineer | Game Designer | Scripting]
 
Joined: 27 Oct 2003
Location: Kuala Lumpur, Malaysia

Re: [Blender] Rendering pixel-perfect Doom-ey characters

Postby pwnsevelt » Wed Feb 15, 2017 10:35 am

Is it hard to create that "doomey" blender model? Any chance you could upload that somewhere?

This is an awesome process!
pwnsevelt
 
Joined: 17 Nov 2013

Re: [Blender] Rendering pixel-perfect Doom-ey characters

Postby leileilol » Sat Feb 25, 2017 8:30 pm

If you handle materials in a non-gameartist every-color-is-a-different-material 90s CGI artisty way you could probably get away with using a color ramp on the 'result' of each material with carefully picked color values to absolutely strictly use a gradient.


Remember that doom models were once clay so you could probably get away with sculpting chunks and pivoting them, maybe also using the suggestion above for quick palettization :)

A specific anti-aliasing algorithm is necessary too. blender's default is way too blurry and I forgot which was the best for sprites
User avatar
leileilol
ダークエルフ!!!!!!!!!!
 
Joined: 30 May 2004
Location: japanimation web ring's

Re: [Blender] Rendering pixel-perfect Doom-ey characters

Postby Nash » Sat Feb 25, 2017 10:27 pm

leileilol wrote:A specific anti-aliasing algorithm is necessary too. blender's default is way too blurry and I forgot which was the best for sprites


Re: AA

I don't know, I find better results just turning off the render AA, and for the textures, turn off mip map and interpolation, and set the Feline at 0.10 size. Seems to work for me (especially getting rid of UV seams which magically appear during renders)
User avatar
Nash
Nash Muhandes [Audio Engineer | Game Designer | Scripting]
 
Joined: 27 Oct 2003
Location: Kuala Lumpur, Malaysia


Return to Tutorials

Who is online

Users browsing this forum: No registered users and 1 guest