Creating Stunning Potion Bottles in ZBrush, Substance & Marmoset

Valeria Gerontopoulos discussed the workflow behind the Potion Bottle project, talked about the importance of background props, and told us about rendering in Marmoset Toolbag 4.


My name is Valeria Gerontopoulos, and I work as a Product Manager at Adobe on the Substance Painter team. Initially, I'd majored in art history, literature, and translation, but after finishing my MA, I was somewhat disillusioned with the career prospects, so I decided to switch paths to something more artistic. After a bit of research, I found out that "3D Artist" is an actual job. As I've always been taken with 3D environments in games, had some background in traditional art, and absolute love for story-telling, becoming a 3D Artist just made sense to me. I discovered that the SAE Institute in Geneva offered a 2-year Game Arts degree, which provided the bases I needed and allowed me to keep my part-time job.

At the end of my degree, my class visited the Annecy Animation Festival, where we had the opportunity to network with the companies present there. I was lucky enough to have met some people from the Substance Painter team who thought my profile was interesting, and so I started working at Allegorithmic as a QA Artist two and a half years ago, and only recently have I transitioned to Product Management.

My job now is not only to test the software but bring an artist's perspective on new feature design and their implementation. I work on 3D projects during my free time, both as a creative outlet and to improve myself, and I would like to do some freelancing for games in the future.

The Potion Bottle Project

The potion bottle was a prop I intended to use in a larger scene. As it was the first one, I thought I'd warm myself up before jumping into a full-on environment and actually make it as a high-resolution hero prop. The art direction originally stemmed from the overall scene, which tended towards the Art Nouveau (beginning of the 20th century) style.

After gathering a few references on Pinterest, I knew I wanted to have metallic support which held the glass bottle in place. I had started with a few simple sketches to determine the shape and balance between metal and glass, iterating on top/bottom-heavy, the shape of the glass bottle itself, its base, and the stopper.

Personally, I consider the sketching and gathering references stage of the process fairly crucial. Refining an idea and finding a direction early on save me from floundering later. For this, I just made some sketches on paper. It can also be done with photo-bashing in Photoshop or quick 3D shape block-outs, but either way, I feel it is important to iterate and try different things before throwing yourself into production mode.

At this stage, I also check ArtStation to see if other artists had done something similar and if so, how they'd gone about it. Their work can sometimes give an insight or a push in the right direction or simply inspire. Looking at other people's art, whether traditional or digital, is also part of the creation process.


As I was still in the process of picking up Blender, the first iterations were made in 3ds Max but then gradually transitioned. I started out by modeling the glass bottle itself to determine its dimensions.  I had to come back and give it more subdivisions, as when I imported the base model into ZBrush, it accentuated the harder angles that weren't necessarily visible before.

Once in ZBrush, I duplicated the bottle as a new sub-tool, scaling it a little so it would encompass the original mesh. From there I had to shape the metallic support. This part involved some trial and error, as I did not have a specific plan in mind. I ended up using the TrimCurve brush – it may be tricky to manipulate at first but once you get used to it, it is an easy process. Since I was going to retopologize by hand, I left it as is without hollowing it out.

The next step was to place the beads around the edge of the metal support. After a few tests, I went with InsertCylindrExt brush, which works just like any IMM curve brush – it will insert a string of meshes following the path, and if you start the stroke along an edge and then press Shift, it selects the edge automatically and draws the path for you, which is extremely practical because you can also adjust it afterward.

Other parts of the bottle were fairly straightforward, although its legs required some fiddling. I used ZSpheres as they are easy to manipulate into place; nevertheless, there is perhaps a better way to achieve cleaner and more regular bends. 

Remember how I mentioned direction and sketching is important? Well, I followed my own advice only partially, and though I'd blocked my shapes early on, I did not plan out the ornaments that I wanted to sculpt beyond their overall style, so I had to go through several (uglier) iterations, and as it was all sculpted by hand, I just had to restart it every time. Learn from my mistakes!

I mostly used the ClayBuildup brush (with or without alpha), as it is my usual go-to for look and feel. As for the final look, I used Alfonse Mucha's art as reference and inspiration, as well as other Art Nouveau-derived ornaments.

After finishing the high poly, I took the bottle to Blender for manual retopology. For my first pass, I used  FlippedNormals' Retopology for Beginners in Blender 2.8 - Retopo the Correct Way as a guide for useful shortcuts and techniques, but since my bottle had some pretty thin surfaces, I ended up doing things a bit differently, and just eye-balled it, which in the end gave a cleaner result.

Creating Background Props

The background props, just like the bottle, were originally planned for a large scene as I'd mentioned earlier. I ended up putting that project aside however recently, I decided to refresh my portfolio and make older pieces more presentable. The idea of giving the bottle some set-dressing was exciting as well since lately, I have been trying to learn more about composition (highly recommend the Art Station Learning course by Stephane Wootha Richard Composition in Painting).

