在所附的图像中,有一个半径为6.4的地球物体和一个半径为6.8的国际空间站轨道。相机是正交的,近/远设置为1/3000。在第一张图像中,轨道线渲染得很好。在第二张图片中,轨道线被地球隐藏了,尽管它在行星的上方。对于这条线,我使用了Unity LineRenderer。对于地球,它是“是具有2种材质的球体网格:- 第一个材质使用表面明暗器,称为“自定义/EarthGround”-第二个材质使用vert+片段明暗器,称为“EPIC/Projector 2”。第一个图像仅使用第一个明暗器,而第二个图像(其中隐藏了线)使用这两个明暗器。
你认为我遗漏了什么,可能是在第二个着色器中,导致地球隐藏了线?
附加下面摘录的子材质球属性以及图像。
着色器#1,名为“自定义/地球地面”(摘录):
SubShader
{
Tags
{
"Queue"="Geometry"
"IgnoreProjector"="False"
"RenderType"="Opaque"
}
Cull Back
ZWrite On
ZTest LEqual
ColorMask RGBA
Fog{
}
着色器#2,名为“EPICProjector”(摘录):
Subshader {
Tags {"Queue"="Geometry"}
Tags { "RenderType" = "Opaque" }
Pass {
Name "PROJECTOR"
Blend SrcAlpha OneMinusSrcAlpha
仅着色器#1-线未隐藏:
着色器#1 + #2 -线隐藏
1条答案
按热度按时间7qhs6swi1#
最后修正了这个问题。我发现在材质检查器中有一个渲染队列字段会覆盖着色器中的内容。所以将渲染队列设置为“几何”确实修正了这个问题!