【问题标题】:Texture not displayed on object Forge Three.js对象 Forge Three.js 上未显示纹理
【发布时间】:2018-08-02 01:42:51
【问题描述】:

我正在尝试使用 Three.js 显示带纹理的平面。我正在使用 Forge RCDB。 起初,我设法显示了飞机,但它没有被纹理化,而是完全黑色......我做了一些更改,现在什么都没有显示了......

这是我的代码:

render () {
    var viewer=NOP_VIEWER;
    var scene=viewer.impl.scene;
    var camera = viewer.autocamCamera;
    var renderer = viewer.impl.renderer();
    renderer.render( scene, camera ); 
  }

在应该显示纹理平面的函数中:

new THREE.TextureLoader(texture).load(texture, this.render);
tex.wrapS  = THREE.RepeatWrapping   //ClampToEdgeWrapping  //MirroredRepeatWrapping
tex.wrapT = THREE.RepeatWrapping    //ClampToEdgeWrapping   //MirroredRepeatWrapping 
tex.mapping = THREE.UVMapping

一开始我使用了loadTexture()。我设法展示了我的飞机,但它全是黑色的,并且没有应用任何纹理。

然后,我使用 THREE.TextureLoader().load(),在这种情况下,我相信它试图在 localhost 上找到图像。图像已下载,我可以在控制台上看到它。

但现在我得到了这些错误:

Uncaught TypeError: scope.manager.itemStart is not a function

和:

Uncaught TypeError: renderer.render is not a function

现在对象不显示了,即使是黑色的。

所以我认为这可能与渲染有关,但我不明白如何......

【问题讨论】:

    标签: javascript three.js textures autodesk-forge


    【解决方案1】:

    我找到了this,它部分回答了我的问题。

    最后,我决定保留 THREE.ImageUtils.loadTexture(),并将 MeshLambertMaterial 替换为 MeshBasicMaterial

    无需渲染。

    【讨论】:

      猜你喜欢
      • 2018-03-18
      • 1970-01-01
      • 1970-01-01
      • 2020-04-17
      • 2012-04-29
      • 1970-01-01
      • 2019-08-10
      • 2020-12-12
      • 2015-02-27
      相关资源
      最近更新 更多