- Home /
Modeling and Texturing Outdoor Environments for Mobile
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.
Do I model the level in one big geometry (still not too many tris).
If I am limited so intensely on the size of the texture, how can I UV map this level?
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!
Answer by MakeCodeNow · Mar 21, 2014 at 06:28 PM
If you're targeting iPhone 4 and up, here are some general guidelines that I've found work well:
50k-100k tris per frame max (depending on if you have things like GPU skinned characters or not).
100-150 draw calls per frame max
150-200 MB total memory (textures, meshes, unity, etc)
Keep your pixels shaders as simple as possible.
Don't do things PVR GPUs hate (alpha test, dynamic branching, etc)
1) It depends how big is big. In general, though, one huge mesh will be a lot for the GPU to chew on. You want to find the right balance of draw calls vs tri count. A more fine grained scene will be more draw call work for the CPU, but less work for the GPU drawing offscreen.
2) On reasonably modern versions of iOS, you can use at least 2048x2048 textures if not 4096x4096, so I don't think texture res is limited. Total memory is limited, so be sure to use compressed textures and make smart use of the ones you have.
3) Once you get into tileable, blended textures w/ splatting and all that, you really should just use Unity terrain. That's kind of what it does, and it's unlikely you can create something better and faster from scratch. I don't think that Unity terrain is inherently unfriendly to mobile, but it may be hard to get the control you want, especially for an NPR looking game.
As a last note, I'd generally caution against trying to do truly open world/outdoor games on older mobile. It's not that it can't be done, it's just that it'll be a real challenge. Better to design your game like Metroid Prime, where much of it feels outdoor, but everything is really a collection of (large) rooms.
Your answer
Follow this Question
Related Questions
How do I use Application.LoadLevel to load the next consecutive scene? 1 Answer
overlapping UV on mobile 1 Answer
Level Creation, Prefabs and Colliders 2 Answers
Assigning UV Map to model at runtime 0 Answers
Recommend me an asset for level creation 0 Answers