News:

One Minute Game Review by The Happy Friar: https://ugetube.com/@OneMinteGameReviews
Also on Rumble: https://rumble.com/c/c-1115371

idTech 4 (aka Doom 3 tech) Discord Server! https://discord.gg/9wtCGHa

Main Menu

Create terrain: path mesh vs brushes vs model

Started by bitterman, September 01, 2016, 07:47:40 AM

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

bkt

Here is an example area from False Dawn. The entire section of the map up to the elevator is comprised of a static mesh floor.  Caulk brushes are underneath it and generate the AAS allowing the AI to completely navigate around the hallways as if walking on flat brushes.

(The russian stream playthrough is the best quality commentary-free playthrough I've found).

bitterman

#16
Thanks.

I think the question is "will NPC/monster to collide with the mesh or running right on the surface of the underlying brush (through mesh)?".

Other words "in what cases AI/model will collide with brush/mesh/simple path mesh?".

My custom monster was flying and I'm not sure about this. If the motorsep's canyon is ASE model then answer is "yes".

And another advantage of terrain model is vertexColor (blended textures) IMO.

motorsep

Quote from: bkt on September 09, 2016, 01:03:35 AM
Showing a video that has no AAS compiled is useless as an example.  Without AAS the AI can't see anything in the environment and won't be able to navigate any obstacles, meaning the AI's simply honing in on the players position blindly.

It's useful nevertheless - showing AI walking on the terrain. Plus AI in Doom 3 does have dynamic obstacles avoidance system.

motorsep

Quote from: bitterman on September 09, 2016, 05:33:40 AM
I think the question is "will NPC/monster to collide with the mesh or running right on the surface of the underlying brush (through mesh)?".

Other words "in what cases AI/model will collide with brush/mesh/simple path mesh?".

It collides with the first surface it touches (assuming surface is collidable, which is default).

Quote from: bitterman on September 09, 2016, 05:33:40 AMMy custom monster was flying and I'm not sure about this. If the motorsep's canyon is ASE model then answer is "yes".

Nothing truly flies in Doom 3. It still "walks".

My terrain is ASE, it's pretty obvious from the video  ???

oneofthe8devilz



This multiplayer/coop map "Dalen" is entirely built with meshes. Once you've figured out how to properly work the navigation brushes you can quickly produce fairly convincing results.

The map has many different heights, slopes and even a bridge and yet the AI maneuvers reliably through the 3D terrain. It took me less than 30 minutes to setup the navigation brushes in order for the AI to "understand" the geometry of the map.
I got six little friends and they all run faster than you ;)


Check out our mods at
moddb or the SPS Homepage

bitterman

#20
Guys, your videos are good, but this is more advertisement than a tutorial on creating terrain. I had a thousand questions, how it is implemented, but who is going to answer them?  ;)

The main idea is simply to create the mesh and place in one of the game models and it works out of the box. But if you take a step to the side (custom monster, custom AI scripts etc, own assets) - and the process gets stuck.

Here is my workflow.

motorsep, how you combine your custom maps with the original BFG resources? I have no idea how to migrate this D3 mod to D3BFG.

bitterman

ASE works in BFG too but there is some problems with lightning.
Missing lights assets perhaps.
And some unexpected problems with correct cubemap rendering.

The Happy Friar

No tutorial needed: just make your mesh, place it in the map, make your supporting brushwork with clips/caulks so the monsters AAS can compile.

The collision is all in the material files, not the models.   If the in game material doesn't have something to say it's nonsolid, you should be ok.  It will react with anything else colliadable in the world as expected.  You do the brush work with the clips/caulks to make the AAS system work (and make some things easier to navigate).  That's just like Q3A & curves.

bkt

