Heightfield vs. mesh was RE: AC2 was RE: [MUD-Dev] Total Anni lation of Downtime
Koster
Koster
Mon Dec 16 15:54:34 CET 2002
From: Marc Fielding
>> Even a pseudo-compromise solution where you have a heightfield
>> with 3D objects placed on it to give a feel of "real 3D" doesn't
>> feel right. It looks like, well, a heightfield with a bunch of
>> 3D objects shoved into it.
> Have any recent games taken this approach? I'd be curious to see
> how noticeable the disjunction is.
Star Wars Galaxies is taking this approach. I'll happily sacrifice
the supposed loss in visual quality in exchange for being able to
dynamically spawn an entire Imperial base on top of our Perlin noise
heightfield, automatically flattening the area under the structures
by applying an algorithmic rule, blowing craters in it when you take
out the base via the same method, and restoring the landscape to its
pristine state after the encounter.
Plus, I'll hold up the visuals for SWG's terrain up against anything
out there right now. Gameplay trumps a graphics seam at the base of
a rock spire, certainly.
We use Perlin noise and a custom tool to generate terrain. The
terrain is built from multiple prioritized layers, each layer with a
boundary that can be a polygon, object primitive, or another Perlin
noise function, and with a variety of softening functions (ease in,
ease out, ease in and out, linear, etc, with configurable
distances). We support filtering by Perlin noise, height, slope, and
boundary. We can affect height, flora distribution, object
distribution, fog, lighting, music, ambient SFX, and vertex color
(by solids or by ramps). We build texture families, vertex color
ramps, object families, etc, and distribute them by the above,
including parameters for density, random scaling, etc. We then save
this whole thing in 16x16km chunks in ~200k files which we can then
apply additional rules to at runtime. Terrain is generated on the
fly at the clip plane as you walk around based on the fixed
seeds. In fact, it's generated on the server too, with some minor
caching.
We place 3d objects on top of this, using additional rules attached
to the objects themselves to flatten, distort, clear flora, replace
textures, etc. Some objects are designed to sink in, other require
flat space.
Frankly, it rocks, and I can't conceive of doing this any other way
anymore. Time to build an interesting, gorgeous planet: 4 weeks,
one guy. Time to then get all the cities placed and furnished (cheat
on that--each structure knows how to auto-furnish itself)--about two
weeks of one other guy.
For articles on this including some screenshots, see our
website. You can even see a shot of the tool.
http://starwarsgalaxies.station.sony.com/team/articles/corellia_1.jsp
-Raph
_______________________________________________
MUD-Dev mailing list
MUD-Dev at kanga.nu
https://www.kanga.nu/lists/listinfo/mud-dev
More information about the mud-dev-archive
mailing list