2013-10-03 4 views
0

이 코드는 아래에 있으며 모델을로드 할 수 없습니다.THREE JS에서 js 모델을로드 할 수 없습니다.

loader = new THREE.JSONLoader(true); 
        loader.load("modelo.js" , function (geometry, materials) { 
         mesh = new THREE.Mesh(geometry, new THREE.MeshFaceMaterial(materials)); 
         scene.add(mesh); 
        }); 

전체 코드는 다음과 같습니다. 내가 "loader.load (...)"줄을 가져 가면 잘 동작하고 threejs.org의 튜토리얼에서 예로 든 것처럼 작은 큐브가 회전하지만로드 할 때 내 모델을로드하려고 시도하지 않습니다. 아무것도 적재하십시오. 나는 많은 예를 보았고 이것을 여러 가지 방법으로 만들었지 만 그것은 단지로드하지 않았다.

var scene = new THREE.Scene(); 
        var camera = new THREE.PerspectiveCamera(75, window.innerWidth/window.innerHeight, 0.1, 1000); 

        var renderer = new THREE.WebGLRenderer(); 
        renderer.setSize(window.innerWidth, window.innerHeight); 
        document.body.appendChild(renderer.domElement); 

        var geometry = new THREE.CubeGeometry(1,1,1); 
        var material = new THREE.MeshBasicMaterial({color: 0x00ff00}); 
        var cube = new THREE.Mesh(geometry, material); 
        scene.add(cube); 

        camera.position.z = 5; 

        loader = new THREE.JSONLoader(true); 
        loader.load("modelo.js" , function (geometry, materials) { 
         mesh = new THREE.Mesh(geometry, new THREE.MeshFaceMaterial(materials)); 
         scene.add(mesh); 
        }); 

        var render = function() { 
         requestAnimationFrame(render); 

         cube.rotation.x += 0.1; 
         cube.rotation.y += 0.1; 

         renderer.render(scene, camera); 
        }; 

        render(); 
+0

오류를 콘솔에? – mrdoob

+0

브라우저에서 확인하고 있는데 콘솔이란 무엇입니까? – Pedro

+0

js 모델 자체에 문제가 있다고 생각합니다. –

답변

1

안녕하세요, 좋은 코드로, Three.js 라이브러리의 r61로 코드를 테스트했습니다. 그것은 잘 작동, 여기 내 제안이야.

먼저 광원에 광원을 추가해보십시오. 예를 들어 배경이 검은 색이고 조명이없는 모델 (질감이있는 경우에도)을로드하면 검은 색이됩니다. 그래서 :

var ambientLight = new THREE.AmbientLight(0xBBBBBB); 
scene.add(ambientLight); 

그 구체적 모델의 JSON에서 colorDiffuse 값이 검은 색으로 설정되어 modelo.js 파일에서 재료 값의 일부를 보라 작업 (또는 장면의 배경 색상을 일치)하지 않습니다. Maya에서 언제든지 이것을 가지고 있었습니까? 상관없이, 당신은 그 긴 샷 어쨌든 그래서 당신은 몇 가지 모델을 시도 말한하지만이 게시물에 체크 아웃 도움이된다면 :

Loading Maya model with Three.js

다음, 당신은 로컬로 실행중인? 그렇다면 Chrome에서 실행 중이며 chrome.exe --allow-file-access-from-files 플래그를 설정해야합니다. 파이어 폭스에서 그것을 시도하지 않으면, 그냥 작동합니다.

아, 또한 (a) 카메라가 너무 가깝지 않은지 확인하십시오. 어쩌면 말을 다시 이동 :

camera.position.z = 100; 

또는 (b)를 메시가 볼 수있을만큼 큰 :

그것을해야
mesh.scale.set(100, 100, 100); 

, 행운

+0

Darryl, 몇 가지를 설명해 주실 수 있습니까? 나는 three.js 프로젝트로 모델을 가져 오는 것을 이해하려고 노력하고 있지만 지금까지 그것을 달성 할 수는 없다. 최근에 js 모델을로드하는 방법에 대한 질문을했지만 도움이되지 않습니다. – SWA

관련 문제