Terrain Tunneling/Arching

Feedback on past, current, and future development.
User avatar
raevol
Posts: 3093
Joined: 07 Aug 2011, 01:12
Location: Caldera

Re: Terrain Tunneling/Arching

Post by raevol »

AnyOldName3 wrote: 01 Oct 2018, 15:06 It helps a gazillion things an awful lot to know that the terrain is topologically a plane. The correct way to make an apparent tunnel or arch would be to create static meshes that looked like the top of the arch and place them above the terrain.
This is how newer engines do it right? This is how Horizon Zero Dawn does it I believe.
Kasoroth
Posts: 3
Joined: 02 Oct 2018, 06:31

Re: Terrain Tunneling/Arching

Post by Kasoroth »

I'm not sure how hard this would be, but it might be useful if there was a way to simply punch holes in the terrain mesh so that the player could fall through into the empty void below. You could then punch a small hole in the side of a mountain, and place static mesh interior objects positioned around the opening (mostly underground, but protruding slightly so the exposed edges of the "terrain hole" are hidden inside the static mesh object's geometry). The static mesh interior would catch people and prevent them from falling forever.

With a "cave entrance and interior" static mesh object, and the ability to punch holes in the terrain, you wouldn't need to rebuild the entire mountain over the cave as a giant static mesh, just the cave itself. If the "cave entrance" static mesh was designed to be able to snap to the regular cave interior mesh objects, you could build cave interiors seamlessly, just like you were building them in an interior cell, except they'd be in the world map, under the ground.
User avatar
psi29a
Posts: 5356
Joined: 29 Sep 2011, 10:13
Location: Belgium
Gitlab profile: https://gitlab.com/psi29a/
Contact:

Re: Terrain Tunneling/Arching

Post by psi29a »

Wouldn't it just be easier to create a mountain static mesh?

Terrain is just a plane that can undulate, keeps rendering simple.

In theory, if you wanted a hole in the ground, great, use the terrain editor (coming soon(tm) in openmw-cs editor) to lower the terrain down a bit to create a hole. It will be filled with water thanks to the water plane. Then you place your static mountain on top... you can skewer it, punch holes in it, have cliffs, arches... the whole thing because you are modeling it.

Or you could have the terrain build up to a plateau, in the center is hollowed out and then put your mountain/cliff/whatever mesh on top of that. You could in theory put tunnels in to your heart's desire but eventually to dig 'deeper' you'll have to descend stairs, enter an archway or do something to trigger a transition to an interior "dungeon" or under-mountain.
TriangleTooth
Posts: 5
Joined: 30 Nov 2017, 14:01

Re: Terrain Tunneling/Arching

Post by TriangleTooth »

Surely the way to go forward would be to have some kind of feature that allows static meshes to better blend with the terrain mesh, thereby making it look like the terrain has a hole going through it.

At present, it's really obvious when a rock, mountain or arch isn't part of the terrain - there's a hard line between it and the world. If there were some kind of blending you'd have no problem using static meshes to simulate the effect.
User avatar
psi29a
Posts: 5356
Joined: 29 Sep 2011, 10:13
Location: Belgium
Gitlab profile: https://gitlab.com/psi29a/
Contact:

Re: Terrain Tunneling/Arching

Post by psi29a »

TriangleTooth wrote: 02 Oct 2018, 10:43 Surely the way to go forward would be to have some kind of feature that allows static meshes to better blend with the terrain mesh, thereby making it look like the terrain has a hole going through it.
You're correct and I thought this was being worked on? If it isn't and isn't on the issue tracker, please create it. :)
User avatar
Mistahtokyo
Posts: 139
Joined: 07 Sep 2013, 18:31

Re: Terrain Tunneling/Arching

Post by Mistahtokyo »

I posted a thread requesting the terrain/mesh blending, but I don't know if anything came of it. And holes/tunnels aside, what could be done about a higher poly terrain mesh? In many areas (I find it particularly noticeable in Balmora) it is extremely easy to notice the edges of the individual triangles because they're simply huge. Oblivion has a higher resolution mesh as does Skyrim. Plus more detail on the mesh helps with blending in transitions to meshes in some cases.
User avatar
psi29a
Posts: 5356
Joined: 29 Sep 2011, 10:13
Location: Belgium
Gitlab profile: https://gitlab.com/psi29a/
Contact:

Re: Terrain Tunneling/Arching

Post by psi29a »

@Zini: pre or post 1.0 for higher resolution terrain meshes?
Kasoroth
Posts: 3
Joined: 02 Oct 2018, 06:31

Re: Terrain Tunneling/Arching

Post by Kasoroth »

psi29a wrote: 02 Oct 2018, 09:53 Wouldn't it just be easier to create a mountain static mesh?

Terrain is just a plane that can undulate, keeps rendering simple.

In theory, if you wanted a hole in the ground, great, use the terrain editor (coming soon(tm) in openmw-cs editor) to lower the terrain down a bit to create a hole. It will be filled with water thanks to the water plane. Then you place your static mountain on top... you can skewer it, punch holes in it, have cliffs, arches... the whole thing because you are modeling it.

Or you could have the terrain build up to a plateau, in the center is hollowed out and then put your mountain/cliff/whatever mesh on top of that. You could in theory put tunnels in to your heart's desire but eventually to dig 'deeper' you'll have to descend stairs, enter an archway or do something to trigger a transition to an interior "dungeon" or under-mountain.
The advantage of using the terrain editor (in the original Morrowind Construction Set, or coming soon in openmw-cs) is that it's more accessible to modders who aren't experienced modelers, and its easier to tweak the mountain geometry on the fly in the construction set, without needing to go into an external 3d modeling tool, modify the mountain mesh, re-export it, and reload it into the construction set.

Also, if a modder wants to add a seamless cave mod into the existing game world, with minimal disturbance to the existing stuff that's there, punching a little hole in the terrain and adding cave interior meshes underneath the ground level would be much easier from a modder's perspective than trying to accurately recreate all of the terrain above as a custom static mesh.

Perhaps if the openmw-cs had a quick tool for taking a snapshot of a selected area of the terrain mesh and auto-generating a static mesh from it, you could build a mountain with the terrain editor in the construction set (or select an existing mountain in the game world), snapshot it to make the "mountain surface" static mesh (with holes in it anywhere that wasn't selected when you created the snapshot). Then you could lower the real terrain mesh down below it to create the hollowed out space as you suggested, but leaving the static mesh copy of the original mountain in place above it.

I'm not sure if adding this "terrain snapshot" capability to the CS would be easier or harder than adding "hole boring" capability to the terrain layer, but it would confine the changes to the CS (since the game engine itself would just see a static mesh and regular non-holey terrain below it), so it seems less likely to require a change in the actual file formats.
User avatar
psi29a
Posts: 5356
Joined: 29 Sep 2011, 10:13
Location: Belgium
Gitlab profile: https://gitlab.com/psi29a/
Contact:

Re: Terrain Tunneling/Arching

Post by psi29a »

It might be harder to do in OpenMW-CS, but the pay off is that the end user's client (OpenMW itself) won't have to worry about doing all sorts of crazy maths to handle non-planer terrain geometry. :)
User avatar
AnyOldName3
Posts: 2668
Joined: 26 Nov 2015, 03:25

Re: Terrain Tunneling/Arching

Post by AnyOldName3 »

psi29a wrote: 03 Oct 2018, 07:55 @Zini: pre or post 1.0 for higher resolution terrain meshes?
If I had to guess, the main limitation is the resolution of the original heightmaps in the game data. Maybe we could interpolate to smooth things out, but I'd imagine having the data at a higher resolution would be the best approach.
Post Reply