I’m preparing a racing game that takes place in a unique big scenario.
It is an small size European city and I’ve designed 85 tracks so far.
Now, I’m in the doubt of how it is done to load different racetracks in the same escenario, I mean, how can I mantain the base scenario wich will be the city and load on top of it the barriers, road decals etc for each race-track.
In Microstation I would have base model wich would be the city, an if I want to visualize a particular track I would insert it as a Ref-X.
Wich is also available in other apps such as Autocad or 3Dmax.
In unity is there a similar procedure to load Scenes over other Scenes and make possible to update them by modifying the original one?
No, it wont. It’s probably best not to use load level additive and keep all your tracks in the original scene. You could hide/destroy all the ones that are not selected upon starting the level. That’s what we did for batman streets of gotham anyway. Granted, that one has only 2 different tracks per level.
ufff; that will be a serious mess. Because in unity there are no layers where I cant keep my objets organized, neither layer groups that could allow me to show-hide them easilly. grrrr
I might use a .fbx that comes with the definitive geometry and generate an scene per track, using .fbx file as base and delete the .fbx from scene once the level elements are placed.
Then, in runtime, add a level or other, depending on the race…
while writing this… never tried but…
if you drag&drop an unity scene like an fbx into Unity works like imporitng an fbx? if it works it could also be updated like the .fbx files… will have to try this.
You could organize your tracks to be grouped in one root game object and load the scene additive then. To remove that newly loaded scene, you would only need to delete the root game object. One way of doing this.
I use a different approach. I always stay in the same scene and have all objects beeing instantiated as I need them. For example: I can drag track properties into the current level and click a button in an editor script and all the position data, rotation etc. is written in a text string that I store then. Later, if I want to recreate this track when the player clicks play, I fade the screen to black and at that point I read in the text string and instantiate all objects like they have been saved. Works great for me.
There definitely are ways to organize your tracks. It may just work differently than what you’re used to.
The easiest way to organize this, is to place all objects that belong to a certain track into a single gameobject. You can then activate/deactivate entire tracks with a single click in the editor, as well as with a single call from a script during the game.