【问题标题】:Threejs objmtlloader black modelThreejs objmtlloader 黑色模型
【发布时间】:2014-03-25 21:24:23
【问题描述】:

我是 ThreeJS 的新手,我做了这个例子来展示我们的一个模型。 http://petrie3dtesting.museums.ucl.ac.uk/3DFootCover/index.html

我创建了一个 Petrie3Dviewer 并在 HTML 页面中创建了一个查看器对象,该对象将 .obj 和 .mtl 文件作为输入。奇怪的是,物体显示为黑色,然后当我开始交互时,纹理出现了。我尝试了所有我认为的东西:不同的浏览器,使纹理更小,不同的计算机,我一直没有得到随机行为。 我主要在 Firefox、Chrome 上尝试过。 似乎我需要在加载 obj 文件后强制渲染,但 OBJMTLLoader.js 没有为它提供任何事件。

非常感谢您的帮助。 最好的, 气相色谱

【问题讨论】:

    标签: three.js rendering loader .obj


    【解决方案1】:

    您应该在 Animate 函数中调用 this.DoRender 来渲染帧。

    this.Animate = function() { 
        this.orbitControls.update();
        this.Animate();
        requestAnimationFrame(this.Animate.bind(this));
    }
    

    目前,您仅在用户使用OrbitControls 更改视角时调用您的渲染函数。而且因为你的纹理是异步加载的,所以在你第一次渲染帧时它还没有准备好。

    【讨论】:

      猜你喜欢
      • 2017-09-18
      • 2015-06-07
      • 2020-04-14
      • 1970-01-01
      • 2016-04-01
      • 2016-05-31
      • 1970-01-01
      • 2018-01-15
      • 1970-01-01
      相关资源
      最近更新 更多