Miglioramenti e modifiche - Note di rilascio di Lumberyard

Miglioramenti e modifiche

Gli aggiornamenti apportati a sistemi e funzionalità Lumberyard includono:

Preavviso di modifica in Lumberyard Beta 1.8

  • Lumberyard Beta 1.8 introdurrà modifiche consequenziali al contesto di comportamento. I miglioramenti significativi apportati alla funzionalità Lumberyard Editor (Editor Lumberyard) (Editor Lumberyard) includono la sostituzione del contesto di script esistente con un nuovo contesto di riflessione. Per garantire un'esperienza di aggiornamento ottimale, di seguito verranno anticipate tutte le informazioni, procedure e strumenti. Per ulteriori dettagli, consulta i nostri forum.

Asset Pipeline (Pipeline asset)

  • L'API Asset Processor (Elaboratore asset) (Elaboratore asset) consente di eseguire query sullo stato di processi di compilazione specifici dall'editor e altri strumenti. Questa API ora consente di riassegnare i processi restituiti all'inizio della coda di compilazione per la definizione di una nuova priorità. In caso di sviluppo di nuovi asset o editor, puoi utilizzare questa API per eseguire query sullo stato degli asset, recuperare i file di log e riassegnare i processi.

  • Ora puoi definire i tipi di asset come asset critici nel file AssetProcessorPlatformConfig.ini. Ciò consente ai tipi di asset di venire compilati e riassegnati all'inizio della coda di compilazione prima dell'avvio dell'esecuzione del runtime o dell'editor.

  • Le sezioni dinamiche ora vengono considerate asset critici.

  • La priorità dei processi di copia viene rispettata se questi sono inclusi nel file AssetProcessorPlatformConfig.ini. Ciò consente di organizzare i processi in ordine di priorità, anche durante la fase di copia.

Audio

  • I seguenti EBus dei componenti audio sono stati rinominati per garantire la coerenza tra i componenti:

    • AudioTriggerComponentRequestsBus è stato rinominato in AudioTriggerComponentRequestBus

    • AudioTriggerComponentNotificationsBus è stato rinominato in AudioTriggerComponentNotificationBus

    • AudioRtpcComponentRequestsBus è stato rinominato in AudioRtpcComponentRequestBus

    • AudioSwitchComponentRequestsBus è stato rinominato in AudioSwitchComponentRequestBus

    • AudioEnvironmentComponentRequestsBus è stato rinominato in AudioEnvironmentComponentRequestBus

    • AudioProxyComponentRequestsBus è stato rinominato in AudioProxyComponentRequestBus

    Se utilizzi i vecchi nomi di EBus in Lua o C++ nativo, devi aggiornare il codice in modo da utilizzare i nuovi nomi di EBus. Ciò è valido se utilizzi i componenti audio o esegui una chiamata a essi dal codice.

  • I frammenti eseguiti su un'entità componente (AZ::Entity) ora sono in grado di eseguire trigger audio ed effetti di particelle nelle rispettive clip procedurali.

  • Un set di base di unit test è stato aggiunto a CrySoundSystem, che consente di ottimizzare la copertura degli unit test in Lumberyard.

  • La possibilità che un altro listener possa sostituire il listener di default è stata migliorata. Ciò non include il supporto completo per più listener attivi.

AzCodeGenerator

  • È stato implementato un nuovo formato di tag e annotazioni con ambito.

  • Il profiling è stato aggiunto allo strumento AZ Code Generator per temporizzare l'analisi Clang e l'esecuzione di script. Per ulteriori informazioni, consulta la pagina relativa allo strumento AZ Code Generator.

AzTestScanner

  • È stata aggiunta la possibilità di specificare più file di whitelist o blacklist.

  • È stato aggiunto una nuova posizione per i file di whitelist e blacklist di default. Anche il file di blacklist di default è incluso nella build.

  • È stata rimossa la possibilità di includere tramite whitelist utilizzando il file delle specifiche. L'inclusione tramite whitelist non è più abilitata per impostazione di default.

  • I flag utilizzati per includere pacchetti gem e progetti in una whitelist sono stati rimossi.

Cloud Canvas

  • La funzionalità Resource Manager (Gestore risorse) ora convalida i dati di input durante l'immissione.

  • La funzionalità Resource Manager (Gestore risorse) ora tenta di rimuovere tutti i contenuti dai bucket S3 prima che vengano eliminati da un'operazione di aggiornamento dello stack.

  • I seguenti comandi ora dispongono di un'opzione --confirm-resource-deletion:

    • update-project-stack

    • delete-project-stack

    • upload-resources

