My second product for Unity, NSL Easy Interiors, is now available in the Unity Asset Store!
NSL Easy Interiors is an editor extension which provides an intuitive 2D floorplan editor from which a complete, fully textured interior is generated and placed into the scene.
This was a really big project for me, requiring coding, modeling, and texturing. My initial plan was to create a 2D interface for arranging wall prefabs, but, as tends to happen, along the way I kept having “well, what if it could do this?” moments.
Among these was “what if it could apply different wall shapes to different rooms?” or “what if I could add all of my materials right in the editor?” And of course, “why not make ceilings and floors while we’re at it?”
All of these features required me to rethink the basics of placing walls. The walls are constructed form a small number of models that are designed to fit together seemlessly in any configuration. On the surface, that might seem as simple as having a “straight wall” and a “corner” and just arranging those. In practice, it required smaller pieces that could be arranged in a larger variety of ways. This introduced some interesting challenges. When you rotate a wall segment, 4 small meshes (in most cases) need to be rotated and placed accordingly, and everything needs to fit together seemlessly.
That meant spending a lot of time with the models, keeping their vertices precisely lined up and adjusting UV maps so that all of my vertical stripe wall textures maintained proper spacing across different segments.
The interface presented its own set of challenges. Throughout development, I would ask myself “how can this be done easily, but without limiting flexibility?” That lead to solutions like locking wall placement to 2 unit increments while allowing material, ceiling, and floor placement to apply in single unit increments (a small, but very important decision that allowed all of the different design elements to start working well together).
I am very happy with the way it turned out. I think NSL:EI could potentially save people a lot of time in projects that require complicated interior layouts. Please feel free to let me know what you think in the comments below or in the forum. 🙂