|
For modding NHeat, even when "only" converting a car from another sim, it's important to
have at least an understanding of 3D modeling basics. Therefore it's strongly recommended to
download and carefully read (and understand) the
zmodeler manual.
Some 3D modeling basics
In modeling space, in a 3D program, each and any object is made up from a number of triangular
planes. These planes are called "faces". A face has a front side and no backside. If you're
looking at a face from it's backside, you'll simply look through it. You can make it's frontside
turning into it's backside, but you'll always only have one side of that plane that shows up.
If you need to have some plane that has both a showing front- and backside, you'll have to
make a copy of the base plane, flip the copy's frontside and add the copy to the original.
The 3 corners of each face are called vertices. It may sound weird at first, but each vertex
looks towards a certain direction. If light falls on a place nearby a vertex, the reflection
of that light (= intensity of what you see) depends on towards where that face's vertices are oriented.
If the vertex' orientation is opposite to the face's frontside, there'll only be very little or no
reflection of light. The face's frontside will show up very dull nearby that vertex
To show a vertex' orientation, there's an associated line called "normal" on each vertex,that indicates
where light would be reflected to from the adhering face's surface. So by rotating the normals, you
can for example make a face look being not a flat plane, but having rounded edges. By scaling
a face's vertices normal's length, you scale the intensity of reflection of light. If you scale down a
normal to a length 0, no light will be reflected at all at it's vertex' location
So the levels of a 3D model are
- Vertex and it's associated normal
- Face - made up from vertices that have been connected by lines. Face = poligon
- Object - made up from faces. Typically, an object is a mesh of faces
|
3D ball, made up from triangular planes |
The red dots are the vertices, the green lines are the normals |
|
To edit a 3D model, you'll always first have to chose on which of these levels you actually want to
do some editing. You cannot delete or add Faces in Object mode - you can only add or delete objects in
Object mode. But you can delete Objects in Face or Vertex mode, if you delete all the object's faces or
vertices, as then the object will simply stop to exist. You'll have to get used to that concept. If you are about
to do some editing to your 3D model, always first make sure that zmod is set to the right editing level
for what you intend to do
Vertices can be welded to another; faces can share vertices. Thus, moving a vertex means manipulating
each face that is connected to that vertex - and that vertex' normal ! This is important, as what you'll
see afterwards in NHeat is not just the object, but how it's surface reflects light. A smoothly
made surface will look distorted and/or even broken in places when the normals are not set in the
right way or faces don't share vertices in places where they should.
Normals
Zmodeler takes care of how to set the normals - in some way. In "automode", normals are automatically adjusted
to always length 1 (=100%) and right angle on top of the surrounding surface - at least each time you work
on that vertex. You can make zmod do this for all vertices all in one step by using autocalculate function (Surface... -> Normals... -> Calculate)
But sometimes it can be better to adjust vertices manually to get certain effects.
One example would be
the length of the normals on a tire rubber's surface. Rubber will only reflect little light, thus
it may be a good idea to shorten the normals at those places to reasonable light reflections.
If the tire rubber surface and it's rim share vertices, this would either cause the rim's edge to get dull as well,
or the rubber's edge to be more shiny. A way to get around this effect is to make shure that rim and rubber
don't share any vertices.
|
|
Some major part of 3D modeling is not about building a model/object, but rather about making it look right. Adjusting
normals is part of doing this. The other part is taking care about which faces are connected to each other -
and which are not, as by not welding vertices/connecting faces you enable each face to reflect light
independedly from each other. Connected faces' light reflections are not independent, as those faces
share normals.
|
On this example you see the back of a car, with all faces being connected to each other (right), minimizing the total
amount of vertices. Each face shares it's vertices and normals with the ones it is connected to. The resulting
surface looks smooth.
On the left, you see the same car's back, but now the surface has been split up in places. The resulting surface looks more pointed
than before. And more real
The advantage of splitting up faces that way - if done right - is that zmodeler's autocalculate function
(Surface... -> Normals... -> Calculate) will set the normal's orientation right; you won't have to manually adjust any normal's orientation
|
3D models imported from some format that is not the program's own (in case of zmod Z3D-format), there'll
be some information lost on the import process - the normal's correct status can be one of those lost
informations. Zmod will make assumptions how to set the normals, but that doesn't need to be the correct
assumptions. So if you have imported your model and don't have it's Z3D sources, you should at least check
on it's normals if they look to be adjusted right on each place.
3D? 2D ?
Another aspect to take into consideration right from start should be about which way to work out details on the car model
You can either work out details in 2D, by using graphic effects on the car's textures to "fake" 3D structures,
or you can make this really be 3D details. Either way is ok and makes sense. "Faking" 3D by texturing works
best on high res textures (which increases GPU load), while increasing 3D detail increases poligon count and
CPU load.
Some general advice could be that the bigger the 3D detail, the more real 3D it should be
If you are converting cars from other games and have to rescale the car's textures, the 2D "fake 3D" effects
will suffer most by the textures' blurring.
3D air intages on this car from GroupC mod, but 2D doorframes
|
|
Multiple Objects
Another suggestion is to split up the car body to several objects and only merge them back to one
object when exporting to NHeat.
|
This can easily be done on any object by first selecting all those faces
that you intend to detach from the main object. Then chose function Objects... -> Create... - > Detach in
zmodeler and use it on your object in face mode. It will split up your old object and create a new one.
The use of splitting up any object is to make parts of it easier available to editing and mapping.
Since light reflections may change on transistion areas of materials, which probably will (should) be
transistions of textures on the car model as well, splitting a car along (some of) it's intended mapping
areas for example would be no bad idea.
|
Using Objects... -> Create... - > Unite in Object mode will merge objects - but it won't weld it's vertices !
To weld vertices, you'll have to use Objects... -> Create... - > Unite in Vertex mode - and only within one object.
You cannot weld one object's vertices to another one's. You'd have to merge the objects before being able to
weld it's vertices.
|
[ 3D Basics ] |
|
|
|