Quote from: bitterman on September 10, 2016, 10:49:57 PM
Guys, your videos are good, but this is more advertisement than a tutorial on creating terrain. I had a thousand questions, how it is implemented, but who is going to answer them?  ;)
You're not getting a tutorial from me.  Why not jump into the editor, find an example from the Doom3 campaign that works as intended then reverse engineer it, instead of waiting for step by step instructions from those who've done that very step.

Everything you need has been explained here, simply connect the dots.

bitterman

#24
Thanks for answers.

A little question for walking guys, please :)

Is ASE terrain needed for collision model or it's for moveables only? What will happen if I throw a barrel at those high-poly rocks?

*************************

More info:

http://www.katsbits.com/tutorials/idtech/make-megatexture-terrain-models-from-brushwork.php

BielBdeLuna

the fact that terrain has to be caulked underneath show that idTech4 as it is in doom3 doesn't have support for terrain, that one has to force the aas to create the aas for that surface with added effort. Sure the monsters will walk, but walking to the player can be done without path-finding (like quake1) the question is that without added effort taking the shortest path to the player saving the obstacles is not possible.

@oneofthe8devilz your video shows a fairly even environments with two levels and one bridge, but more uneven terrain could be problematic to recreate with brushes. specially when the quads on the mesh are not squared, or when the quads from their neighbours are angled very different.

the solution would be to add to the aas compiler some form of aas data adapted to triangles instead of strictly brushes, somewhat similar to the triangle based process Robert Beckebans added to RBDoom3BFG dmap compiler, so that the two systems coexisted and worked along. without any added effort by the mapper.

The Happy Friar

That would be nice but then it wouldn't be Doom 3 compatible.  It might be easier to extract faces in the modeler & export that new set of poly's as brushwork (Q3A .map), then it's all done.  I'm sure there are a lot of tricks that could be done nobody has thought of.  I was (apparently?) the first person to take a Q2 map, export to a .obj, import in to Blender, then particle pain models all over, then export the models as a single (or a couple) .md2's & use them in a map for foliage.   I was also (apparently?) the first person to make a Q2 player model & only use certain verts in certain frame so new geometry was created while the model was playing w/o it doing it's auto-inbetweens.   Many people also thought it was cool I'd take a monster/object model, use all the model slots in the entity's definition & make entities that had higher poly counts then he engine supported with a single model.  So a monster could have 4x as many verts in a stock engine.

That's what experimenting does.  So, someone (you?) needs to start experimenting with the compiler to see about getting this in there.

motorsep

#27
Folks, do yiu realize you don't have to follow terrain closely?!

And by that I mean you can use regular brushes (bottom is caulk and the rest AASsomething) and crudely block out terrain.

bkt

Quote from: motorsep on September 13, 2016, 08:25:30 AM
Folks, do yiu realize you don't have to follow terrain closely?!

And by that I mean you can use regular brushes (bottom is caulk and the rest AASsomething) and crudely block out terrain.
Exactly.

The AI only sees the AAS sectors and will blindly collide with the terrain.  It's not a matter of 'Doom 3 doesn't support terrain', it does.  It's just a matter of working within the boundaries of its implementation. 

There's no gray area for whether or not an AI will be able to navigate terrain.  Consider that if the AI only see's the valid AAS areas (generated from brushwork), then you simply need to make sure that the terrain represents this valid space.  There will be a certain angle at which an AI/Player can't walk up and if any tri's in the mesh exceed said angle, the AI won't be able to navigate correctly.  So, based on that simple logic, if you create geometry that matches the logic in terms of playable space, you'll have completely valid terrain.

Seriously though, enough with the conjecture.  If the examples given by those of us who have worked with aspect of the engine isn't enough, then go and dissect an example from Doom 3.  Open maps/game/recycling1.map and work it out.

The Happy Friar

Don't even need to caulk, D3 automatically removes the stuff that faces the void!  Even easier then Q3A! :)

I just loaded up a terrain I made ~a decade ago & I just copy/pasted the curve & put a monster_clip on it.  I must of had an issue with monsters going through or something at the time.