Componenti

  • Il componente Light (Luce) ora è suddiviso in quattro componenti per consentire un controllo più granulare: Point Light (Luce punto), Area Ligh (Luce area), Projector Light (Luce proiettore) ed Environment Probe (Sonda ambientale).

  • Il componente Environment Probe (Sonda ambientale) ora include impostazioni per la proiezione del riquadro e la ricaduta dell'attenuazione.

FBX Settings (Impostazioni FBX)

  • I numerosi miglioramenti implementati nell'interfaccia utente e nei flussi di lavoro includono:

    • Supporto dell'elenco di file recenti nello strumento.

    • Convalida per determinati campi di testo.

    • Scorrimento automatico al gruppo o alla regola aggiunti più di recente.

    • Browser che memorizza l'ultimo percorso visitato.

    • Conferma se un azione utente ha comportato la perdita delle modifiche.

    • Pulsante Reset All (Ripristina tutto) che ripristina lo stato di default dell'opzione Manifest.

    • Pulsante Enable Update (Abilita aggiornamento), disponibile in presenza di impostazioni modificate.

  • Quando un file .fbx viene importato, i processi dell'elaboratore di asset vengono spostati nella parte superiore della coda dei processi.

  • È stato aggiunto SceneGraphChildIterator, che esegue iterazioni a livello di elementi figlio di un nodo.

  • La presentazione della registrazione degli errori è stata migliorata.

Flow Graph (Grafico flussi)

  • Quando avvii l'editor Flow Graph (Grafico flussi) per la prima volta, ora viene visualizzata una finestra di dialogo in cui viene introdotta la nuova soluzione di scripting visiva di Lumberyard, integrata nel nuovo modello ECS (Component Entity System). Consigliamo l'uso di Lua per qualsiasi esigenza di scripting. Per ulteriori informazioni, consulta la pagina relativa allo scripting Lua.

  • Un nodo Flow Graph (Grafico flussi) di ColorGradient è stato aggiunto a CryAction.

Geppetto

  • Ora puoi utilizzare Geppetto per modificare le seguenti informazioni visualizzate nel file .chrparams correlato alla struttura scheletrica:

    • Elementi di ossatura per la struttura scheletrica utilizzati per la definizione del riquadro di delimitazione

    • Impostazioni di estensione dei riquadri di delimitazione

    • Elenchi di inclusione LOD di elementi di ossatura per la struttura scheletrica

    • Sei sezioni di definizione IK

    Ciò semplifica il processo in quanto non sarà più necessario modificare manualmente il file .chrparams, conoscere le informazioni sui file e cercare i nomi delle articolazioni per l'ossatura.

  • Le prestazioni della caratteristica Live Reload (Ricaricamento in tempo reale) per i file .anm, .chr e .skin sono state migliorate fino a un massimo del 50%.

Editor Lua

  • Ora puoi personalizzare i colori, i caratteri e l'evidenziazione della sintassi.

  • Lo stato del debug ora viene visualizzato più esplicitamente.

  • Il riferimento alle classi ora tronca le stringhe da destra.

  • Ora puoi utilizzare i seguenti tasti di scelta rapida:

    • Premi Tab dopo aver selezionato il testo per applicare il rientro al blocco di testo.

    • Premi Maiusc+Tab (con o senza testo selezionato) per annullare il rientro del testo.

  • In passato i documenti aperti venivano ripristinati all'apertura dell'editor.

  • I file di sola lettura ora visualizzano un cursore lampeggiante a indicare l'input di testo.

Lumberyard Editor (Editor Lumberyard)

  • Se un oggetto viene colpito, il puntatore dell'oggetto ora viene cancellato. Questo comportamento è simile al caso in cui una collisione è più vicina rispetto a una collisione precedente.

  • I seguenti componenti dispongono di icone aggiornate:

    • Tag

    • Net Binding (Associazione di rete)

    • Character Physics (Fisica personaggio)

    • Physics Constraint (Vincolo fisica)

    • Ragdoll

    • Primitive Collider (Collider primitive)

    • Behavior Tree (Struttura comportamento)

    • Navigazione

  • Gli assi XYZ ora sono colorati nella griglia delle proprietà relativamente ai campi dei componenti di trasformazione.

  • La visualizzazione delle entità è stata migliorata nel viewport in modalità di supporto Spacebar (Barra spaziatrice).

  • Lo shader Illum (Illuminazione) ora dispone di una funzionalità Dissolve (Dissolvenza).

