Howto: Making terrain and 'terraforming' with netRadiant

Post anything to do with editing Nexuiz here. Whether its problems you've had, questions, or if you just want to show off your work.

Moderators: Nexuiz Moderators, Moderators

Howto: Making terrain and 'terraforming' with netRadiant

Postby MirceaKitsune » Wed Jun 24, 2009 4:05 pm

I discovered this method with a better understanding of netRadiant and thought it could be useful to share it here as well. As impossible as it may sound there actually is a good way to make and edit terrain using netRadiant (can't really call it terraforming but its close to that). This method has many advantages and disadvantages and is not the greatest approach compared to what could be made possible, but well it works :D This is how you can create and edit terrain under netRadiant without needing any external tools:

Step 1 - Close off a room and make it large enough. In my example I made it 2048 x 2048 in length and width. Texture the walls with a wall texture (only necessary for this example so it won't look like we're hitting the invisible sky) and place a floating info_player_deathmatch in the center. The upper and lower surfaces shall be textured with a skybox texture, I used amethyst7 -> purplenebula_skybox since brighter skies may over lighten the terrain.

Image

Step 2 - Create another brush around the bounds of the room (fill the room with it), go to Curve - Simple Patch Mesh and turn it into a patch. Make sure the patch faces up and stretches around the bounds of the whole room. Now go to texture browser and choose anything from terrain -> terrain_dotproduct2, I used mossrock02-mudground04.

Tip: Make this patch a func_group or func_wall, it's easier to see, find and handle if you don't leave it a worldspawn.

Image

Step 3 - With the patch mesh selected, go to Curve -> Insert and click the bar at the top of the new menu to take that menu down into a window (the topmost dotted bar above 'Insert (2) Columns'). Now click Insert (2) Columns 12 times in a row until the patch is split with many white lines.

Image

Step 4 - Now that this is done we can start 'terraforming' :) Enter verticle editing mode (click V for a shortcut) and in the 3D view shift-drag a box around a group of verticles to select them. Once the desired verticles are blue, click-drag them to raise, lower or bend that area. All of this is best done in the 3D view, not in any of the side views like usual verticle editing. Make yourself a terrain any way you wish... with this method you can also drag overhead hills ;)

Tip: If you wish to raise a smooth hill, try going for groups of 4 or more verticles. If you want to raise a spike try a single verticle, though that will only work in a few places and smooth hills are the main way this will work.

Image

Step 5 Build BSP and fast lightning and you can open the map for testing. Make sure not to forget the player start inside the terrain, it must be floating a bit above it. Here is how it looks like for me (this was just a quick tutorial, it can look better if you edit the verticles with care).

Image
Image
Image
Image

As I said this method isn't perfect, but it's the best way if you don't want to go with heightmap generated terrain (which some call a 'brush soup') or having to model your terrain in an external utility and import every time you do a change for checking. This is my list of pros and cons for this method:

Pro - The terrain can be created and edited under Radiant only. No need for any external utilities, terrain generators or modeling applications. You can also edit your terrain live while seeing the map and watching how everything fits, without having to play an "exporting terrain" -> "returning to Radiant" -> "This doesn't look good here" -> "going back to editor" game.

Pro - You musn't carry any external files for the terrain, all of it is in the .map file only (unless you make your own terrain shader / script).

Pro - The terrain is a single one-sided surface. With a few clicks it can be scaled, flipped, moved, inverted or retextured most easily.

Pro - Verticles snap to the grid, so you can 'terraform' using the grid as well which can be useful (eg. I raise a hill approximately this high, or just as high as the other hill).

Pro - No risk of badly blending textures. With models or heightmap terrain there is the risk of textures not fitting correctly at every 'turn'. With a patch mesh you can rescale the texture any way you want, it's guaranteed to fit smoothly over the whole terrain. There should also be no risk of 'square shadowing' and shadows should be perfectly smooth as well (which is impossible with anything other then patch meshes afaik, even player models have the 'square shadows' effect on them).

Pro - Overhead hills can be created as well by dragging verticles sideways after raising them.

Pro - You can build under the terrain (eg. a separate room which you can get to using a teleporter, you won't need another area to do it).

Pro - Being a patch mesh the terrain is 'compressed'. You only edit a few verticles but the real surface splits and smooth itself using more or less real verticles when needed, which should highly decrease map size and map loading time then a terrain where each verticle is stored individually. The terrain is also very smooth thanks to this.

Con - Since this is a patch mesh, grenades and Electro balls fall through the terrain most of the time (old known bug with patches). This is the worst issue of this terrain type... I only recommend it if you're map won't have the Electro or grenade launcher, or if such projectiles falling through the terrain doesn't look too ugly. If this terrain method will become more supported maybe this will be fixed. - Fixed in SVN.

Con - Fine tuning the terrain is difficult or may sometimes be impossible. You can select groups of verticles and lower / raise larger areas, but there isn't any way to fine-tune small areas around items and architecture.

Con - You have to manually select and drag verticles instead of a raise / lower / smooth / flatten brush painter which would be best, but at least it works :)

Con - No layering method, unless you make your own terrain shader externally. Its best to use the official terrain scripts explained in this tutorial so you can have two layers and not a single texture.

Con - You can't delete parts to make holes and cuts in the terrain.

Con - Temporarily, there is an issue which causes performance to drop drastically when lightning or particle effects collide a patch mesh. This method is best to use after this issue is fixed in the engine, otherwise a shot being fired at the terrain can drop the framerate even lower then 10. - Fixed in SVN.

Maybe in time netRadiant could have a few improvements for this too, like for instance clicking Insert (2) Columns always splitting the terrain in an equal manner (instead of adding lines one after the others half from the edge like in the picture from Step 3), and maybe the raise / lower / etc. vertex painters which would rock. Until then I hope this helps and can make good terrain maps, I plan on using this method on maps after the patch performance issue is fixed :)
Last edited by MirceaKitsune on Wed Jul 22, 2009 12:24 pm, edited 3 times in total.
MirceaKitsune
Keyboard killer
 
Posts: 593
Joined: Thu Aug 14, 2008 6:48 am
Location: Romania - Bucharest

Postby TVR » Wed Jun 24, 2009 5:02 pm

Patch mesh terrain has a huge number of cons, most significant is the lack of visibility and insertion into the BSP tree.

Patch mesh as terrain will give abysmal network and graphical performance, this is demonstrated on a large scale in Clueless Newbie's Blasted Lands.

Every single one of the pros that you list, with the exception of the last one, are shared by manual brush trisoup, none of the cons are though.
TVR
Alien trapper
 
Posts: 404
Joined: Fri Jun 01, 2007 12:56 am

Postby MirceaKitsune » Wed Jun 24, 2009 8:26 pm

I thought the patch mesh terrain should be pretty good and optimal :( Apart from the issue where shooting at it decreases performance the framerate seemed perfect. Never tried such a map online so I don't know about the bandwitch though it's odd this could be more bandwitch costly then another type of terrain.

If you meant terrain generated from a heightmap file (like with EasyGen) I don't think all of the pros apply. You do have to visit an external editor to change anything in the terrain (and the terrain may be unchangeable after the .map file is created by the exporter), you can't have overhead cliffs, you can't build under the terrain (since its full of caulked brushes there), terrain textures may snap badly in several places and the map contains tons of little brushes which may make it take a lot to load in Radiant. Not sure if theres a better exporter which can avoid all that, I am most familiar with Easygen.

What I liked at this method is that you can do it in Radiant and watch the changes to the map right then, which I think is an important thing when making terrain. Maybe in time this will get better, patches always had problems of their own.

[EDIT] Tried Blastedlands, but apart from the cons I posted (and the bandwitch issue which I couldn't test locally) everything was perfect, and the performance was great.
MirceaKitsune
Keyboard killer
 
Posts: 593
Joined: Thu Aug 14, 2008 6:48 am
Location: Romania - Bucharest

Postby TVR » Wed Jun 24, 2009 10:06 pm

[quote="MirceaKitsune]... Tried Blastedlands ... everything was perfect ...[/quote]

You don't understand how correlated network and graphical performance are, without vis, each player is rendered from every location.
TVR
Alien trapper
 
Posts: 404
Joined: Fri Jun 01, 2007 12:56 am

Postby MirceaKitsune » Thu Jun 25, 2009 10:13 am

It just seemed ok when I tested it locally with +5 bots, but I'm not saying I don't believe you (it's probably most noticeable on slower computers). The vis not being built off patches is a con I missed... would be nice if q3map2 could do that.
MirceaKitsune
Keyboard killer
 
Posts: 593
Joined: Thu Aug 14, 2008 6:48 am
Location: Romania - Bucharest

Postby Flying Steel » Thu Jun 25, 2009 1:50 pm

TVR wrote:You don't understand how correlated network and graphical performance are, without vis, each player is rendered from every location.


I wonder if LoDs would help that. Then there is alot less to render purely based on distances from the local camera.
Flying Steel
Keyboard killer
 
Posts: 623
Joined: Fri May 08, 2009 9:13 pm

Postby Strahlemann » Thu Jun 25, 2009 2:06 pm

In my opinion terrain should be done like this or in s similar way as long as NetRadiant doesn't support proper modeling techniques: http://www.katsbits.com/htm/tutorials/b ... g_maps.htm

Modeling terrain with patches inside radiant is much more restrictive for an artist, and the performance issues speak for themself. But of course it's faster to do.

iirc blender comes with a q3 *.map exporter, haven't tried it yet, but this may also give some good results on more organic approaches.
bleach->aneurysm->straledm5->dieselpower->space-fun->o-fun->runningman->runningman1on1->aggressor(conversion)->soylent->bloodprison->bluesky->ruiner->reslimed->strength
Strahlemann
Keyboard killer
 
Posts: 676
Joined: Wed Mar 01, 2006 12:11 am
Location: Ulm/Germany

Postby tZork » Thu Jun 25, 2009 2:33 pm

TVR wrote:
MirceaKitsune wrote:... Tried Blastedlands ... everything was perfect ...


You don't understand how correlated network and graphical performance are, without vis, each player is rendered from every location.


Nor do you if you think Blastedlands terrain would have had any real impart on vis if it was made out of structural brushwork. in general the terrain itself sucks as visblocker.
HOF:
<Diablo> the nex is a "game modification"
<Diablo> quake1 never had a weapon like that.
<Vordreller> there was no need for anything over 4GB untill Vista came along
<Samua>]Idea: Fix it? :D
<Samua>Lies, that only applies to other people.
tZork
tZite Admin
 
Posts: 1337
Joined: Tue Feb 28, 2006 6:16 pm
Location: Halfway to somwhere else

Postby TVR » Thu Jun 25, 2009 4:13 pm

tZork wrote:
TVR wrote:
MirceaKitsune wrote:... Tried Blastedlands ... everything was perfect ...


You don't understand how correlated network and graphical performance are, without vis, each player is rendered from every location.


Nor do you if you think Blastedlands terrain would have had any real impart on vis if it was made out of structural brushwork. in general the terrain itself sucks as visblocker.


You already know the benefits of BSP splitting, brushes would yield higher FPS in either case.
TVR
Alien trapper
 
Posts: 404
Joined: Fri Jun 01, 2007 12:56 am

Postby divVerent » Thu Jun 25, 2009 5:28 pm

1. Surfaceparm structural
2. Blocksize can be reduced too
1. Open Notepad
2. Paste: ÿþMSMSMS
3. Save
4. Open the file in Notepad again

You can vary the number of "MS", so you can clearly see it's MS which is causing it.
divVerent
Site admin and keyboard killer
 
Posts: 3809
Joined: Thu Mar 02, 2006 4:46 pm
Location: BRLOGENSHFEGLE

Next

Return to Nexuiz - Editing

Who is online

Users browsing this forum: No registered users and 1 guest

cron