在一个对象中绘制一条线c#

时间:2013-04-16 14:16:50

标签: c# unity3d

您好我正在使用此代码绘制一个跟在对象

之后的行
Debug.DrawLine(new Vector3(gameObject.transform.position.x,     gameObject.transform.position.y, gameObject.transform.position.z),
        new Vector3(prevPosition_x, prevPosition_y, prevPosition_z), Color.red,1.0f);

    prevPosition_x = gameObject.transform.position.x;
    prevPosition_y = gameObject.transform.position.y;
    prevPosition_z = gameObject.transform.position.z;

然而,这并没有在构建中绘制。有没有人知道如何在不使用内置线或线索渲染器的情况下执行此操作。我知道它可以用gl完成,但不知道如何做到这一点。

感谢任何帮助

3 个答案:

答案 0 :(得分:1)

我相信Debug.DrawLine只适用于场景编辑器。

有几种方法可以绘制线条,GL绝对是其中之一。还有Vectrosity

唉,你可以通过生成自己的线网格并移动顶点来自己动手做。

希望它有所帮助。

答案 1 :(得分:0)

正如Xerosigma所说,Debug.DrawLine仅适用于编辑器,因为它的目的是调试脚本,而不是为用户提供可视化。另一个问题是,通过这种方式,您将只创建将渲染一帧的线条,而当前位置之前的线条仅相差一帧。另一方面,您可能希望跟踪不依赖于帧速率。

我认为您会在Unity中找到适合您情况的TrailRenderer组件。我在one of my hobbie projects中使用过它,它运行得很好。

答案 2 :(得分:0)

我认为这不是最好的方式,但应该有效

http://rockonflash.wordpress.com/2010/04/17/how-to-do-lasers-in-unity3d/

Debug.DrawLine仅适用于场景窗口