Cell Shading and problems I have seen.

Started by
4 comments, last by Taulin 20 years, 3 months ago
Just recently I got to see DBZ:Budakai 2 in action over at Fry''s. Like many other 3D games, it uses cell shading, and something popped out at me that I think might be a problem in other cell shading games. The problem is in the thickness of the black outline that gets drawn on border polygons. In this particular game, the thickness stayed the same, so models that are far away looked as though their black lines were heavy and thick, overshadowing the rest of the model. Meanwhile, the model''s graphics looked perfect close up. To make it look correct, this line thickness will need to become thinner in relationship to the distance between the model and the camera. I have read many articles on cell shading, but I can''t recall this issue ever being brought up before. Has anyone noticed this facet in other cell shading games? Perhaps it is only an issue in this particular game due to the models and such. interNEKO
Advertisement
I''ve noticed it in some cel shaded games, but not in others. It''s not a problem inherent in the concept of cel shading, but an issue in the implementations.
Perhaps they are using too think of a line in the first place to make the characters look correct up close. At that point, I would agree the fault is in their implimentation.

However, I would think with any model of semi or more complexity, this issue would arise as it gets farther away from the camera if the line has 2 pixels or more in thickness. Unless there is LOD being used, the same number of edges would still be seen, causing the model to increasingly look blacker (assuming black is the line color)


interNEKO
It may not be a fault. If they are trying to imitate hand-drawn cartoons, I can imagine that sort of thing coming up. If you draw your all your characters with a solid border with the same pencil (assuming the it stays sharp), wouldn''t all characters at all distances have the same width outline?
The resolution of printed comics are better than a TV (dpi), so it is important to compensate. In a drawn comic, you would start elimating secondary lines on small characters, which is why I brought up the LOD aspect. However, even with LOD, you will not be able to achieve the suggestive nature of only a few lines drawn. Taking all these notes into context, you are only really left with the option of making edge lines in cell shading smaller.


interNEKO
There are two common ways to do the edges for cel shading: lines or polys.

The easiest is simply to draw the backfacing polys as thick black lines, after the model is already drawn and using built-in line width. Because the line width is usually in screenspace (and specified in pixels) you get the effect you describe - distance makes no difference to the width on screen.

Unfortunatly you get problems with the edges of lines not joining correctly at sharp angles (and large line widths) and lines tend to pop in and out as they go from front facing to back facing.

Every commercial game I''ve seen uses the method of extending backfaces outwards along their normals, then drawing solid black/outline colour. This solves the poping and gives you control of their thickness in world units.

It might be interesting to have the artist tag edges on a scale from 0 to 1 as being more or less important, then using a 1d texture with alpha values to fade these less important edges out at a distance. You may even be able to make it an automatic process by just using the length of an edge.

This topic is closed to new replies.

Advertisement