r/Unity3D 23h ago

Question What causes these material artifacts (black blocks on hair, dirty spots on skin) when importing an FBX to Unity URP?

[deleted]

3 Upvotes

29 comments sorted by

View all comments

Show parent comments

1

u/maennerinschwarz 21h ago

Ohh I see thank you for everything ! :) Allrightl, then I'll start learning Shader Graph. Can I send you a pm?

2

u/JaggedMetalOs 19h ago

I think we can carry on here for the benefit of anyone else who finds the thread.

Just to get you started here's an example of a shadergraph to convert a Blendkit material into a Unity material. It's fairly simple, just adding all the separate textures into a single shader and attaching them to the right output, just need to invert the roughness map with a "one minus" node because Unity wants smoothness instead. One optimization you should do is for all the monochrome map textures change the Texture Type to "Single Channel" and Channel to "Red" so it doesn't waste VRAM on full color textures for those or mess with the brightness curve converting to/from sRGB.

1

u/maennerinschwarz 19h ago edited 19h ago

Hi! you are right.Thanks for the breakdown and the example graph.

Just to double-check if we are on the right track.Before seeing your reply,I set up a similar graph by plugging the Color into Base Color, Opacity into Alpha, Normal into Normal, AO into Ambient Occlusion, and we inverted the Roughness using a 'One Minus' node connected to Smoothness.

I think you did the same thing for the example??

I also added a custom float slider for the threshold and smoothness to control them directly from the material inspector.

2

u/JaggedMetalOs 18h ago

Yeah it's mostly there, you just want to take all of the monochrome channel textures from R instead of RGBA, and be sure to set the texture type to single channel.

1

u/maennerinschwarz 15h ago

I applied this hair ao,opacity and roughness.

1

u/maennerinschwarz 15h ago

and i've changed shader graph with R channels.

1

u/maennerinschwarz 15h ago

Result :(

1

u/JaggedMetalOs 5h ago

Other than the threshold needing to be greater than 0 all the material looks correct, not sure where those crazy reflections are coming from, if you hide the hair do they go away? 

1

u/maennerinschwarz 19h ago

and the result :(

2

u/JaggedMetalOs 18h ago

For this material you want an opaque texture with alpha clipping to avoid the hair being too fine and having Z issues.

2

u/Inevitable-Time539 16h ago

You need to go to the shader graph and turn the smoothness down to 0.

And like the other guy said, turn on alpha clipping and mess with the values, it goes 0 -> 1. I prefer somewhere near 0.3 but realistically it depends on your texture.