Author Topic: show your stuff... get in closer  (Read 1216 times)

Offline Krusty

  • Radioactive Member
  • *******
  • Posts: 26745
show your stuff... get in closer
« Reply #15 on: March 29, 2006, 04:09:11 PM »
A note on bright:

For me, it works better than Photoshop 60% of the time. However, 40% of the time PS's image>mode>indexed>dithered/bestquality256colors looks a heckuva lot better. The only way to tell is to do both then compare both, and choose the one you like better.

It is definitely a handy tool, though!

Offline Bullethead

  • Silver Member
  • ****
  • Posts: 1018
      • http://people.delphiforums.com/jtweller
show your stuff... get in closer
« Reply #16 on: March 29, 2006, 08:16:19 PM »
Citabria said:
Quote
hmm  that came across pretty harsh sorry.


It did, but it slid off my back, because I was expecting to ruffly somebody's feathers.  I mean, we all work very hard to achieve a look we think most accurately portrays airplanes as we think they really are.  Thus, staking out a position contrary somebody else's hard work and painstaking attention to detail is bound to stir some resentment.  I tried to apologize for that in advance, but I'm not good with such things, so am rather surprised not to have been blasted harder.  Anyway, don't sweat it. :).

Quote
I do agree with a few things bullethead says but I say across the board if you look you can see below the surface of any aircraft and get clues to what lies beneath.


I agree, but with the same caveat you mentioned in your "harsh" post:  low-angle lighting is required.  This is because the imperfections in the basically smooth surface are so slight as to only really show up when the low angle of the light creates the maximum possible shadow contrast between high and low points.  Otherwise, you can't really see these features.  If the light's perpendicular, everything's washed out in the glare.  If the light's at a medium angle, everything looks uniform.

So how do you make this work on a skin?  IMHO, you can't do it in such a way that it always looks right.  Forget about the limits of 1024 pixels for the moment, just assume you can make these imperfections the right size, and think about dynamic lighting effects (or, rather, the lack thereof).  The game engine can't make these shading effects itself, because the surfaces of the 3D shapes are flat except where large polygon bumps appear.  And even if the 3D model incorporated these miniscule surface imperfections, it still wouldn't help because objects in the AH engine do not cast shadows on themselves or other objects, only on the ground.  For instance, the stabilizer never leaves a shadow on the fuselage side when the sun's overhead.  All that happens is more or less sheen/glare on the whole side of the plane, depending on the angle to the AH sun, but no shadows.  Thus, no surface imperfection present in the 3D model will get a realistic shading effect in the game from the game engine.

Therefore, surface shading effects have to be drawn into the skin.  The problem with this, though, is that it necessarily imposes a fixed angle of light on the skin, because the pixels don't change value as the airplane moves relative to the AH sun.  If you carefully stage a screenshot so the angle of in-game light matches the angle of presumed on-skin light, then the shading effects look good.  But from all other directions, they look wrong, because shadows drawn into the skin itself don't match the angle of the light from the AH sun.  And the more visible you make the shading on the skin, the more wrong it looks when the light hits from an angle different from that built into the skin.

This is another reason (besides the scale problem) that I don't do much in the way of shading.  My goal is to make the skin look good to folks outside the plane, either flying in formation or furballing.  I cannot control the angle of the AH sun to the skin, and in a furball, of course, the sun will be hitting the skin from every possible angle.  When I see skins with a built-in light angle flying at a different angle to the AH sun, it just looks wrong.  OTOH, not having such built-in light angles looks decent from all aspects.  But again, that's my opinion.

And YES, I do use Bright.  It does a WAY better job than PSP in going from 24-bit to 256 colors, regardless of the method chosen in PSP.
« Last Edit: March 29, 2006, 08:19:40 PM by Bullethead »

Offline Waffle

  • HTC Staff Member
  • Administrator
  • *****
  • Posts: 4849
      • HiTech Creations Inc. Aces High
show your stuff... get in closer
« Reply #17 on: March 29, 2006, 09:22:19 PM »
It's a game - draw "cartooney" if that makes any sense. If there was a way to put a plane which looked liked it was a real plane no matter which way you looked at it on a pc screen lighting wise / texture wise, bump mapping, ect... - it would look so out of whack with it's surroundings....

