Diary Part III: Difficulties and Challenges

In this part, I would like to tell about some of the challenges and difficulties we faced during creating this asset pack. This diary won’t be complete without telling a bit about it. I hope you see them as milestones of a learning curve as I did.

Iterations

Thanks to Hack N Plan I tracked quite well how much time I spent on each task. It turned out, I spent way more time on the first phase than I planned. This was because I wanted to make sure everything will be set before I move on to finalizing the modular parts. The cycle was to model, export, build, and if there was a problem, move back to Blender and remodel that part. Making the stairs had more than 3 iteration cycles before I even get to highpoly modelling and normal baking. The elegantly curved form was not really good for vertex snapping. The railings had gaps, but I didn’t want to give up on separate railing parts, for the sake of reusablility. The rectangular based columns were too small, so I made another set of bigger columns.

Columns in various shapes and sizes help create variation in the environment

Seamless Parts

Creating the walls and floors and make them tile seamless was less of a challenge than I thought. However the small stairs (steps) needed better planning, because the individual bricks had to be seamless in every direction, and the floor pieces need to be seamless with the basic floor too. I had to reshape these meshes a few times until I was satisfied with the result.

An early view in Unity editor of the tileable steps with placeholder textures

Shader shenanigans

Making the leaded glass windows – and making it look like it is leaded glass was one of the most memorable challenges. After creating the model and textures (together with alpha masks for the lead parts) I dropped it into Unity. I got a friendly feedback on how the glass should refract light and create a distortion effect. First I used a built-in glass shader, but it only had base color and normal inputs, and I needed the metal parts to be non-transparent and metallic. We didn’t quite laid our hands on custom shader creation before, so we moved to Amplify Shaders to solve this. I am still new to this whole shader thing, but the result was much better than the first time. After this I had to move on with the rest of the package, and this whole glass shader issue was laid apart for more than a month. While assembling the Demo Scene, we got to it eventually again, and Adam offered his help with Amplify to solve the issue. Seems like a new eye can make all the difference when working on such a big project.

Cleaning up & Bloopers

When having a big pack with more than 400 prefabs, it can quickly grow out of hand with all the variations, parts, bits and pieces to stay organized. We went through multiple times on all of the folders, meshes and prefabs, so future users of the pack won’t have any trouble while building a level. This was the phase in which we found other issues too, such as inconsistent prefab naming unnecessary large textures, unused materials and duplicate meshes.

One of our favourite happy accident happened during the scripting of the doors. We made all drawers, doors, and cabinets interactive with these scripts, which use the pivot and axis of the object to rotate them accordingly. In this case, something got messed up and this door opened in a way we both were laughing in tears for a while:

So many prefabs to build from!

Coming Soon to Asset Store - Dark Fantasy Kit!

The last, but not least task with any Asset Store pack is to create nice presentation of the contents. With this pack, we built a few demo environments and highlighted the pack’s strong sides, showing its best within Unity. We refined the renders with the latest post process stack, and besides the screenshots, we will release videos and downloadable, playable demos too. Depending on the Asset Store’s review process, the pack will be available in the store within about 3 weeks.

Thank you for reading this blog post, and feel free to share your insights in the Unity Forum.

Diary Part II: Dark Fantasy Environment and Props pack

In this blogpost, I would like to share my personal experience, and give insight on my modelling and texturing workflow.

Phase I - Concepting and sketching

After all the planning was done, I started to work on the prototypes. I quickly sketched a few of every type of items in Blender, using only material colors and rough shapes, combined with lots of Mirroring and Array modifiers; I also used beveled Curves where it was needed to achieve complex curvy forms. I figured out scale, main forms of the models, and tried out modularity in Unity. I also created a few basic materials, such as stone, brick wall, wrought iron, and used some pre-made materials too.

Phase II: Base Assets Modeling and Texturing

This phase was, in my opinion, the most time-consuming task, and along the way I learned a lot about productivity, flexibility, and importance of feedback. I made some detours and backtracking and had to reconsider some conceptual flaws. As it is with most production workflows, gradual iteration led me to refine my skills and I have to admit it is still visible – at least, for me – in the assets quality. Here are some early images of the first „pre-alpha” passes in Unity, where I tested modularity:

