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

Debug.DrawLine

建议修改

成功!

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

关闭

提交失败

由于某些原因,您的建议更改无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们改进 Unity 文档的质量。

关闭

取消

切换到手册

声明

public static void DrawLine(Vector3 start, Vector3 end, Color color = Color.white, float duration = 0.0f, bool depthTest = true);

参数

start 世界空间中线条开始的点。
end 世界空间中线条结束的点。
color 线条的颜色。
duration 线条显示的时间长度(以秒为单位)。
depthTest 确定更靠近摄像机的物体是否遮挡线条。

描述

在指定的起点和终点之间绘制一条线。

当游戏运行且启用 gizmo 绘制时,这条线将在编辑器的游戏视图中绘制。当这条线在游戏视图中可见时,它也会在场景视图中绘制。让游戏运行并显示这条线。切换到场景视图,这条线将可见。

duration 是线条首次显示后可见的时间(以秒为单位)。持续时间为零表示线条只显示一帧。

如果将 depthTest 设置为 true,则场景中更靠近摄像机的其他物体将遮挡这条线。

注意: 这仅用于调试播放模式。编辑器 gizmo 应该使用 Gizmos.Drawline 或 Handles.DrawLine 绘制。

using UnityEngine;

public class ExampleScript : MonoBehaviour { void Start() { // draw a 5-unit white line from the origin for 2.5 seconds Debug.DrawLine(Vector3.zero, new Vector3(5, 0, 0), Color.white, 2.5f); }

private float q = 0.0f;

void FixedUpdate() { // always draw a 5-unit colored line from the origin Color color = new Color(q, q, 1.0f); Debug.DrawLine(Vector3.zero, new Vector3(0, 5, 0), color); q = q + 0.01f;

if (q > 1.0f) { q = 0.0f; } } }
using UnityEngine;

public class Example : MonoBehaviour { // Event callback example: Debug-draw all contact points and normals for 2 seconds. void OnCollisionEnter(Collision collision) { foreach (ContactPoint contact in collision.contacts) { Debug.DrawLine(contact.point, contact.point + contact.normal, Color.green, 2, false); } } }