更改线渲染器 alpha 统一

Change line renderer alpha unity

Unity 的线渲染器组件有一个 material 可以附加,因此线渲染器使用它来相应地在场景中显示线渲染器:

问题是,如果您更改此 material 颜色,它会起作用,而且在运行时也可以在编辑器本身中更改。但阿尔法并非如此。 它既不在编辑中也不在代码中响应。 我试过了:

Color targetColor = new Color(0,0,0,a);
_unityEngineLineRender.sharedMaterial.SetColor("Color", targetColor);

和:

Color targetColor = new Color(0,0,0,a);
_unityEngineLineRender.sharedMaterial.color = targetColor;

而且它不起作用。 这么简单的事情能做吗?如果可以,怎么做?

提前致谢

您 material 的着色器可能不支持 alpha,这就是您没有获得任何透明度的原因。

解决方法是编写您自己的着色器或使用 Unity 中内置的其他着色器。

为您的线条渲染器和 select 着色器“Particles/Standard Unlit”创建一个新的 material,将“渲染模式”设置为“淡入淡出”。然后在 Line Renderer 上使用它而不是默认的 material.

您可以使用以下方法访问颜色:

renderer.material.SetColor("_Color", new Color(1f, 1f, 1f, 0.3f));