Почему я получаю только две линии, используя LineRenderer, а не три линии для создания треугольника? - PullRequest
0 голосов
/ 03 апреля 2020
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class DrawLines : MonoBehaviour
{
    private LineRenderer lineRenderer;

    // Start is called before the first frame update
    void Start()
    {
        lineRenderer = GetComponent<LineRenderer>();

        Vector3[] positions = new Vector3[3] { new Vector3(0, 0, 0), new Vector3(-1, 1, 0), new Vector3(1, 1, 0) };
        DrawTriangle(positions);
    }

    // Update is called once per frame
    void Update()
    {

    }

    void DrawTriangle(Vector3[] vertexPositions)
    {
        lineRenderer.positionCount = 3;
        lineRenderer.SetPositions(vertexPositions);
    }
}

Компонент LineRenderer в Инспекторе:

LineRenderer

1 Ответ

1 голос
/ 03 апреля 2020

В вашем массиве только 3 позиции.

Линия 1 отрисовывается от 0,0,0 до -1,1,0, затем линия 2 от -1,1,0 до 1, 1,0.

на данный момент у вас больше нет позиций для рисования.

По существу вам нужно 2 позиции, чтобы нарисовать линию. Рисование рендеринга строки от a до b, b до c, c до d et c ...

Вы также можете проверить логическое значение l oop, чтобы рендеринг строки dr aws последняя линия от последней до первой точки, в результате чего получается треугольник с 3 позициями.

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