This is another post I’ve been meaning to write for a while, outlining our art workflow on Lens.
Coming into the project, many people on Lens had never worked on a 3D game before. No one had worked on one of this scale. Our art workflow was very much something we were constantly iterating on and figuring out as we went along.
All of our custom 3D assets in Lens were modeled in Blender. Primarily this was because it came with no licencing issues and because most of our team and the artists we were recruiting knew how to use it. All files were exported to .fbx
Texturing was a bit more eclectic, we had people using GIMP or Photoshop and keeping things png. I personally used an open source painting tool called Krita quite a bit. In addition to our own painted textures, we had downloaded a few texture packs from the Unity asset store.
Really early on, we were using our PBWorks wiki to pass along a lot of our art assets (Mostly concept pieces at that time). This very quickly became unfeasible, and when we’d run out of space, we switched to Dropbox. Similarly a lot of the information we tried to keep on the wiki slowly drifted over to various Google docs
Asset planning was tough, because we didn’t know what was going to stay and what was going to change.
At this point, we had very few dedicated 3D artists, and most of them were involved only remotely and part-time. Even with a few weekly meetings,
While we were aware of Texture Atlasing and the benefits, this was implemented haphazardly. In retrospect, I was trying to hand over fully completed models, when I really should have been working iteratively, but we were also trying to define an art style which is hard to do with unfinished assets.
This was also when we were planning on Unity free, which
Near the end of Winter Quarter we’d realized we would need help. We talked to Jim Whitehead, our professor at the time, and were able to offer independent study credit to a few 3D modelers. I was tutoring for our 3D modeling class at the time, so I put out the word we were looking for artists and got an overwhelming response. In the end, we added 9 more artists to the team
If suddenly doubling our team size seems like it could also cause a lot of problems, you’d be right. Even with most of them being part-time, we had to be a lot more organized, and thankfully after 3 months of work we realized that.
We now had plenty of modeling power, but still very few people who could texture. I’d found a few resources on environmental planning over the break.
The plan was to make a few large textures, from which a ton of smaller objects could be unwrapped to. With only a few people working on these textures, and a large number of objects being unwrapped to them, it became a lot easier to maintain visual consistency. If we needed to update the textures, we only needed to modify one or two images (particularly useful in a two world game).
Combined with our modeling power, this actually allowed us to create a huge number of assets. It still took a while to get any of these textures to a near completed state, but once we did it was a simple matter of quickly unwrapping new assets to the existing atlases.
There were disadvantages of course. It can be hard to account for what details you will need, and it is similarly difficult to scale those details in a way that let’s multiple objects use them unobtrusively. This meant we probably ended up with slightly larger texture sizes than were needed and more blank space. Small changes to one element could also end up inadvertently affecting others.
Ultimately, it was the right choice for us.
Things learned. May not be always true, but they’ve applied to Lens
-Have someone in charge of your art. This doesn’t mean someone who has to do it all, but someone who is responsible for making sure things are getting done and has final say if there’s a dispute.
-Plan and iterate. Everyone will want pretty shiny things to play with right away, even you. Pace yourself, start with viable to get a feel for dimensions and flow, replace with unique and finished assets once you have more time to make them and are sure they won’t just get scrapped.
-Establish guidelines and conventions early. Bring up problems quickly so that people don’t accidentally get into bad habits.
-On the topic of guidelines: Someone will take that asset you made and do crazy, terrible things with it. When this happens, update guidelines and make sure everyone knows why these crazy terrible things are crazy and terrible.
-Do not use cubes as buttons.
-Delegate and keep people talking to each other.
-Do not use cubes as buttons
A few Unity Tips:
-Try to keep models to scale. When you need to scale a specific instance, try to keep that scale uniform (2,2,2). Avoid Non-uniform scaling. It looks bad and causes headaches and a performance hit which you can read about here: http://docs.unity3d.com/Documentation/Components/class-Transform.html
-Go by the vertex/poly count in Unity, not your modeling program. Unity accounts for duplicated vertices caused by UV unwrapping, vertex colors,and edge smooth.
-Optimize meshes. Keep cylinders simple when you can, remove vertices no one will ever see, try to remove edges and vertices that don’t add to the shape of a mesh. Edge smooth can look good, but it can also add a lot of extra vertices. The more
-Avoid auto-unwrapping: It will often result in more seams than necessary, which can look weird and results in more vertices per mesh.
-Holding ctrl when transforming an object in the editor will snap.
-Holding V while moving an object will let you snap it vertex to vertex.