Testing walls, and stair tiles modularity in Unity

The modelling workflow

I usually use Box modelling, which means I create a model from basic shapes (boxes, cylinders, spheres etc.) and refine and detail them until I get the form I want. I also like to use beveled Curves to build elegantly curved, or organic models. I often use Cloth simulation in case of draping fabrics. One of my favorites was creating the pillows, which I took from a tutorial, basically inflated the highpoly mesh with a force field. The female sculpture modelling started with a Makehuman basemesh, decimated, her hair was formed of beveled custom Curves, and her dress with Cloth simulation.

Modeling stylized hair with a custom beveled Bezier Curve

Texturing

When I have both the high poly and low poly meshes, I create the UV layouts. If the model has smaller parts, like drawers, I move those away from the main mesh so they won’t interfere with each other when baking maps. I do the normal map, curvature, ambient occlusion (etc) bakes in Blender or in Substance. I also make a color coded version of the mesh, and create a color ID to be used in Substance.

I check face normals, and correct them with Autosmooth or Weight Normals tool if needed. I export the mesh (or meshes, if they share an atlas). If the mesh is complex, such as the ornamented fences, I also prepare a simple form to be used as a LOD later. Then I move on to an image editing software to create masks and ornament alphas if needed.

Below you can see that I created details for this wardrobe from individual Arrayed mesh shapes. After normal map baking, the result was nearly the same as if I used hand-painted alphas to generate the detail normals in Substance. Making the highpoly details can be more time consuming than painting the alphas, and normal map baking settings can be different for each separate part I do,  and the resulting normal maps sometimes need manual correction, which I think is a bad practice. To be honest, I encountered this same problem multiple times while baking very small details, until I gave up and decided to paint alphas and generate normals procedurally at the later models.   Of course, these furniture models are not for architectural visualization projects, which would need a higher level of detail.

Creating Materials

Creating textures from scratch digitally is a very rewarding task, even if you do not excel in traditional art. Luckily Substance Designer is the perfect tool for this. I constantly try out new node setups, watch highly skilled material artist’s tutorials and techniques. In some cases I take the easier path and simply use a modded version of the built-in materials, or turn to an online material library. While using a material as a reference, you can get a lot of information out of the previews, and there are also options to generate a seamless texture from a single colored picture.

I followed a well-traveled path of PBR material authoring, creating Base color (=Albedo), Normal, Roughness, and Metallic maps in Substance. I also experimented with Height maps, both within Substance and Unity, but I found that Unity’s built-in Tessellation shader is not very good when it comes to buildings, and it is more optimized to be used with Terrain. So I ditched the idea and worked more on the base material. If I can move forward with my (currently limited) Shader knowledge, I will try to find a better solution for wall surface variations. Until then, normal maps and cornerstones will do the trick hopefully.

Creating Variation

With Substance it is very easy to create more variations to a material in a non-destructive way. With the covered crates, I made three graphs for this material – one for the wooden parts, one for the fabric, and one where I merged those two and had the variation options exposed. Now I can adjust the base color, detail color, and any other setting I exposed in my main graph. This keeps the work organized: instead of a huge tangled graph I have compact, customizable sub-graphs.

I also created a custom node which helped me merge the Roughness (inverted Smoothness), Metallic and Ambient Occlusion maps into one RGB image, as Unity’s Standard shader uses it. I really like the idea to use the channels of an RGB image instead having 2-3 grayscale images.

In the next post, I would like to tell you about what challenges and difficulties I faced, and how I solved them while creating this pack.

About the Author

Dotti Hegedüs

Dotti is co-founder and 3D Artist in Runemark Studio since 2015. She specializes in environment and props modelling in various styles.

Diary Part I: Dark Fantasy Environment and Props pack

The Idea & motivation behind

