THREE.js-TypeError:url.search不是一个函数。(在';url.search(/\.jpe?g($| \?)/i)和';中,&';url.search';未定义)
我想向黑色球体添加纹理,所以我添加了纹理加载程序并将图像设置为imx(与场景中的草纹理相同) 但它不会加载图像 imx=“/media/accounts/951824539/951824539.jpg”THREE.js-TypeError:url.search不是一个函数。(在';url.search(/\.jpe?g($| \?)/i)和';中,&';url.search';未定义),three.js,Three.js,我想向黑色球体添加纹理,所以我添加了纹理加载程序并将图像设置为imx(与场景中的草纹理相同) 但它不会加载图像 imx=“/media/accounts/951824539/951824539.jpg” imx变量的值是多少?您没有显示它是在哪里创建的,因此其他人不可能知道问题的原因。我的猜测是,它不是带有URL的字符串,而URL是 如果要传递元素,可以使用以下方法: const-texture=new-THREE.texture(imx)啊,当然。。这是一个警报的输出,所以我没有复制它们…我
imx
变量的值是多少?您没有显示它是在哪里创建的,因此其他人不可能知道问题的原因。我的猜测是,它不是带有URL的字符串,而URL是
如果要传递
元素,可以使用以下方法:
const-texture=new-THREE.texture(imx)代码>啊,当然。。这是一个警报的输出,所以我没有复制它们…我还尝试了使用网络摄像头的视频,这在sphere中起作用。那么,可能是因为我已经在场景中使用了imx,还是我必须获得一个新图像?是的,您必须确保将字符串传递给.load()
函数。无需命名所有变量imx
,如果其中一个是视频纹理,则可以命名另一个imageURL
,以避免混淆。
const texture = new THREE.TextureLoader().load(imx);
const material2 = new THREE.MeshBasicMaterial({ map: texture });
geometry = new THREE.SphereGeometry(15, 10, 6);
var sphere = new THREE.Mesh(geometry, material2);
sphere.position.set(-60, 15, -50);
children.add(sphere);