Lumberyard Setup Assistant (Assistente configurazione Lumberyard)

  • Se disponibili, ora vengono utilizzati i file zip memorizzati nella cache da download precedenti.

  • Se disponibili, ora vengono utilizzate le informazioni sugli elenchi di file memorizzati nella cache per gli SDK di terze parti.

  • Lumberyard Setup Assistant (Assistente configurazione Lumberyard), Project Configurator (Configuratore progetto) e lmbr.exe ora si trovano nella directory \dev\tools\LmbrSetup.

  • La funzionalità Lumberyard Setup Assistant (Assistente configurazione Lumberyard) (Assistente configurazione Lumberyard) ora gestisce manifest vuoti o mancanti quando tenti di eseguire il download degli SDK.

  • La funzionalità Lumberyard Setup Assistant (Assistente configurazione Lumberyard) (Assistente configurazione Lumberyard) gestisce meglio gli URL di sostituzione con o senza barre finali.

  • Lumberyard Setup Assistant (Assistente configurazione Lumberyard) non riutilizza il contenuto dell'elenco di file memorizzati nella cache per altre versioni di Lumberyard. Ciò impedisce a una nuova installazione di Lumberyard che usa una cartella 3rdParty meno recente di utilizzare il contenuto da una versione errata di Lumberyard.

  • La funzionalità Project Configurator (Configuratore progetto) (Configuratore progetto) ora tiene traccia delle funzionalità selezionate e ti impedisce di tentare di eseguire un task per il quale non sei configurato. Ad esempio, non sarai in grado di creare un progetto finché non sarai configurato per la compilazione del codice.

  • La convalida SSL è stata migliorata in modo da rifiutare sistemi di crittografia non affidabili.

  • Le librerie Linux ora vengono scaricate separatamente per gli utenti Windows che configurano Linux.

Pacchetto gem Metastream

  • Le variabili della console metastream_serverPort e metastream_docroot sono obsolete. Puoi utilizzare la nuova variabile della console metastream_serverOptions per configurare le opzioni del server HTTP locale.

  • La variable della console metastream_enabled ora è di sola lettura e rappresenta lo stato del server HTTP locale. 0 = disabilitata | 1 = abilitata.

  • Ora puoi controllare il server HTTP locale utilizzando:

    • I comandi della console metastream_start e metastream_stop

    • MetastreamRequestBus in C++

  • Ora puoi gestire in modo più efficace i dati aggiunti alla cache Metastream. Per ulteriori informazioni, consulta Pacchetto gem Metastream.

  • L'API C++ ora formatta i dati in stringhe JSON. In passato dovevi formattare manualmente i dati.

Mobile

  • Android:

    • Ora puoi aggiungere file .pak generati dall'utente, ad esempio il file di shader.pak, a una build APK. Ciò consente di creare giochi completamente distribuibili.

    • Ora vengono registrate informazioni aggiuntive relative alle GPU durante l'avvio. Ciò consente di capire il motivo per il quale un dispositivo specifico non è in grado di eseguire una build.

Componente di navigazione

  • Il componente Navigation (Navigazione) ora può fisicamente spostare le entità fisiche. Le configurazioni supportate per i movimenti basati sulla fisica includono:

    • Fisica dei personaggi con una mesh deformabile

    • Fisica dei corpi rigidi con una mesh deformabile e combinazione di forma + collider primitive

    • Mesh statica con collider di mesh

    Tutte le entità continuano a poter essere spostare non a livello fisico.

  • Il supporto della funzionalità di navigazione dei percorsi è stata migliorata.

  • Gli unit test obsoleti sono stati rimossi dalla directory \dev\Code\Engine\LmbrCentral\source\Ai\NavigationComponentTest.cpp.

Reti

  • L'integrazione di GameLift ora utilizza l'SDK nativo AWS 1.0.24.

  • Gli indirizzi IP e gli ID di sessione per i clienti in una sessione GameLift non vengono divulgati per una maggiore sicurezza.

  • Il server dedicato ora supporta una build Linux per consentire le operazioni di spin-up di server Linux invece di server Windows. Questa opzione può essere più conveniente e più stabile.

  • La possibilità di normalizzare i dati in base a un budget specificato è stata aggiunta alla visualizzazione principale dello strumento Network Profiler. Per impostazione di default, questa impostazione è abilitata per lo strumento Replica Profiler con il vecchio valore predefinito.

  • Lo strumento Network Profiler ora visualizza l'uso in un grafico ad aree anziché un grafico a linee per semplificarne la leggibilità.

  • Una nuova API consente l'autenticazione asincrona dei giocatori su nuove connessioni.

  • I cookie DTLS ora sono utilizzati durante l'handshake DTLS per ridurre i tentativi di spoofing IP.

  • Sono stati aggiunti limitatori della frequenza del traffico per il numero di pacchetti in entrata per connessione per evitare attacchi DoS.

  • I servizi online sono stati sottoposti a refactoring in modo che ciascun sistema operativo disponga di bus caratteristica propri e che non sia limitato solo alle funzionalità comuni di base. Il servizio online LAN è stato rimosso perché non più necessario.

  • Le seguenti modifiche si applicano alla gestione di certificati FileDataSource:

    • I certificati dovrebbero essere inclusi negli asset del gioco in una cartella denominata Certificati.

    • I file PEM ora sono copiati dall'elaboratore degli asset. Ad esempio GameProjectName/certificates/selfsigned.cert.pem e GameProjectName/certificates/selfsigned.key.pem

