0

有人可以帮我处理three.js吗?

我需要绘制背景,比如 THREE.Sprite,但它必须位于任何 3d 对象下,稍后会绘制。我有一个相机,只能在 Z 轴上移动。

我尝试使用:

  • 立方体贴图着色器 - 问题:带有阴影平面的伪影,绘制不稳定

  • 三、复制相机移动的精灵 - 问题:带有阴影平面的人工制品 - 它有一个边缘突出显示或仅绘制其他没有物体的精灵。

  • HTML DOM 背景 - 问题:模型中的大而丑陋的别名。

我可以尝试更多什么?谢谢!

4

2 回答 2

1

您可以尝试分几次绘制,即将背景场景的第一次渲染到缓冲区,然后在第一个“缓冲区”上进行第二次渲染。也许使用缓冲区作为背景(使用正交投影将其绘制为 2D,并在该通道中禁用深度缓冲区写入)。

我自己没有尝试过使用three.js,但这就是我使用“传统”OpenGL 的方式。

于 2012-04-23T10:11:12.690 回答
0

如果你想要一个“3d”背景,即跟随你的相机旋转的东西,但不对运动做出反应(无限远),那么唯一的方法就是使用立方体贴图。

另一种解决方案是环境穹顶 - 一个完全 3d 的对象。

如果你想要一个静态背景,那么你应该能够只做一个 html 背景,我不确定为什么这会失败以及你在谈论什么“模型中的别名”。

于 2014-02-16T22:51:56.640 回答