Vlad Kiselev told us how to create this seasoned hedgehog with realistic and human-like proportions, which is modeled in ZBrush and rendered in Unreal Engine, sharing how to maintain its stylization in concept while adjusting to convey the personality.
Introduction
Nice to meet you all! My name is Vladislav Kiselev, or just Vlad Kisel. I’m a self-taught 3D Character Artist and Illustrator with a bachelor’s degree in Game Design.
I’ve been exploring the CG industry for six years, and now I have the chance to share a part of my experience with you. I started my career as an artist, illustrator, and concept artist, so I’m going to focus mostly on my artistic and academic vision, which led me to this result and to the positive feedback from you. But, of course, we won’t miss some interesting technical aspects either. I hope you’ll enjoy it!
The Beginning of the Project
This idea originally started two years ago during Olga Anufrieva’s stream, where we had to create a speed sculpt based on a concept in just three hours. Here’s what I ended up with:
For a long time, the sculpt just sat in my folder until I decided to work on a medieval-style clothing design. That’s when I remembered this project.
Some of the references had already been gathered by Olga Anufrieva, for which I’m very grateful, and I used them as a starting point. However, since I work primarily in artistic realism, I also incorporated additional references that fit my style better.
It was crucial for me to convey the personality I envisioned — a seasoned, battle-worn hedgehog, the terror of the forest. Strangely enough, Vesemir from The Witcher was very close to my vision of this character, and I kept his image in mind throughout the process.
Modeling
When I opened ZBrush, I quickly realized that my original sculpt wasn’t going to work. I had to completely rebuild the forms almost from scratch. I loved the concept and its stylization, but for my purposes, a lot had to change, especially the proportions and the physics of the clothing. I needed more realistic and brutal human-like proportions, though I ended up using a teenager’s proportions since the character still needed to maintain a humanoid feel.
I focused on creating bold, solid shapes while maintaining balance between them. To achieve this, I frequently merged all objects into a single piece and then split them back again. This helped me control the guiding lines of the composition.
Everything was modeled using ZModeler, extrusions, and ZRemesher — nothing particularly complicated. The only interesting detail was the ropes, which I created using an Insert Mesh brush. I generated the ropes along a curve and then merged their ends using ZModeler in a simple but effective way.
For the clothing, I started with basic clothing meshes in Marvelous Designer, but I heavily modified them later on to fit my needs. I knew I would experiment a lot with proportions and forms, so I only needed an initial mesh with clean polygroup organization for UVs.
To maintain proper form, I regularly took screenshots and flipped them in PureRef so that I could view my work with fresh eyes. A similar effect can be achieved by mirroring the model in ZBrush’s viewport. This is a crucial step, and I’ll return to it later. Throughout the process, I also made a lot of intermediate renders, took breaks to analyze them, and often adjusted forms in Photoshop with quick paintovers.
UV and My Workflow
Once I finalized the overall shapes, I moved on to UV unwrapping. I didn’t need to limit my topology much, but I still optimized the UVs for a more comfortable texturing process. This was done in Maya.
I always unwrap my model before adding fine details because I want to apply base textures as soon as possible and load the unfinished model into the engine. This allows me to spot mistakes, inconsistencies, and composition issues early on and fix them before finalizing the sculpt.
At this stage, I wasn’t done refining the forms in ZBrush, but the model was already in the engine with semi-finished textures and UVs. However, there’s a small but important issue with this workflow — transferring UVs back to a subdivided model in ZBrush. While ZBrush has a simple way to reapply UVs, any topology changes or added subdivisions can break the process. This is something to keep in mind to avoid unnecessary back-and-forth between programs.
Texturing
Texturing went through several iterations, and I constantly checked my work in Unreal Engine to see how it looked in a near-final context. Just like with the modeling phase, my main focus was maintaining cohesion and balance. I continued flipping my renders to ensure that all channels — roughness, color, and detail — had enough variation.
Now, let’s highlight some key points:
- Color harmonization — Every layer has unifying color overlays — yellow and blue. These subtly enrich the textures and help blend everything together.
- Nut texture — I didn’t sculpt too much detail into the nut, but real nutshells have a layered structure. I replicated this effect using multiple curvature layers with different intensity settings.
- Wear and skin details — I followed a consistent layering approach: base texture, edges, erasure, dirt, and folds.
- Seams — Most of the seams were created using curves, except for the one on the pants. For that, I used an opacity mask and erased some parts to create the effect of torn stitches.
Why do I emphasize balance so much? For example, adding a dirt stain on the shoulder and a pattern on the shirt was a last-minute decision that only came to me after exporting the model into Unreal Engine, flipping it, and considering how to balance the left and right sides of the character without simply mirroring elements. This led me to move the patch to the other leg and carefully distribute color to prevent one side from overpowering the other. Without these details, the model would look cheap, crumpled, and not solid.
Rendering
For rendering, I used Unreal Engine 5. I have a pre-set project with a master material, which I use for each new model.
Some key rendering choices:
- Fresnel effect — Almost all objects have a subtle Fresnel effect. It doesn’t always work well, but when used properly, it adds depth and helps unify elements.
2. Lighting setup — I don’t follow standard three-point lighting. Instead, I add lights based on the model’s needs. In this case, I added side lights and an upward-facing light to emphasize different parts of the character. This breaks the traditional lighting composition but ensures that every detail is visible. I also use a key light to prevent shadows from swallowing the details.
3. Post-processing — I always refine my renders in Photoshop, adjusting contrast, adding vignette effects, and applying smart sharpening.
Hedgehog
After receiving positive feedback on the initial work, I decided to create the hedgehog himself. This followed the same workflow as the clothing but with additional challenges.
I had to study hairless hedgehogs and their anatomy and find the right balance between realism and stylization. At first, I didn’t spend much time on the head shape, assuming it would be hidden by fur. But without a solid base form, things can turn out... like this:
So, I went back to the form and continued working on it, not forgetting about test renderers.
For the fur, I used Maya’s Paint Effects to generate curves.
In the end, I created four descriptions: base fur, long hair, ear fur, and whiskers. I exported them to Unreal as interactive groom assets and applied the default hair material, tweaking length and width.
The spikes were manually placed by duplicating clusters of instances in ZBrush. I wanted full control over the shape, so I chose to place them by hand.
That’s it! If anyone has any questions about my work, feel free to reach out to me on ArtStation - Vlad Kisel or LinkedIn - Vladislav Kiselev. I’m always open to communication and happy to answer :)
Summary & Appreciation
This entire project took one month of work, and thanks to your support, it was absolutely worth it. I’m incredibly grateful — this is the first piece that truly got noticed. Initially, I just wanted to practice Substance 3D Painter, but it turned into something much bigger.
Make sure to connect with other artists, check out their work, evaluate your own with a fresh perspective, and don’t hesitate to take time to think and recharge. I believe these are some of the most helpful and enjoyable activities you can gain.
Special thanks to Dmitry Lozovsky, Igor Kryuchkov, Elena Kuznetsova, and Olga Anufrieva. Without you, this artwork wouldn’t have come to life. Thank you from the bottom of my heart for your support and help.