![](/i/fill.gif) |
![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
> I find that whenever I do this, the points that haven't moved yet look all
> perfect and regular, and the points I've moved by hand look all wonky and
> out of place. A bit like when you try to draw a straight line freehand
> next to some lines drawn with a ruler...
That would be me too, except for drawing cars I have some images to follow,
I simply line up the points on the lines on the images :-)
> Except that in the other plane, all the points lay exactly on top of each
> other, so you've got to select the correct point in one view, and then
> drag it in another view, then select the next point in the first view, and
> drag it in the second view, and.......
Hmm, usually I rotate the grid of points as a whole to roughly line up with
the surface (this makes it easier to select and move in just one view) then
fiddle about with the points. BTW you can select more than point to move at
a time to get everything roughly there, the fine-tune later.
> Actually, I didn't realise POV could do NURBS at all! o_O
Well whatever the spline surface thingy is called, bicubic_patch?
> ...if you don't mind not having sharp edges...
Huh? If you want a sharp edge then just don't smooth the normals along that
edge... easy.
> Heh. Well the *track* certainly has plenty of polygons in evidence! :-P
Yeh, because the track is several km long, so I guess they can't make a
triangle every 5cm :-) If they were preparing for just that shot though
(and could ignore the other 3.9km of track out of view) I suspect they could
use more triangles.
> I still find it completely incomprehensible that somebody sat down and
> spent months placing 100k individual triangles by hand though...
For the last time, NOBODY PLACES 100K TRIANGLES BY HAND!!!
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
>> I still find it completely incomprehensible that somebody sat down and
>> spent months placing 100k individual triangles by hand though...
>
> For the last time, NOBODY PLACES 100K TRIANGLES BY HAND!!!
FYI here are two screenshots of work-in-progress on that model. One is the
"rough" vertices I am placing by hand (63 on the front wing), you can see
the background images that I am using to line up the vertices.
The 2nd shows what it looks like once I turn on the mesh-smooth modifier
(now 6000 vertices, all generated totally automatically from the 63 I
placed). I can simply turn up the recursion depth (this is 3 levels) until
no triangle edges are visible for my specific purpose. Of course if the
mesh was to be used in a game, I might only use 1 or 2 recursion levels (any
maybe save the different levels for in-game level-of-detail control), but
for a render or export to POV I would maybe use 4 levels if it was going to
be rendered big.
Post a reply to this message
Attachments:
Download 'image1.png' (261 KB)
Preview of image 'image1.png'
![image1.png](/povray.off-topic/attachment/%3C497d8477%40news.povray.org%3E/image1.png?preview=1)
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
>> That is rendered in realtime on the PS3, see any triangles in the car
>> models?
>
> That's part of what the whole Phong shading stuff is about, yes, if I
> have the right term? Where you don't shade the entire polygon the same,
> but rather weigh each pixel's color based on the colors at the corners
> of the triangles and the distance of the pixel from the corners?
Yes, you interpolate the surface normal between the corners to fake a
curved surface. A bit like normal maps allow you to fake ripples,
cracks, bumps and so forth.
Trouble is, normal tricks like this are just that - tricks. They don't
work as well as the real thing does.
- You can smooth out the lighting, but the profile of the object will
still have sharp edges, as will its shadow (if it has one).
- Where two objects intersect (e.g., something half submerged in water)
you can plainly see the mesh.
- If you smooth out all the surface normals, you now can't have sharp
edges where they're supposed to be sharp.
etc.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
>> For the last time, NOBODY PLACES 100K TRIANGLES BY HAND!!!
>
> FYI here are two screenshots of work-in-progress on that model. One is
> the "rough" vertices I am placing by hand (63 on the front wing), you
> can see the background images that I am using to line up the vertices.
Out of curiosity, how many days did it take to reach this stage? (And
where did you get that drawing from?)
Also, what software are you using here?
> The 2nd shows what it looks like once I turn on the mesh-smooth modifier
> (now 6000 vertices, all generated totally automatically from the 63 I
> placed).
How many GB is it going to take to store the entire finished car? (For
that matter, how long will it take you to build all of the individual
body panels??)
> I can simply turn up the recursion depth (this is 3 levels)
> until no triangle edges are visible for my specific purpose.
How do you know that the smoothed mesh will actually match your
expectations? I'd had a go with this kind of thing before, and it seemed
maddeningly difficult to make it do what you actually want...
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
> Out of curiosity, how many days did it take to reach this stage?
The longest part is finding the background images, getting them scaled
correctly (ie how many pixels correspond to how many metres in real life)
and placing them correctly in the modelling software. This takes about 30
minutes.
The front wing you see, probably took about 20 minutes, most of that time is
just moving around vertices until they are lined up nicely in all views.
There are shortcuts like telling blender to draw a circle with N vertices
lines up with the wheel arch edge, then deleting unused vertices of the
circle and joining them up with the rest of the mesh. That makes sure the
edge is a perfect circle.
More complex parts like the front bumper area might take at least an hour or
two to get looking right with all the cut-outs and edges/bumps, something
simple like the roof would take maybe 10 minutes.
Overall all the bodywork would take a days solid work I would imagine, but I
usually do it bits at a time, often while doing other things so it's hard
for me to say.
After that you would probably need to spend another day on making it
realistic looking, so a basic interior, lights, wheels, pretty much just
closing up any holes that are not bodywork.
> (And where did you get that drawing from?)
You can download the car brochure from the car makers website, and near the
end they normally have a drawing like this from each direction showing the
outline dimensions of the car. However there are plenty of websites that
specialise in collecting and sorting these type of drawings, Googling for
"car blueprints" is a good start.
> Also, what software are you using here?
Blender.
> How many GB is it going to take to store the entire finished car?
Hardly anything, because the mesh is only stored at the basic level that you
have defined, the smoothed mesh is generated on-the-fly. So far it is
245KB, and that includes all the bodywork and wheels, I just haven't started
on the inside or the windows yet.
Of course exporting the smoothed mesh to POV is a different matter, and of
course depends on how much smoothing you want and what format etc. If I
export to a file to be used in a game, and assume perhaps 32 bytes per
vertex, 100k vertices makes that a 3MB file.
> How do you know that the smoothed mesh will actually match your
> expectations?
Well you just look - when you edit the mesh with the smooth turned on, you
can see both the basic mesh and the smoothed result. If the smooth is being
too "harsh" around a certain point you want to keep sharp, you simply
increase the "crease" amount on certain edges on the basic mesh, this makes
the smooth stick closer to the basic mesh around that edge. Naturally all
this is done interactively, so just fiddle about with the settings on the
basic mesh until the smoothed mesh looks right.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
>> That's part of what the whole Phong shading stuff is about, yes, if I
>> have the right term? Where you don't shade the entire polygon the same,
>> but rather weigh each pixel's color based on the colors at the corners of
>> the triangles and the distance of the pixel from the corners?
In the old days, yes :-)
> Yes, you interpolate the surface normal between the corners to fake a
> curved surface. A bit like normal maps allow you to fake ripples, cracks,
> bumps and so forth.
Yes, nowadays the *normal* is calculated by interpolating the normal from
each corner of the triangle, then lighting is worked out per pixel. This
means a small specular highlight will show up perfectly on a huge single
triangle, in the old days this was impossible to achieve just by
interpolating colours from the corners. The result is that lighting (and in
particular specular highlights) look much more realistic without the need
for huge numbers of triangles, and as Invisible said it allows you to modify
the normal per-pixel to achieve bumps and rough surfaces etc.
> - If you smooth out all the surface normals, you now can't have sharp
> edges where they're supposed to be sharp.
Well don't smooth out all the normals then, select some to leave sharp!
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
>> Yes, you interpolate the surface normal between the corners to fake a
>> curved surface. A bit like normal maps allow you to fake ripples,
>> cracks, bumps and so forth.
>
> Yes, nowadays the *normal* is calculated by interpolating the normal
> from each corner of the triangle, then lighting is worked out per
> pixel. This means a small specular highlight will show up perfectly on
> a huge single triangle, in the old days this was impossible to achieve
> just by interpolating colours from the corners. The result is that
> lighting (and in particular specular highlights) look much more
> realistic without the need for huge numbers of triangles, and as
> Invisible said it allows you to modify the normal per-pixel to achieve
> bumps and rough surfaces etc.
Normal trickery is very good for creating surface roughness. The
problems start when people try to use it to fake large structures such
as waves. (Yeah, now go look obliquely across the surface. Look wavey?
No, I thought not.)
The other problem is that usually the bumpmap (and texture map, BTW) is
far too low-res. (Certainly in a game setting anyway.)
Looking at HL1, and then HL2, the increase in texture resultion seems
substantial. I wonder when textures will reach the point that you can
*read* the papers laying on the person's desk? ;-)
>> - If you smooth out all the surface normals, you now can't have sharp
>> edges where they're supposed to be sharp.
>
> Well don't smooth out all the normals then, select some to leave sharp!
I'd be surprised if you can actually do that.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
scott wrote:
>> Out of curiosity, how many days did it take to reach this stage?
>
> The longest part is finding the background images, getting them scaled
> correctly (ie how many pixels correspond to how many metres in real
> life) and placing them correctly in the modelling software. This takes
> about 30 minutes.
Yeah, I'll bet! :-/
> The front wing you see, probably took about 20 minutes, most of that
> time is just moving around vertices until they are lined up nicely in
> all views.
Damn you're fast! o_O
Last time I tried to do this, it took about an hour and a half to model
a banana. And that was using a special "mode" where you're basically
just deforming a sphere.
>> Also, what software are you using here?
>
> Blender.
OK. It's definitely Wings that I tried out then, cos it didn't look
anything like this. I'll have to give Blender a go at some point...
>> How many GB is it going to take to store the entire finished car?
>
> Hardly anything, because the mesh is only stored at the basic level that
> you have defined, the smoothed mesh is generated on-the-fly.
>
> Of course exporting the smoothed mesh to POV is a different matter, and
> of course depends on how much smoothing you want and what format etc.
> If I export to a file to be used in a game, and assume perhaps 32 bytes
> per vertex, 100k vertices makes that a 3MB file.
Interesting. HL2 is "only" a computer game, and so presumably has the
lowest possibly polygon counts, and yet it fills a 4GB DVD.
Even more interesting: Apparently npc_alyx has 8,232 polygons. That's a
tiny, tiny number for such an absurdly complex object!
(BTW, you have *no idea* how hard it was to find this number!)
Back in the days of Q2, there was a console command that would turn off
all texture mapping. Made the whole map look like it was covered in snow
or something. I wonder what HL2 would look like with no texturing?
>> How do you know that the smoothed mesh will actually match your
>> expectations?
>
> Well you just look - when you edit the mesh with the smooth turned on,
> you can see both the basic mesh and the smoothed result. If the smooth
> is being too "harsh" around a certain point you want to keep sharp, you
> simply increase the "crease" amount on certain edges on the basic mesh,
> this makes the smooth stick closer to the basic mesh around that edge.
> Naturally all this is done interactively, so just fiddle about with the
> settings on the basic mesh until the smoothed mesh looks right.
OK. Last time I tried to do this, you hit "smooth" and wait ten minutes
for it to do all the computations. (As you can probably tell, this was a
while ago...)
[Actually, the first "smooth" is about 20 seconds. It's the second,
third, fourth, fifth, sixth, seventh, and eight smooth operations that
take the time! Not to mention tweaking the mesh inbetween...]
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
>> The front wing you see, probably took about 20 minutes, most of that time
>> is just moving around vertices until they are lined up nicely in all
>> views.
>
> Damn you're fast! o_O
Really, it's just clicking and dragging points until they line up with the
image, it's not difficult or slow and you can get something that looks
realistic very quickly. If you gave me a blank page and said "draw a car"
it would take me forever to get something that even remotely looked like a
real car - that's what car designers are for and they typically don't use
Blender, just marker pens and big sheets of paper from what I gather :-)
> Last time I tried to do this, it took about an hour and a half to model a
> banana. And that was using a special "mode" where you're basically just
> deforming a sphere.
I suspect if you imported the outline shape of a banana and used it as a
background it would speed things up radically.
> OK. It's definitely Wings that I tried out then, cos it didn't look
> anything like this. I'll have to give Blender a go at some point...
I used Wings for a bit but I didn't get along with it - it was awkward to
modify meshes and it sometimes got confused about how the mesh was connected
and I couldn't find a way to fix it. I think more people use Blender, there
were certainly more tutorials out there to help learn, and it seems to have
more useful "speedup" features to help with mesh design. It's by no means
easy to learn though. You will have a massive shock with the UI if you are
used to using other Windows software - it seems to reinvent all the standard
dialog boxes and well-known methods for tool-panels etc itself, it can be
very frustrating at times.
> Interesting. HL2 is "only" a computer game, and so presumably has the
> lowest possibly polygon counts, and yet it fills a 4GB DVD.
Textures. My car models typically have no textures, maybe one for the
license plate but that's about it. I suspect in a game there are many
thousands of textures. Even back in the day of Duke Nukem 3D I remember
scrolling through pages and pages of texture thumbnails in the level editor.
> Even more interesting: Apparently npc_alyx has 8,232 polygons. That's a
> tiny, tiny number for such an absurdly complex object!
Skilled modeller.
> [Actually, the first "smooth" is about 20 seconds. It's the second, third,
> fourth, fifth, sixth, seventh, and eight smooth operations that take the
> time! Not to mention tweaking the mesh inbetween...]
In Blender even on smooth depth 6 with 350K vertices on *just* that front
wing (each triangle seems to be about 2mm wide!) I can still rotate around
smoothly and drag points on the initial mesh about while the smoothed mesh
follows in real time.
Unless you are planning to print the model 60 foot high for a HUGE poster, I
see no need to use smooth depth 6 though, smooth dept 3 makes the outline
curves perfectly smooth when rendered full-screen.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
> Normal trickery is very good for creating surface roughness. The problems
> start when people try to use it to fake large structures such as waves.
> (Yeah, now go look obliquely across the surface. Look wavey? No, I thought
> not.)
That's why parallax mapping was invented :-)
> The other problem is that usually the bumpmap (and texture map, BTW) is
> far too low-res. (Certainly in a game setting anyway.)
I don't understand why more games don't use scripted textures like POV. To
create things like noise and other effects is remarkably simple inside a
pixel shader and means you never get the "blocky texture" problem. But I
guess that would need programmers who were good at art and design, usually
these two areas are split.
> Looking at HL1, and then HL2, the increase in texture resultion seems
> substantial. I wonder when textures will reach the point that you can
> *read* the papers laying on the person's desk? ;-)
That's possible now, you just need a separate texture for the papers on the
desk. I suspect the limiting factor is a) the amount of storage space
available on the media, and b) the amount of time and effort the designers
want to put into the levels.
> I'd be surprised if you can actually do that.
It's a piece of cake in Blender, you just select the faces that you want to
be smooth or solid, then choose the appropriate menu item.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |