我已经使用 Three.js 几个星期了,我设法将纹理应用于通过代码直接创建的立方体,但是一旦我尝试加载一个 OBJ 文件,OBJLoader我注意到我不能使用相同的方法来加载简单的 png 或 jpg 纹理TextureLoader。
现在我不完全确定出了什么问题,如果这不是正确的方法,如果我无法正常加载简单的图像,或者我没有正确应用它。
我已经看到使用 MTL 文件应用纹理似乎很容易,但不幸的是我不确定如何制作。
我当前的代码看起来像这样:
var loader = new THREE.OBJLoader( manager );
loader.load( 'models/tshirt.obj', function ( object ) {
object.position.x = 0;
object.position.y = -200;
object.scale.x = 10;
object.scale.y = 10;
object.scale.z = 10;
obj = object;
texture = THREE.TextureLoader('img/crate.png'),
material = new THREE.MeshLambertMaterial( { map: texture } );
mesh = new THREE.Mesh( object, material );
scene.add( mesh );
} );
Run Code Online (Sandbox Code Playgroud)
但这似乎不起作用。该模型不会加载并给我来自 Three.js 的随机错误。如果不是上面的代码,我更改scene.add( obj);了实际加载的模型。 …