У меня есть LineRenderer только с двумя точками - начальной и конечной. Я хочу разделить линию с заданным числом, которое автоматически создаст или добавит новые точки в LineRenderer. Например, если я разделю линию на 2, это добавит еще одну точку в центре LineRenderer.
РЕДАКТИРОВАНИЕ: Второй раз редактировал мой вопрос с рабочим сценарием и результатом изображения. Я не знаю, является ли это лучшим решением, но оно работает для меня. Единственное, чего я не знаю, это как вычислить делитель для использования на основе числа line.position
. И за дубликат флага. Я думаю, что это не то, что я хотел.
GameObject stroke = new GameObject();
LineRenderer line = stroke.AddComponent<LineRenderer>();
line.startWidth = 0.1f;
line.endWidth = 0.1f;
line.useWorldSpace = true;
float divisor;
Vector3 start = new Vector3(-6.7399,-0.2475,0);
Vector3 end = new Vector3(-3.742899, -0.2475, 0);
line.positionCount = 4;
if(line.position == 4)
divisor = 0.333f; //get by 1/3
else if(line.position == 3)
divisor = 0.5f; //get by 1/2
Vector3 valuePerPosition = Vector3.Lerp(start, end, divisor);
for (int i = 0; i < line.positionCount; i++)
{
Vector3 newPosition = start - valuePerPosition;
line.SetPosition(i, start - (newPosition * i));
GameObject sphere = GameObject.CreatePrimitive(PrimitiveType.Sphere);
sphere.transform.position = start - (newPosition * i);
sphere.transform.localScale = new Vector3(0.125f, 0.125f, 0.125f);
}
![enter image description here](https://i.stack.imgur.com/KjR2y.png)