Home Marmoset

Custom shader help

lobachevscki
polycounter lvl 5
Offline / Send Message
lobachevscki polycounter lvl 5
Hello. Hope you are fine and doing well.

I've been working in Substance Designer and Marmoset since a few months back, I use custom shader mostly for presentation, but I wanted to start learning about custom shader, so I started by trying to solve a very specific and simple problem.

Below there is a tardigrade egg texture im working on.




But given the nature of how UV's are created you can see that at the poles there is this accumulation of heads (the cone shaped stuff) and that's now what happens in reality, that's just planar, there are no cones there. I tried to create a 1:1 texture so I don't have to tile it in Marmoset, but the details are lost, so I'm forced to tile it.

I was thinking of creating a shader with two maps for height: the regular tiled Height, and a multiplier map that is basically a black stripe in the top and the bottom (and white in the middle) so I can cancel the regular Height in the poles by multiplying both. Of course, the multiplier map is not tiled.

I found Danilo Paulo's free shader examples and I do understand them, I get the logic but it is not working for me.

I took his Displacement Panner and tried to modify it. It seems there is no Error, but it is impossible for me to know because I edited it in Notepad++ and there is no way for me to receive debugging feedback, but when I plug it in Marmoset nothing is shown. The geo just disappears. You can check it out yourself.

This is the code, could somebody be so kind of pointing out the mistake or the way to do it. Thanks.

#include "data/shader/mat/state.dom"
#include "../other/customExtras.sh"
//2 - Variables
USE_TEXTURE2D(tDispMask); //name "Displacement Mask"
//3 - Functions
void HeightMultiply(inout ControlState s, inout PatchState ps){
#ifdef Displacement
ds.position *= tDispMask;
}
//4 - Definitions
#define Displacement HeightMultiply


Sign In or Register to comment.