2014-12-10 11 views
6

Sto eseguendo Three.js r69 con OrbitControls.js in bundle. Ho una scena semplice con un paio di oggetti che sono selezionabili. Mi piacerebbe poter disabilitare lo zoom mentre un oggetto è selezionato e riattivarlo una volta che ho cancellato la selezione.OrbitControls - Posso abilitare/disabilitare lo zoom in modo dinamico?

Sto lavorando a una soluzione temporanea, ma comporta la modifica del codice OrbitControls.js. Ciò potrebbe rendere davvero fastidioso l'aggiornamento a una nuova versione di Three.js, specialmente se OrbitControls viene mai modificato.

Attualmente esiste un modo per abilitare/disabilitare alcune funzionalità (come lo zoom, la panoramica o l'orbita) al volo, indipendentemente l'una dall'altra?

risposta

9

è semplice:

controls = new THREE.OrbitControls(camera); 

// to disable zoom 
controls.enableZoom = false; 

// to disable rotation 
controls.enableRotate = false; 

// to disable pan 
controls.enablePan = false; 
+1

Sì. L'ho capito pochi minuti dopo aver postato la domanda. Me.dumb + = 5; – Justin

+1

questi metodi 'no' sembrano essere deprecati. – 8protons

+1

8protons, hai ragione! aggiorno la mia risposta – meirm

1

Se si sta modificando la source è necessario aver visto noZoom e noPan.

E this post mostra come vincolare la rotazione.

Non soddisfano questi requisiti?

Problemi correlati