版本:Unity 6(6000.0)
语言英语
  • C#

GL.LINES

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们不能接受所有提交的建议,但我们确实会阅读用户提出的每项建议,并在适用情况下进行更新。

关闭

提交失败

由于某种原因,您建议的更改无法提交。请在几分钟后<a>再试一次</a>。感谢您花时间帮助我们提高 Unity 文档的质量。

关闭

取消

public static int LINES;

说明

用于 Begin 的模式:绘制线条。

在传入的每对顶点之间绘制线条。如果您传入四个顶点:A、B、C 和 D,则会绘制两条线条:一条在 A 和 B 之间,另一条在 C 和 D 之间。

要设置要在 2D 中进行绘制的屏幕,请使用 GL.LoadOrthoGL.LoadPixelMatrix。要设置要在 3D 中进行绘制的屏幕,请使用 GL.LoadIdentity,然后使用所需的变换矩阵执行 GL.MultMatrix

其他资源:GL.BeginGL.End

//Attach this script to a GameObject with a Camera component

using UnityEngine;

public class Example : MonoBehaviour { // Draws a line from "startVertex" var to the curent mouse position. public 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(); } }