Unity 3D:在游戏对象拍摄的游戏对象/记录路径后面绘制线条?

时间:2016-04-28 18:44:30

标签: unity3d virtual-reality

我正在使用Google纸板在Unity3d中创建一个VR应用,并且需要知道如何记录播放器所采用的路径(它们正在穿越迷宫)。有没有办法绘制用户所采用的路径(可能在控制台中;不在实际游戏中,用户不可见)并将此路径保存为图像?

我需要保存图片或者只是保存玩家进入游戏的位置,以便我可以将此图像/数据通过电子邮件发送给玩家。实现此目的的最佳方式是什么?

1 个答案:

答案 0 :(得分:1)

您需要将播放器的路径存储在List Vector3中。然后,您可以使用LineRenderer绘制直线。将LineRenderer的椎骨数量更改为带有LineRenderer.SetVertexCount的List.Count,然后遍历List并使用LineRenderer更改LineRenderer的位置。 SetPosition(loopIndex,playersPo [loopIndex])。

List<Vector3> playerPos = new List<Vector3>();

//Store players positions somewhere
//playerPos.Add(pPos);
//playerPos.Add(pPos); 
//playerPos.Add(pPos);


Color red = Color.red;
LineRenderer lineRenderer = gameObject.AddComponent<LineRenderer>();
lineRenderer.material = new Material(Shader.Find("Particles/Additive"));
lineRenderer.SetColors(red, red);
lineRenderer.SetWidth(0.2F, 0.2F);

//Change how mant points based on the mount of positions is the List
lineRenderer.SetVertexCount(playerPos.Count);

for (int i = 0; i < playerPos.Count; i++ )
{
    //Change the postion of the lines
    lineRenderer.SetPosition(i, playerPos[i]);
}
相关问题