As my focus was on the overall presentation, I did not want to spend too much time perfecting unique props just for this project. I decided to bring out the few small props I already had which would thematically fit with the potion bottle without distracting from it. The books have their own unique material (Texture Set), so do the small props. These props were never meant for close-up scrutiny, as they are fairly low poly and low res, but because they were intended for the backdrop, I wasn't too worried about making them high quality.

I'd previously modeled all the props in 3ds Max. There was a number of them (I did not use them all for this project), so when texturing I grouped different mesh parts in folders, like wood, metal, etc. (masked with the Polygon Fill tool), so I only needed to adjust one "master" material at a time, instead of per individual prop. Glass was given a separate Texture Set, as it would require a different shader all-together, and at the render stage, I used the glass material that comes natively with Marmoset.

Everything else was textured in Substance Painter, and I used old book images from The books only had Base Color from the images at this point, so I used a quick and dirty hack to make them slightly less flat. After applying the Base Color, I added a Passthrough layer with an anchor, which basically collects the flattened per channel information from previous layers. I then added a new Fill layer with height only, gave it a mask, a Fill effect, and plugged the anchor there. Referencing the Base Color channel, I fiddled with the Levels that come with the anchor point to give the books a bit of a bump (I did the same with a Roughness layer). Now, this is really not a very proper way of doing things, and I would not use this approach for anything but a blurred background prop – but there comes a time when quick and dirty hacks can come in handy.


Once I had the low poly, I imported it to Substance Painter and used the high poly to bake out all the details. It took a few iterations where I had to adjust the low poly topology in a few places and play with Max distance to avoid major artifacts. I went back to ZBrush as well to crank up the strength of the sculpted patterns because with baking they would come out flatter than I'd have liked them to be. I used this FlippedNormals' technique to make the details pop a bit more: Enhancing your Sculpts in ZBrush - Top Tip.

The whole bottle was a unique 2k Texture Set, I did not separate glass from the rest, as originally in SP I just decided to texture the glass as opaque focusing on its roughness. My target renderer was Marmoset Toolbag, and this was before I got Toolbag 4, so my original render had no dedicated glass material. However, once I started playing around with Toolbag 4 and ray-tracing, which renders glass beautifully, I assigned Marmoset's native glass material to the bottle (as it was a separate mesh, it was easily done). At this point I felt that it looked somewhat plain in comparison to the rest of the bottle, so to make it stand out a bit more, I tried a few simple Normal Map patterns (I ended up using this Circle Grid) plugging it directly into the Marmoset material and tiling it.

The rest of the bottle was textured in Substance Painter. The ornaments were all in place, so my task at this point was to create a tarnished silver smart material. I started with a base fill layer with all channels enabled. After that, my approach involved a lot of staring at references trying to separate all details within the texture into distinct layers which would then be replicated in Painter.

On top of the base fill, I added Grain and Scratches layers – although they aren't necessarily large scale details (rule of thumb is, of course, to start with large details and work your way to the small), they are fairly omnipresent on the surface, so I wanted to get them in there early to make sure I won't end up with a result that was too noisy. For Grain, I added a very general noise that I felt was closest to the reference and then blended it with a Curvature Generator, as it seems to be more present on the flat bits of silver.

After that, I added an empty Passthrough layer with an anchor point – because it is in Passthrough, it is simply collecting information from all previous layers' channels, and later I can access this information by referencing the layer's anchor point.
The Darkening layer contributes to darker hatching detail which can be seen on some of the references. I blended two Metal Edge Wear generators with different directions because since I wanted the baked information to be taken into account so I could regulate the number of hatchings and their placement, I didn't want to just use plain procedurals or grunges.

Next, I wanted to add some yellow patches present on aged silver. You may have noticed that I rarely use generators on their own – this is because they usually give a much too regular result which does not necessarily reflect real-life references. That's why I like to mix them up with other grunges or procedurals. You can, of course, plug one into the generator itself but it would apply only within the patches revealed by the generator. For example, if you use the AO generator, the grunge will be applied within the AO, and not onto the entire surface of the mesh, if that makes sense. Both are valid use cases, it just depends on what you need to achieve. Here, I wanted to blend the grunge texture outside of the generator so it takes into account the entire surface of the bottle.

My last layer is an overall dirt layer. I did not want the bottle to look too shiny and polished, but rather fairly tarnished and used. I employed a curvature generator here since dirt would likely be strongest in crevices, and this is where I make use of the anchor point I placed earlier just to accentuate the details I added in Grain and Scratches.

