3d 正确显示行星的模式

3d 正确显示行星的模式,3d,3d,我有一个3D场景,我可以用第一人称行走海湾,从窗户看到行星,可以看到所有的风景。我应该如何绘制行星,使其正确显示 我的机架尺寸为10x10x7。我遇到了三种选择,都有缺点: 把半径=8的行星挂在窗户附近。嗯,它被认为是挂在外面的奶酪,当我看着窗户,向前或向后踩踏板时,我看到它在缩放。最坏的 制作两个场景和两个摄像头,一个用于海湾,另一个用于行星。看起来最好,但前提是我不转身。如果我转过身,很明显,这颗行星只是一个天空盒子的背景 自然的方式。将行星放置在数千个单位之外,半径为数千个单位。就是不能让

我有一个3D场景,我可以用第一人称行走海湾,从窗户看到行星,可以看到所有的风景。我应该如何绘制行星,使其正确显示

我的机架尺寸为10x10x7。我遇到了三种选择,都有缺点:

  • 把半径=8的行星挂在窗户附近。嗯,它被认为是挂在外面的奶酪,当我看着窗户,向前或向后踩踏板时,我看到它在缩放。最坏的

  • 制作两个场景和两个摄像头,一个用于海湾,另一个用于行星。看起来最好,但前提是我不转身。如果我转过身,很明显,这颗行星只是一个天空盒子的背景

  • 自然的方式。将行星放置在数千个单位之外,半径为数千个单位。就是不能让我所谓的“引擎”让它工作。剪裁平面和深度缓冲问题只是冰山一角。我应该吗


  • 在许多方面,您的问题与您的问题具有相同的要求。所以,你可以读一读它们是如何工作的,并在此基础上应用一个解决方案。 例如:

  • 您总是希望首先渲染行星,以便它最终位于其他所有对象之后。这使您能够将其放置在附近(从而避免z剪裁)

  • 您希望它始终与玩家保持相同的距离。 要实现这一点,您可以应用以下技术: 它们有一个自定义顶点着色器来替换z值,因此它不会缩放。 如果不想使用着色器,我相信您可以找到其他方法

  • 编辑: 我认为最简单的方法是通过每帧玩家的位置来抵消行星的位置。加上1。这颗行星看起来是静止的,但距离很远