Envision, Create, Share

Welcome to HBGames, a leading amateur game development forum and Discord server. All are welcome, and amongst our ranks you will find experts in their field from all aspects of video game design and development.

Painted 3D models + 3D -> 2D environments

Here's some stuff I've been doing lately.

Unlit with textures:

CSV0BojUkAAsnvI.png:large

CSI3ZnSU8AA503M.png:large

hPgQrSo.png


In-engine, with outline and cel shader:
E5uJo2i.png

67be38d4c5c30c5d4bf3653626314548.png

d2469994092bd5eb350d094cb03d4cd0.png


I don't think we have any of lady #2... Well, whatever.

And here are some environments:
CNt8F1MVEAARMl5.jpg:large

CNv0jBfU8AAqIgg.png:large

CNx1h5EUAAAaINq.jpg:large

I should do a reflection pass on this one, really...

CN3WpWuVEAE8c5l.jpg:large
 
ZenVirZan":2o4r1p4h said:
They look incredible! The hair on the second character is flawless.
Amazing work - Is this for anything in particular?
Thanks! They're for a couple games we're working on.

Strawfairy":2o4r1p4h said:
I love this!

How did you end up learning how to 3D model?
Lots of trial and error. I've been at it for 2-3 years now, I think. I had some help learning the basics from Sailerius, who took 3D art courses in college, but most of it is self-taught. One thing that's been really useful is studying models ripped from games and seeing how they're put together.

I was doing realistic models for a while, but low-poly stylized things are so much easier. I'd say each model is maybe 2-3 full days (maybe like 12-16 hours each day) of work from start to finish, including rigging. Versus like a month for a high-quality realistic model.
 
It is an option, but it's pretty difficult to learn on your own. 3D art can be extremely technical depending on what you're doing, and the tools are very complicated and arcane. It's a lot harder than 2D art, and I found myself frequently needing to use my programmer skills when I first started learning it, particularly self-directed learning of complicated things, debugging issues, and having a high frustration threshold. But we also started out with a much more complicated workflow making much more complicated things, which was definitely a factor. These kinds of models aren't too bad to do. I can give you pointers if you need them.
 
Perihelion":39u30950 said:
I can give you pointers if you need them.
Thoughts on doing a basic tutorial? I know Strawbs and I would definitely be interested.
Even if it's just a breakdown on your personal workflow, any information is useful.
 
This is exactly the art style I've been working with in my free time.

I'm very impressed as it looks incredibly effective! Makes me more convinced that it's a valid art direction to take.

Well done Peri. I think your work is a wonderful success.

Could you explain your process for the environments for us? Your previous work with painting over the top of models was a massive (massive!) inspiration for my current generation of graphics technology.


Looks like that outline shader is screen-space. Is this correct? I started off with screen-space outlines with my 4th-gen tech but moved over to the classic inverted-normals geometry technique as that scales much-much better.
 
ZenVirZan":1lbn8cku said:
Perihelion":1lbn8cku said:
I can give you pointers if you need them.
Thoughts on doing a basic tutorial? I know Strawbs and I would definitely be interested.
Even if it's just a breakdown on your personal workflow, any information is useful.
Sure. I'm doing another one in a week or two, so I can save WIP screenshots or something. I'm not sure how useful this is going to be for you without knowledge of 3D modeling, because it's hard to avoid technobabble, but in a nutshell, my process for the character models is this:

1. Get the naked base mesh I'm using into 3ds Max.

2. Model the clothes very low-poly, making sure there are no visible gaps in the geometry (so the ends of sleeves, etc. should be walled off with faces instead of gaping). Lot of extruding and fussing with edge loops and things like that. For close-fitting clothes, I usually detach and extrude parts of the body mesh, then move the vertices/edges/whatever around until it's right. For things like a coat with tails, I'll detach the torso, then extrude the edges at the bottom for the coat tails, then insert edge loops.

3. UV map everything. I'm doing about two materials per character right now, but you could put them all on one if you wanted to. I also like to pack my UVs by hand so they're easier to texture, but some pretty good automated packing solutions exist. I've usually been mirroring the UVs of things that are symmetrical unless the symmetry would be obvious and look bad. Notably, the face cannot be mirrored because I'm baking shadows into the diffuse, and the hair is asymmetrical.

4. Make a high-poly mesh with TurboSmooth. You can make edges and vertices crease so they don't get smoothed.

5. Bake normal and ambient occlusion maps with xNormal, which is free and also great. The normal map from the TurboSmoothed mesh is nice because it makes the lighting on the cel shader not look chunky even though the mesh is really low-poly.

6. Open the UV template in Photoshop, color all the islands with the right flat color, then slap the ambient occlusion map on top, set to multiply, and lighten + tint it some nice-looking color (maybe blue or purple). I also like to do a rough first pass of painting in Photoshop, especially for things like hair.

7. Take the model and diffuse into Mari (which is great but also kind of buggy and weird; I want to try Mudbox sometime too) for painting. Texturing without being able to actually paint on the mesh is hard, because you have to guess at things like the placement of cloth folds and highlights. It's also hard to paint on the mesh, though, so what I've been doing is blobbing the shadows or whatever on in the right spot in the 3D view, then switching to the UV view to clean up. You can actually look at both at once in a split screen in Mari, which is great.

