2016-08-17 3 views
0

3 개를 사용하여 만든 글로브가 있습니다. 나는 그것을 드래그 할 수 있도록 궤도 컨트롤을 사용하고 있습니다. 내 문제는 터치 장치에서 끌기가 제대로 작동하지 않는다는 것입니다. 가장자리에서는 드래그 할 수없고 firefox에서는 가로로 드래그 할 수 있지만 세로로 드래그하면 드래그하는 대신 아래로 스크롤됩니다. 모바일에서 드래그를 허용하려면 어떻게해야합니까?모바일에서 3 개 지구를 드래그 할 수 있습니까?

this._controls = new THREE.OrbitControls(this._camera, this._renderer.domElement); 
this._controls.rotateSpeed = .08; 
this._controls.zoomSpeed = 1.0; 
this._controls.enableZoom = false; 
this._controls.enablePan = false; 
this._controls.enableDamping = true; 
this._controls.minDistance = 23.0; 
this._controls.maxDistance = 70.0; 
this._controls.dampingFactor = 0.1; 

답변

0

문제는 THREE.OrbitControllistens for mouse and touch events 가장자리 Pointer Events를 사용으로의 렌더링 DOM 요소에, 파이어 폭스가 제대로 모든 터치 이벤트를 지원하지 않는다는 것입니다 :

여기 내 orbitcontrols 코드입니다. Touch Events 인 휴대 기기는 정상적으로 작동합니다.

+0

trackballcontrols를 사용하면 제대로 작동합니까? 내가 원하는 것을 할 수있는 컨트롤러가 있습니까? – rjdude31

+0

@ rjdude31 [mr. doob은 모든 주요 브라우저에 도착할 때까지 포인터 이벤트 (https://github.com/mrdoob/three.js/issues/4015)를 지원하는 것을 꺼립니다. 그 동안 [이] (https://github.com/Steditor/three-pointer-controls)에서 문제를 해결할 수 있습니다. –

0

Hammer.js과 같은 터치 이벤트 도우미를 사용 해본 적이 있습니까? 그것은 제스처가 주된 용도이지만 Hammer를 사용하여 일반 단순 터치 상호 작용과 관련된 호환성 문제를 성공적으로 해결했습니다.