2015-01-19 5 views
5

Sto sviluppando un gioco di cecchino per Android utilizzando l'unità SDK di Google Board. Ora c'è la necessità di modificare il FOV della telecamera che mi porta ad interagire con una variabile denominata "mockFieldOfView" in CardBoard.cs. Modificare questo valore nell'editor di Unity va bene, ma non appena ho creato una build per Android non ha alcun effetto. Non riesco a capire il problema. Qualsiasi idea o suggerimento sarebbe molto apprezzata.Impossibile modificare FOV della telecamera della scheda di google

scusiamo per il ritardo di risposta, in modo da ouflak potete vedere completi Cardboard.cs qui Cardboard.cs

+0

Avremmo bisogno vedere un po 'di codice anche per fare il primo tentativo. – ouflak

risposta

5

Se non si desidera cambiare "mockFieldOfView". Questo riguarda solo il FOV in-editor. Il valore che vuoi cambiare è "matchMonoFOV" sullo StereoController. Devi anche impostare un oggetto di gioco "CenterOfInterest" su StereoController. Fa in modo che il FOV stereo tenti di far corrispondere il FOV sulla fotocamera principale (o qualsiasi videocamera abbia lo script StereoController).

Vedi StereoController.cs

Aggiornamento: v0.4.5 di cartone SDK supporta il vostro caso d'uso. Usa "matchByZoom" e imposta il FOV desiderato sulla videocamera dello StereoController. Non è necessario alcun centro di interesse.

+0

Ciao smd, ho provato a cambiare "matchMonoFOV" e sembra che sia abbastanza simile al cambio di FOV, va bene, ma ho trovato un comportamento davvero strano quando ruotavo la testa. Quello che sta accadendo ora sta cambiando in "matchMonoFOV" traduce la telecamera che è figlia di Player. Quando il giocatore gira è a testa, la telecamera si gira verso lo spettatore e si muove attraverso il terreno a causa della sua traduzione. Come potrei risolverlo (Come evitare la traduzione della telecamera invece abbiamo bisogno di rotazione)? – user3839742

+0

Qual è il FOV della videocamera mono? Dove hai l'oggetto di gioco CenterOfInterest? – smd

+0

Ah, visto che hai menzionato che si tratta di un gioco da cecchino, immagino che il problema sia quando guardi attraverso il mirino? Penso che il metodo matchMonoFOV non sia la strada da percorrere per quel caso. La visualizzazione attraverso un oscilloscopio non è una situazione di realtà virtuale. – smd

1

Ho avuto lo stesso problema e nel mio caso ha aiutato a mettere la telecamera principale più vicino all'oggetto che era il cockpit di un'auto nel mio caso.

Al fine di mettere il più vicino di quanto MainCamera 1 del mondo reale metri all'oggetto è necessario modificare il-minimo-valore di default in Cardboard.cs - io uso la seguente impostazione:

private readonly Vector2 defaultComfortableViewingRange = new Vector2(0.0f, 100000.0f); 
+1

È possibile disattivare il controllo del range di comfort deselezionando la casella "Check Stereo Comfort" di StereoController. Ciò aggirerà il controllo del vettore dell'intervallo di visualizzazione del tutto. – smd