问题标签 [skybox]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1414 浏览

textures - 立方体边缘上的 webgl 天空盒纹理伪影

我正在使用 webgl 开发一个项目(我不能使用 three.js 或其他库),当我渲染天空盒时,它看起来像这样:

天空盒问题

如您所见,立方体的边缘有一些线条,因此可以说是天空盒纹理的交汇处。请注意,相同的纹理适用于 three.js 库所以我的绘图代码一定有问题。

我的立方体.obj:

我的绘图代码:

纹理加载:

有谁知道可能是什么问题?

0 投票
1 回答
715 浏览

unity3d - Unity3d 3d skybox not quite right

I'm messing around in unity3d in order to learn it.
Had a crack at making my own 3d skybox like in source engine for example. I'm using the standard 1st person controller.
I made another camera with same FOV for my skybox, and slaved it to the camera in the 1st person controller using the script below which I put on my skybox camera.
(Maincam field has the 1st person controller camera component in it)

You can see result here. Its a bit funny. (The big tetrahedron shape in the background is in my skybox everything else is normal)
As far as I understand it as long as the camera fov is the same it doesnt matter what size my skybox things are.
I think the problem, is there is some lag maybe? Like the Update in the code above is being called one frame too late? I tried calling that update from the 1st person controllers mouse look script but as well as getting loads of errors the result was the same.

0 投票
1 回答
1068 浏览

unity3d - 统一3d;网格上的 Skybox,就像在 Source 引擎中一样。

在我制作的旧游戏中,例如虚幻或半衰期,天空盒是一种视差纹理,您可以将其分配给世界几何体,例如房间的天花板,以产生房间向天空开放的错觉。
使用这种“天空门户”方法可以实现一些巧妙的技巧或奇怪的事情。例如,您可以在地下房间拥有“天空”。或者穿过天空中的一个洞。

我想知道是否可以像在这些旧引擎中一样,在 unity3d 渲染中制作网格作为天空盒的一部分。

0 投票
1 回答
620 浏览

html - 渲染没有 3d 库的天空盒

所以...我有一些 6 张图片,比如这些http://www.humus.name/index.php?page=Textures,我基本上想在 html5 画布上呈现它们,如下所示:http:// www.allforthecode.co.uk/aftc/forum/user/modules/forum/article.php?index=5&subindex=4&aid=303 但我宁愿不使用任何 3d 库,例如 webgl 或 three.js,因为这是我需要的唯一与 3d 相关的功能,我希望整个东西尽可能轻巧。我想,“来吧,它只是一个旋转的立方体,不可能那么难!” 错误的。我最初的计划是保持相机位置固定,然后 ant 跟踪每个顶点的 x 和 y 偏移量(以弧度为单位),然后将它们投影到我的画布上并相应地变形上下文以渲染立方体的每个面. 这种方法似乎不起作用,所以......有人可以给我一个伪代码算法吗?

0 投票
0 回答
374 浏览

opengl - 使用“glDrawElements”绘制的立方体的天空盒纹理映射

这篇文章中了解到,我使用该函数绘制了一个立方体,glDrawElements而不是使用该函数绘制由大量顶点列表中指定的三角形组成的立方体glDrawArrays(GL_TRIANGLES, 0, 6)

我使用该函数成功地对两个三角形进行纹理glDrawArrays化以创建一个带纹理的正方形,但是当我在我的新glDrawElements方法上尝试相同的方法时,我似乎无法让它工作......

这就是我现在绘制立方体的方式(包括我在纹理方面的尝试):

以及我如何渲染它:

我整个晚上都在盯着它看,所以我可能错过了一些非常愚蠢的东西,但我就是看不出我哪里出错了......

0 投票
0 回答
304 浏览

graphics - 如何将天空盒 dds 文件加载到paint.NET 中进行编辑?

所以我有一个在 XNA 4.0 中实现的 skybox dds 文件。但是我想自定义文件,但不确定如何正确编辑它。我设法在paint.NET中打开了文件,唯一的问题是paint.NET中显示的图像是地图的正方形,但肯定应该还有另外5张图像可以组合在一起形成盒子形状?

0 投票
4 回答
2112 浏览

textures - webgl - babylonjs 天空盒纹理未显示

我对使用 babylonjs 在 webgl 中制作的天空盒的纹理有疑问。我的整个项目都在网络服务器上,一切似乎都写得很好,但是应该是天空盒的盒子没有显示纹理 - 内外都是黑色

代码:

0 投票
1 回答
5558 浏览

java - Libgdx 在 3D 中创建天空/环境

我正在使用 Libgx 3D api 开发 3D 游戏。现在我想添加一些环境(不是 Libgdx Environment,而是一个真实的环境),比如天空或一些背景。我听说过所谓的skybox,我或多或少地了解它是如何工作的。这个“天空盒”是一个围绕您游戏世界的盒子。所以你在这个盒子里。您在此框的内部向所有 6 个面添加纹理。现在您将相机设置在此框的中心,但视图方向正确,然后开始渲染,因此您与面的距离始终相同,但您可以围绕其他面旋转。然后你将你的相机设置在你真实所处的位置并渲染所有的模型、物体等等。我理解对了吗?我找不到有关如何使用 libgdx 执行此操作的教程。所以我的问题是:如何在 libgdx 中创建一个“天空盒”,如何向其中添加纹理以及如何将其渲染为背景/环境?或者还有其他更简单的可能性吗?

0 投票
1 回答
632 浏览

opengl - 天空盒不渲染

我尝试在我的场景中渲染天空盒,但它渲染为黑色,就像未正确加载纹理一样。我使用 FreeImage 库来加载纹理:

这是我的 Skybox 课程:

顶点着色器:

和片段着色器:

不幸的是,render() 方法只渲染一个黑色矩形。如果我在片段着色器中硬编码其他颜色或在顶点着色器中硬编码顶点坐标,则矩形会更改颜色和位置。我也使用着色器和 vao 辅助类来渲染粒子,所以它们可能很好,问题在于纹理加载。

最终效果如下:

在此处输入图像描述

0 投票
0 回答
319 浏览

opengl - 基于纹理的天空盒反射

我有包含法线的纹理:

在此处输入图像描述

眼睛位置:顶点着色器:

片段着色器:

在此处输入图像描述

编辑(带有abs()颜色矢量):

在此处输入图像描述

和深度:

在此处输入图像描述

我也有一个立方体纹理,我用它来渲染一个天空盒(你可以在上面的图片中看到它的一部分)。

我需要使用它们来创建反射效果。

纹理之前是使用帧缓冲区渲染的,现在我在片段着色器中以这种方式使用它们:

我试图做这样的事情(基于教程):

但我无法达到适当的反射效果。

我可以看到这样的东西:

在此处输入图像描述

这是不正确的,因为当我从上方看球时,我应该只看到反射的天空。我也可以在任何我看球的地方看到相同的天空盒片段。

你能帮我做一个正确的数学方程式吗?我应该使用哪个矩阵(如果有的话),我应该如何计算正确的立方体纹理坐标?