Photorealistic highly detailed scanned manually retopologized anatomically accurate 3D model of a medium-sized domestic pig skull. Low-poly subdivision surface ready topology. A unique 11 bones and 11 teeth including tooth roots, each as separate 3d object. All 3D models is UV Unwrapped. The UV islands are reasonably distributed between 5 PBR textures sets to achieve optimal texel density. Two native formats, 3ds Max V-Ray & Blender Cycles. Both are handcrafted for the best use experience. The asset is ready for ultra close-up shooting. Thanks to the low-polygonal base mesh, this 3D model can also be used as props for the game engine, including animation of breaking into pieces.
All parts have appropriate anatomical names
Shapes and textures are scanned from real disassembled skull of a domestic pig
Real-world size of 24 x 16 x 13 cm
Handcrafted low-poly base mesh
Subdivision surface ready topology
11 unique bones & 11 unique teeth as separate models
Two hand-made native formats, 3ds Max 2017 V-Ray 3.6 & Blender Cycles 2.92
UV islands reasonably distributed across 5 PBR textures sets
Easy to edit layouts, optimal texel density
8192x8192 maps for BaseColor / Diffuse
4096x4096 maps for *Normal, Displace
2048x2048 maps for BaseColor, Diffuse, Specular, Roughness, Glossiness, *Normal, Displace, **AO
Tis asset can help save weeks of tedious work
* - Normal maps are provided for both DirectX and OpenGL modes
** - AO maps is baked for skull in default pose (jaw closed)
In 3ds Max format, specular workflow texture set is used. Material based on VRayMtl. The Displace modifier with appropriate map is applied.
In Blender format, metallic-roughness workflow texture set is used. Material based on Principled BSDF. The Displacement is applied by material node as part of the shader.
Both formats have surface subdivision modifiers applied with 2 in-viewport iterations and 4 iterations for rendering. Either native formats additionally contain two parented/linked helpers. One is for the transformation of the whole skull, and the other is locked for the rotation of the jaw. The native format model is ready for photorealistic visualization out-of-the-box: no additional tweaks required.
Ready for ultra close-up shots, as well as for use as a low-poly asset for a real-time engines. Suitable for scientific videos, including exploded views or animations of breaking into pieces.
Not all possible teeth are present, but this is literally the condition in which the real skull of a real pig was, so it is anatomically correct. For performance reasons, the 3D model is optimized compared to the original scan. In particular, the deep alveolar slots for the teeth in jawbone are closed to make model watertight.
Cameras, lighting or a studio environments are not provided.
All presentation images are rendered using 3ds Max 2017 and V-Ray 3.6.
A real skull of a real domestic pig was used to create this asset. We literally bought a pork head at the meat market. I'm not an expert in pigs, but I don't think it was a mature pig, just as this pig was no longer a piglet. Probably just the breed of medium or even small size.
So, we cooked it to make it easier to clean the bones from the soft tissues. We then cleaned each bone and tooth, dried them, and scanned each piece using photogrammetry.
Below is a composition from photos of several randomly selected bones, so you can see an example of real material that we had to deal with.
You probably think this is a very simple task. Like how to play with Lego cubes. Take the jaw, pull the teeth out and work with them. But in reality, the teeth just do not come out of the jaw. They are firmly ingrown in the jawbone and to pull them out, we had no choice but to break the jaw and open it on the sides. On the photo above you can clearly see exactly how the pig's jawbone was "modified". The removal of each tooth was a real challenge that we did not expect at first.
Another problem was the physical size of the parts. Again, the pig teeth were the smallest. So to scan them, we have to deal with macro photography. Not the easiest type of photography.
In any case, hundreds of photographs of each bone were taken and transferred to a photogrammetry program. Personally, I use Metashape, but any, even completely free software will give you roughly similar results, however, it will take a little more effort.
When the scans were ready, I exported them as high-poly models to ZBrush for further cleaning from scanning flaws. The 3ds Max was used for retopology, V-Ray as the main rendering engine to creating presentation imagery for this asset.
As you may have guessed, I will not describe the whole process here, as this is a very complex topic that deserves its own huge tutorial. But I do want to mention that these processes (photo scanning, cleaning and retopology) took place in 2018 and consumed a lot of time. Since we were busy with other things that year, we just decided to freeze this project until better times. Now, in 2021, three years later, the auspicious times have finally come. In this year, I added another tool to my toolkit. And this is Blender. Starting with v2.9, it already has great built-in tools for both modeling and sculpting. When the tasks arise now, I will use definitely use Blender instead, to clean scans, topology crafting, and final projection of a fine details from high-polygon scans onto low-poly base mesh.
So if you plan to do such things, I strongly recommend comparing the tools before you start. Today, ZBrush is the most powerful software for sculpting, but certainly not the most convenient for casual use, as in this project, especially considering that ZBrush is paid and Blender is free.
Speaking of Blender. It was chosen as the second native format for this 3D asset due to its growing popularity. Honestly, this was my first case of commercial use of Blender, and I had the opportunity to compare my usual set of battle-tested tools, ie 3d industry leaders 3ds Max and V-Ray, with Blender and Cycles as a modern alternative.
So, everything was done in 3ds max and V-ray. The materials, lighting, visualization settings, and actual visualized images you can see above. To create a Blender version of this 3d asset, I decided to reproduce everything in Blender, ie the materials, as well as the full studio settings, to recreate conditions for Cycles as close as possible to those I already had in V-Ray.
Of course, the first step is to export an entire scene. Because this asset does not come with a studio, only a 3D model, so I will not show you the exact details of the studio to avoid confusion for those who will buy this asset. Anyway, the scene setup is fairly simple. It is a white backdrop made from a plane primitive and five
VRayLight Planes around the Pig Skull 3D model as a lighting setup.
There are not many options available for exporting a whole scene. I personally consider the FBX format to be the most suitable for such operations. It can hold geometry, universal material options, helper objects and cameras. This is exactly what I need, except for one thing. It does not recognize V-Ray lights.
Without thinking long, I came up with an easy workaround - replacing VRay Lights with one-sided geometric planes of the same size and orientation. So the scene was exported as it is, except that instead of lights there were geometry planes. Then I opened Blender, deleted all the default objects, and imported the scene from FBX.
As planned, I replaced all the geometry planes with the
Area Lights of the same size and orientation using
Align Tools, and then set the same
Power values as it was in original scene to achieve the same balance of scene lighting.
During import, Blender recreated all the materials from FBX as
Principled BSDF nodes with
BaseColor (Diffuse) in them and also kept the correct names of the materials. Because this asset relies entirely on PBR texture sets, all I had to do for each material was to remove all excessive nodes except the
Principled BSDF with
Material Output, and then automatically assign texture sets using
Node Wrangler to
Principal BSDF node. As a result, all the original materials were restored in a few clicks.
Another thing to do before proceed to rendering was to set up the same camera frame. In original 3ds Max scene, I use
Standard Target Camera, but in Blender, there is not such a thing as camera target. There is just free
Camera. In the imported scene, the original
Standard Camera was replaced by a Blender's
Camera with correct location but with wrong orientation (rotation). Thankfully, the
Target of the 3ds Max
Standard Camera was still imported but as separate
Plain Axes Empty. Again, the workaround came instantly. I select the
Camera and apply
Track to constraint. As a
Target of constraint, I pointed out
Plain Axes Empty. The orientation ot the
Camera has become exactly as it should be.
A last thing to do is to set the
Focal Length of the
Camera. So I copied the exact number from the
Lens field of a 3ds Max
Standard Camera and pasted it into the
Focal Length field of Blender
Camera. And... Boom! The shot matched just perfect.
On the left is a screenshot of 3ds Max
Safe Frames on,
Standard Target Camera. On a right, is a screenshot of Blender
3D Viewport Editor,
Camera imported and additionally aligned. This is literally what I planned to achieve, but to be honest, I didn't expect to achieve such an exact match so easily between two scenes in different and competing software. Just incredible.
The moment of true is come. It's time to hit the "render button"! So I switched the Blender rendering engine to
Cycles - production ready path tracer, and started tinkering the render. Actually I watched the results directly in the viewport at first, because it is much more productive than "hitting" the
F12 on each change. The use of
F12 was postponed for the final rendering and compositing stages.
In 3ds Max version the
Displace modifier is used, but in the Blender version I decided to make displacement wia shader. They utilize different units to determine the amount of displacement. Therefore, it is very difficult or impossible to get exactly the same results. So for a better comparison consistency, I turned off displacement in both formats.
Initially, the visualization was overexposed, almost completely white. So I played with
Color Management a bit and picked a following settings. The
Standard type of
View Transform and
Exposure value of -1.45. And again! Boom!
As you can see, the Cycles version turned out to be flatter and less detailed in terms of the highlights and shadows. To achieve results similar to V-Ray, I played with the
Compositor a bit.
The final composited result you can see below.
It definitely is more interesting than the raw output. Of course, much better results can be achieved with deeper tweaking in the
Compositor, anyway, the goal was to compare the raw results of V-Ray and Cycles, so I was quite satisfied with the results of this spontaneous comparative experiment. Hope you too.
I will not use fuzzy expressions to avoid a direct answer to the question of what renderer produce better results. Obviously, V-Ray has generated a more photorealistic image with default settings and with the same balance of light source multipliers. The only settings I touched on in V-Ray were the
Global illumination engine and
Color mapping types. Particularly, I have used
Brute force for both bounces and
Color mapping type with
Burn value of 0.6.
So far, my biggest claim to Cycles as a production renderer is the available types of color mapping. For comparison, V-Ray has
Exponential as a sluggish type of mapping,
Linear multiply as most color burning type, and
Reinhard, which allows you to balance between with it
Burn value. The Cycles
Color Management type can be compared with
Exponential as well as Cycles
Standard can be compared with V-Ray's
Linear multiply. But there is nothing in between.
Filmic was rejected because it too dull, so the only option left was is a linear approach of
Standard. No matter how hard I tried to adjust the
Exposure to avoid color burns, the result was either flat with dim highlights or satisfactorily bright, but with burnt over-saturated colors.
Can Cycles be used as a high-quality photorealistic production renderer? Of course, but with some additional compositing.
Will I replace paid V-Ray with absolutely free Cycles for my commercial work? As long as the developers of the Cycles or perhaps some side developers of the free Blender
Aadd-on, don't come up with something similar to V-Ray's
Reinhard color mapping option, most likely not. Anyway, the Blender constantly evolving, so maybe in the near future the V-Ray over Cycles as the main production renderer will be an opinion to rethink.
One might say that this particular 3d model of an animal's skull with coarse dry bone surface material is not the best subject for photorealism testing. And I don't think that's right, because we actually had a bright object on a white background without the ability to emphasize the shape of the contours with a contrasting background or bright glossy highlights. So the work was done almost entirely with the play of light and shadow. This is a very difficult situation. The simpler the object, the more trickier you have to be as a 3d artist to make it look real. And both renders did their job pretty well, of course, V-Ray did it noticeably better.
Hope you enjoyed this mini Making-Of and V-Ray vs Cycles battle. If you do, please, share it with others. A handy gadget with some social share buttons can be found in the lower left corner of the page. And surely, in case if you need a great photorealistic 3D model of a pig animal skull, now you know where to find it.
If you are a super loyal 3ds Max user and for some reason do not want to use Blender, there is a Cycles for 3ds Max version. I personally haven't tried it yet, but you can.
So good luck in your own experiments!