Hello, I would like to know if there is some information or someone I could speak to about how people create/model roads/levels in games such as Forza Horizon or Need for Speed [or similar].
There is plenty of information on how to create simple roads, but very little about more complex areas such as complex terrain, intersections and transitions.
Thank you in advance
Replies
Unreal 4 and Cryengine both have some support for basic roads. No crazy intersections and road merging though, I think, since that stuff is so complicated.
www(dot)youtube.com/watch?v=DrJqjeNQdTU
www(dot)youtube.com/watch?v=jOLhnwllpgs
just saying...
EDIT: Sorry for links in this format but if I post them normally only one shows and second doesn't. Just replace with proper sign.
As for Houdini, I think it shows pretty low quality results for what I'm going for and it seems to be more pre-vis or archtecture focused
The more complex model the less chance that you will get effect you want. Engine tools use simple geometry for their systems too.
Can you show the effect you are aiming for?
Those guys made their ow road system in Houdini => https://vimeo.com/116087676
Other procedural examples of using Houdini for game development:
http://freek3d.com/downloads/Freek_Hoekstra_Graduation_final_report_Final_PRINTED.pdf
http://freek3d.com/downloads/Procedural_Railroad_Creation_Hoekstra_Freek.pdf
What you will get from Houdini is limited only by how good you are with it.
This really doesn't answer any of the questions I have. Technically, people can create levels that look better than GTA or Crysis games with milkshape or blender. Also, I didn't mean it about the software, but rather the videos you have shown.
What I really want to know is how to deal with the problems that occurs when creating environments such as these. How to texture the roads so you don't waste lots of resources, how to connect them without obvious texturing and modeling seams. How to do marking, should I do it on road textures, which means a loss in vram or rather decals, that will add up geometry and will cause rendering problems [clipping] How to deal with terrain. How to handle a scene when there is a road, bridge, dirt road and some terrain. All of this might seem very simple, but in a production, can cause a lot of problems if it's done without proper knowledge which I am seeking.
- one super clean tileable 512px asphalt texture, plus more for burnt rubber or sandy/dirty variations (thess could be even smaller). Each has albedo, normal, etc.
- 2 or 3 detail maps, 4k x 512px, grayscale, that mask the white dividers, or tyre marks, or general dirt. They could fit on one file (each channel a mask) The road is just a box shaped spline unwrapped so it's 512px tall and 8 times or more wide (it can tile horizontally indefinitely).
- tile the asphalt texture something like 16 times on U, 4 times on V and use the detail maps to blend with the dirty variations - you can even tint the asphalt white or yellow to get the dividers.
- so the detail maps break the tile-ness of the asphalt and you could further mix with vertex colors to combine the detail maps between them. You could have one mask with all the different signage arrows and just vertex paint where you want the sign to show.
- even if the masks are low res compared to the size of the road you get your texture resolution from the tileable maps inside the masked areas.
I'm not sure how correct this is though, but it's how I assume it's done. For intersections I think you have to build modules with their own masks.
Making roads for games like Forza/GTA/NFS usually have tools in the engine. 6 years ago I used an engine that had basic road generating tools. I had to follow guidelines to make the intersections, but the roads were click and drag, nothing close like GTAV, boring intersections... It modified the terrain height data to make the roads flush and apply proper texture for road edges. The tools were not so good, but were better than the other option: doing it by hand.
Other way is to do it in 3DS Max/Maya/Blender/LW/XSI/??? , break it down into chunks (size of chunk determined how your engine deals with loading lots of assets) and export that. Find clever locations and ways to break up the assets/cover seams. You will need to load your terrain first to make sure it matches. Even with dedicated tools making roads that match with terrain is not easy.
Houdini seems to be the way to go. Your terrain needs to be made WITH the road, and it seems Houdini can do that.
Honestly. Take. A. Look. At. Houdini.
This is true. But your problem is creating roads with the terrains shape in mind. And as far as I know, Milkshape and Blender can`t do that.
You are asking questions that should go to the programmer dealing with this stuff/creating the shaders. We don`t know what the engine you are using can do. Just work within the space dictated by the engineers/engine, how you deal with those limitations is up to you and what quality you can put out.
If you are willing to share what the engine can do in regards to rendering, what shader(s) you have access to, then a better answer can be provided.
I use Unreal Engine 4 on a daily basis and that's how we proceed indeed.
Imagine you're just texturing a big quad, with all your logic/tiling inside the shader itself. The you bend this quad in-engine, duplicate it along a spline and that's it.
There's even a tutorial from Epic Games about this specific feature in UE4:
[ame]https://www.youtube.com/watch?v=wR0fH6O9jD8[/ame]
Houdini Engine for UE4 is coming... just saying. The traces of it are already in existing Houdini builds.
If anyone is interested in giving a chance to Houdini and would like to use Houdini Engine power directly (without baking o disk in Houdini) inside their engine that doesn't have support for it yet (if ever), you can implement it yourself. The API is very easy and source code of plugins for Unity/Maya is available for free to everyone, so it's very easy to integrate it within you engine of choice. As long as you know your engine API of course.
Using Houdini Engine is better because you can then take advantage of, for example, prefabs instancing in Unity. Baking it in Houdini to disk will give you not the best optimized geometry.
As for houdini, we talked about it and right now it's not exactly a smart move to spend money on new software which our team will have to learn. If it's unclear, we are quite professional team and know how to build all of the stuff I have listed, but the thing is, we are looking for a way to build it smarter, faster and less destructively.