我不能用OBJLoader加载图像(JPG、PNG或BMP)。
下面是一些代码:
function init() {
...
loader = new THREE.OBJLoader();
loadOBJ();
}
function createLeeMaterial() {
let leeTexture = new THREE.Texture();
loader.load('lee/lee_diffuse.jpg', (image) => {
leeTexture.image = image;
leeTexture.needsUpdate = true;
});
let leeMaterial = new THREE.MeshPhongMaterial();
leeMaterial.map = leeTexture;
return leeMaterial;
}
function loadOBJ() {
loader.load('lee/lee.obj', (object) => {
object.traverse((child) => {
if (child instanceof THREE.Mesh) {
child.material = createLeeMaterial();
child.receiveShadow = true;
child.castShadow = true;
}
});
object.position.y = -2;
object.position.z = 10;
scene.add(object);
});
}
我可以加载.obj,但不能加载.jpg (而且它存在于文件夹中)。
我曾经遇到过与我使用的主机有关的问题:该网站似乎删除了特殊字符(比如非ASCII字符)。也许这会破坏图像?
发布于 2022-05-13 10:33:02
I不能用OBJLoader加载图像(JPG、PNG或BMP)。
OBJLoader
只能处理OBJ
资产。如果您想加载纹理,请这样做:
const textureLoader = new THREE.TextureLoader();
const leeTexture = textureLoader.load( 'lee/lee_diffuse.jpg' );
https://stackoverflow.com/questions/72220947
复制相似问题