FSIC Messageboard
  Tech Talk
  AC3D Shading Question

Post New Topic  Post A Reply
profile | register | preferences | faq | search

UBBFriend: Email This Page to Someone! next newest topic | next oldest topic
Author Topic:   AC3D Shading Question
jgro
Pilot
posted 06-12- 01:51 PM     Click Here to See the Profile for jgro   Click Here to Email jgro     Edit/Delete Message   Reply w/Quote
I pulling my hair out here. I made a wing with the aileron as one model. I spent a lot of time making sure the shading was correct. When I split the aileron away from the wing, the shading gets all screwed up (see pics). Is there a way to fix this?

Before

After

jgro

------------------
Jgro's Aerodrome
www.jgrosaerodrome.50megs.com

IP: Logged

Razer
Pilot
posted 06-12- 02:11 PM     Click Here to See the Profile for Razer   Click Here to Email Razer     Edit/Delete Message   Reply w/Quote
I seem to be the resident export on AC3D shading so i'll tell you this. Once you smooth an object don't optimize or smooth it any more.

You can cut away the part and not have it mess up since when it's connected it's using the shading of the whole wing. When you cut it away it used the shading of just the aileron. You optimize and smooth again and it will mess up.

make sure on wings and tails and stuff you cut the top and bottom parts of the wing away , flip normals in, flip normals out (this cleans the surface) then merge. Don't optimize or smooth anymore after that. You can cut all the parts off needed to export and the sahding will be perfect. (well if all your verties are snaped right in the first place)

This is the main rules to follow when fixing shading in AC3D.

Wings,Tails, any other parts but the fuse
optimize vertices
smooth
cut-away the top of the surface
flip normals in
flip normals back out
hide the cutaway surface
flip normals on bottom of the wing
unhide all

Now you should have a wing with perfect smoothing.

If you optimize vertices and flip normals again it will go back to the messed up shading and you have to start over.

Only optimize and flip normals once during this smooth process.

IP: Logged

jgro
Pilot
posted 06-12- 02:13 PM     Click Here to See the Profile for jgro   Click Here to Email jgro     Edit/Delete Message   Reply w/Quote
Thanks Razer!!!!

jgro

IP: Logged

Razer
Pilot
posted 06-12- 02:14 PM     Click Here to See the Profile for Razer   Click Here to Email Razer     Edit/Delete Message   Reply w/Quote
Oh one more thing, the wing tip doesn't seem to be the same shade as the rest of the wing. Might want to checkand see if all the vertices are snapped on the tip when reoptimize to fix this. If it's all done right the whole wing will be one color.

IP: Logged

Sv
JAG
posted 06-14- 07:24 AM     Click Here to See the Profile for Sv   Click Here to Email Sv     Edit/Delete Message   Reply w/Quote
Also, from what I can tell, some very sharp angles can never be shaded correctly with AC3D... The Morane-Saulnier wings could not be fixed using all the AC3D techniques we know of... it may be smart to not have a perfectly sharp trailing edge (just make it very very thin) - sometimes it seems fine, but other times it just won't shade correctly.

I did the Morane wings over and over again - sometimes it worked better than others - but I never really eliminated the seam in the wings... this was a vey complex shape though - because it was three triangle wedges in order to simulate wing warping - this means that at the center of the tip there is a vertex that is shared by many polygons - I think this is where the problem was. See, you need multiple verts at the same location to get multiple vertex normals... vertex normals determine shading.. so if you share the verts, that vert can ONLY have one vertex normal. Since the Morane wing shares one vert for multipe wing parts that need differnt shading to work correctly (I think) - the trick is to NOT share this vert while shading... but this can get very tricky...

Sharp angles cause problems because the the vertex normal ends up between the two extreems - this will attempt to smooth shade a sharp edge - the result is that the top and bottom of the wing will have too wide of a shading range. The trick here is, once again, to NOT share the trailing edge verts - and "flat shade" the trailing edge.

To create the best models, some polys should be flat shaded (where the object has sharp edges, like the edge of a Dr1a boxy fuselage) and smooth shade only things that should appear rounded in the game - like the curve of the wing.

Or so it seems... it would be real nice to be able to "see" the vertex normals in AC3D... you can investigate them in the LOD file. NOTE: the LOD file does NOT share verts! Rather, it just uses identical values for each vert that is shared INCLUDING vertex normal... this is because SDOE does not share verts... So you can tell shared verts by seeing identical vertex normals. If the vertex coords are identical, but the normal is not - this is not a shared vert in AC3D.

Also, when you import a LOD into AC3D, the vertecies will, of course, not be shared. This is perfectly fine - don't bother to share them (you will destroy the vertex notmals of intended non-shared verts) - but you do need to share those verts you want to be shared if you plan on re-smoothing.

Smoothing in AC3D is just the auto-recalculation of vertex normals- that is it. Vertex normals are set but interpolating the adjacent face normals (these you can see in AC3D). If a vertex is shared, then it is inerpolated from all of the adjoining faces... so the normal ends up pointing perpindicular to the virtual "face" of the modeled suface... the vertex normal is used by the renderer to inerpolate the shading... so when you smooth shade, is smoothly distributes the shading when the normals are thusly configured.

So in AC3D, you could select the top half of a wing and smooth shade that - THEN select the bottom of the wing and smooth that. Keeping in mind that the the the vertecies where the top and bottom wing connect are NOT shared! In other words, each of these vertecies has one that belongs to the top wing, and one for the bottom. Now make sure that when you select the top wing, you ONLY select the top wing vertex! Do this by using AC3D objects - make sure the top wing and bottom wing are each their own object - this is easy, just "cut away object" the top wing. Now you have 2 objects.

The result now is that the sharp edges will be flat shaded. But if the leading edge of the wing is smooth, you don't want to seperate those verts in the front... just the trailing edge.

Well, that is the idea... if you want to model a box, you need not smooth shade anything, BUT you also dont want to share the verts! If you do, you will have to smooth shade or some sides will all be messed up.. why? Because what you want for a box is each face to have all its vertex normals facing perpendicular to the face. Once you share verts, you FORCE the vert to chose one face or the other... so one face will be correct, and the other will be crap - it will be "EXTREME" shaded - looking like a gradient.

Sorry for the long ramble... if there are any questions on this - do ask... and certainly not everything I am saying is correct - it is to the best of my knowledge, and I would LOVE to verify and/or improve my understanding of this...

------------------
-Sv

Wings with Wires

IP: Logged

All times are CT (US)

next newest topic | next oldest topic

Administrative Options: Close Topic | Archive/Move | Delete Topic
Post New Topic  Post A Reply
Hop to:

Contact Us | Fighter Squadron Information Center

(This site Copyright (c) 1999 Inertia LLC)

Powered by Infopop www.infopop.com © 2000
Ultimate Bulletin Board 5.45c