Miglioramenti e modifiche - Note di rilascio di Lumberyard

Miglioramenti e modifiche

Gli aggiornamenti apportati a sistemi e funzionalità Lumberyard includono:

Asset Processor (Elaboratore asset)

  • Il tempo di reazione della funzionalità Asset Processor (Elaboratore asset) (Elaboratore asset) è stato migliorato mediante l'eliminazione del tempo di tolleranza iniziale pari a 100ms imposto rispetto al momento di rilevamento della modifica del file. Il periodo di tolleranza non è più necessario.

  • La funzionalità Asset Processor (Elaboratore asset) ora crea una directory dedicata denominata AssetProcessorTemp nella cartella principale del kit SDK Lumberyard per i file temporanei. Ciò ti consente di individuare più rapidamente i file temporanei creati dalla funzionalità Asset Processor (Elaboratore asset) (Elaboratore asset).

  • Asset Processor (Elaboratore asset) ora salva le informazioni sui singoli processi nella directory \Bin64\logs\joblogs. Ciò semplifica l'individuazione dei file di log dei processi. Puoi anche fare doppio clic su un processo non riuscito per visualizzare i file di log.

Audio

  • L'applicazione wscript per il modulo del motore CryAudioImplWwise è stata migliorata per semplificare la modifica della versione dell'SDK Wwise nel file SetupAssistantConfig.json.

  • Lumberyard 1,6 include i controlli ATL (Audio Layer Translation) che è possibile creare seguendo i tutorial relativi all'audio. I tutorial sono stati aggiornati per includere informazioni su come rimuovere questi controlli in base alle procedure descritte.

  • Il progetto SamplesProject di Wwise LTX è stato aggiornato alla versione 2016.1.1.5823.

AzTestScanner

  • AzTest e AzTestScanner ora supportano la compilazione e l'esecuzione di unit test su macOS.

  • AzTestScanner ora include due nuovi flag per cercare e includere pacchetti gem e progetti di gioco durante la scansione basata su whitelist.

  • AzTest ora include macro specifiche per abilitare i test nei file eseguibili.

  • Il framework CryUnitTest non è più incluso nel motore. Se utilizzi CRY_UNIT_TEST o macro simili per i test, devi eseguire la migrazione ad AzTest.

  • Le build di test ora utilizzano configurazioni di test. Ad esempio, le build di test ora utilizzano un comando, ad esempio build_win_x64_debug_test, dove debug_test è la nuova configurazione. In passato, veniva utilizzato il comando build_win_x64_test_debug.

  • Ora puoi utilizzare lmbr_waf.bat e il comando run_tests per chiudere AzTestScanner.

  • Utilizzare AzTestScanner per eseguire unit test. UnitTestLauncher non è più disponibile.

  • Vari aggiornamenti includono correzioni per i test e moduli aggiuntivi abilitati per i test.

Personaggi e animazioni

  • Lo strumento Mannequin ora rende persistenti le selezioni di clip quando vengono installate le operazioni o quando la durata viene sottoposta a query. Ciò consente la sincronizzazione delle informazioni tra client e server.

  • Il sistema di convalida Maya ora convalida solo gli oggetti esportati. Ciò consente di ridurre i tempi di esportazione delle scene di grandi dimensioni.

Cinematica

  • La finestra di dialogo Render Output (Output di rendering) della funzionalità Track View ora include un'opzione Active View Resolution (Risoluzione visualizzazione attiva) per l'utilizzo della risoluzione del viewport attivo.

  • La finestra di dialogo Render Output (Output di rendering) della funzionalità Track View ora include un'opzione Disable Debug Info (Disabilita informazioni di debug) che disabilita le informazioni di debug r_DisplayInfo durante il rendering.

Cloud Canvas

  • I client dei giochi iOS ora possono accedere alle funzionalità di Cloud Canvas.

