Digital Human Experiments…

•November 23, 2017 • 2 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 🙂
SmartSelectGIF_2017-11-22-23-06-36

Advertisements

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.

seastack

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.

petemcnally_highpoly_stack_3dscan

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).

bentnormals]#

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.

delighter

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:

petemcnally_stack_06

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

petemcnally_stack_02

petemcnally_stack_03

petemcnally_stack_04

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).

petemcnally_RC_HIGH_full_realtime03petemcnally_RC_HIGH_full_flatpetemcnally_RC_HIGH_full_realtime02petemcnally_RC_HIGH_full2

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.

petemcnally_blog_manholecover_WIP_01

petemcnally_blog_manholecover_WIP_02

Chancing it…

•April 24, 2017 • Leave a Comment

Driving around Malin Head last week we passed some beautiful natural rugged landscapes and I couldn’t help but wonder if it was worth sticking the phone out the window to record some video to try with photogrammetry. I was hoping that a 3D model could be derived from frames of less than optimal footage, so bumpy roads, motion blur, 1080p frames (low resolution for photogrammetry) and h264 compression were all working against an acceptable result. Surprisingly, Reality Capture used most of the extracted frames and produced a half-decent model, shown here in Toolbag 3.

It wouldn’t hold up to close scrutiny but would certainly work as background geometry somewhere or as the basis for a terrain heightmap.

petemcnally_Malin_landscape02

petemcnally_Malin_landscape03

Volume 11…

•April 14, 2017 • 6 Comments

This is a quick test of the Open VDB support in 3dsmax 2018, rendered in Arnold which replaces Mental Ray in this release. Two Arnold lights and samples set around 4 took  34 minutes for the 1k image on a quad core i7 🙂

Explosion orbit test:

xUA7bgManQfSpu8XLO