Hi all, I wanna ask a question. I will start by explaining what I would like to accomplish; I would like to use 3d assets for certain objects in a game and have them rendered to look like “pixel art”. It doesn’t have to be perfect, just needs to look good. It should be noted that I also plan on using 2d assets mixed in there as well.
I understand that it’s possible to render 3d objects to 2d assets using a 3d modeling package, however, I am not interested in that approach.
I would like to be able to draw an outline, use a limited color palette, possibly support lights, and be able to support self-shadowing.
My question is: Is this possible? And if so, how?
Maybe a clever use of textures, shaders and post processing? Do you render to texture, downscale, and then force output to fill screen?
I’m really curious if this is possible and what you guys ultimately think. I would like to produce a project like this and am willing to pay for someone to help me achieve this look. I understand that this could a be done using sprites, however, I would at least like to know what this would look like and if its still something I would like to go ahead with. Any input is welcomed. If the post is still a little vague, let me know what you would like me to specify and I will make the proper corrections. Thanks in advance for your input.
We’ve done work here but the problem with this approach is: it basically looks terrible, no matter how you slice it due to crawling artefacts - and it looks different on different GPUs. I would basically just bite the bullet and model them in a chunky manner with point filtered textures instead. This gives you the clarity and control you need.
Otherwise the render texture scale trick just has eyes, details and all sorts hopping all over the place with no control over what you see on end machines. It only gets worse with varying output resolutions as well.
Thanks for your response hippocoder, really appreciated. how do you think I could achieve this look http://www.kennethfejer.com/lowpoly.html. It looks like the textures have been created with “pixel art” in mind. The meshes are definitely low res, but I imagine that you can add a bit more polys to the models and it might still look good. I know its a difficult to get it to work. Could you explain how the point filtering works? What does that achieve? I’m kinda leaning against the edge detection bit, it looks nasty IMO when you are not trying to get a “pixel art” look.
Point filter can be activated from textures’ import settings (filtermode-> point). It basically makes textures look pixelated instead of soft.
That example link you posted doesn’t really use anything special at all. There is no AA and point filtering is used in those gif animations but thats it. It’s just extremely good artwork. The ‘2D-sprite’ look comes from using limited color palette when painting textures. There is no post process effect or any other technical thing that just makes models look like Kenneth’s work.
You might want to take a look at various pixel art forums, learn as much as possible and then use that knowledge when you’re making your 3D art.
I had planned on doing just that, I was just wondering that if there was some techniques that could compliment what that link shows. I wanted to see if there has been any work done to get this look using some trickery.
One thing I want to mention is that it would be hard to maintain a consistent style if I end up contracting work. I was hoping that I could mitigate that by allowing the 3d artist to happily model away as they normally would (maybe with some consideration of the texture work) and then just do some shader/post-processing to get the look. But it sounds like this is going to be really difficult, whether I hand crafted or do it at run time. If there are any more suggestion, I’m still listening.
Edit: On a side note, what about some custom lighting model? Or getting the lighting to be pixelated and then apply it over top of texture, with some blending mode. I’m probably over thinking this, but if I could get something to alleviate the production process, I would seriously pay for what ever that would be. I don’t want to abandon the idea just yet.
My only issue with the toon shading is that it has this shiny behavior to it. I would like it to have a matte finish that is pixelated, if that makes any sense. I understand if this doesn’t make sense, its really hard to describe in words what I’m seeing in my head.
What if you could “pixelate” the toon shading? In other words, what if you could pixelate the lighting information and then apply that lighting to the texture/normal maps? I imagine that it would still not look good. In this scenario you would still have a texture map that has the pixel art look to it.
I couldn’t agree more with this. I think I’ll work towards this goal. But I need to see what could be done before I spend money producing art work. Just want to get an idea of the possibilities.
I’m starting to think that maybe the screen shots I linked are gonna be my best bet. With maybe some custom lightmaps(that get rendered at a desired low res) that you lerp between??? I should point out that the project is a 2D side-scroller using ortho-projection. Thanks for your responses so far.
They are using low-poly meshes, with bright colors and a cell-shader. There are several cartoon shaders on the Asset store (I use Arfanakis’ Carton Shader for Mobile) that will give an outline and do simple cartoon cell shading. I mix 3D and 2D art in my apps all the time.
Actually, he (Kenneth) isn’t using any sort of cell shader in his work. That’s just straight-up texture work and a self-illuminated shader. Most of your excellent low-poly assets (especially the ones over on the low poly thread over at Polycount) do all lighting and shading in the texture itself…and usually by hand.
Yeah, and it looks pretty good. Good catch on the serl-illuminated shader, I (embarrassingly) hadn’t thought of that. That sounds like a no brainer.
So could my suggestion of doing custom lightmaps sound like it could enhance the technique of hand painting the lighting? I imagine it would. Wondering what you guys think.
And how much work do you guys reckon that would be. I’m imagining a scenario where you render out the a light map in a 3d package and then do some custom work in your texturing program of choice. This would work well for static objects, and I think that it would not be that much work.
For dynamic meshes however, I wonder if lerping (I may not be using the right term when I say “lerping” as I am not a shader guru) a custom/hand-painted lightmap can be done in a shader. I thought I read somewhere that it can be done, in fact I’m 99.99 percent sure, just can’t remember where I saw it.
Two very well done examples
“The wolf among us” recent TellTel game
“Vexile” animation movie
There s a fine line between a well done job and a mess. Those are state of the art examples but still the 3D model base is very apparent. The real time shadows “watery effect” is a constant reminder and still “pops” in an uncanny way (nitpicking over 9000)
I remember seeing the Vexile movie and thinking that the lighting was OK. It does the job of making it look a bit like anime tho. The Wolf Among Us is more of a comic style, which still looks good. But that wet look really stands out.
I understand that they are rendering it in max and then doing some touch ups to the texture. I think this would be the way to go as far as creating the assets go. I’m 99% sure that I will be using this technique to create the textures. My only question then is, do I normal map so that I could have some more lighting information? The normal map could possibly work with a custom toon-shader ( I say “custom” because I haven’t seen one that meets my specific needs).
Also, if you look at the image, the edges of the meshes are aliased. I figure that the only way to do that in real-time is to render the frame to a texture and “blow” it up to fit the screen, using point filtering of course. But, I will take hippocoders word in that it probably looks like a mess of pixels.
I am willing to give up on the give up trying to get the geometry to be pixelized (aliased) as I really like the image I posted. I don’t mind if it has good edges on the geometry, as long as the texture has the “pixel art” look. That should be enough for me.
Now, about normal maps. Any suggestions? Do you guys think that it could enhance the asset? I imagine that it might come down to taste, but I still would like to know what you guys think.
The problem with rendering low res and scaling up is that it does need touch ups, and won’t look too reliable (think Quake 1 running on a 320 screen) - it just looks a bit crap once it starts animating.
The best approach is just really low poly modelling and low res textures - a classical approach, with texture filter set to point. At this level, it all just depends on how good an artist you are. Minecraft does this, and takes it to extremes, so essentially you’ll want to start with modelling low poly, and doing a 64x64 texture and seeing how that looks. Worry about normal maps and lighting after. It’s best to just get started on it and work from there.
Think about your goal. Is your goal to simulate ancient hardware or is it to just look chunky and retroish?
I agree with you hippocoder and I think I’ve said as much. (not trying to be a beep). I am a pretty good high-poly modeler and can certainly do low-poly. However, I just don’t have the time to do the proper experimenting that I need to try out some of my theories. Most of my time is spent actually designing/growing the project. I’m currently a one man team (so lonely!!) and there is a lot that needs to be done. I know I can pull this off, I just need some help.
Keep in mind that I have mentioned that I might be contracting 3d modelers to help. I don’t wanna sound like a “insert adjective”, but I was hoping that the community, technical artist, or art director could possibly tell me how to do it or lead me along the right path (which you guys have done as I feel that I have a clearer idea of what is needed). I understand that I haven’t been to descriptive on the look I’m going for, and I apologize for that. I will attempt to describe it bellow.
My goal is to do what a lot designers want when it comes to art; create a unique look (not trying to be condescending). And in that vain I had been toying with the idea of having a game that has a high quality pixel art look and the power of real-time lighting (even tho the game is side-scroller ortho). That would allow you to have dynamic lighting on something that looks like its 2d not to mention the added benefit to rotate and move game objects without having to worry about lighting.
Having said all that however, like I mentioned earlier, I really like the picture I posted because it really resembles objects in my vision (I would exercise some creative direction of course, I don’t just wanna copy it 1:1). Those “objects” are pre-rendered tho, I’m going for real time 3d assets. In other words; I want what the picture has in 3d. Which as you have mentioned hippocoder;
Hopefully I’ve given enough information on the vision that keeps nagging my minds eye.The only question I had left was if you guys thought normal mapping was necessary for my vision (now that there is more info on it, sorry about that).
Edit: I’d also like to point out that I understand that the term “pixel art” is subjective and it may had lead to some confusion as to what I was looking for.
I want to thank you guys for commenting and giving feedback, it has allowed me to crystallize the image in my head a bit at a time :). Thanks.
I was curious if you ever figured out how to get the look you were going for? We’re trying to do more or less the same thing (want to use 3d environments and make them look pixel art-ish) that way we cut down on a ton of time as well as make our 2d game a bit more visually interesting.
Can you not just use an orthographic camera with real 3d models? It will make them flatter/keep the perspective from shifting… will look exactly the same as it would if it were a texture… do you specifically HAVE to have it be on a texture?