Componenti

  • I componenti Static Mesh (Mesh statica), Skinned Mesh (Mesh deformabile), Decal (Decalcomania), Light (Luce), Particle (Particella) e Lens Flare (Riflesso lente) ora corrispondono ala funzionalità delle corrispondenti controparti CryEntity legacy.

  • Il componente Trigger Area (Area di attivazione) ora supporta l'applicazione di filtri basati su flag. Il componente Trigger Area (Area di attivazione) non può utilizzare il componente tag per una seconda applicazione di filtri. Puoi specificare che i tag richiesti devono trovarsi in un'entità per attivare il trigger. Puoi inoltre specificare che i tag esclusi non devono trovarsi in un'entità per attivare il trigger.

  • Il componente Tag include eventi EBus che inviano notifiche relative alle modifiche apportate ai tag OnTagAdded e OnTagRemoved.

  • Il componente Camera (Telecamera) ora supporta i dispositivi di realtà virtuale. Ti consigliamo di usare questo componente per qualsiasi esigenza di visualizzazione e il componente CameraRequestBus per recuperare e impostare le proprietà della telecamera.

  • I parametri del blend parametrico ora vengono calcolati per i personaggi che utilizzano i componenti SimpleAnimation e Mannequin. Ciò consente di utilizzare i blendspace con questi componenti.

  • Il componente SimpleAnimation ora supporta il movimento radice basato su animazione come flag. Puoi inoltre passare alternativamente tra movimenti radice basati su animazione dallo script C++ nel codice o nei controller personaggi basati su Lua.

  • L'opzione Shapes (Forme) è stata spostata da Shared (Condivisione), Shapes (Forme) a Shapes (Forme) nella finestra Component Palette (Palette componenti).

  • Il componente Navigation (Navigazione) è stato spostato da un Game (Gioco) ad AI (Intelligenza artificiale) nella finestra Component Palette (Palette componenti).

  • Le funzionalità obsolete, tra cui Target entities (Entità di destinazione) e Actions (Operazioni), sono state rimosse dal componente Trigger Area (Area di attivazione). Il componente Trigger Area (Area di attivazione) non può più attivare o disattivare le entità. Questa funzionalità può essere invece gestita mediante script in Lua. Il menu Activation (Attivazione), Triggered (Attivato) ora include due opzioni: Specific entities (Entità specifiche) e All entities (Tutte le entità).

  • I componenti aggiunti includono un componente (Struttura comportamento) e un componente Constraint (Vincolo).

  • Il flusso di lavoro delle entità del componente ora include un'opzione Layout nel menu a discesa Layouts (Layout). Le opzioni relative ai layout includono Outliner, Viewport e Inspector.

FBX Settings (Impostazioni FBX)

  • L'interfaccia utente FBX Settings (Impostazioni FBX) (Impostazioni FBX) ora utilizza il framework ReflectedPropertyEditor, che semplifica l'estensione dello strumento mediante la creazione di gruppi e regole personalizzati.

  • Un processo di esportazione basato su EBus consente di estendere il funzionamento del sistema per popolare formati di dati personalizzati e manipolare i dati durante l'esportazione.

  • La serializzazione personalizzata dei file per SceneManifest è stata trasferita in AZ::Serialization. L'estensione dei file SceneManifest è stata modificata da .scenesettings in .assetinfo. Ciò richiede la reimportazione dei dati legacy.

  • Nell'editor delle proprietà di riflessione, PropertyRowWidgets ora recupera lo spazio non utilizzato se viene specificata un'etichetta vuota. Lo spazio viene pertanto restituito al widget di modifica.

  • Vari aggiornamenti includono il miglioramento visivo della segnalazione degli errori mediante report e l'ottimizzazione della copertura della generazione di log.

GameLift

  • Gli ID delle sessioni di gioco ora sono formattate come segue: arn:aws:gamelift:region::gamesession/fleet-fleet ID/ID string. Il valore ID stringa viene specificato da un client del gioco durante la creazione di una nuova sessione di gioco oppure, se non viene specificato alcun valore, esso verrà generato automaticamente da GameLift. Consulta GameSession e CreateGameSession nella Amazon GameLift API Reference.

  • Tutte le funzionalità precedentemente incluse in un'API client GameLift distinta ora sono state integrate nel kit SDK AWS. Consulta SDK Amazon GameLift nella Guida per lo sviluppatore di Amazon GameLift.

GridMate

  • La modalità di gestione dei servizi di sessione da parte di GridMate è stata sottoposta a refactoring per consentire la coesistenza di più servizi di sessione. In passato, solo un unico servizio di sessione poteva essere attivo e tutte le richieste venivano effettuate mediante un'interfaccia generalizzata. L'interfaccia generalizzata è stata rimossa e ora è necessario utilizzare gli EBus per comunicare con ciascun servizio di sessione.

    Queste modifiche potrebbero richiedere la migrazione dei servizi predefiniti nei nuovi metodi oppure l'aggiornamento dei servizi personalizzati precedentemente creati. Per ulteriori informazioni, consulta l'argomento relativo alla migrazione di progetti Lumberyard. Per ulteriori informazioni su GridMate, consulta l'argomento relativo al sistema di reti.

Lens Flare Editor (Editor aberrazione lente)

  • La funzionalità Lens Flare Editor (Editor Riflesso lente) include nuovi parametri di default e texture di default. Ad esempio, i riflessi ora sono visibili quando vengono creati.

  • Il viewport ora visualizza una griglia in modo tale che il riflesso possa essere visualizzato nello spazio.

  • Ora puoi utilizzare il pulsante centrale del mouse per eseguire la panoramica con la telecamera.

Lumberyard Editor (Editor Lumberyard)

  • La dimensione predefinita della finestra Asset Editor (Editor asset) è stata aumentata.

  • Le opzioni Undo (Annulla) e Redo (Ripeti) per le entità appartenenti alle istanze delle sezioni sono state ottimizzate.

Lumberyard Setup Assistant (Assistente configurazione Lumberyard)

  • L'eseguibile della funzionalità Lumberyard Setup Assistant (Assistente configurazione Lumberyard) (Assistente configurazione Lumberyard) ora è firmato.

  • Gli SDK obbligatori e quelli opzionali ora si trovano in due pagine distinte.

  • Il pulsante di aggiornamento delle pagine relative agli SDK ora è un pulsante di sistema con il segno di spunta. La funzionalità del pulsante di aggiornamento rimane invariata nelle altre pagine della finestra Lumberyard Setup Assistant (Assistente configurazione Lumberyard) (Editor Lumberyard).

  • Due nuove icone visualizzano lo stato dell'SDK. Il segno di spunta giallo indica che è in corso una convalida. La freccia rivolta verso il basso indica che è in corso l'acquisizione dell'SDK.

  • Ora puoi passare il mouse sull'icona di stato dell'SDK per visualizzare una descrizione contenente informazioni aggiuntive. Ora viene visualizzata la percentuale di completamento per qualsiasi operazione, ad esempio una convalida o un'acquisizione.

  • I kit SDK ora devono includere il campo source. La funzionalità Lumberyard Setup Assistant (Assistente configurazione Lumberyard) utilizza il campo source per determinare dove si trovano i contenuti di un kit SDK. Ad esempio, "source": "path/to/root/of/sdk/relative/to/3rd/party".

  • Le definizioni SDK ora supportano un elenco di dipendenze da altri SDK. Quando la funzionalità Lumberyard Setup Assistant (Assistente configurazione Lumberyard) (Assistente configurazione Lumberyard) determina gli SDK richiesti in base ai requisiti correnti, include qualsiasi SDK dipendente in base ai tag corrispondenti.

