2015-01-15 3 views
0

TrackballControls (마우스가있는 움직임)에 관계없이 끊임없이 회전하려면 텍스트 메시가 필요합니다. 다음 코드를 사용하면 마우스를 움직일 때만 메쉬가 회전합니다. 아무도 나에게 뭐가 잘못 됐는지 말해 줄 수 있니?왜 내 텍스트 메시가 계속 회전하지 않습니까?

코드 : 작업의 순서가 문제를 일으키는

//Basic Three components 
var scene = new THREE.Scene(); 
camera = new THREE.PerspectiveCamera(60, window.innerWidth/window.innerHeight, 0.1, 1000); 
camera.position.z = 500; 

//Set camera controls 
var controls = new THREE.TrackballControls(camera); 
controls.rotateSpeed = 1.0; 
controls.zoomSpeed = 1.2; 
controls.panSpeed = 0.8; 
controls.noZoom = false; 
controls.noPan = false; 
controls.staticMoving = true; 
controls.dynamicDampingFactor = 0.3; 
controls.keys = [ 65, 83, 68 ]; 
controls.addEventListener('change', render); 

//Set the renderer 
var renderer = new THREE.WebGLRenderer({ antialias: false }); 
renderer.setSize(window.innerWidth, window.innerHeight); 
document.body.appendChild(renderer.domElement); 

window.addEventListener('resize', onWindowResize, false); 

//Let's add a text 
var materialT1 = new THREE.MeshNormalMaterial(); 
var textGeom = new THREE.TextGeometry('Sitescope', { 
    font: 'optimer', 
    weight: 'normal', 
    size: 20     
}); 

var textMesh = new THREE.Mesh(textGeom, materialT1); 
textMesh.position.set(-40,60,50) 
scene.add(textMesh); 

function onWindowResize() { 

    camera.aspect = window.innerWidth/window.innerHeight; 
    camera.updateProjectionMatrix(); 
    renderer.setSize(window.innerWidth, window.innerHeight); 
    controls.handleResize(); 
    render(); 

} 

function animate() { 
    requestAnimationFrame(animate); 
    controls.update(); 

} 

function render() { 
    textMesh.rotation.x += 0.05; 
    renderer.render(scene, camera); 
} 

animate(); 
render(); 

답변

1

. 이 시도 : 당신은 여기에 fiddle

을 볼 수 있습니다

controls.addEventListener('change', render); 

:

function animate() { 
    requestAnimationFrame(animate); 
    render(); 
} 

function render() { 
    cube.rotation.x += 0.01; 
    cube.rotation.y += 0.01; 
    textMesh.rotation.x += 0.05; 
    controls.update(); 
    renderer.render(scene, camera); 
} 

animate(); 

은 또한이 호출을 제거

관련 문제