大家好,我正试图在 3 个距离之间消失。例如,我有一个草系统,它们都使用相同的着色器和 3 种类型的 LOD,所以我需要在 3 个不同的距离之间交叉淡入淡出,这样它们就不会突然出现。这就是我一直在尝试的方式。
float dist_near1 = 60; //farthest away from camera
float dist_far1 = 110; //farthest away from camera
float dist_near2 = 30;
float dist_far2 = 70;
float dist_near3 = 0 ; //Closest to camera
float dist_far3 = 50 ; //Closest to camera
float4 fading1 = 1-saturate((distance(Input.wpos,Input.cpos)-dist_near1)/(dist_far1-dist_near1));
float4 fading2 = fading1-saturate((distance(Input.wpos,Input.cpos)-dist_near2)/(dist_far2-dist_near2));
float4 fading3 = fading2-saturate((distance(Input.wpos,Input.cpos)-dist_near3)/(dist_far3-dist_near3));
float4 baseColour=tex2D( baseMap,Input.Texcoord);
color = lerp(fading2,fading3,fading1);
wpos = world position
cpos = camera position.
这段代码不起作用,只是从dist_near3
到淡出dist_far3
不计入其余部分,例如忽略它们或被覆盖。我尝试了其他也不起作用的方法