Draw to fit the world the object is going to be residing in.  

my 2 cents.

Offline Bullethead

  • Silver Member
  • ****
  • Posts: 1018
      • http://people.delphiforums.com/jtweller
show your stuff... get in closer
« Reply #18 on: March 29, 2006, 11:59:54 PM »
MachNix said:
Quote
Okay, I'll put up an image so you guys can "discuss" the topic.


Thanks for giving us a benchmark :).

Quote
This is an image of the P47D-25 model using 1024 texture size with a screen resolution of 1280x960 and cropped.  Using the 1024 texture size, the top of the wing has a pixel density of 2.0355 pixels per square inch.  So one pixel is about 1/2 square inch – one mighty big rivet.  A seam or panel line 1 pixel wide would represent a gap of half an inch.


That's just the beginning of the scale problem.  Your single 1/2" pixel as drawn in the graphics editor gets inflated into multiple pixels as seen in the game.  The closer that spot on the skin is to your POV, and the higher your screen resolution, the more in-game pixels per skin pixel you get.  The further from your POV, the fewer in-game pixels per skin pixel.  That's how the engine makes 1-pixel dots on the wingtip look smaller than 1-pixel dots at the wing root.

The problem is, this doesn't mirror real life.  IRL, the closer your POV is to an object, the more small features of that object you can see.  For instance, at a distance of a couple feet, a flush rivet on a bare metal skin looks like a dot of a slightly different color (due to being a tiny flat spot on a curved surface, and thus catching the light differently).  However, up close, you see it as a tiny, hair-fine black circle surrounding a spot that's essentially the same color as the surrounding skin.

Unfortunately, we can't replicate this effect.  The smallest feature we can make on a skin is a 1-pixel dot, which at 1024 is several times too big already for the rivet it represents.  And as our in-game POV gets closer to the dot, all we see is a bigger and bigger dot, because that dot is all the engine has to work with.  

Furthermore, when looking out over the wing of a real bare metal plane, the rivets at different distances (but all still far enough away to be dots, not circles) are different colors, because each row of them is catching the light at a different angle relative to our POV.  Trying to duplicate this to satisfy the plane's pilot only works when the AH sun's angle matches the angle you built into the pixels, and it will always look bad to anybody outside, because the angle will never match for them.

Quote
By the time you add some dirt or corrosion around the rivet and panel line, you might be getting close to the 1/2-inch size but that is still pretty big.


Don't you mean several inches in size?  Each pixel adds 1/2" to the width of the feature.  OK, so you've used a color say 1/2way between the main dot and 255/255/255, so say it only adds 1/4" to the over-all width as perceived through the miracle of anti-aliasing.  But putting an extra shading pixel on each side still doubles the effective size of the dot, so now you've got a 1" wide spot, or more if you use more shading pixels.   This is how you turn tiny rivets into lug nuts, and subtle skin imperfections into hail damage.

This is all apart from the issue of whether there should be any grime around a flush rivet at all.  What's there to collect the grime?  Now, around a domehead rivet, or a Dzus fasterner, where there's an edge or a gap for stuff to build up on or in, that's a different story.  But on a regular flush skin rivet, it's not likely at all unless it was put in very badly or has worked very loose.  You'll sometimes see some of those on hard-worked planes, but only a small percentage of the total, because if the flush rivet is loose enough to collect grime, it's not doing its job of holding parts together.  If every rivet looked like that, the plane would fall apart.

===============

Had to go to a house fire at this point and was gone several hours (yup, quit trucking and went back to fighting fires).  So please forgive any lost trains of thought...

=================

Quote
There are only 256 colors to work with.


That's a very good point, and is a contributing factor to the scaling problem.  What looks good at 24-bit can become quite ugly at 256.

Offline Citabria

  • Platinum Member
  • ******
  • Posts: 5149
show your stuff... get in closer
« Reply #19 on: April 01, 2006, 02:49:50 PM »
a 100% opacity rivet on that wing is 1/2 inch wide. post a pic of the wing with 100% black panel lines and rivets and look at the size compared to rivets and lines with opacity. opacity and fill make 1 pixel smaller than it is.
Fester was my in game name until September 2013