Search Unity

workflor for building levels?...

Discussion in 'General Discussion' started by U7Games, Apr 29, 2014.

  1. U7Games

    U7Games

    Joined:
    May 21, 2011
    Posts:
    943
    Hi!..

    i'm a bit confused while bulding levels...
    how do you do that, or how could be a good way to acchieve it:

    1) build the complete level in modeler, apply textures and then export the mesh(es) into Unity, the work in Unity with gamelogics..

    2) build single objects in modeler, export each of them into Unity and build the scene in Unity....
     
  2. Grimwolf

    Grimwolf

    Joined:
    Oct 12, 2013
    Posts:
    296
    I haven't gotten there myself, but the common approach appears to be to build, at the very least, large chunks of the level all together in the modeling program, then export it all into Unity.
    I'm curious about the specifics as well.
     
  3. Graham-Dunnett

    Graham-Dunnett

    Administrator

    Joined:
    Jun 2, 2009
    Posts:
    4,287
    You can do it either way. Really depends on the skills of the artist you have, and what control you want over the objects in the game.
     
  4. Grimwolf

    Grimwolf

    Joined:
    Oct 12, 2013
    Posts:
    296
    I would imagine the reason for doing it that way is so that you can tweak everything to better fit as you want, like deleting obscured polygons after embedding an object into the ground, for example.
     
  5. U7Games

    U7Games

    Joined:
    May 21, 2011
    Posts:
    943
    hmm.. yeah.. understanding...

    for 4 years i have done it like grimwofl said... and i feel really good making this way...
    for some reason i thought that i was wrong building the level....

    but indeed, is a lot easier to control polygons and snap them on modeler than unity, So i´ll switch back to my old way

    Thanks!
     
  6. Jingle-Fett

    Jingle-Fett

    Joined:
    Oct 18, 2009
    Posts:
    614
    The way that I would recommend is using a combination of #2 and using a tool like ProBuilder. Use probuilder to block out your whole level directly in Unity and you can quickly get a feel for the flow of the level itself, does it feel right, etc. as well as blocking in the sihouettes of the environment, blocking out detail objects, testing out the lighting, and doing simple uv mapping/texturing. You can use your modeling tool instead of Probuilder if you want...but the modeling tools aren't really dedicated level design tools, and having all that stuff in Unity means you can iterate a lot faster, it's more focused.

    Once you have it all blocked out, you export that level to your 3d modeling tool (like 3ds Max, Maya, Blender, etc.) and then you start doing the detailing. You can take the ProBuilder level mesh and start putting stuff on top of it, reconstructing parts, detailing, etc. This is also where you'd start doing #2, all those detail objects that you blocked out in Unity/ProBuilder, you'd take those and use them as a reference point for making the detailed/final versions. At that point you could place them in the level in the 3d modeling tool or in Unity, either one.
     
  7. Photon-Blasting-Service

    Photon-Blasting-Service

    Joined:
    Apr 27, 2009
    Posts:
    423
    There's a lot of design steps that are very important before laying out your levels, but assuming we've done that...

    a) build proxy objects that fit into our world's rules
    b) export proxies into Unity
    c) place them correctly in scene according to our design rules
    d) replace proxies with final models over time (note: you must have a very good naming convention)

    Naming convention:
    I use a format of "XO_TreePineA_1a_0000", not something like "pinetree". If you have a naming convention with rules, then you can use scripting to replace things quickly. If you are sloppy, then you will be doing everything by hand.

    This old example took me about a day to do and is typical of my current workflow. The full scene is much, much bigger than what is shown.
    $BlockinTest_RyanB-e1342583482666.jpg
     
  8. U7Games

    U7Games

    Joined:
    May 21, 2011
    Posts:
    943
    @Jingle, the problem that I have with method #2 is that i don´t know how can i do to build modules.. (i mean the technic), i don´t know if i must to build a simple block or group of blocks, for instance, i want to do something like castlevania in 3D but only moving left and right.. for instance:

    build "A" (A is an object)

    export "A" then import it into Unity.. then set position of A in the scene...
    make the same with second object B...

    but i could did an object like "AB" because they have a relation..

    so finally that confuses me...

    exporting A.. will make me export A LOT of objects to build in unity...
    exporting "AB" will make me export less object but less editable scene...

    @Photon Blasting: how did you do the buildings ?.. did you do a single building and duplicated many times in unity or created a group of building from modeler?...

    Thanks both
     
  9. Photon-Blasting-Service

    Photon-Blasting-Service

    Joined:
    Apr 27, 2009
    Posts:
    423
    It's a shot from a custom engine from years ago, but the principle is the same.

    The buildings in that shot are just proxies, I think there's about 20 different repeated buildings plus five unique buildings. I would make the proxy buildings in Maya, then export them to the engine. Name each proxy with a naming convention, ex. XO_TowerMediumProxyA_1a_0000. Place the proxies on the terrain.

    Later, you model a final version. Let's call it XO_TowerMediumA_1a_0000. Write a script that replaces "XO_*ProxyA_*" with the final version. You can just loop through the proxies and replace them with the final versions.

    If you model a "final" quality model first, you will have an empty world which makes designers and producers sad. If you are working by yourself, you can block in your world according to your design rules and start testing quickly.

    I'm working on a 2D prototype now and I'm following the same principles. It's a lot easier because I can just paint over shapes on a sprite sheet.
     
  10. Jingle-Fett

    Jingle-Fett

    Joined:
    Oct 18, 2009
    Posts:
    614
    It depends on the situation. Sometimes you would want to do AB in the 3d modeling tool, but most of the time I would make AB in the Unity editor. Make them as separate objects in the 3d modeling tool and then in Unity put them together to make the new object and make a prefab out of it.
    By doing this you actually end up exporting less since you just make objects a,b,c, and then you can combine them any way you want (A+B, B+C+D, C+C+A+B, etc.). But the best part is you can do this very quickly and then just save each one as a new prefab. It's more efficient too, it uses less memory since you're just reusing stuff you've already made (rather than having a whole new texture set and 3d model for AB).

    Here's an example. In my 3d modeling program I make objects 1,2 and 3 as separate objects with their own textures and materials and everything. Then in Unity I can assemble them into brand new objects and save them as prefabs, which I'd then place around the level as needed.

    $Modeling Objects Example01.jpg
     
  11. yahodahan

    yahodahan

    Joined:
    Apr 26, 2009
    Posts:
    1,380
    Unity is actually very odd, for not having any built-in geometry creation- it's really a fundamental feature for game dev (see Unreal, Hammer, etc). It just makes sense to build the level in-editor, so you can test/build/test/etc instantly. Once you've built the basic level, tested it for flow, movement, lighting, etc, you should then start building "detail" meshes in a separate, dedicated 3D tool (ie, Max, Blender, etc), and import those to decorate the level.

    You can also export the in-editor created geometry, once it's fully tested, and build it up to full detail in Max/Blender/etc. This way you get the best of both worlds- the speed and efficiency of in-editor construction, and the detail and complexity of a dedicated 3D tool.

    I actually have a full series just released on building an FPS level, everything from the geometry and textures, to triggers zones, damage volumes, doors, elevators, secrets, footsteps...the whole shebang :) You can find that here:

    forum.unity3d.com/threads/237485-DOOM-quot-E1M1-quot-Level-Recreated-in-Style!-Webplayer-10-Part-Video-Tutorial