Описание
Режим Начало: рисовать линии.
Рисует линии между каждой парой пройденных вершин. Если вы проходите четыре вершины, A, B, C и D, рисуются две линии: одна между A и B и одна между C и D.
Чтобы настроить экран для рисования в 2D, используйте GL.LoadOrtho или GL.LoadPixelMatrix. Чтобы настроить экран для рисования в 3D, используйте GL.LoadIdentity, а затем GL.MultMatrix с нужным матрица преобразования.
Смотрите так же: GL.Begin, GL.End.
using UnityEngine;
public class Example : MonoBehaviour
{
// Draws a line from "startVertex" var to the curent mouse position.
Material mat;
Vector3 startVertex;
Vector3 mousePos;
void Start()
{
startVertex = Vector3.zero;
}
void Update()
{
mousePos = Input.mousePosition;
// Press space to update startVertex
if (Input.GetKeyDown(KeyCode.Space))
{
startVertex = new Vector3(mousePos.x / Screen.width, mousePos.y / Screen.height, 0);
}
}
void OnPostRender()
{
if (!mat)
{
Debug.LogError("Please Assign a material on the inspector");
return;
}
GL.PushMatrix();
mat.SetPass(0);
GL.LoadOrtho();
GL.Begin(GL.LINES);
GL.Color(Color.red);
GL.Vertex(startVertex);
GL.Vertex(new Vector3(mousePos.x / Screen.width, mousePos.y / Screen.height, 0));
GL.End();
GL.PopMatrix();
}
}