Unity3d - 如何加快画线速度?

时间:2014-10-23 12:50:47

标签: unity3d drawing hardware-acceleration

我在这里使用此代码(非常简单)。它划了一条线:

创建一个新场景, 创建一个圆柱体 将圆柱体缩放到(0.005,1.0,0.005), 将以下脚本放在圆柱上

#pragma strict
var pos1 : Vector3;
var pos2 : Vector3;
var objectHeight = 2.0; // 2.0 for a cylinder, 1.0 for a cube
function Update () {
if (Input.GetMouseButtonDown(0)) {
pos1 = Vector3(Input.mousePosition.x, Input.mousePosition.y, Camera.main.nearClipPlane + 0.5);
pos1 = Camera.main.ScreenToWorldPoint(pos1);
pos2 = pos1;
}
if (Input.GetMouseButton(0)) {
pos2 = Vector3(Input.mousePosition.x, Input.mousePosition.y, Camera.main.nearClipPlane + 0.5);
pos2 = Camera.main.ScreenToWorldPoint(pos2);
}
if (pos2 != pos1) {
var v3 = pos2 - pos1;
transform.position = pos1 + (v3) / 2.0;
transform.localScale.y = v3.magnitude/objectHeight;
transform.rotation = Quaternion.FromToRotation(Vector3.up, v3);
}
}

当我快速移动鼠标时,线条滞后。它也落后于智能手机。我把那些代码放在OnGUI中,因为我读到了某个地方,它比Update更快。它仍然落后。

我写了一个游戏。有没有办法加快线条画。我的意思是硬件加速=真?或者我的方向错了?

我知道,有一些2d的拉伸代码和linerenderer。但我想像上面那样做。我想拉伸一个物体。

0 个答案:

没有答案