was reading this thread from the start and saw something i should have replied to. so here it is.
Lynx said:
@t.c.cgi: The model proportions are exactly the same as in the WC3 version. Whoever modeled this (I think it was Sheherazade or Kruer) apparently took the original WC3 mesh and modified. At this point, I bow to everyone who works with models directly ripped from the games. Either the conversion screws the models up, or the guys at Origin hadn't ever heard of clean modelling.
it was scratch made. i modelled it with a scan of the wc3 poster thunderbolt as my max viewport background, so the proportions are exactly as those.
(i never modify game models. modifying is often more trouble than making it from scratch, or at least not as fun)
also, harroldthemadcow made the original texture, which i don't think was kept.
it was made for homeworld, so the geometry was kept light. there are 5 LOD versions of this specific model in total, of which telling form the screenshots i think the highest is used.
the crappy cockpit lighting is in fact the vertex normals. assuming you can recalculate normals, you can adjust the lighting on the cockpit. some quake3 tools like Npherno's MD3 compiler (see planetquake/polycount) can smoothe normals for you.
opengl and D3D commonly use smoothe (GL_SMOOTH or equivalent) lighting, meaning a linear interpolation of the intensity values at each vertex, taken from camera->vertex->light_source angle.
vertex normal recalculation tools can let you choose a lighting angle. each vertex on a mesh has N normals (N=number of shared triangles). if the angle between 2 normals is above a threshold, then they aren't averaged. some tools just average all normals (totally smoothe), some allow a threshoold, so you arean't stuck with smoothe looking 90 degree angles.
normally the API's take:
set(triangle)
begin()
vertex_location(x,y,z) // vetrex 1
normal(x,y,z) // vertex 1 normal
texture_coord(u,v) // vertex 1
vertex_location(x,y,z) // vertex 2
normal(x,y,z) // vertex 2 normal
texture_coord(u,v) // vertex 2
vertex_location(x,y,z) // vertex 3
normal(x,y,z) // vertex 3 normal
texture_coord(u,v) // vertex 3
end()
if you don't give a normal direction, it just uses the triangle-surface-normal.
but you can give it your own. SOME games read normals from the file (good news for you if you want smoothe looking low-poly models, where you control the appearance), SOME games don't, and just calculate their own. in which case the results are up to the designers.
so i'd suggest looking into npherno's tools, or playing with smoothe groups in max or deep exploration.
or just subdividing the tris a few times to get more samples.
or just making a better model, something not intended for a strategy game with tons of them on screen at once
i plan on eventually making a nicer one anyways when vegastrike has support for animations (so i can do landing gear, opening cockpit, eject sequence, etc)
after i finish programming some stuff for vegastrike, AND vegastrike finally supports proper animations.
-scheherazade