问题描述
所以我正在尝试制作一个简单的太阳系,并且我正在尝试弄清楚如何使太阳成为光源以及向其添加图像地图以使其看起来像太阳。我的代码使它成为光源,但我看不到太阳,它只是一个黑色圆圈。有什么可以帮助的想法吗?
//Adding the sun
geometry1 = new THREE.SphereGeometry( 100,32,32 );
light = new THREE.PointLight( 0xffffff,1,5000 );
material1 = new THREE.MeshStandardMaterial( {
// emissive: 0xff00ff,// emissiveIntensity: 1,map: THREE.ImageUtils.loadTexture('sun.jpg'),color: 0xffffff,side: THREE.FrontSide
});
light.add(new THREE.Mesh(geometry1,material1));
light.position.set(0,0);
light.castShadow = true;
这是场景的样子,你可以看到地球有来自太阳的光。
解决方法
您应该添加skinning: true
geometry1 = new THREE.SphereGeometry( 100,32,32 );
light = new THREE.PointLight( 0xffffff,1,5000 );
material1 = new THREE.MeshStandardMaterial( {
// emissive: 0xff00ff,// emissiveIntensity: 1,skinning: true,map: THREE.ImageUtils.loadTexture('sun.jpg'),color: 0xffffff,side: THREE.FrontSide
});
light.add(new THREE.Mesh(geometry1,material1));
light.position.set(0,0);
light.castShadow = true;