为什么所有的衬垫渲染器都有一种相同的颜色?

问题描述 投票:0回答:1
// Initialize and set up the LineRenderers for the eyes and finger
leftEyeLineRenderer = eyeLeft.gameObject.AddComponent<LineRenderer>();
rightEyeLineRenderer = eyeRight.gameObject.AddComponent<LineRenderer>();
fingerLineRenderer = finger.gameObject.AddComponent<LineRenderer>();

SetUpLineRenderer(leftEyeLineRenderer, Color.yellow);
SetUpLineRenderer(rightEyeLineRenderer, Color.yellow);
SetUpLineRenderer(fingerLineRenderer, Color.blue);

private void SetUpLineRenderer(LineRenderer lineRenderer, Color color)
{
    // Create a simple unlit material that supports vertex colors
    Material lineMaterial = new Material(Shader.Find("Standard"));
    lineRenderer.material = lineMaterial;

    lineRenderer.startColor = color;
    lineRenderer.endColor = color;
    lineRenderer.startWidth = 0.01f;
    lineRenderer.endWidth = 0.01f;
}

但结果是所有的衬垫渲染器都具有相同的颜色。我不确定那是否是黄色,但我希望两个是黄色,一个是蓝色。

line renderers all same color

c# unity-game-engine
1个回答
0
投票

解决方案是使用 Sprites/Default

相反:

Material lineMaterial = new Material(Shader.Find("Standard"));

更改为:

Material lineMaterial = new Material(Shader.Find("Sprites/Default"));

我也尝试过“Unlit/Color”,但目前唯一有效的是“Sprites/Default”。

© www.soinside.com 2019 - 2024. All rights reserved.