我有3D场景,我可以在第一人称行走,从窗口看到行星,可以看到所有视图。我应该如何绘制行星,以便正确显示?
我的托架尺寸为10x10x7。我遇到了三个选项,都有缺点:
在窗户附近悬挂半径= 8行星。嗯,它被认为是挂出奶酪,当我看着窗户向前或向后按压,我看到它缩放。最坏的
制作两个场景和两个摄像头,一个用于海湾,第二个用于行星。看起来最好,但只有我不转。如果我转身,可以清楚地看到行星只是一个天空背景
自然的方式。将行星放置在数千个单位之内,半径为数千个单位。只是不能制作我所谓的"引擎"让这个工作。剪切平面和深度缓冲问题只是冰山一角。我应该吗?
答案 0 :(得分:0)
在许多方面,您的问题与Skyboxes具有相同的要求。因此,您可以了解它们的工作原理并根据它来应用解决方案。 例如:
你总是想要首先渲染这个星球,以便它最终落后于其他一切。这使您可以将它放在附近(因此避免z剪裁)。
您希望它始终与播放器保持相同的距离。 为此,您可以应用此处的技术:http://ogldev.atspace.co.uk/www/tutorial25/tutorial25.html 它们有一个自定义顶点着色器,可以替换z值,因此不会缩放。 如果您不想使用着色器,我相信您可以找到其他方法。
编辑: 我认为最天真的方法是通过每一帧的球员位置来抵消行星的位置。结合1.行星似乎是静止的,但距离很远。