Charred For Life…

•February 20, 2018 • Leave a Comment

This charred wood material is based off a burnt damp log I found in the garden, it had been partly used as fuel in a chiminea last summer. It was charred and ashen on one side, the side that was facing the ground, so it had some mud and bugs stuck on and looked great in the light of day – there was an almost iridescent effect on some surfaces of the flatter areas of the burnt “cells”. I tried to recreate it by firstly scanning the burnt end, no fancy setup, just my phone (a Samsung Galaxy S8) and an overcast day. I took about 80 photos and processed in Reality Capture, as usual. I baked down textures in 3dsmax, using Photoshop to clean up and Substance Painter to clone out missing detail. I layered in a hint of rainbow gradients in the albedo and painted a custom metalness map to help simulate the iridescent sheen on reflections. AO and cavity maps were created in Knald, which were useful in roughness and emissive textures later. The material is rendered below in real-time in Marmoset Toolbag 3 on the stock UV sphere.

To achieve the glowing embers look below, I inverted the ambient occlusion map and used it as emissive, tinting it ornage in the Toolbag shader. Some local bloom and post FX finished off the effect.

Texture breakdown below.


His Bark Materials…

•January 30, 2018 • 2 Comments

This year I’m going to try and blog every month. I was doing well for a while but got busier last year and didn’t get to it as often. So, here’s the first post of 2018, some material work. Specifically, phone captured scans of real world tree bark, conformed to be seamless, tileable and usable arbitrarily on game world models. There is some amazing material work being done in Substance Designer these days, and I’d like to incorporate that into my workflow at some point. The bark material below is a proof of concept, a number of 2k textures extracted from a 16k source image and a 20 million polygon model. These were derived from photos taken on my phone and processed in Reality Capture. Textures were baked in Toolbag 3, apart from the albedo which was baked in 3DSMax.  Here is the high poly model, the bark was splintered and raised away in places and it captured well for the most part. There is a lot of potential in this capture and I think a really good use case to give Artomatix a proper try.


Here is a breakdown of the textures, eyeballed for metalness PBR:

Here is the result when applied to a sphere in Toolbag 3


Digital Human Experiments…

•November 23, 2017 • 6 Comments

Took me a while to get this update together! This time, I’d like to share an experiment in single camera photogrammetry. I was very inspired by some of James Busby’s recent work on Sketchfab, so much so that I went back to try scanning with another human subject. My Dad dropped by the house one evening and I asked him to sit for me outside, just as the light was fading. I was fairly sure the effort would be wasted due to the failing light, but photogrammetry has surprised me before, so I carried on. I shot about 45 photos in raw, handheld on my phone, a Samsung Galaxy S8. From there, I processed the raw files in a free version of DxO, removing vignetting, chromatic aberration, shadows and highlights where possible, but keeping distortion. Here is the mesh output on normal detail in Reality Capture.

Results out of the box showed some promise. Overall form and volume were there with some detailed areas around the eyes quite well defined. Lots of noise too though, a chunk missing under the chin and nothing at all from the ears back. All in, there was a count of about 45 million triangles.  Generating the albedo texture helped the visuals a lot (see below) but I knew there’d still be cleanup in Mudbox, which has good hole patching for geometry. The relax, smooth and scrape brushes also work well for reducing noise in rough areas.
I used Instant Meshes to retopologise the high poly mesh, it can be a very handy tool to put out an all quad mesh to work with in real-time, here’s how the model looked, I also replaced the eyes with proper spherical eyeballs.
I laid out UVs on the low poly mesh in 3DSmax and baked albedo, thickness and normal maps from there, over then to Knald to generate high frequency detail normals, AO and cavity maps. Substance Painter and Photoshop were used to paint out shadows and highlights and fill in gaps in the textures, and hand paint specular and glossiness maps, to control which parts of the skin would look oily. I used Marmoset Toolbag 3 for look development, check out some of the textures below.
I still needed something to cover the large hole in the back of the mesh, I scanned a fur lined hat and tried to make it fit the head but I wasn’t happy with the results, I had to deform it too much to make it fit (image rendered in Toolbag 3)
I also tried a metal morion helmet I had already made, but it wasn’t great either and hid too much of the model underneath (image rendered in Toolbag 3)
So I ended up modelling a tight fitting wooly hat over the top of the head and textured it traditionally, and I was a lot happier with this. Here is the head model screen grabbed from Sketchfab:
Another (Sketchfab) image including the hat:
And finally the model in real-time, you can orbit by left-clicking and dragging or move the lights by holding alt and left-clicking and dragging. There is a very simple eye movement animation and a roll of the jaw, I’d love to try some more with facial rigging after this but it’s an area I know very little about. Lots learned from this one!

