Сглаживание линии на линии - PullRequest
0 голосов
/ 20 марта 2019

Я создал квадрат с помощью linerenderer, но моя проблема сейчас в том, что линия не является гладкой.см. рисунок ниже.Я пытался включить сглаживание и установить lr.numCapVertices безрезультатно.

enter image description here

 private void DrawLine()
{
    GameObject myLine = new GameObject();
    myLine.transform.position = start;
    myLine.AddComponent<LineRenderer>();
    lr = myLine.GetComponent<LineRenderer>();
    lr.material = new Material(Shader.Find("Sprites/Default"));     
    lr.positionCount = 4;
    lr.startWidth = .1f;
    lr.endWidth = .1f;

    lr.SetPosition(0, new Vector3(1, 0, 0));
    lr.SetPosition(1, new Vector3(2, 0, 0));
    lr.SetPosition(2, new Vector3(2, -1, 0));
    lr.SetPosition(3, new Vector3(1, -1, 0));
    lr.loop = true;


    Gradient gradient = new Gradient();
    gradient.SetKeys(
        new GradientColorKey[]
        {
            new GradientColorKey(Color.red, 0.25f),
            new GradientColorKey(Color.green, 0.50f),
            new GradientColorKey(Color.blue, 0.75f),
            new GradientColorKey(Color.yellow, 1f),
        },
            new GradientAlphaKey[] { new GradientAlphaKey(1f, 0.0f)

        }
        );
    lr.colorGradient = gradient;

}

1 Ответ

0 голосов
/ 20 марта 2019

Посмотрите на line renderer документацию.В частности, следующие свойства:

  • Угловые вершины
  • Вершины заглушки
  • Выравнивание

Углы и вершины заглушки будут определять 'округлость углов и окончание линий.Различные настройки выравнивания могут дать вам более ортогональный вид линии, что должно предотвратить иллюзию различной толщины, что видно в зеленом углу вашего изображения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...