Domanda

E 'molto liscia e cross browser / piattaforma con un clic di un pulsante, che sta portando i tipi non tecnici per concludere l'intero motore è intrinsecamente migliore di quello che usiamo oggi. E 'semplicemente che hanno preso il tempo per attuare tutte le / OS per-Browser Plugin versioni di Unity WebPlayer e lucidare, o c'è qualcosa di più profondo nel modo in cui l'architettura del motore è impostato?

È stato utile?

Soluzione

Unità prende script scritti in C #, UnityScript (sulla base di JavaScript), o Boo (basata su Python), e li compila in mono assemblee. Queste assemblee + i modelli 3d, suoni e texture richiesti dal gioco sono compressi in un file .unity3d che viene caricato dal loro plugin per il browser. Dal momento che quasi tutti la logica del gioco è nelle assemblee mono gestiti funziona cross platform con poche stranezze piattaforma specifica.

Sono stato recentemente riscritto la loro individuazione del plugin e codice di installazione in modo che sia molto facile far cadere un blocco di javascript in una pagina web che mostra il contenuto Unità se l'utente ha il plugin, o altri contenuti (immagini, flash, video ) se non lo fanno. Credo che il loro plugin supporta tutti i browser di classe A-su Mac e Windows, e il plugin può essere installato senza dover riavviare il browser.

Un vantaggio del motore Unity è che si può prendere un sacco di assembly gestiti off-the-shelf e includerli nel progetto e li chiamano dal codice Unità. Ma bisogna essere consapevoli del fatto che queste assemblee può davvero gonfiare le dimensioni del file .unity3d.

Un altro vantaggio è che si può facilmente scrivere i componenti che espongono parametri regolabili che possono essere modificati da persone non tecniche.

E ancora un altro vantaggio è che un progetto ben scritto può essere portato da / per iPhone, autonomo, Android, Web, ecc in meno di un giorno. Ho personalmente fatto iPhone al Web, semplicemente modificando il mio trattamento di ingresso e cambiando la compressione delle texture.

Un grosso svantaggio è che, poiché l'applicazione è in esecuzione il codice gestito non è troppo difficile per una persona curiosa o dannoso per decompilare le assemblee in codice completamente leggibile. Quindi è necessario pensare a ciò che qualcuno potrebbe fare con queste informazioni (imbrogliare in multiplayer, bot scrittura, falsificare i punteggi più alti, ecc). E 'possibile offuscare le vostre assemblee, ma non è banale per aggiungere questo passo per il processo di compilazione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top