首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >webgl babylonjs skybox纹理不显示

webgl babylonjs skybox纹理不显示
EN

Stack Overflow用户
提问于 2014-01-09 09:42:24
回答 4查看 2K关注 0票数 2

我有一个问题,在webgl中使用babylonjs制作的天空盒子的纹理。我的整个项目都在the服务器上,所有的东西看起来都写得很好,但是应该是skybox的盒子没有显示出纹理-内外都是黑色的

代码:

代码语言:javascript
复制
var skybox = BABYLON.Mesh.CreateBox("skyBox", 1000.0, scene);
var skyboxMaterial = new BABYLON.StandardMaterial("skyBox", scene);
skyboxMaterial.backFaceCulling = false;
skyboxMaterial.reflectionTexture = new BABYLON.CubeTexture("skybox/skybox", scene);
skyboxMaterial.reflectionTexture.coordinatesMode = BABYLON.Texture.SKYBOX_MODE;
skyboxMaterial.diffuseColor = new BABYLON.Color3(0, 0, 0);
skyboxMaterial.specularColor = new BABYLON.Color3(0, 0, 0);
skybox.material = skyboxMaterial;
EN

回答 4

Stack Overflow用户

发布于 2015-07-06 02:25:24

我怀疑你在磁盘上的目录结构不适合skybox。

如果你按照巴比伦游乐场的例子来做一个skybox http://www.babylonjs-playground.com/#3458P (然后下载完整的工作例子的压缩包)

您可以看到,在您的示例中," skybox /skybox“是指一个名为"skybox”的目录,其中包含6个skybox文件,即

包含名为

  • skybox_nx.jpg
  • skybox_px.jpg
  • skybox_ny.jpg
  • skybox_py.jpg
  • skybox_nz.jpg
  • skybox_pz.jpg

的文件的

  • "skybox“目录

票数 2
EN

Stack Overflow用户

发布于 2020-05-25 23:15:24

首先检查你的雾,它不会让你看到天空的盒子,试着把它移除。在我的例子中是:我复制了代码,对于我的场景来说太大了,我没有注意到变化。然后我减少

代码语言:javascript
复制
    var skybox = BABYLON.Mesh.CreateBox("skyBox", 800.0, scene);

代码语言:javascript
复制
    var skybox = BABYLON.Mesh.CreateBox("skyBox", 52.5, scene);

解决了问题

票数 1
EN

Stack Overflow用户

发布于 2014-01-10 08:47:35

代码看起来是正确的。你能用F12 bar检查纹理是否正确加载吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21010188

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档