Controllo del codice sorgente di Perforce

  • Per migliorare l'esperienza utente generale mediante le operazioni di controllo del codice sorgente e Lumberyard, sono stati implementati i seguenti aggiornamenti:

    • È stato aggiunto il supporto SSL al plugin e componente Perforce.

    • Impostazioni unificate tra plugin e componente Perforce.

    • Supporto aggiunto per la specifica del set di personaggi nella finestra delle impostazioni di connessione Perforce.

Ragdoll

  • Ragdoll ora supporta i messaggi PhysicsComponentRequestBus per AddImpulse e SetVelocity.

Scripting

  • Ora puoi eliminare definitivamente le gerarchie di entità utilizzando il metodo DestroyGameEntityAndDescendants in GameEntityContextRequestBus.

  • Il metodo DestroyGameEntity(AZ::Entity*) è stato eliminato da GameEntityContextRequestBus. Per l'eliminazione delle entità ora devi utilizzare gli ID.

  • Il componente Character Physics (Fisica personaggio) ora supporta GetVelocity, AddImpulse e GetMass tramite PhysicsRequestBus.

  • È stato aggiunto lo script EntityLookAt per consentire a un'entità di trovarsi davanti a un'altra.

Sezioni

  • I discendenti ora vengono automaticamente inclusi in caso di duplicazione, eliminazione e implementazione di entità nelle sezioni.

  • È stato migliorato il supporto per l'implementazione di aggiunte ed eliminazioni di entità alle sezioni esistenti.

  • La gestione della trasformazione nelle sezioni è stata semplificata, migliorandone l'affidabilità e la gestione dei dati.

  • La rotazione dello spazio mondo ora può essere riapplicata all'entità radice della sezione.

  • Il compilatore di sezioni dinamiche non genera più container vuoti per gli asset che non devono essere caricati.

  • Il compilatore di sezioni ora carica i pacchetti gem senza creare i relativi componenti di sistema.

Twitch ChatPlay

  • Twitch ChatPlay ora supporta la connessione all'interfaccia IRC di Twitch tramite websockets.

  • Sono state aggiunte nuove variabili della console, che consentono di configurare come Twitch ChatPlay si connette all'interfaccia IRC di Twitch:

    • chatplay_IRCPorts

    • chatplay_IRCSSLPorts

    • chatplay_WebsocketPorts

    • chatplay_WebsocketSSLPorts

    Puoi impostare queste variabili della console mediante coppie priority:port delimiate da virgole.

UI Editor (Editor IU)

  • Sono stati aggiunti nuovi callback e interfacce C++ di listener per tutti i componenti interattivi dell'interfaccia utente.

Realtà virtuale

  • Oculus SDK è stato aggiornato da 1.5 a 1.9 e sono stati rimossi i file non necessari.

  • La versione di OpenVR è stata aggiornata da 1.0.0 a 1.0.3.

