Greyscale Heightmap Renderer

Dumb idea. While we can paint greyscale alphas in a paint app like Procreate or Clip Studio Paint then import it into Nomad, there is no solution to create alphas in Nomad.
In ZBrush for example you can sculpt scales, wrinkles, greebles etc. on a flat plane. Then using the Mrgb Zgrabber you can grab a greyscale heightmap from that 3d geometry which you can then use as an alpha stamp to quickly apply scales, wrinkles, greebles etc. You can find examples of the Mrgb Zgrabber use on YouTube.
If Nomad had a greyscale heightmap rendering option I could sculpt scales on a plane, then snap the plane so it faces the camera. Then I can change the renderer to greyscale heightmap and take a screen capture on my iPad, crop that capture into a square and save to Photos. Then in Nomad I could import that new alpha from Photos to create a stamp brush.
Just an idea.

You can do this by carving on one side to place your future alpha. After you have to play with procreate or other to convert to grayscale, there is a little adjustment to do but in my opinion it is possible.

In my experience it is almost impossible to create a good heightmap from a black and white photo. If I remember right in a heightmap the value of grey represents elevation. In a photo the value of grey is related to illumination from a light source. That means areas in shadow in a photo used as a heightmap may result in a geometry extrusion to the wrong height.
Believe me I tried in Nomad to create heightmaps using a matte material for the mesh and a spotlight in the camera center shining down at the mesh. I could not get alphas that accurately reproduce the mesh heights.

1 Like

I think a better solution would be ability to visualise and render Z-depth pass… as it will give proper distance of the surface from the camera…

Than the workflow would be sculpting something on a plane, positioning the camera in orthographic or perspective mode (as per needs), rendering the z-depth and finally importing it as Alpha for a brunch…

I’ve come up with a way to create actual depth maps for use in Nomad, using an old school gradient technique. The simple method in Nomad is to use the paint brush with depth filtering. Set the paintbrush as follows (clone the basic brush and give it another name):

Then in the front view (or whatever you want as the highest part of the depth map) drag from the centre of the model to create a black-to-white gradient. The model now has black = highest and white = lowest colouring. Obviously this doesn’t take into account overhangs (as can be seen in my example below) but it does a pretty good job! Before exporting, my quick characature test model looked like this:

The trick is then how you get the depth map to render out showing only white-to-black gradient. First set the camera to orthographic & select the all white matcap. The model should now have no shadows or highlights but from the front view will have an almost perfect depth map that can then be rendered out at chosen resolution, cropped / fix levels etc in Procreate (or whatever) and import back as an alpha for use in the stamp tool. This image shows the render export:

Once you’ve loaded the image as an alpha, the stamp tool settings are pretty good by default, but may need a bit of tweaking such as setting the falloff to preset ONE, as previously used in the paintbrush settings. The stamped model is on the left & original sculpt used to generate the stamp is on the right:


Obviously the result is not perfect, but Ive had some really good outcomes when tested on hard edged primitives & even on quite complex imported objs, “depth mapped” & then re-used as stamp brushes at various tiles and scales. My favourite part is that you don’t need to go away from the iPad to achieve really good results!

5 Likes

That is freaking EPIC! I will try that later.
Thing is if users find that useful and adopt it, it will reinforce the need for a greyscale heightmap renderer to speed the process of making those alphas.
Thank you very much for sharing that technique.

1 Like

No problem, it was something I’ve been thinking about since @knacki explained how to create a gradient mask brush. It reminded me of methods used in old-school 3DS Max modelling, before the days of displacement maps - we’d use gradient maps to colorise topography. A simple gradient could be used to colorise model topography through the use of simple UV mapping. Nomad doesn’t have UV mapping, but since Stephane added Depth Filtering in the last update it made me think about how to use it to our advantage :slight_smile:

My model

!(upload://f8VVM6lZrty6FQ9Rxcent3MCjt7.jpeg)
It works pretty well but beware there is a small error for me, what is white is in the foreground and what is black is the background.

@stephomi i found a little bug, with matcap zwhite. If you set object whith zwhite in matcap and set color to pure black the object still appears very slightly in dark blue. I noticed this while creating my alpha map. I deactivated all the post process I started again with a new scene we can not get a pure black with the zwhite in black mode. I tried by creating a pure black matcap but apparently it does not come from that because it remains dark blue (I put two images below)

1 Like

Nice. Glad it worked for you too - didn’t know if i’d explained it correctly.

Bezzo, I just tried it. It took a little time because I normally don’t paint my models and I stick with one matcap and have never used the depth function of the Paint brush. I finally got it to work and it seems very promising from my first test. I will pass this along and give you credit.
Thank you again.

1 Like

The explanations are good except for the white and the front and the black at the back lol. I don’t know how your alpha works when he’s upside down lol.

1 Like

I’ve only used the paint feature to use as a base for further materialisation in Blender or Keyshot - the addition of the depth filtering is what made me think of using this technique. Glad it could be of some use to you.

That’s a good point - i’ve got my stamp alpha set to inverted. I guess I selected black as my background was already set to a light colour.

I hadn’t really thought about that but obvious way to work is for white to be HIGH and black to be LOW :smiley: Good point! Stephane obviously knew that this would be an issue with some people, so added the INVERT alpha setting.

Bezzo, that was really really clever.

1 Like

It’s the principle of Z-depth to add depth of field from already calculated images, but that’s another story lol. :wink:

1 Like

Too easy to even think about.
What a cool idea - and I was the inspiration / reminder? YES :raised_hands:

Man, your 3D history seems to be serious long. I started with 3Ds max 5 but 3D was never my main tool for daily business. A friend of mine,who died last year, did know the very early 3D days - without mouse. Enter xyz coordinates for each vertex. Or those already very fancy blue Sillicon Graphics Computers costing a fortune?
And today there is Nomad, doing things on tiny devices for tiny money, one never thought it will be ever possible those days.

Thanks again for this trick. Need to check it out right away…any idea for seamless alpha creation? :blush:

It’s not really a bug as I know the cause, it’s an optimization trick but I don’t need it anymore so I can fix it.

1 Like

Yes mate, I started at Uni studying architecture & using 3D studio & Autocad - early versions had a special monitor that could display 3D resolution :slight_smile: I remember the first windows version (after DOS) was 3DSMax 2.5. I’m now using a VR headset & an iPad to generate 3D for fun…still using Sketchup / Autocad / 3DS / Lumion & mainly Revit for my day to day work. The Z-Brush / Blender / Gravity Sketch VR / Nomad stuff is just for fun as a hobby to keep me up to date with the latest & greatest. Don’t want to be an old bloke that gets left behind by you crazy kids! :laughing:

The mirror function in the brush settings seems to help with the seams of the alphas but they need pre-editing in order that the edges don’t ramp up too much & cause noticeable seams. There’s always the smooth brush to hide bad errors.

1 Like

Phh- My son is 18. But named crazy kid is quite fun though :grinning:

Your trick worked like a Charme. :vulcan_salute: Brought it to Infinite Painter to create seamless pattern.

In Nomad 1.43 I added a debug option at the bottom of the interface menu but it’s mostly there as an experiment I don’t really plan on improving it.

The idea is to have a single vertical plane in the scene, sculpt on it (and tap on the lowest point of the plane to adjust the depth 0 reference).

3 Likes