Search Unity

Creating Environments (Unity or Maya)

Discussion in 'Getting Started' started by euphemius, Mar 22, 2018.

  1. euphemius

    euphemius

    Joined:
    Nov 23, 2016
    Posts:
    1
    I'm a beginner in both Unity and Maya, but have the basics down and I'm thinking about environments and the best way to go about creating them. Is there a general preference on the best way to do this? I can create environments in Maya pretty easily with the brush tools for trees, plants, grass, etc., but also same with Unity with assets from the asset store.

    Is there any downside to doing it in Maya and like just importing it to Unity? And is it possible to import whole environments to Unity from Maya without much issue (like still being able to add colliders and everything?)

    Or is it better to create each tree as an individual file and use those in Unity? That seems like a pain if you have many many kinds of trees and whatnot, but some videos I've seen show that.

    Thanks!
     
    Last edited: Mar 22, 2018
  2. orb

    orb

    Joined:
    Nov 24, 2010
    Posts:
    3,037
    If you import whole Maya models as the map I guess you lose some control over objects (everything would use one huge mesh collider), but it should still be possible to set pivot points on parts (doors, for example) so that you could animate them in Unity. Just subdivide and name parts of the model so you have a way to reference them inside Unity. Not sure if there is still a hard vertex limit on meshes, but that might depend on formats.

    The benefits of breaking up maps into objects you place inside the Unity editor include the ability to set objects which absolutely do not move to static, occlusion culling of said objects, GPU instancing (render buildings and trees using the same model in fewer draw calls, even with material changes) and the ability to use simpler box colliders where applicable. And of course each object which needs it can have its own script.

    Tree-placement isn't a big deal since there are tools to automate that. If going for the full terrain experience you should look at Gaia or WorldComposer and related products. Some terrain-specific shaders won't hurt either, since you can make them automate transitions and snow coverage based on altitude. SpeedTree trees have their own animation system and procedural generation.

    Procedural materials (Substances) are also worth looking at. You can make flat, low-poly buildings more interesting either with some effort or their database of pre-made materials.
     
  3. DerrickMoore

    DerrickMoore

    Joined:
    Feb 4, 2018
    Posts:
    246
    Maya, if you have it, Maya all the way.. it imports so nicely into Unity, though... but Maya.
     
  4. Bill_Martini

    Bill_Martini

    Joined:
    Apr 19, 2016
    Posts:
    445
    I think the answer might be both. Anything that is static and can be combined into a single mesh and collider is best. You may need to to use groups of combined meshes in your scene and that's better. Anything that needs animating or not static probably should be separate objects. Unity is a game engine and is suited to manipulate the objects made in other 3D apps. Be aware that combining meshes reduce draw calls and boosts performance.

    Maya is free (if you know how) and is a very good choice of 3D apps.
     
    DerrickMoore likes this.
  5. konsic

    konsic

    Joined:
    Oct 19, 2015
    Posts:
    995
    When I'm tried with terrain in Unity and then closed Unity, my hard drive C: was getting filled with data. Disk C was full.
    I don't know why is that.