을 제공하십시오. 트랙볼 카메라는 원하는대로 정확하게 작동하도록 설계되었습니다. 원점에 객체를 렌더링하는 경우 트랙볼 컨트롤을 초기화하면됩니다. 간단한 moon demo that uses TrackballControls을 만들었습니다. TrackballControls.js에서 수정 작업을 수행 할 필요는 없습니다. 내가 트랙볼을 초기화 함수를 호출 위의 데모에서
함수는 나의 ThreeUtil.js 파일에 정의되어 제어 : 당신은 사용자가 이동하지 못하도록하려면
function initTrackball(camera, rotate, zoom, pan, damping) {
var controls = new THREE.TrackballControls(camera);
controls.rotateSpeed = rotate || 1.0;
controls.zoomSpeed = zoom || 1.2;
controls.panSpeed = pan || 0.8;
controls.noZoom = false;
controls.noPan = false;
controls.staticMoving = true;
controls.dynamicDampingFactor = damping || 0.3;
return controls;
}
또는 줌 기능을 사용하여 객체를 회전시킬 수 있습니다. 위 기능에서 controls.noZoom = true
및 controls.noPan = true
을 설정하면됩니다.
내 달 개체가 내 장면의 원점에 있기 때문에 내가해야하는 모든 작업은 카메라를 원점에서 약간 떨어져 놓는 것입니다. 우리는 z 축의 양의 값으로 놓을 것이므로 이미 원점에서 객체를보고 있습니다. 그런 다음 위의 함수를 호출하여 컨트롤을 설정합니다. 나는 사용자 정의 회전 속도에 전달합니다
controls.update(camera);
을 나는 아직도 재생을 기다리고 :
그런 다음 각 프레임에 당신이 할 일은 당신의 ANIM 루프 업데이트 함수를 호출합니다. 누군가가이 요구를 구현하기 위해 TrackballControls.js에서해야 할 모든 수정 사항을 설명 할 수 있습니까? –