• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
0

Running out of ideas trying to make a realistic fur material in designer to be used with painter.

New Here ,
Apr 06, 2023 Apr 06, 2023

Copy link to clipboard

Copied

First of all let's clarify, i'm using the 2020 steam version for both painter and designer, don't have plans to upgrade it unless the only way to accomplish my current goals have been implemented in the newer versions.
So, problem i'm currently facing, i'm trying to develop a parametric fur material/filter to be used with Substance Painter, the final product will be a filter that can take data from underlying layers and modify the resulting material, the parameters will include the flow direction (painted using a flow map on the normal layer), size, clumps and other parameters that affect the final look.
The main issue with making such a material is the lack of a shape tiling node that satifies all the requirements, the two primary options explored were the tile sampler and the shape splatter nodes, but none worked properly, starting with the tile sampler, it gerenrates pretty decent patterns and height information, but has the major drawback of not working with color and height in the same node, requiring an extra version of it to handle the colors, and that's a pretty big deal since to get accurate representations of the final fur patterns i need to color each hair individually based on the color of the underlying Base Color map.
The shape splatter node was another great contender, as i can generate the height map on it and just use the splatter data outputs to color it in another node, the results were ok but the Shape Splatter has a MAJOR downside of capping the size of the input shapes to 5, making it impossible to completely fill out the space they're in.
My last attempt involved diving down into yet another rabbit hole and figuring out the FX-Map, and it has the most potential out of all of them, i got a somewhat decent placement algorithm working to distribute the shapes based on scale, so larger shapes that occupy more space will be more spread apart and smaller shapes will be clustered together, but the main problem persists, i still haven't found a way to properly color the hairs.
I tried a lot of different things, inputting the colors directly to the FXM and using the alpha layer as height, didn't work because the colors would blend pretty badly and the alpha map couldn't be used as height that well because if i adjusted it for better results the colors would break, if i focus on the colors, the height would break. My second guess was to use the red and green channels as position data for each hair and the blue for height, then use the alpha to fine tune the blending, but it also didn't quite work since no matter how much i tried to tweak it, i couldn't prevent the color data from blending together and breaking down completely whenever two shapes touched.
Working with it in grayscale gives the best height results, but i can't work the colors out. I tried adding the shape index into the luminance value to send it as data and process it inside a Pixel Processor node but it seems i can't just send arbitrary numbers through the grayscale channels withouth corrupting the data.
I'm completely lost here, i already attempted a lot of different things, nodes and ways of getting this to work, like using the slope blur to blend the colors, but didn't get good results either. If anyone could point out any possible way to deal with this i would be deeply thankful

 

TOPICS
General , Substance Graph , Substance Model Graph

Views

164

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe Employee ,
Apr 11, 2023 Apr 11, 2023

Copy link to clipboard

Copied

Hi @TaylorRoddin,

 

Thanks for all the details.

 

I am not sure to get the issue with the Tile Sampler node. I know this isn't the most ergonomic workaround, but you could have two Tile Sampler nodes, one for the color and one for your height map, and linked the exposed parameters to tweak both nodes at once.

 

For the color of each hair depending on the Base Color, the Tile Sampler has a color map input who should do the job.

 

Keep me posted.

 

Cyril Dellenbach (Micro) | QA Support Artist | Adobe

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Apr 11, 2023 Apr 11, 2023

Copy link to clipboard

Copied

LATEST
TLDR:Tile sampler works but i need more control, considering making my own using pixel processors but have no clue where to start.
Hi, thanks for the reply.Yes, the tile sampler was an option i considered at first but it has some shortcomings i'm trying to address, the major one being the performance hit of having two nodes separated, that being one of the reasons i went with the FXMap, having a lot of shapes clustered in one place wasn't giving me ideal results and the solution i found was to mask them down, but that would also require me to add way more shapes than needed, for the quality i need for my project a single grayscale tile sampler was pulling off over 5s of processing time at 2k res, not even counting the rest of the node chain and the extra sampler for color, so having more control over the placement of each shape was handy, my algorigthm can distribute them based on the scale map, smaller shapes will fill less space are more packed together than larger shapes, meaning i can get decent results without having to blow out the overall shape count.
Overall,while the FXM can give similar results to tile sampler but with more control, both fails however when it comes to color. If i use it on grayscale mode, i get really decent height blending, but can't add color information to it. One way i could potentially get this to work would be by coloring each shape using the R and G channels as coordinates, and use a separate pixel processor to sample each shape and use their colors as coordinates to sample equivalent point in a texture and paint the entire shape with that color (example below), it would be enough for the effect i want, and i could use the extra B channel for height data, however i can't use the FXM to control the blending of each channel individually, ideally i would like the output image would have the shapes in the red and green channels completely opaque and only use the alpha information to set them above or below each other, however i don't have control over how each shape is actually blended together.
So, unless a better idea comes around, i think the only way to actually solve this would be diving further down this abyss and make a full shape tiler in a per pixel basis, sort of like how the shape splatter seem to work, however reverse engineering that was more work than i could comprehend and so far i couldn't find any real good information on how to deal with this, i did a few tests and was able to tile shapes, scale, rotate, mirror them all inside the Pixel Processor but really struggled on getting more complex interactions between them going, i know it's possible since the shape splatter works like that, i know it's complex, but again i don't need even half the features it has so a lot of the complexity can be cut off, i just don't have any clue where to start and knowledge on processes with this level of complexity seems to be extremely scarce.
In conclusion, yes, this is a pretty complex material and i'm probably making it even more complex for the sake of performance, but i want the best result possible, and knowledge aqquired from this challenge can be used in future, even more complex projects.
Again, thanks for the attention, hopefully i can get a north to go towards with this information.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines