Miglioramenti e modifiche - Note di rilascio di Lumberyard

Miglioramenti e modifiche

Gli aggiornamenti apportati a sistemi e funzionalità Lumberyard includono:

Audio

  • Il selettore dei controlli ATL nella suite di componenti audio ora è supportato. Ciò ti permette di selezionare il controllo appropriato anziché inserirlo manualmente.

Modello ECS (Component Entity System) e componenti

  • Limb IK e Aim IK ora sono supportati.

  • Un nuovo bus (C++ o scripting) ora è esposto per la gestione di Aim IK.

  • Il componente Camera (Telecamera) nella finestra Camera Gem (Pacchetto gem Telecamera) ora dispone di un nuovo ID classe. È stato inoltre aggiunto un componente Editor Camera (Telecamera editor).

  • Il componente EventActionBinding ora è obsoleto. Puoi accedere agli stessi comportamenti tramite script in StartingPointMovement Gem.

  • Il componente CameraTarget ora è obsoleto. Due tipi di acquisizione target per l'attrezzatura della telecamera consentono il targeting per riferimento entità o tag.

  • Un'entità ora può avere solo un componente Camera (Telecamera).

  • I menu contestuali Perspective (Prospettiva) ora funzionano con le entità (AZ::Entity) e con i componenti di tipo telecamera. Le proprietà della telecamera (FOV, piani di ritaglio vicini/lontani e così via) vengono utilizzate con un'entità a cui è collegato un componente telecamera. Con il movimento abilitato, la trasformazione a livello di telecamera viene aggiornata durante le operazioni di spostamento e visualizzazione nel livello. Puoi cancellare una telecamera facendo clic su una telecamera già selezionata nel menu contestuale Perspective (Prospettiva).

FBX Settings (Impostazioni FBX)

  • Ora viene calcolata l'estrazione del movimento radice per le animazioni importate.

  • La funzionalità FBX Settings (Impostazioni FBX) (Impostazioni FBX) ora supporta tipi di pelle, strutture scheletriche e animazioni.

Pacchetti gem

  • Browser:

    • La funzionalità Project Configurator (Configuratore progetto) (Configuratore progetto) ora differenzia mediante un'etichetta i pacchetti gem contenenti solo asset e i pacchetti gem contenenti codice e asset.

    • Un messaggio di avviso è stato aggiornato in modo da indicare che la ricompilazione è obbligatoria solo se alterni le impostazioni di codice e asset per un pacchetto gem. Non è necessario ricompilare se attivi un pacchetto gem solo per asset.

    • Viene visualizzato un messaggio di avviso se visualizzi il browser di pacchetti gem e il progetto fa riferimento a un pacchetto gem non presente sul disco. Il salvataggio del progetto rimuoverà il riferimento al pacchetto gem mancante.

    • Viene visualizzato un messaggio di avviso se abiliti o disabiliti un pacchetto gem che include codice e l'ambiente non è impostato per la compilazione del codice. Nel messaggio di avviso sono disponibili istruzioni per completare l'abilitazione del pacchetto gem.

    • Le descrizioni dei pacchetti gem non si sovrappongono più al testo del collegamento View in directory (Visualizza nella directory).

    • I pacchetti gem ora sono espansi per impostazione di default e pertanto visualizzano le descrizioni.

    • Il pulsante di aiuto ora è funzionante e reindirizza alla pagina di aiuto relativa ai pacchetti gem.

    • Premendo Ctrl+F il cursore viene spostato all'interno del campo di ricerca.

  • Creazione:

    • L'interfaccia di creazione dei pacchetti gem consente di scegliere se un pacchetto gem sarà di tipo solo asset oppure se supporterà sia il codice che gli asset.

    • Ora puoi scrivere il riepilogo di un pacchetto gem durante il processo di creazione del pacchetto stesso. Per modificare riepiloghi per i pacchetti gem esistenti, devi modificare manualmente il file gem.json relativo al pacchetto gem specifico.

    • Se non hai abilitato la funzionalità Compile game code (Compila codice gioco) nella finestra Lumberyard Setup Assistant (Assistente configurazione Lumberyard), l'interfaccia di creazione dei pacchetti gem userà per impostazione di default un tipo di pacchetto gem Assets Only (Solo asset). Se selezioni il tipo di pacchetto gem Code and Assets (Codice e asset), verrà visualizzato un messaggio di avviso in cui ti viene richiesto di abilitare la funzionalità Compile game code (Compila codice gioco) per poter completare la configurazione e quindi utilizzare il pacchetto gem.

    • I messaggi di errore ora vengono visualizzati accanto al campo rilevante. Vengono visualizzati non appena si verifica l'errore e scompaiono non appena l'errore viene corretto.

    • Un nuovo pulsante di aiuto nell'interfaccia di creazione dei pacchetti gem reindirizza alla pagina di aiuto Pacchetti gem.

    • I pacchetti gem creati vengono abilitati automaticamente per il progetto corrente. Devi fare clic su Save (Salva) nella finestra Project Configurator (Configuratore progetto) per salvare queste modifiche.

    • Il suggerimento associato al campo di input Gem name (Nome pacchetto gem) è stato aggiornato in base agli standard di denominazione. I nomi di dei pacchetti gem non devono contenere spazi.

