Riportiamo un dev Diary degli sviluppatori:
“Ciao appassionati Lego Words … Sono Chris, e io sono un programmatore senior al TT. Io ci sono stato per 14 anni e per gli ultimi 3 o 4 hp lavorato soprattutto su sistemi di telecamere. Sono qui per spiegare un po ‘su come funziona la macchina fotografica corrente, e, auspicabilmente, saperne di più su come i nostri sostenitori EA preferiscono usarla.

nessuna telecamera che segua il personaggio è  al 100% finita! C’è sempre qualche caso in un cui si riscontra un “angolo difficile” da visualizzare in qualsiasi gioco, perché è un problema difficile da risolvere. Per “angolo difficile” intendo qualsiasi evento insolito, non un angolo letterale di una stanza. Anche se alcuni angoli reali sono casi d’angolo :)

La fotocamera ha un sacco di requisiti, alcuni parzialmente contraddittori:
• Mostra sempre avatar del giocatore
• Mostra sempre ciò che il giocatore sta facendo
• Non spostare inaspettatamente
• Ma sempre muoversi quando il giocatore si aspetta che
• Lasciare che il giocatore guardarsi intorno
• Ma non tagliare attraverso oggetti

Una “camera caccia” letteralmente insegue avatar del giocatore mentre si muovono in tutto il mondo. Ciò significa che è possibile vedere il tuo avatar e dove stai andando 90% del tempo,  fuori del blocco, senza il giocatore che per apportare eventuali modifiche. Si riduce anche il movimento della fotocamera, che è buono per la cinetosi – se si sta muovendo in giro di fronte alla macchina fotografica, sarà solo pan sinistra e destra per seguire te, piuttosto che il monitoraggio a fianco. Questo è anche utile per evitare problemi con la parte più difficile di un problema difficile – COLLISIONE.

Collisione

Ogni volta che la telecamera si muove, può muoversi in una parete. O qualcosa potrebbe arrivare tra la fotocamera e il lettore, bloccando la visuale. Così la fotocamera deve eseguire la scansione della zona circostante per trovare tutte le possibili ostruzioni e cercare di evitarli. Questo è un lavoro duro in una partita normale, ma in un paesaggio completamente modificabili è particolarmente impegnativo.

Ecco cosa mondi LEGO sembra a voi:

http://steamcommunity.com/sharedfiles/filedetails/?id=482594404
Ed ecco quello che il codice macchina vede di che stessa scena:

http://steamcommunity.com/sharedfiles/filedetails/?id=482594512
Si noti che la fotocamera si preoccupa solo di una piccola scatola contenente solo il giocatore e la fotocamera. Si ignora il resto del mondo. Ciascuna di tali linee rosse è una colonna di mattoni.

La fotocamera scatta due fette attraverso queste colonne – uno orizzontale, per rilevare terreno proveniente dal lato, e uno verticale per rilevare pavimenti e soffitti. Ecco quello che sembrano quelle fette come una vista laterale e superiore:

http://steamcommunity.com/sharedfiles/filedetails/?id=482594818

Le linee ciano sono la fetta verticale, mostrando il pavimento e alcuni rami in testa. Le linee rosse sono le due tronchi d’albero entrambi i lati della macchina fotografica. Questo è tutto il codice ha bisogno di sapere circa lo spazio circostante … ora si deve decidere che cosa fare al riguardo.

Evitare

Continuiamo con screenshot qui sopra come esempio. Se si esegue in avanti da qui, la fotocamera rileva i rami sporgenti avvicinarsi al centro dello schermo, e ruotare lontano da loro – uguale per i tronchi d’albero se si esegue lateralmente. Deve essere bilanciata in modo che la fotocamera non vibrazioni se spremuto da entrambe le parti nei portoni o tunnel stretti.

Fin qui tutto bene. Ma cosa succede se il giocatore fa ruotare manualmente la telecamera verso uno di quegli alberi? Non possiamo spostare la telecamera dal tronco, perché allora stiamo rifiutando di fare ciò che il giocatore ha chiesto. Ma noi non vogliamo l’albero per bloccare vista del giocatore, e se è stato un pendio ripido, invece di un albero poi seguendo ingresso del giocatore avrebbe messo la telecamera all’interno della collina. L’unica opzione è quella di ingrandire in modo da poter ruotare oltre l’albero, e poi lo zoom indietro una volta che siamo lontano da essa.

