Angular Three.js+;角度:纹理加载失败
Three.js由于纹理加载而渲染黑色场景 我在angular组件(angular版本8)中使用了three.js 我试图遵循一个旧的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.ImageUtils.loadTexture()
为网格材质贴图加载纹理
它对我不起作用,所以我尝试使用modernTHREE.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');