Javascript blender将blender对象交换到threejs
我对Blender和Blendswap是个新手。我从blendswap下载了一个.blender渲染,并想将其加载到我的threejs场景中。我将blender渲染导出为.obj,它下载了一个.obj文件和一个.mtl文件。然后我使用下面的代码尝试导入它。没有错误代码,但渲染未显示。我还想看看导入此对象以设置其位置后,什么命令是合适的。(x,y,z)我无法使用.position.setJavascript blender将blender对象交换到threejs,javascript,three.js,blender,Javascript,Three.js,Blender,我对Blender和Blendswap是个新手。我从blendswap下载了一个.blender渲染,并想将其加载到我的threejs场景中。我将blender渲染导出为.obj,它下载了一个.obj文件和一个.mtl文件。然后我使用下面的代码尝试导入它。没有错误代码,但渲染未显示。我还想看看导入此对象以设置其位置后,什么命令是合适的。(x,y,z)我无法使用.position.set var santa; var manager = new THREE.LoadingManager(
var santa;
var manager = new THREE.LoadingManager();
manager.onProgress = function ( item, loaded, total ) {
console.log( item, loaded, total );
};
var onProgress = function ( xhr ) {
if ( xhr.lengthComputable ) {
var percentComplete = xhr.loaded / xhr.total * 100;
console.log( Math.round(percentComplete, 2) + '% downloaded' );
}
};
var onError = function ( xhr ) {
console.log('Error: ' + xhr)
};
var loader = new THREE.OBJLoader( manager );
loader.load( 'img/santa blendswap.obj', function ( object ) {
santa = object;
scene.add( santa );
}, onProgress, onError );
如果obj文件位于指定的路径中,则此代码应该可以工作,无论如何,您可以在加载对象后设置对象的位置
var santa;
var onProgress = function ( xhr ){
if ( xhr.lengthComputable ) {
var percentComplete = xhr.loaded / xhr.total * 100;
console.log( Math.round(percentComplete, 2) + '% downloaded' );
}
};
var onError = function ( xhr ) {
console.log('Error: ' + xhr)
};
var loader = new THREE.OBJLoader();
//use %20 to encode space between the file name. 'img/santa blendswap.obj' should also work
loader.load( 'img/santa%20blendswap.obj', function ( object ) {
santa = object;
santa.position.set( 0, 5, 10 );//You can set the position like this or use object.position.set( 0, 5, 10 )
scene.add( santa );
}, onProgress, onError );
为什么无法使用position.set?是否确定“img”文件夹中存在obj文件?还要确保“img”文件夹与html页面所在的路径相同。