For this scene, I ended up not using the information from my last layer Surface Dust, which applies to both the glass bottle and its metal support, but it is perhaps interesting to mention it. It uses the Light generator as its base to defines where dust would be most likely to settle, which coincidentally behaves much as light would. This generator comes in handy whenever I need general dust or dirt-type coverage.

Lighting and Rendering

As I had mentioned earlier, my target renderer was Marmoset Toolbag. Back when I did my first pass, it was still with MT3, and I only had my laptop then. The final version with the set dressing was done after I got my new PC and Toolbag 4, so I was really able to take full advantage of ray-tracing and all the improved features.

My set-up is very basic – a plane and a flat box as a wall and table. I used some base materials from Marmoset (basic color iterations using the built-in overlay). I wanted the background props to frame the bottles, so I fiddled with their placement – I wanted an arrangement that doesn't distract from the main subject. At first, I was going to use just one bottle, but I felt like the composition was a bit bland with a single central feature and it was impossible to see all its aspects. So I duplicated it and played around with rotation and placement. I also added a subdivision level within Toolbag's settings just to get some rounded edges for the close-ups.

It wasn't hard to define the main camera shots in this case, as the bottle was the central subject. I wanted one shot to show its base, and a clearer shot without any background props to focus on the ornaments. It can be harder when there are multiple subjects, but with a single main prop, you just need to determine what you want to draw attention to per shot.
Lights are still a learning process for me, but I feel like I am gaining some confidence in the domain, especially in smaller scenes such as this. My rule of thumb is usually Warm, Cold, and Subtle Colorful, but I try to think of these less abstractly. For instance, I imagined this scene on a desk next to a window that lets in a clear late-morning light. Thus my main light is a directional pale blue light. I would also imagine that the other side of the scene could have a secondary warmer point light, as if from an interior source. And as an option, I wanted to have a more subtle hue somewhere, so I added a very faint pink point light, which I feel makes it just a tad more compelling.
You may wonder where the skylight is in all of this. Personally, I think of it as secondary, and if you turn it off, your placed lights should still be able to highlight and show what you wanted to show in the first place. The skylight just gives a general tint to your scene, as well as helps you avoid total obscurity on parts of the scene that aren't the focus.

I don't really use any post-processing outside of Marmoset, but I do like to play with the camera settings available. As is readily apparent, I made heavy use of Depth of Field, both to focus on the bottle only and to hide my not-so-perfect background props. I did up the contrast and saturation a little because, with the Full Directional Light, the metal details were getting a little washed out. I also like to have a bit of Sharpness and Grain on my images, although not to the point where they become obvious.


The main challenge here in the first place was the sculpting. As it was in no way procedural, I had to re-do it when I made a mistake or just wanted to iterate. Another challenge, since the point of this project, was to refresh my portfolio and older props were really thinking about how best to give this prop a fresh coat of paint, so to speak, and how to make it better than it was before new renders. It was a really engaging process, as I was learning more about composition, and focusing more on light and scene dressing rather than making and texturing individual props, which is usually what I dwell on the most, whereas it is just as important to be able to put the final render together. I think this little prop scene really helped me gain a different perspective on how things can be done.

What I took out of this project is to keep in mind your target purpose. As in, if I were to use this bottle in a big scene, I would not necessarily bother with all the small sculpted details since with a third person texel density of 5.12, they just won't be visible. The same principle with the background props – if they were actually used actively, I would have put more work into their textures.

It is also pretty important to know how to set up and light your scene – you might have the most gorgeous textures in the world, but if it is badly lit, they won't look good. And vice versa, texturing may be far from perfect, but give it nice lighting, and hardly anyone would notice.

I am not sure whether there are any specific rules to prop art. As with anything, observation and references are key and should not be neglected. Even if you are making something that does not exist in real life, you should always assemble a collage of references as guides for different parts of your object.

The eye is just like any muscle in this case – you will not get everything right immediately in your first, second or even third project, you need to train your eye to observe and deconstruct information that you see, like when you try to discern different "layers" on a surface.

There are some wonderful communities out there with people willing to help out, like the Dinusty Empire Discord server. My general advice is to stay curious, mindful, push yourself and ask for feedback, and if for any reason you cannot, put your work aside for a few days then look at it again, it will help see it with a fresh perspective. Making art, and 3D art especially as it is such a fast-paced industry, is a constant learning process that I myself am still undertaking.

Thank you 80 Level for this opportunity and to those who have read thus far. It is really nice to be able to share my process and my journey, in the hopes of helping someone with theirs. 

Valeria Gerontopoulos, 3D Artist

Interview conducted by Theodore Nikitin

Join discussion

Comments 0

    You might also like

    We need your consent

    We use cookies on this website to make your browsing experience better. By using the site you agree to our use of cookies.Learn more