cara
Čára
Line Renderer
Pomocí Component > Effects >
Line Renderer
GL.LINES
Kreslí čáry mezi dvojicí vrcholů.
Tloušťka čáry bude vždy 1px.
Script vložit do kamery a metody
OnPostRender().
Material převést na sprite.
Pro 2D použít
GL.LoadOrtho nebo
GL.LoadPixelMatrix .
Pro 3D použít
GL.LoadIdentity a
GL.MultMatrix .
using UnityEngine;
public class rayScript : MonoBehaviour
{
public Material material;
private Vector3 startVertex;
private Vector3 mousePos;
void Update()
{
mousePos = Input.mousePosition;
if (Input.GetKeyDown(KeyCode.Space))
startVertex = new Vector3(mousePos.x / Screen.width, mousePos.y / Screen.height, 0);
}
void OnPostRender()
{
if (!material)
{
Debug.LogError("Please Assign a material on the inspector");
return;
}
GL.PushMatrix();
material.SetPass(0);
GL.LoadOrtho();
GL.Begin(GL.LINES);
GL.Color(Color.red);
// GL.Color(new Color(0.5f, 0.0f, 0.0f, 0.5f));
GL.Vertex(startVertex);
GL.Vertex(new Vector3(mousePos.x / Screen.width, mousePos.y / Screen.height, 0));
GL.End();
GL.PopMatrix();
GL.PushMatrix();
material.SetPass(0);
GL.LoadOrtho();
GL.Begin(GL.LINES);
GL.Color(Color.yellow);
GL.Vertex3(1, 0, 0);
GL.Vertex3(0, 1, 0);
GL.Color(Color.yellow);
GL.Vertex3(0, 0, 0);
GL.Vertex3(1, 2, 0);
GL.End();
GL.PopMatrix();
}