THREE.JS OBJLoader 在加载图像时给出 'Unexpected line'
THREE.JS OBJLoader giving 'Unexpected line' while loading images
我无法使用 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 字符)。也许这破坏了图像?
I can't load images (JPG, PNG, or BMP) with OBJLoader.
OBJLoader
只能处理 OBJ
项资产。如果你想加载纹理,这样做:
const textureLoader = new THREE.TextureLoader();
const leeTexture = textureLoader.load( 'lee/lee_diffuse.jpg' );
我无法使用 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 字符)。也许这破坏了图像?
I can't load images (JPG, PNG, or BMP) with OBJLoader.
OBJLoader
只能处理 OBJ
项资产。如果你想加载纹理,这样做:
const textureLoader = new THREE.TextureLoader();
const leeTexture = textureLoader.load( 'lee/lee_diffuse.jpg' );