【发布时间】:2015-11-19 16:32:34
【问题描述】:
我目前正在使用three.js 处理我的小项目,但是我很难在THREE.OBJLoader 加载的对象上映射纹理。内置几何的three.js没有这样的问题。我现在真的很迷茫……
// Load the model from obj file [teapot, 74KB]
var onProgress = function ( xhr ) {
};
var onError = function ( xhr ) {
};
//var oCubeMap = THREE.ImageUtils.loadTexture(imageNames);
var objTexture = new THREE.ImageUtils.loadTexture(textureImage);
var oMaterial = new THREE.MeshLambertMaterial( { map: objTexture } );
var ooMaterial = new THREE.MeshPhongMaterial( { color: 0x99CCFF } );
var thisTexture = THREE.ImageUtils.loadTexture( textureImage, {}, function() {
renderer.render(scene, camera);
} );
var loader = new THREE.OBJLoader();
loader.load(teapot, function (object) {
object.position.set(8, -5, -25);
object.scale.set(0.04, 0.04, 0.04);
object.rotation.set(0, 180 * Math.PI / 180, 0);
// object.color = '0x99CCFF';
object.material = ooMaterial;
// object.texture = thisTexture;
scene.add(object);
}, onProgress, onError);
如您所见,我已经尝试了几种方法,例如颜色、材质和纹理,但到目前为止都没有奏效。谁能告诉我如何在这个对象上应用纹理?
【问题讨论】:
标签: javascript three.js