我是Google Cardboard + Unity的用户,我想绘制自定义3D线条。为此我在每个眼睛相机上放了一个看起来像这样的脚本:
void OnPostRender()
{
GL.InvalidateState();
GL.PushMatrix();
mat.SetPass(0);
GL.Begin( GL.LINES );
GL.Vertex(...);
GL.Vertex(...);
...
GL.End();
GL.PopMatrix();
}
虽然它在计算机上工作得很好(甚至在Oculus上),但它在Android上的行为却不同:线条正在消除视口的限制,这是令人讨厌的,因为最后一个视口会污染第一个视口。
我无法发布图片,但右眼线在左眼上方超过。 我使用三星Galaxy S3 + OpenGL ES 2.0(3.0不适用于该设备)。 有没有办法在Android上避免这种行为?
注意:GL.InvalidateState()用于拥有正确的颜色,否则在Android上线条为黑色
答案 0 :(得分:0)
对您的问题略有不同:
当我必须在世界上画线时,我喜欢使用Vectrosity:
http://www.starscenesoftware.com/vectrosity.html https://www.assetstore.unity3d.com/en/#!/content/82
您设置了线条并且它们是持久的(但可编辑)。由于它们存在于世界中,它们在立体声中呈现就好了。