8. Take the textures back into Photoshop for any final touchup, color adjustment, etc. needed.

9. Rig the model. This mainly involves skinwrapping it to the naked mesh in Max, fixing skinwrap problems on things like collars and hair, then adding bones for things like skirts and coattails. I'm still not great at rigging but can do basic things. I need to figure out how to use the rigging tools better and blend skin weights between bones.

So basically, this is great. I'm only using four tools instead of like 7-8, and most of the technical bullshit is gone, so now most of the work is actually making the art. Gone are the days of complicated retopologizing, fussing with five PBR maps to try to make photorealistic materials, spending a couple days trying to get all the details to project correctly from the high-poly mesh, etc.

@Xilef: Thanks! I kind of miss dreaming of making AAA graphics, but honestly, stylized is so much better for an indie. We just don't have the time or resources to compete with AAA studios on graphics, and if you can't meet the bar of the latest big titles, there's no point in doing a photorealistic style because gamers are so used to absurdly high-quality graphics.

Xilef":1lbn8cku said:
Could you explain your process for the environments for us? Your previous work with painting over the top of models was a massive (massive!) inspiration for my current generation of graphics technology.

Looks like that outline shader is screen-space. Is this correct? I started off with screen-space outlines with my 4th-gen tech but moved over to the classic inverted-normals geometry technique as that scales much-much better.
On the environments? Right, it's a screen-space shader. (I'm sure the cel shader on the characters probably uses the inverted normals trick but haven't actually looked at it.) I'm using a 3ds Max plugin called Pencil+, which does lines and cel shading. It's what anime studios use to make their CG look hand-drawn, and it's extremely good for both hard and soft cel shading. Downside is it won't work in real-time, but the outline shader is seriously really sophisticated and impressive. VRay also has an outline shader called VrayToon, but Pencil+'s is much better.

In a nutshell, here's my workflow for environments:

1. Find a SketchUp model on Google's 3D Warehouse that I like as a base. I ain't got time for modeling from scratch.

2. Replace any egregiously shitty furniture with better furniture from archive3d.net and otherwise touch up the environment till it looks good. That site is full of archviz crap, which has weird geometry and will never run in realtime (ditto to SketchUp stuff, which has fucking weird geometry), but since this is prerendered, who cares!

3. Assign Pencil+ materials to everything. You have to assign individual colors to each slot in the color ramp, and because I'm lazy, I set it up to automatically create the darker shades from multiply nodes. Now I just copy my template material and change the base color.

4. Turn on the lines and render. I have the lines and colors in different render passes so I can mask off the lines as needed in Photoshop. Another thing that's cool about Pencil+ is you can get outlines and internal lines in different render passes.

5. Set up a reflection pass and render again if the scene should have reflection. I need to figure out how to do reflections correctly in Pencil+, because my current solution is kind of hacky and weird (I only know how to do reflections at 100% reflectivity lol).

6. Render an ambient occlusion pass in VRay.

7. Take the base colors, lines, and AO into Photoshop and composite them. AO gets lightened and colored.

8. Do a little bit of painting touchup, like adding spec on metal, highlighting the edges of things a little bit, etc. I'm trying to keep the post-processing touchup minimal even if more would look better so that multiple backgrounds can be easily rendered from one scene.

9. Do color adjustments, add BLOOM (it must be realistic), etc.
 
I can see at the bottom of the skirt on the blue-dressed character that it's not using the inverted normals trick and her shoulder has the sampling "freckles" from an optimised screen-space shader (unless this isn't in-engine? Noticed that the background is different to the first in-engine shot).

So does this mean that your environments are not used in real-time? Or are you baking the Pencil+ result into the texture to allow it for real-time rendering?

I can definitely recreate your workflow with a real-time renderer, which is very exciting for me because your results really are fantastic.
 
Both character shots are in-engine. If it's not the inverted normals trick, I dunno how it's done. We got a cel shader from somewhere, and I haven't even touched it personally. I'll take a look at it at some point.

Right, the environments are prerendered. These are for a point-n-click/VN hybrid game we're making, so all the environments are static. I'll be using the same approach for a Myst clone/VN hybrid I'm also working on. The basic approach should be pretty simple to recreate in realtime, though. All you need is a cel shader, outline shader, and SSAO. Painted textures would improve it but is more work.
 
VN/P&C hybrid game is exactly the project I've been working on in my free time :V (although wholly real-time 3D, VR is a big goal for me with this)

Been practising hand-painting textures a lot recently, the extra work seems worth it and my process is getting quite fast now.
 
Yeah, it's definitely worth it if it's feasible imo. Even a little bit of painting can help a lot over flat colors.

Also, that outline shader in-game does use the inverted normals trick. :)
 
I realized that this was actually useless for the purpose I wanted it for (learning Live2D for animated character portraits), so I drew it head-on instead:

d2062be9a9004e6f8b56a05bb8b0c0d5.png

I like this one better anyway even if I spent less time on it. I'll be hiring a real artist to do the final art, but I figured I'd be more motivated to learn Live2D with a real character.
 

Thank you for viewing

HBGames is a leading amateur video game development forum and Discord server open to all ability levels. Feel free to have a nosey around!

Discord

Join our growing and active Discord server to discuss all aspects of game making in a relaxed environment. Join Us

Content

  • Our Games
  • Games in Development
  • Emoji by Twemoji.
    Top