In the end of 2017 I already had 3 model packs in the Asset Store, the School Gym, the Swimming Pools and the Climbing Hall packs. Not to mention my earliest try, Alchemy Pack, which was my first attempt to post my work online. I looked upon my packs and thought, I definitely can do better, I just need more time… and inspiration. What to do for the community and the Store? If you search for Fantasy packs, you can have quite a lot, in various visual styles (lowpoly, cartoon, realistic, etc.) and quality. All have a nice, generic fantasy / medieval feeling to them. You can build villages, castles, entire cities… that will look just like all kind of peaceful creatures and law-abidding citizens dwell in it. Maybe a few dungeons and sewers for the lower-class villains…

Real Estate for Real Villains

So, what about the baddies? Sure, you can shove the evil guys to an underground, damp dungeon, or a cemetery (who lives in a cemetery, anyway?), or to a crumbling castle.  But as I was surfing the Asset Store, I found that there are no environments for villains with style. Evil overlords who gain their riches off the poor peasant’s sweat and blood, who display their authority and oppression in forms of not just military power or deadly magic, but with their environment. With this pack, I will try to add a unique atmospheric elements to a generic fantasy world, where the viewer can instantly feel when he enters the villain’s lair – where the neutral land ends, and the villain’s true domain begins.

Collecting Reference

Reference image from Elder Scrolls Online

First I looked on some references. What makes an environment feel „evil” ? After studying lots of images from various fantasy worlds with stylish villains, I found that a few elements are almost, always there: spikey stuff, and black,heavy, wrought iron. Gothic architecture is very often portrayed with vampires’ castles. I also found that giving the style an exotic touch, such as Moroccan architecture, can be very interesting and feel elegant, like the way I imagine Dark Elves. So I took those gothic arches, added a little exotic feel from Moroccan architecture, and topped them with menacing, dark, wrought iron spikes and grates. I also had to choose a heraldic animal. I’m still a bit ambivalent about the chosen animal, the scorpion. I could choose wolves, ravens, spiders, or snakes as they are all connected to dark and „evil” metaphors. Maybe later i’ll add these as ornament and decoration variance to the pack.

Moroccan Window

My main inspiration on style were Lord of the Rings ringwraiths, Elder Scrolls’ Daedric and Ebonheart architecture, and dark elves environment from Styx – Master of Shadows. I found that ESO Furniture catalogs made by fans are a nearly endless source of inspiration;  it helped me to achieve a certain level of complexity with the furniture models.

Planning the workflow

I also had to plan what exactly I want to build – building and furnishing an entire unique environment is no small task, and I have limited resources and time until I have to look for a regular job again; I want to use this timeframe as efficiently as possible, while maintaining a healthy daily schedule. 3D work can be very visually intense and one should avoid burnout or health damaging habits while working on large projects, because both can lead to a decline in motivation, work quality, and in the end, the whole project can go south if you don’t manage yourself correctly.

For this I looked upon other publisher’s packs, and made a nice big spreadsheet about all the pieces I will need. Floors, walls, doorways, columns, windows etc…. and then, filling those empty stone halls with containers, decoration, textiles, furniture, and other clutter.

At this point I started to realize how big this project will be. I had to divide the work into smaller batches to be manageable: first, I will create the modular, architectural bases such as the walls and floors. Then come the detail elements, like doors, windows, columns, stairs and fences. After this part come the individual prop pieces, such as containers, furniture, ornamental items (sculptures, reliefs, etc.) and textiles (rugs, flags, curtains..) In some cases I made two or more variants for the same item, especially those which are reused very often. There are still lots of models which have no variants, but might be combined with clutter later on. I hope that in the future, after I released the pack, I will receive feedback on what needs to be added or altered.

Before the planning phase I registered to a project management app (Hack’N’Plan) to track my progress and share the project details with Adam. He and I are co-founders of Runemark Studio, our little entrepreneur business. He helped me a lot creating the milestones, and tackling the massive amount of ToDo’s I had in my spreadsheet. When everything was set and ready, I started to create the prototype models for the pack.

In the next blogpost, I would like to share my personal experience and my creation workflow. I will write about my modelling and texturing practices and techniques. See you soon!

About the Author

Dotti Hegedüs

Dotti is co-founder and 3D Artist in Runemark Studio since 2015. She specializes in environment and props modelling in various styles.