Mobile

  • Android:

    • Clang ora è il compilatore di default per i progetti Android. GNU Compiler Collection (GCC) è obsoleto, anche se è ancora supportato.

    • La specifica della catena di strumenti Android non è più necessaria durante l'esecuzione del comando configure. Ciò consente di definire la configurazione solo una volta e quindi compilare Android utilizzando Clang o GCC, senza la necessità di eseguire di nuovo il comando configure.

    • La versione minima supportata di Android NDK è stata modificata da 10d a 11.

  • iOS: Xcode 8 ora è supportato per lo sviluppo iOS.

Reti

  • Il componente Lua Script (Script Lua) ora è in grado di utilizzare il binding di rete, che semplifica l'utilizzo dei giochi multiplayer.

  • Le chiamate RPC per RMI ora sono suddivise tra versioni client e versioni server. Le versioni server non propagano la chiamata RPC downstream. Le versioni client utilizzano ClientRMITraits, che può essere modificato per consentire o negare le chiamate dal client.

  • Le chiamate RPC OnMemberLoadedMap e OnActorReceived RPC ora si basano su un ID peer di origine predefinito in modo che tale ID non possa essere sottoposto da spoofing da parte dei client.

  • EntityReplica e GameContextReplica dispongono di controlli aggiuntivi per impedirne la creazione da parte di client malintenzionati. A tale scopo, viene impedita la creazione di proxy sul server.

  • Una struttura ReplicationSecurityOptions abilita l'esecuzione di controlli aggiuntivi nel sistema di replica e impedisce l'interruzione della migrazione di oggetti.

  • Le richieste RPC non rilevanti possono essere disabilitate in base alla richiesta RPC utilizzando la caratteristica RPC s_allowNonAuthoritativeRequests.

  • ReplicaManager::_Unmarshal() può limitare l'origine degli aggiornamenti della replica e altri comandi per ottimizzare la sicurezza e arrestare l'unmarshalling se si verifica un errore.

  • Le richieste upstream sottoposte a spoofing impediscono l'inclusione degli aggiornamenti dei set di dati.

  • L'unmarshalling delle chiamate RPC è caratterizzato da controlli aggiuntivi finalizzati all'eliminazione delle chiamate RPC non valide e al miglioramento della sicurezza.

  • Il richiedente RPC m_sourcePeer può essere impostato solo da origini attendibili (server). In caso contrario, viene sempre derivato dal ricevitore e non specificato dal mittente.

  • Sono state aggiunte clausole guard a protezione dei blocchi nulli a livello di codice di replica. Ciò consente di evitare arresti anomali e comportamenti indesiderati.

  • L'overhead della larghezza di banda di SpawnParams per gli oggetti di gioco legacy è stato ridotto.

  • Le proprietà server degli script legacy ora sono applicate individualmente e non come blocco di dati. Ciò consente di ridurre la quantità di dati inviati al momento della modifica.

  • La ricerca automatica è stata rimossa da GameliftLobby e MultiplayerLobby.

UI Editor (Editor IU)

  • Le opzioni Zoom e Pan (Panoramica) ora eseguono lo zoom rispetto alla posizione del mouse e supportano l'uso della barra spaziatrice per eseguire la panoramica a livello di schermo.

  • L'angolo corrente, espresso in gradi, ora viene visualizzato nel viewport durante la rotazione.

  • Quando gli elementi dell'interfaccia utente vengono creati o incollati, l'editor ora genera nomi univoci in locale.

  • Il componente Image (Immagine) ora è in grado di visualizzare un target di rendering. Ciò risulta utile, ad esempio, per l'implementazione di un lettore filmati.

  • I componenti interagibili ora dispongono di operazioni a livello di canvas dell'interfaccia utente per le operazioni inizio passaggio del mouse, fine passaggio del mouse, pulsante premuto e pulsante rilasciato.

  • Alcuni canvas dell'interfaccia utente per FeatureTests sono stati migliorati a livello visivo.