Geppetto

  • La caratteristica Live Reload (Ricaricamento in tempo reale) ora supporta i file .chrparams.

Lua

  • Quando si verifica un errore in Lua, la traccia di stack non tronca più il nome di file.

  • Le proprietà in Lua ora includono container di riferimenti di entità che possono essere ridimensionati.

  • Ora puoi utilizzare l'IDE Lua per visualizzare le variabili all'interno di una tabella.

  • Quando vengono aggiunte proprietà a uno script Lua a cui una sezione dinamica fa riferimento (senza eseguire il push della nuova proprietà), il riferimento a tale proprietà ora restituisce un messaggio di avviso più utile.

  • I metodi di default di memorizzazione nella cache Lua ora utilizzano riferimenti temporanei, inclusi i riferimenti EBus alla tabella collegata.

Mannequin

  • Ora puoi modificare il campo Time (Tempo) nelle proprietà del clip di animazione.

  • Ora puoi aggiungere selezioni in blocco trascinando e rilasciando gli elementi desiderati da Geppetto al riquadro Mannequin Fragments (Frammenti Mannequin).

  • Ora puoi modificare la visualizzazione del time code per passare direttamente al tempo nell'animazione anziché eseguire lo scrubbing dei controlli tempo.

  • Nel menu File ora sono elencate le ultime anteprime utilizzate.

  • L'ultima anteprima visualizzata ora viene caricata automaticamente quando viene aperto l'editor Mannequin.

  • Il menu Context (Contesto) ora include numerose operazioni del riquadro Fragments (Frammenti).

  • Le operazioni di selezione multipla ora sono supportate.

Maya

  • Il plugin Maya ora supporta Maya 2017.

Mobile

  • Sia per Android che per iOS sono stati aggiunti banner di avvio per indicare se VFS o lo storage interno è configurato o meno per la gestione dei file di gioco. Ciò può aiutare a evitare l'errata configurazione o confusione sulla posizione dei file.

Reti

  • L'esempio Multiplayer ora è supportato per Android, iOS e Linux.

  • MultiplayerLobby ora supporta servizi e messaggi di errore specifici della console.

  • L'elaborazione non ordinata ora è supportata mediante da separazione delle fasi di marshalling e unmarshalling delle repliche per ridurre la latenza.

  • La porta di ascolto di default ora è impostata su 30090 per tutti i sistemi operativi.

Particle Editor (Editor di particelle)

  • Il refactoring di un componente Particle (Particella) include descrizioni comandi più accurati e nomi per impostazioni, il supporto per le richieste EBus e più correzioni di bug.

  • Il componente Particle (Particella) ora include dimensioni di particella X, Y e casuali.

  • Il componente Particle (Particella) ora supporta l'abilitazione e la disabilitazione dei livelli di dettaglio (LOD) delle particelle.

  • Il componente Particle (Particella) ora supporta l'applicazione di tinte al colore degli emettitori.

  • Il componente Particle (Particella) non consente più la selezione dell'origine dei livelli delle particelle. Tutte le librerie sono assegnate da asset di librerie di particelle XML. Consigliamo di spostare tutte le librerie dei livelli delle particelle in una libreria XML. Lumberyard imposterà come obsoleta la libreria dei livelli in una versione futura.

  • Le funzionalità Parallax (Parallasse) e Lighting (Illuminazione) ora supportano il dimensionamento non uniforme.

  • Le impostazioni legacy relative al moltiplicatore del colore del terreno e alla generazione di texture di alta qualità sono state rimosse dal nuovo processo di creazione dei livelli.

Componente Physics (Fisica)

  • I componenti Static Physics (Fisica statica) e Rigid Body Physics (Fisica corpo rigido) sostituiscono il componente Physics (Fisica). I dati provenienti da versioni precedenti verranno convertiti automaticamente quando vengono caricati, ma dovrai salvarli per rendere permanente la conversione.

  • Il componente Physics (Fisica) rileva automaticamente i collider in un'entità figlio. In passato era necessario impostare manualmente le entità figlio che contribuivano all'effetto di collisione.

  • La chiamata a PhysicsSystemRequestBus RayCast ora restituisce più occorrenze.

Project Configurator (Configuratore progetto)

  • Nella finestra di dialogo New Project (Nuovo progetto) ora lo stato attivo si trova nell'input di testo come previsto.

  • Nella finestra di dialogo Create Gem (Crea pacchetto gem) ora lo stato attivo passa nei campi precedente o successivo quando premi Tab o Maiusc+Tab.

  • La finestra di dialogo Create Gem (Crea pacchetto gem) ora cerca di creare il pacchetto gem quando premi Invio.

