Search Unity

  1. The 2022.1 beta is now available for testing. To find out what's new, have a look at our 2022.1 beta blog post.
    Dismiss Notice
  2. Welcome to the Unity Forums! Please take the time to read our Code of Conduct here to familiarize yourself with the rules and how to post constructively.

Modeling and Texturing Outdoor Environments for Mobile

Discussion in 'iOS and tvOS' started by tpennetta, Feb 25, 2014.

  1. tpennetta


    Jul 25, 2013
    Hello All,

    I have browsed the answers, forums, and documentation. I have searched the interwebs. I have seen tutorial videos on modular vs. fully modeled environment creation and I still don't seem to have the answer I was looking for.

    I am in the planning/design stage of my hobby project of game design. I am a programmer by trade and a modeler and designer by attempt. My game I am looking to create will be intended for use on mobile devices, targeting that of iPhone 4+. The main scenery that will make up this game will be outdoor NPR (Non-Photo Realistic). A bit cartoony.

    I have come to the conclusion that I will have to make the levels using a modeling tool and not Unity's Terrain editor. This is because terrains are too much overhead for mobile devices, especially since I will be needing as many frames as possible for logic not draw calls.

    This being said, I also am aware that mobile devices have lower image texture resolutions. This can vary slightly from device to device.

    Here is my main question. I am using Blender to model my levels I suppose. But I want to be able to model the fully level geometry for use in this mobile game in Unity.

    1. Do I model the level in one big geometry (still not too many tris).
    2. If I am limited so intensely on the size of the texture, how can I UV map this level?
    3. I would of course love to use tileable textures for ground, grass, etc. But! What if I need to do more advanced things like texture splatting. For example, patches of grass on top of my ground texture. Edges of cliffs will have green grass texture. Etc.

    If anyone has experience in Blender or another modeling application that can send some words of wisdom my way for texturing and UV mapping an outdoor scene for mobile devices that would be greatly appreciated!
  2. Essential


    Sep 8, 2011
    My first recommendation would be to investigate the publicly available scenes from other Unity games and see how they have done it... Angry bots, Shadowgun, come to mind. These are not primarily outdoor scenes but there is a little section of outdoor areas in both (e.g. rocky parts), and you can also gather the fundamental approach to the level design: a basic foundation with modular details added in Unity.

    This is the same approach I've taken for my level designs. I'll import the ground and any integrated scenery as one object, then in Unity I'll add trees, foliage, grass, buildings, and any other props –all as prefabs– to the scene. This is incredibly useful to do in Unity because if any changes need to be made (e.g. moving a fern) it can be fixed and re-lightmapped easily and quickly, this is even more true if you need to change a prefab model itself as the changes will be propagated. A useful Unity tool to aid in this kind of level construction is BatchingTools, which lets you non-destructively merge a set of objects and their textures and UVs into a single object. Unity also has dynamic and static batching that also aids in reducing draw calls. If your levels are especially large you may want to split the level up into partitions.

    I'm not too sure what you mean by mobile devices having lower texture resolutions. I believe there is a 2048 max size for a texture in iOS but this is certainly big enough to work with — you are not going to get all your textures into a single atlas. (Although BatchingTools will definitely help here as well.)

    Texture splatting grounds is something I am about to look into myself. It's definitely possible on mobile and there are a few free shaders and many tools on the asset store, I just need to find the right one for my project. But if anyone has any suggestions in that respect it would be helpful for me also!