Questo funziona per lo più bene. Ma sono sicuro che tutti voi avete trovato un angolo scomodo di una casa o di una grotta dove la fotocamera è ingrandita inutilmente e ti ho finito per guardare giù sulla tua testa. Fissaggio questi errori pur conservando il comportamento corretto è un atto di bilanciamento in corso.

Non appena si sposta il tuo avatar, la fotocamera presume che hai finito di guardare il panorama e riprende inseguire l’avatar – sul presupposto che vedere dove si sta andando è la cosa più importante quando si sta spostando in tutto il mondo.

C’è anche un po ‘di codice speciale per gestire casi particolari d’angolo come il lettore passo da una scogliera a picco (la fotocamera è dotata di arrivare direttamente in testa veramente veloce), camminando direttamente verso la telecamera, paracadutismo, veicoli (telecamera non deve cercare di evitare il veicolo che si sta guidando) e così via. A volte abbiamo bisogno di rendere la fotocamera anticipare il movimento prima che accada – con uno slam terra da una grande altezza, per esempio – altrimenti dal momento in cui la fotocamera raggiunge l’animazione è finita!

Editore

Nell’editor, le regole sono diverse. Avete bisogno di una completa libertà, così abbiamo disabilitare collisione del tutto. Se si sposta la metropolitana telecamera, affettiamo via i mattoni in primo piano in modo da poter vedere almeno in parte dove sei – ma non vogliamo l’editor di essere una scorciatoia per trovare grotte nascoste! Abbiamo anche Slice via il primo piano a seconda delle dimensioni dello strumento che si sta utilizzando, per cercare di dare una chiara visione di ciò che si sta modificando. Purtroppo questo significa che a volte noi affettiamo via troppo. Questo è un altro atto di equilibrio in corso.

Lo strumento di costruzione di mattone ha logica fetta leggermente diverso dal Update 1 – è affetta via solo il paesaggio, se la tua visione del mirino è bloccato. Questo sembra funzionare meglio, quindi ho intenzione di fare che il comportamento predefinito per tutti gli strumenti, oltre a rendere il mirino più evidente.

domande e risposte

Ho letto un sacco di commenti sulla fotocamera, e sembra che alcuni di voi preferirebbero alla telecamera di individuare insieme l’avatar in movimento – preservare l’angolo si è scelto, invece di inseguire sempre dietro l’avatar. Così sto lavorando su un’opzione per questo.

Alcuni di voi si sono chiesti perché si deve tenere premuto il pulsante destro del mouse per spostare la telecamera – è perché il mouse si sposta anche il cursore per il movimento punta e clicca, tiro e menu, e abbiamo bisogno di sapere che quello che si sta cercando spostare.

Infine … non sarebbe un filo fotocamera senza menzionare la modalità in prima persona. Mentre i modders tra di voi hanno dimostrato, è facile per ingrandire la macchina fotografica in estremamente vicino e guardarsi intorno.

Ma questo crea una serie di nuovi casi d’angolo – non è abbastanza buono per darvi una telecamera in prima persona che è possibile utilizzare solo ancora in piedi o camminare in avanti. Deve funzionare correttamente quando si sta bombardamento, la lotta, l’arrampicata, tiro, equitazione creature o veicoli, costruzione, attrezzi di commutazione, e così via. Alcuni di questi sono semplici correzioni tecniche, altri sono sfide di progettazione – come come si fa a salire una rupe a strapiombo in prima persona? Pensiamo di aver risolto che con la macchina fotografica caccia, ma avremmo dovuto risolvere di nuovo in prima persona. E, naturalmente, in prima persona che non avevo mai vedere il vostro personaggio o una qualsiasi delle animazioni, che è una parte fondamentale del fascino dei giochi LEGO.

Così stiamo studiando miglioramenti per spazi ristretti, ma se prima persona è la soluzione giusta resta da vedere.

Spero che sia interessante per vedere un po ‘di ciò che accade sotto il cofano. “