Jump to content

Open world roads


Pancho

Recommended Posts

Yea, but I mean if you would import the street HDA - you have the street as a single geometry no matter how large that geometry is.
So maybe there is a way to use tesselation (or reducing polygons) by distance to the camera.
I thought, maybe there is a way like that tesselation in the video, that could be used on an HDA. So reducing polygons by distance.

Link to comment
Share on other sites

Sure, this is just the Unreal LOD (Level of Detail) system. The issue though is that when you are talking about 20km square of open world, that leads to a generating a huge amount of unique geometry. That is the root problem the OP is trying to solve.

With Houdini it is straight forward to procedurally generate a bespoke road system with all of the detail and LODs you want, and that will look great and be good for rendering performance, but then every triangle is unique. Using that approach you could easily end up with hundreds of gigabytes of geometry just for roads. This impacts how much geometry is in memory and on disk. That is not much of an issue in a small space like a race track, or an offline context like film vfx, but for games you (and gamers) care about the size of your build because it impacts how much space it takes up on the PC or console or whatever you are playing on. You also care about what your memory allocation is doing every frame, presumably you have other things to worry about other than just rendering roads, like game logic, animation, sound, AI etc.

You could use landscape materials and decals to generate the roads as materials in landscape height maps as mentioned (watch Building Worlds with Houdini | Benoit Martinez | Houdini HIVE Paris), but then you are limited in the resolution of the masks you can create to describe road placement. Fine for country roads that blend into the surrounding terrain and don't need geometric detail like curbs and sidewalks. If you want to use geometry, a more efficient approach would be to instance a limited kit-set of road geometry over and over again, (e.g onto points) rather than create a huge amount of unique geometry. That way you can massively reduce your memory footprint when working at scale. If your roads are a nice straight grid like in Spider Man (watch Marvel’s Spider-Man, meet Houdini | David Santiago | GDC 2019), that is not too much of a problem because in this case you can instance straight road segments onto points and they will line up, and then use bespoke geo for the minority of curvy or odd shaped roads. Unfortunately however, not every urban area you might want to make has nice grid shaped road systems, and you could be dealing with a situation where the majority of the road shapes are bespoke with lots of windy, or non uniform shaped roads. In this case you are looking for a way to instance deforming geometry along a curve.

You will notice that all road building demos / tutorials only demonstrate these 4 approaches: 1) Procedurally generated unique geometry. 2) Procedurally instanced geometry on points. 3) Procedurally or hand paint roads as landscape textures. 4) Instanced deforming geometry along a hand placed (NOT procedurally placed) curve e.g. Unreal curve components or Unreal Landscape Splines. The issue is, there is currently no way to go from Houdini to Unreal as OP describes, i.e curves generated in Houdini and then instance connected, deforming geometry along splines in Unreal. You can do each of these things individually fine. Creating curves for roads in Houdini is no problem, creating splines in Unreal and instancing and deforming geometry (e.g road kit set pieces) along the splines is fine, there is just currently no off the shelf way to connect these two processes. With Houdini Engine 2 Sidefx is apparently planing to rectify all of this headache by allowing you to convert Houdini curves in to Unreal Spline Components.  https://www.sidefx.com/forum/topic/58507/

  • Thanks 1
Link to comment
Share on other sites

  • 1 month later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...