2017-12-13 2 views
-1

나는 블렌더와 블렌드 스왑의 초보자이다. 블렌드 스왑에서 블렌더 렌더링을 다운로드하고이를 내 3js 장면에로드하려고합니다. 블렌더 렌더링을 .obj로 내 보낸 다음 .obj 파일과 .mtl 파일을 다운로드했습니다. 그런 다음 가져 오기를 시도하는 다음 코드를 사용했습니다. 오류 코드는 없지만 렌더링이 나타나지 않습니다. 또한이 객체를 가져 와서 위치를 설정 한 후 어떤 명령이 적절한 지보고 싶었습니다. (x, y, z) .position.set을 사용할 수 없습니다.블렌더는 블렌더 오브젝트를 3js로 바꾼다

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); 
+0

왜 position.set을 사용할 수 없습니까? – pailhead

+0

'img'폴더에 obj 파일이 있습니까? 또한 'img'폴더가 HTML 페이지가있는 경로와 동일한 경로에 있는지 확인하십시오. – HariV

답변

0

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); 
관련 문제