Sistema di compilazione Waf

  • È stato introdotto un nuovo framework di librerie di terze parti in grado di gestire inclusioni, percorsi di libreria e molto altro ancora da una posizione consolidata per librerie di terze parti. La definizione di ciascuna libreria ora può essere determinata in modo specifico per il sistema operativo supportato. In passato la definizione veniva definita in ciascun file wscript. Questa modifica eliminerà le definizioni di progetto in modo significativo.

  • Il framework di librerie di terze parti ora gestisce la logica che determina se generare la versione statica o dinamica di una dipendenza di terze parti. Di conseguenza, il codice BuildNativeSDKLibraryList è stato rimosso.

  • Alcune librerie di terze parti ora sono preinstallati e fornite durante il processo di download di terze parti. In passato queste librerie venivano installate durante il normale processo di compilazione, aggiungendo in questo modo sovraccarico a livello di rilevamento di dipendenze e aggiornamenti per i file di origine di terze parti e compilazione delle librerie.

  • Non devi più specificare una specifica di progetto durante la compilazione di obiettivi non monolitico. La specifica di progetto è richiesta in caso di compilazione di progetti monolitici, progetti specifici e per Visual Studio Solution Generator. Non devi specificare le specifiche di progetto in caso di compilazione in modalità debug o profilo su sistemi operativi che non creano automaticamente una build monolitica, ad esempio win_x64 e mac. Il comportamento di default prevede la compilazione di tutti i progetti contrassegnati come supportati per la configurazione e il sistema operativo di destinazione.

  • Per un controllo più granulare, puoi configurare una parola chiave skip per sistema operativo. Ciò consente di ignorare l'elaborazione di tipi di asset che non sono necessari per un sistema operativo specifico. Lumberyard dispone di modelli di esclusione che ignorano le estensioni di file.

  • La parola chiave autod per uselibs è stata rimossa perché il rilevamento Qt ora è gestito in base al sistema operativo e alla configurazione. In passato la parola chiave autod veniva usata perché il rilevamento Qt era gestito a livello globale e le librerie Qt sia di debug che di versione venivano configurate in base al sistema operativo.

  • La parola chiave build_in_dedicated è stata rimossa perché la descrizione del progetto ora utilizza la parola chiave configurations per determinare la configurazione in base alla quale creare un progetto. In passato la parola chiave build_in_dedicated veniva utilizzata per limitare le build per il sistema operativo dedicato.

Varie

  • Ora è abilitato il debug ottimizzato per Microsoft Visual Studio 2013 per migliorare le funzionalità di debug. Questa opzione è abilitata per impostazione di default per Visual Studio 2015.

  • I pacchetti di terze parti sono stati rimossi dai pacchetti Mac e Console per coerenza con la funzionalità dei pacchetti per PC. Ogni pacchetto ora è disponibile come singoli file ZIP.

  • Un nuovo controllo proprietà è stato implementato per gestire i valori CRC senza segno a 32 bit (valori esadecimali a 8 cifre). Questo controllo proprietà è utile quando importi i valori CRC esadecimali a 32 bit da un'origine esterna, ad esempio un programma personalizzato non appartenente alla funzionalità Lumberyard Editor (Editor Lumberyard) (Editor Lumberyard). Il nome dell'handler è CRC e può essere utilizzato su qualsiasi campo numeri interi senza segno a 32 bit.

  • Bin64 non è più la cartella Bin64 di destinazione per Windows.

  • Lumberyard supporta compilatori Microsoft Visual Studio sia 2013 che 2015. Anche sullo stesso host Windows, il file binari saranno diversi. Per coerenza, la cartella di destinazione ora rappresenta il sistema operativo di destinazione per il quale la compilazione è in corso. Di conseguenza, ogni compilatore Visual Studio si troverà in un cartella di default diversa: Bin64vs2013 e Bin64vs2015.

  • Qt è stato aggiornato alla versione 5.6.2, che include le correzioni necessarie per l'ancoraggio delle finestre.

  • Tramite i fogli di stile Qt è stato implementato un nuovo stile per la funzionalità Lumberyard Editor (Editor Lumberyard) (Editor Lumberyard). Sono inclusi gli aggiornamenti di cornici di finestre, barre del titolo e combinazioni di colori.

  • È stata aggiunta una nuova libreria AzQtComponents, che include widget Lumberyard personalizzati. AzQtComponents può essere utilizzata come libreria statica o condivisa (dll). Altri widget condivisi verranno uniti in questa libreria in futuro.

  • Ora puoi utilizzare la caratteristica Convert to Editor (Converti in editor) per convertire gli oggetti legacy Brush e GeomEntity in entità componente.

  • L'API DestroySliceByEntityId è stata aggiunta a GameEntityContextRequestBus. Puoi utilizzare questa API per eliminare in modo definitivo intere istanze di sezioni.

  • Gli eventi OnSpawnBegin e OnSpawnEnd sono stati aggiunti alle API riflesse di EBus e script Lua del componente Spawner.

  • È stato aggiunto TagGlobalNotificationsBus per abilitare le notifiche quando viene aggiunto o rimosso un tag specificato (ID bus) di un'entità.

  • AddAngularImpulse è stato aggiunto a PhysicsComponentBus.

  • La rotazione dello spazio mondo ora può essere riapplicata all'entità radice della sezione.

  • Le associazioni di input ora possono essere sostituite in fase di runtime e salvate nel profilo attivo.

  • Ora puoi modificare le associazioni di input facendo clic sull'icona a forma di joystick nel componente Input.