Angular Three.js+;角度:纹理加载失败

Angular Three.js+;角度:纹理加载失败,angular,typescript,three.js,Angular,Typescript,Three.js,Three.js由于纹理加载而渲染黑色场景 我在angular组件(angular版本8)中使用了three.js 我试图遵循一个旧的three.js教程,该教程使用了现在已弃用的three.ImageUtils.loadTexture()为网格材质贴图加载纹理 它对我不起作用,所以我尝试使用modernTHREE.TextureLoader().load()。然而,出于某种原因,它从未对回调采取行动 因此,我尝试使用THREE.TextureLoader().load()与THREE.Load

Three.js由于纹理加载而渲染黑色场景

我在angular组件(angular版本8)中使用了three.js

我试图遵循一个旧的three.js教程,该教程使用了现在已弃用的
three.ImageUtils.loadTexture()
为网格材质贴图加载纹理

它对我不起作用,所以我尝试使用modern
THREE.TextureLoader().load()
。然而,出于某种原因,它从未对回调采取行动

因此,我尝试使用
THREE.TextureLoader().load()
THREE.LoadingManager()配合使用。虽然
THREE.LoadingManager()
的回调似乎有效,但它仍然只生成带有灯光的黑色场景

虽然我不太会使用three.js, 在我看来,我的代码:

  • 包括灯光吗
  • 似乎不止一次
  • 不会向控制台抛出任何错误
  • 代码

    在my component.html中:

    ...
    <div #rendererContainer></div>
    ...
    

    我进行了测试,您的代码提供了一些建议

    您可以完全删除重新渲染功能,只需确保按如下方式加载场景的颜色:

    this.scene = new THREE.Scene();
    this.scene.background = new THREE.Color(0xf5f5f5);
    
    确保加载的图像具有正确的路径,您可以尝试:

    this.earthSurface.map = textureLoader.load('https://upload.wikimedia.org/wikipedia/commons/b/b8/Exploding_planet.jpg');
    

    谢谢,结果与您所说的一模一样-问题是由于未设置
    this.scene.background
    以及
    textureLoader.load()
    由于某些奇怪的原因无法解析我的路径。
    this.earthSurface.map = textureLoader.load('https://upload.wikimedia.org/wikipedia/commons/b/b8/Exploding_planet.jpg');