Twitch ChatPlay

  • La logica di fallback delle connessioni è stata migliorata in modo che Twitch ChatPlay possa eseguire il fallback su una connessione WebSocket se Twitch ChatPlay se non è in grado di connettersi direttamente all'interfaccia IRC di Twitch.

  • Nel livello di esempio Metastream sono stati aggiornati i controlli telecamera e utente in base al livello Controllable Chicken.

  • Twitch ChatPlay ora può inviare messaggi vocali tramite WebSocket se la connessione IRC diretta ha esito negativo.

  • Il livello TwitchChatBasics ora dispone di un grafico dei flussi e di un'interfaccia utente semplice per illustrare come utilizzare la funzionalità Whisper (Messaggio vocale) di Twitch ChatPlay.

UI Editor (Editor IU)

  • Ora puoi modificare il testo su più righe nel componente Text Input (Input di testo).

  • La funzionalità UI Editor (Editor IU) (Editor IU) ora supporta il passaggio tra lingue.

  • Sono stati aggiunti i seguenti nodi alla funzionalità Flow Graph (Grafico flussi) (Grafico flussi):

    • Nodi UiTransformComponent per recuperare e impostare la posizione e la rotazione di un elemento

    • Nodi UiElementComponent per recuperare i nodi padre e figlio

Realtà virtuale

  • La variabile della console hmd_debug ora è denominata hmd_debug_info.

Varie

  • Il file lmbr.exe ora accetta un comando che restituisce il progetto attivo corrente.

  • Se la compilazione di un asset ha esito negativo, tutti i riferimenti a tale asset nell'editor sono associati a un punto esclamativo (!). Puoi fare clic sul punto esclamativo per visualizzare il log di compilazione dell'asset.

  • Il sistema di input è stato semplificato mediante la gestione di input analogici e digitali tramite un unico input. I seguenti comportamenti sono stati convertiti script: tenere premuto, premere e rilasciare.

  • L'input ora dispone di un stack di contesto che puoi manipolare utilizzando InputRequestBus nel codice o in uno script.

  • I componenti di configurazione dell'input ora dispongono di una serie di contesti partecipanti. Il contesto di default è "" e viene impostato come attivo quando viene eseguito il push in modo esplicito e se lo stack è vuoto.

  • L'input filtrato ora viene gestito utilizzando InputEventNotificationBus e convertito in GameplayNotification in uno script.

  • Le associazioni di input ora sono associate per impostazione di default alla tastiera e non a un dispositivo nullo.

  • Ora puoi eseguire query sui discendenti di un'entità utilizzando TransformBus.

  • GameplayNotificationBus non fa più riferimento a un modello e ora utilizza AZStd::any come argomento.

  • L'API GameplayNotificationBus è stata modificata in OnEventBegin, OnEventUpdating, OnEventEnd.

  • AZStd::dynamic_pointer_cast ora è disponibile solo se l'opzione RTTI del compilatore è abilitata.

  • AZStd::rtti_pointer_cast ora è un'estensione per la proiezione di shared_ptrs utilizzando gli oggetti con AZ_RTTI.

  • Ora è stato aggiunto AZStd::reinterpret_pointer_cast per conformità con lo standard C++ 11.

  • AZStd::polymorphic_pointer_cast ora è stato rimosso.

  • Un nuovo tipo denominato AZStd::any consente di memorizzare e accettare come parametro qualsiasi tipo noto a AZ_TYPE_INFO o AZ_RTTI. Il nuovo tipo viene utilizzato da GameplayNotificationBus e può essere passato da/a Lua.

  • Il sistema di compilazione ora è esposto ai flag del compilatore per la protezione dell'overflow a livello di stack/buffer e per la randomizzazione del layout dello spazio di indirizzi.

  • /GS (MSVC) è ora abilitato per impostazione di default sul server dedicato e sulle destinazioni di debug ed è controllabile per destinazione in tutte le configurazioni.

  • /DYNAMICBASE (MSVC) è ora abilitato per impostazione di default sulle destinazioni dei server dedicati ed è controllabile per destinazione in tutte le configurazioni.

  • Sono stati aggiunti i seguenti parametri di compilazione della riga di comando:

    • --use-asan: abilita /GS su MSVC; utilizza -fsanitize per l'indirizzo su Clang

    • --use-aslr: abilita /DYNAMICBASE su MSVC; utilizza -fsanitize per la memoria su Clang

  • Sono state aggiunte le seguenti opzioni di configurazione delle destinazioni di compilazione. Possono essere configurate per destinazione/configurazione nei file wscript:

    • use_asan

    • use_aslr

  • Il comando map ora è supportato nella modalità di rilascio.