Description

Title:Stencils
Category:Workflow
Status:Considered
Priority:
Posted By:Danny ( Danny Young )
Date Created:7 May 2020
Description:

Hey guys,

I was just wondering if there are any plans to develop a workflow for hair stencils at some point.  It's something that's never really been possible with hair primitives before but comes up as a design request from time to time.  If you're not sure what I'm talking about you can check out this YouTube video.

https://www.youtube.com/watch?v=KanSQcbVLW0

If you have suggestions for what's possible now I'd be curious to hear it.  Thanks!

Follow Ups

This came up a few times over past few years. Question is about best workflow to implement this. 3d textures would be too combersome. Doing this through a paint brush and per-vertex channels would require enough vertices per strand to capute the high frequency stencil shapes/data. Last option is some sort of UV mapping on hair and using traditional texture maps, but it'd prevent varying hair colors along the mesh surface.

Marsel Khadiyev (Software Developer, EPHERE Inc.)

I'm imagining something like a 3D texture that you could then bake into the hair.  Maybe once the hair roots have been locked?  I know it's tricky, just tossing ideas around. :-)

Painting is already pretty trivial (especially if you render with Arnold atm.): https://www.youtube.com/watch?v=0n6k6ObE7X8

The easiest path for me would be to add ability to have stencils on the brush (or the whole screen even). The only caveat, as mentioned, would be the requirement for enough data vertices to store the results. At the moment it'd mean making sure strand point count is high enough. For the future I can see separating point count for per-vertex data from hair's geometry point count, allowing one specific channel to be very detailed while hair itself isn't. OTOH, it'd also complicate things with rendering since that information needs to be passed on to the translator and we don't have pixel shaders there, only per-vertex data is allowed.

Marsel Khadiyev (Software Developer, EPHERE Inc.)