Bonus: Blooper with displacement on the wooly hat 🙂

It’s been ages!…

•November 17, 2017 • 4 Comments

Just looked and saw that I haven’t posted since July! That’ll be remedied soon as I’ve been working away in the background on some interesting pieces, here’s a taster, screenshots from Sketchfab where it will be published soon.



Afternoon De-Lighting…

•July 26, 2017 • 5 Comments

If you’re interested in 3D scanning technology or game art you will likely have heard about the experimental Unity De-Lighting tool recently released, you can find it here. 

“De-lighting” is the process of removing light and shadows from the diffuse texture map created during photogrammetry. This hasn’t been a huge issue in my previous scan work, mainly due to the weather in Ireland where it’s usually cloudy if not raining, which is ideal for outdoor scanning. A few weeks back I was lucky enough to be at the beach on a day that had 15 hours of sunshine, which was awesome for the farmer’s tan, but problematic for some of the scanning I’d planned on doing due to the harshness of the sunlight and heavy shadowing. I’d heard the Unity tool had been released so I figured I’d press on anyway and try it out. I captured about 120 photos of this sea stack, handheld with my DSLR.


Some of the potential problems are evident above – darkness in the shadowed areas, lens flare from the sun and the contrast between the brightly lit areas on the reverse side and the darker shadowing. Reality Capture breezed through the solve, even on my laptop and created a really nice mesh with just a few problem areas at the top where visibility was reduced. Here are the results, with the mesh decimated to 16 million tris and the texture baked at 16k.


You can see the shadow baked into the stack and falling across the beach rocks and pebble surrounding it, a good test case for the Unity De-Lighter. I downloaded the latest version of Unity and the De-Lighter package and read up on the requirements. The De-Lighter requires at least the base albedo texture, an object space normals map, a bent normals map and an ambient occlusion map, with optional an optional position map and mask. I wouldn’t usually bake an OS normals map (or bent normals) so I wanted a solution where I could bake as many of the required maps out in one pass as possible, so I settled on XNormal. I decimated the stack model from 16 million tris to 10k and baked the textures at 4k. Here is the output from the bake (the red areas on the albedo are missed hits).


Not much difference in this case between the OS normals and bent normals map, it’s quite possible I did something wrong here but it didn’t seem to hurt the end result much. It was easy to add the textures to the Unity De-Lighter and very quick to compute the light cancellation.


You can scrub back and forth between the original and the light cancelled version.

If there are areas where artifacts occur, you can paint up a mask for those areas and compute again. I’m impressed that it worked so well out of the box with textures that weren’t perfect. I did paint a mask for some of the areas that looked off or where there were obvious repeating detail issues, but this was super quick to do. Later, I fixed up the areas with the missed hits in Substance Painter and adjusted the albedo for PBR and painting a roughness map for wetness on the lower stack. Next I took it into Marmoset Toolbag 3 for testing. Here is the low poly model without textures, I deliberately pushed the decimation further on the higher, out of reach areas:


Here are the results in Toolbag 3, I added some beach grass billboards and a detail normal map, click through for 4k stills:




Here is the scene in real-time in Sketchfab, be sure to go full screen and let the HD textures load 🙂

Doagh Island terrain…

•June 23, 2017 • Leave a Comment

Quick update, I found some old photos that I thought were lost and ran them through Reality Capture. Quite a bit of cleanup needed, this is a bigger hunk of landscape than I’d typically try to scan in one session,  but overall I’m happy with how the sharp edges of the rocks have been captured. Lots of scope to mix in some Megascans too. More to come as I break off areas and conform for real-time purposes (currently the textures are at 16k resolution and the tri count is upwards of 12m).


Metal underfoot…

•May 18, 2017 • 2 Comments

I made this manhole cover material from a photograph taken on my phone on the way to work one day, with the intention of extracting enough info from it to populate a full PBR material. I was considering setting something similar as an assignment for my students, so I needed to be sure it could be done, and done fairly quickly. I modelled the L-shaped studs to try and get rid of the noise created by the usual image to normal map issues, but otherwise the material was created by manipulating the original photograph in Photoshop. Check out the real-time Sketchfab version in the last image.

Also couldn’t let this day go by without a shout out to Chris Cornell, who provided the soundtrack to the creation so much of my art, RIP.