Realtà virtuale

  • L'oggetto IHMDController ora è incluso nel proprio EBus.

  • L'oggetto IHMDDevice è stato rimosso e sostituito da HMDDeviceBus. Ciò sostituisce l'intero sistema di realtà virtuale con una soluzione EBus più modulare e consente il supporto delle funzionalità specifiche del dispositivo, ad esempio lo spazio di gioco OpenVR.

  • L'oggetto HMDInitBus è stato aggiunto per tutti i pacchetti gem HMD per consentire la connessione all'avvio.

  • I pacchetti gem HMD ora sono ordinati in base a una chiave di ordinamento definita dal pacchetto gem specifico. Ciò consente di definire l'ordine in cui i dispositivi vengono testati durante l'inizializzazione.

  • I dispositivi di realtà virtuale ora si connettono all'oggetto HMDInitBus all'avvio. Quando viene rilevato un dispositivo valido, tale dispositivo si connette a HMDDeviceBus per poter essere utilizzato dal runtime del motore.

  • Il file VRCommon.h memorizza tutte le strutture di dati utilizzate dal sistema di realtà virtuale.

  • La realtà virtuale ora supporta Lua e ciò consente di eseguire tutte le funzionalità precedentemente eseguite mediante il grafico dei flussi.

  • Il pacchetto gem HMDFramework contiene il sistema HMDDebugger e altri sistemi HMD. Sono escluse le implementazioni HMD specifiche del fornitore.

  • Il componente Camera (Telecamera) ora supporta la realtà virtuale.

Sistema di compilazione Waf

  • La messaggistica di errore Waf è stata migliorata per le istanze quando il progetto nel file di bootstrap non corrisponde al progetto effettivo in fase di compilazione. Questo problema può essere causato da un errore di digitazione.

  • Le prestazioni Waf sono state migliorate durante la copia di file, tra cui la distribuzione alla console.

Varie

  • Vengono ora forniti i file binari di Az Code Generator per tre sistemi operativi host: win_x64, darwin_x64 e linux_x64.

  • Ora sono supportati i tipi Canonical specificati nel formato intermedio AzCG.

  • Grazie ai vantaggi derivanti da più core, il server del compilatore di shader e la compilazione di shader ora sono caratterizzati da prestazioni migliorate sulla maggior parte di sistemi.

  • I valori di enumerazione ora vengono applicati solo una volta all'attributo EditContext (Modifica contesto). In passato, i valori di enumerazione venivano applicati a ogni membro dati di tipo enum. Questo miglioramento può semplificare la creazione di elenchi a discesa in base alle enumerazioni nell'editor.

  • In base al feedback dei clienti, i contenitori inclusi nell'attributi EditContext (Modifica contesto) ora possono essere modificati per impostazione predefinita. Per disabilitare questa caratteristica, aggiungi un attributo ContainerCanBeModified (Contenitore modificabile) e imposta il valore su false.

  • Una nuova interfaccia utente semplifica l'esecuzione del push di più entità e campi in qualsiasi posizione all'interno della gerarchia di sezioni valida.

  • Ora puoi fornire visivamente il consenso esplicito o il rifiuto esplicito relativamente a singole aggiunte, rimozioni e modifiche di dati di entità o componenti durante l'esecuzione del push in una sezione.

  • Il sistema di asset è stato trasformato in componenti e rimosso dal modulo CrySystem. I nuovi componenti di sistema incapsulano le interazioni tra un'applicazione e Asset Processor (Elaboratore asset) (Elaboratore asset). Questi nuovi componenti sono stati spostati nel framework Amazon per consentire la rimozione della dipendenza di un'applicazione dal modulo CrySystem.

  • Lumberyard ora supporta schermi a risoluzione elevata, ad esempio Razer. Ciò avrà ripercussioni su Windows 8.1 e Windows 10, se il valore DPI logico viene impostato su un valore diverso da 1.