Miglioramenti e modifiche - Note di rilascio di Lumberyard

Miglioramenti e modifiche

Gli aggiornamenti apportati a sistemi e funzionalità Lumberyard includono:

Sistema di intelligenza artificiale

  • È stata aggiunta la variabile della console ai_NavGenThreadJobs per consentire il controllo sul numero di thread che il sistema di navigazione può utilizzare per elaborare le mesh.

  • Ora puoi modificare l'ID entità associato per l'osservatore e i parametri osservabili.

  • La modalità di disegno di debug TPS ora funziona anche con la destinazione di debug dell'agente.

  • Il sistema di movimenti ora può visualizzare le richieste di movimento in coda per i soggetti.

  • Alla struttura ad albero dei comportamenti è stato aggiunto un log di eventi per visualizzare la cronologia degli eventi recenti.

Audio

  • L'implementazione audio di Lumberyard ora utilizza Audiokinetic Wwise LTX.

  • Ora puoi posizionare il listener audio tra la telecamera e il personaggio giocatore.

  • Ora puoi utilizzare s_DrawAudioDebug per il listener audio del disegno di debug.

  • Grazie ai miglioramenti apportati all'audio e alla funzionalità Audio Controls Editor (Editor controlli audio), puoi posizionare il listener audio più vicino al giocatore e far sì che gli eventi audio segnalino l'inizio della riproduzione.

  • Il browser dei controlli audio ora è denominato Audio Controls Editor (Editor controlli audio) e include il supporto per librerie di suoni localizzate con lo stesso nome delle librerie di suoni globali e l'aggiunta di controlli di default.

  • Ora puoi caricare i controlli Wwise dalle sottocartelle.

  • L'implementazione di SDL Mixer ora supporta la possibilità di arrestare gli eventi.

Generazione di AZCode

Una soluzione di generazione di codice di anteprima è disponibile in /Code/Framework/AZCore/Build/CodeGenPreview ed è caratterizzata da quanto segue:

  • Puoi trovare i modelli per la generazione di codice per riflessione, EBus, serializzazione e componenti.

  • Visual Studio è integrato per l'anteprima.

  • Gli unit test per componenti nativi/componenti generati sono disponibili in /CodeGenPreview/AzCoreTests.

Personaggi e animazioni

  • Geppetto

    • Puoi visualizzare in anteprima le animazioni con qualsiasi frequenza di fotogrammi. In passato, questa operazione era limitata ad animazioni esportate a 30 fotogrammi al secondo.

    • Geppetto è stato aggiornato per funzionare con la nuova pipeline degli asset.

  • Sistema di animazione

    • Ora puoi riprodurre blendspace su qualsiasi livello di animazione; i blendspace ora possono includere animazioni additive o di sostituzione.

    • Le animazioni delle sezioni nei blendspace non sono più supportate.

    • L'interfaccia del lettore eventi di animazione astratto (IAnimEventPlayer) riproduce gli eventi di animazione. L'evento di animazione di default è audio_trigger.

    • Il pulsante Reset Character (Ripristina personaggio) ripristina il personaggio nella sua posizione originale e interrompe la riproduzione delle animazioni.

  • Mannequin

    • Il sistema Mannequin utilizza un nuovo formato di clip procedurale. Ora tutti gli elementi vengono esposti mediante un framework di serializzazione. Il file Scripts\Mannequin\ProcDefs.xml non è più necessario. La conversione viene eseguita automaticamente utilizzando il file Scripts\Mannequin\ProcClipConversion.xml.

    • Ora puoi fare clic con il pulsante destro del mouse su una clip di animazione per modificare l'asset di origine o trovare tutte le transizioni che fanno riferimento a tale clip.

    • Ora puoi filtrare le transizioni in base ai nomi delle animazioni nel riquadro Transitions (Transizioni) del browser della finestra Mannequin Editor (Editor Mannequin).

    • Ora puoi disabilitare temporaneamente ambiti o singoli livelli.

    • Le operazioni di copia e incolla dei set di frammenti ora sono supportate nel riquadro del browser Fragments (Frammenti) di Mannequin Editor (Editor Mannequin).

    • Un nuovo strumento List Used Animations (Elenca animazioni non utilizzate) è disponibile assieme alla funzionalità Re-export (Esporta di nuovo), che consente di caricare tutti i file Mannequin e salvarli.

    • Ora puoi utilizzare la variabile della console mn_override_preview_file per sostituire il file di anteprima di default utilizzato dall'editor.

    • Puoi copiare e incollare i livelli nelle clip, gli ID frammento e i comandi nel menu contestuale del browser Fragments (Frammenti).

    • La nuova funzione LuaCallback ProcLayer può ricevere una stringa e quattro numeri a virgola mobile come parametri.

Cinematica e Track View (Visualizzazione tracce)

  • Il contrasto del testo nel browser Track View Animation (Animazione visualizzazione tracce) è stato aumentato per migliorare la leggibilità quando utilizzi soggetti con carnagione scura.

  • La disabilitazione di una dissolvenza su schermo in un nodo regia nella finestra Track View (Editor visualizzazione tracce) ora comporta la cancellazione dell'effetto dissolvenza.

  • Le modifiche apportate ai file Alembic .abc e .cbc e ai relativi parametri di compilazione ora vengono rilevate automaticamente, ricompilate e caricate a caldo nella finestra Lumberyard Editor (Editor Lumberyard) e nei giochi.

  • È stato aggiunto un nuovo file .cax predefinito caricato da GeomCache per rimuovere le avvertenze e includere i materiali.

  • La voce Edit on Spot (Modifica locale) del menu contestuale per i valori booleani è stata disabilitata perché non sono disponibili parametri da impostare per un tipo booleano. Il tipo booleano si limita ad alternare il valore a livello di keyframe.

  • I miglioramenti implementati nell'interfaccia utente includono la modifica dei colori per ottimizzare la leggibilità per il tema relativo alla carnagione scura, la ridenominazione della funzionalità Graph (Grafico) in Curve Editor (Editor curve) e la ridenominazione della funzionalità Dope Sheet in Track Timeline (Timeline tracce).

Cloud Canvas

  • Ora puoi generare versioni di default dei contenuti in {game}\AWS Directory da utilizzare per la personalizzazione del progetto o la configurazione di uno scenario di test.

  • Le funzionalità di accesso con Google e OpenID ora sono supportate dai provider Amazon Cognito.

  • Il modello di progetto ora può definire una o più distribuzioni.

  • Ora puoi definire una distribuzione come distribuzione predefinita.

  • Vari aggiornamenti del grafico flussi Lambda includono l'aggiunta di un'interfaccia BaseLambdaFlowGraph, l'implementazione di BaseLambdaFlowNode in Math:Add e Math:Sub, l'aggiunta di funzioni in BaseLambdaFlowNode per facilitare la generazione del codice JS e l'aggiunta di un nuovo elemento Lambda ModuleType e riferimenti aggiornati a ModuleTypes per Lambda.

Modello vuoto

  • I modelli di progetto ora utilizzano la versione più recente dei progetti EmptyTemplate.

  • Il progetto EmptyTemplate ora dispone del file di intestazione StdAfx.

  • Gli stub per Actor ed EmptyTemplateGameRules sono stati spostati in IGameObjectExtension.

  • Tutti gli stub sono stati spostati da EditorGame a IEditorGame, in modo da rendere possibile la sostituzione facoltativa di OnAfterLevelLoad e OnBeforeLevelLoad.

  • Gli stub per GameStartup sono stati spostati in IGameStartup.

  • Gli stub per EmptyTemplateGame sono stati spostati in IGame, IGameFrameworkListener, ISystemEventListener e ILevelSystemListener.

Flow Graph (Grafico flussi)

  • Puoi specificare un determinato numero di fotogrammi per il nodo FrameDelay del grafico flussi anziché utilizzare il valore di default 1. Questo nodo consente di configurare il numero di fotogrammi da ritardare prima di passare un segnale.

  • Le modifiche elencate di seguito interessano le seguenti classi di nodi: Image (Immagine), Input, Interpol (Interpolazione), Inventory (Inventario), Iterator (Iteratore), Logic (Logica), Material (Materiale), Math (Matematica), Mission (Missione), Module (Modulo), Movement (Movimento), Multiplayer e Physics (Fisica):

    • I nomi di porta e di nodo ora sono conformi agli standard per garantire la coerenza tra classi. Ogni nome di nodo include la classe e il nome del nodo, ad esempio Entity:SetPosition. Ogni nome di porta è una porta di input o output, ad esempio Value (Valore) o Result (Risultato).

    • La migrazione dei nomi di nodo viene gestita automaticamente al momento del caricamento dei livelli. Questo file è disponibile in \dev\Engine\Libs\FlowNodes\Substitutions.xml.

    • I nodi del grafico flussi ora utilizzano nuovi modelli di attivazione: Activate (Attiva), Enable/Disable (Abilita/Disabilita) e Automatic (Automatico). Activate (Attiva) consente di attivare il nodo inviando l'input che aggiorna l'output. Enable/Disable (Abilita/Disabilita) consente di attivare un nodo in modo che aggiorni ripetutamente se stesso finché l'operazione non viene interrotta. Automatic (Automatico) consente di attivare un output in base agli input disponibili in quel momento.

    • Le descrizioni e le descrizioni comando relativi ai nodi ora riflettono meglio le rispettive funzionalità.

  • I nodi Game:Start (Inizio gioco) e Game:Stop (Fine gioco) ora funzionano come previsto.

  • L'organizzazione della finestra Flow Graph (Grafico flussi) è stata migliorata per semplificare la ricerca della categoria appropriata per il grafico dei flussi.

  • Un nuovo strumento Group (Raggruppa) sostituisce lo strumento Blackbox e consente di raggruppare i nodi in un grafico flussi in un container comodo che può essere espanso e compresso.

  • Sono stati aggiunti i seguenti nodi:

    • Environment:SkyMaterialSwitch

    • FindEntityByName

    • Physics:Constraint

    • Physics:CameraProxy

    • ActionMapManager

  • Sono stati aggiunti gli output IsInWater e IsHeadUnderWater per il nodo ActorSensor.

  • È stato aggiunto un input per forzare gli aggiornamenti per il nodo Time:RealTime.

  • È stato aggiunto un input per consentire all'utente di scegliere l'asse dell'entità che deve puntare alla destinazione per il nodo EntityFaceAt.

  • Ora puoi eseguire i grafici dei flussi dalla riga di comando.

  • Sono state aggiunte numerosi nodi e numerose funzionalità per eseguire test a livello di caratteristiche, controllare i risultati e registrare i risultati in un file specifico.

  • Le enumerazioni del grafico flussi ora utilizzano IN_SOCKET e OUT_SOCKET anziché IN e OUT, rispettivamente.

Sistema di pacchetti gem e pacchetti gem

  • Ora puoi modificare i modelli Boids senza rilanciare l'editor.

  • Ora puoi visualizzare l'opzione Misc Distance Clouds (Nuvole a varie distanze) nell'area Rollup Bar (Barra rollup) solo quando il pacchetto gem Cloud è abilitato.

  • I tipi di entità dichiarati a livello di pacchetto gem ora dispongono di nodi nel grafico dei flussi.

  • La funzionalità Lightning Arc Gem (Pacchetto gem arco fulmine) ora include le recenti modifiche apportate ai componenti CryEngine.

  • I moduli AZ ora utilizzano export_{include | defines} anziché le caratteristiche.

  • I file Waf generati automaticamente per i pacchetti gem ora includono una sezione auto.

  • Il boilerplate generato automaticamente per i nuovi pacchetti gem ora sono contenuti in uno spazio dei nomi e ciò consente di garantire la conformità con gli standard e definire le convenzioni di denominazione.

  • L'impossibilità di caricare un pacchetto gem ora genera un errore irreversibile invece di un avviso.

  • Il pacchetto gem Movement (Movimento) dispone di un nodo nel grafico dei flussi grazie al quale è possibile simulare i controller di movimento.

  • Il pacchetto gem AWS ora è stato aggiunto al progetto Samples.

  • I nomi dei pacchetti gem ora hanno un limite di 64 caratteri.

  • Il catalogo di pacchetti gem ora visualizzano i nomi descrittivi dei singoli pacchetti.

  • Il file gems.json ora funziona come un'opzione di rifiuto esplicito anziché come un'opzione di consenso esplicito.

  • Ora puoi utilizzare un controller basato sul grafico dei flussi che utilizza il sistema di capsule giocatore.

Livelli e ambiente

  • È stata aggiunta una nuova finestra di dialogo di creazione in modo da consentire l'aggiunta del terreno se non è stato creato al momento della creazione del livello.

  • Le anteprime dei nuovi modelli di terreno mostrano le modifiche apportate a trasparenza, altezza e nitidezza.

  • L'azione Single Flatten (Livellamento singolo) sostituisce le azioni Flatten (light) (Livellamento semplice) e Flatten (heavy) (Livellamento avanzato) per consentire di definire la percentuale di livellamento.

Lumberyard Editor (Editor Lumberyard)

  • Il nuovo oggetto gizmo per la rotazione 3D utilizza la rappresentazione angolare degli assi di rotazione.

  • La nuova azione Show Last Hidden (Mostra ultimo elemento nascosto) visualizza l'ultima entità nascosta durante la sessione di modifica. La chiusura o il ricaricamento di un livello comporta la cancellazione dell'elenco di azioni di disattivazione della visualizzazione. Per abilitare questa azione, premere Maiusc+H oppure scegliere Edit (Modifica), Show Last Hidden (Mostra ultimo elemento nascosto) nella barra dei menu.

  • È possibile attivare e disattivare dinamicamente i morph target per la pelle.

  • Il generatore di file di heightmap include un nuovo pannello di anteprima.

  • I nomi di prefab per i quali vengono create istanze ereditano il nome del prefab originale, ovvero la prima istanza di un prefab denominato "cassa" verrà denominata "cassa1".

  • I livelli in Lumberyard Editor (Editor Lumberyard) (Editor Lumberyard) includono nuovi indicatori di controllo del codice sorgente.

  • I viewport 2D ora sono sincronizzati per impostazione di default.

  • fSize e fAspect sono obsoleti nell'editor di particelle.

  • La funzionalità Smooth Beaches/Coastline (Spiaggia/litorale omogeneo) è stata rimossa.

  • L'opzione No Skinning (Nessuno skinning) è stata rimossa dal menu. Ora puoi scegliere carnagioni chiare o scure.

  • I miglioramenti dell'interfaccia utente includono lo spostamento del pulsante Open (Apri) della finestra di dialogo Console Variables (Variabili console) nel pannello Console, l'aggiunta di icone chiare e scure al pulsante e lo spostamento della casella di ricerca nella parte superiore della finestra di dialogo Console Variables (Variabili console).

  • Se presenti, i pulsanti della barra degli strumenti sono associati alle mappature a livello di tastiera (tasti di scelta rapida).

  • I file PAK mancanti non attivano più i messaggi di avviso.

  • Sono state aggiunge voci di menu per AWS e Commerce in modo da semplificare rispettivamente la registrazione di un account AWS o la pubblicazione su Amazon.

  • È stato aggiunto il supporto dell'ombreggiatura affiancata per gli oggetti in vetro per consentire a tali oggetti di ricevere l'illuminazione diretta, le ombre e l'illuminazione ambientale.

  • È stata aggiunta la possibilità di approssimare la dispersione luminosa utilizzando il color bleeding (inquinamento del colore) della funzionalità SSDO (Screen Space Directional Occlusion). Ciò genera un'ambient occlusion (AO) bilanciata sulle superfici luminose. Puoi utilizzare questa caratteristica mediante l'abilitazione dell'ombreggiatura differita affiancata e quindi l'impostazione della variabile della console r_ssdoColorBleeding.

  • Sono stati aggiunti i valori minimo e massimo per l'elevazione e la pendenza nel pannello Vegetation (Vegetazione) nella visualizzazione del database.

  • La funzionalità Temporal anti-aliasing (TAA) (anti-aliasing temporale) ora viene applicata al jitter della matrice di proiezioni per generare un'immagine più stabile. Puoi utilizzare questa caratteristica mediante l'abilitazione della variabile della console r_AntialiasingMode 3.

  • Il valore di esposizione massima per le nuvole è stato aumentato nel Material Editor (Editor materiali).

  • I file HDR ora sono supportati come immagini di origine per le sonde luce. I file vengono automaticamente convertiti dalle mappe longitudinali e latitudinale e tra mappe.

  • È stata aggiunta un'opzione Clear Registry Data (Cancella dati registro) al menu Tools (Strumenti).

  • È stata aggiunta una barra di scorrimento alla visualizzazione del database.

  • Sono stati aggiunti altri set di impostazioni FOV.

  • È stata aggiunta l'opzione di visualizzazione Edges (Bordi) per eseguire il rendering dei bordi sopra un personaggio.

  • Gli script entità e il browser della struttura del pannello ora vengono aggiornati automaticamente quando vengono registrate nuove classi di entità in fase di runtime.

  • Sono stati rimossi tutti i riferimenti al tipo di file .cga. Questo formato è obsoleto.

Programma di avvio di Lumberyard

  • i file di configurazione del programma di avvio di Lumberyard ora si trovano nella radice del motore. Durante l'avvio, la funzionalità Lumberyard Editor (Editor Lumberyard) utilizza questo file di configurazione per determinare se il programma di avvio di Lumberyard è stato eseguito in precedenza.

  • Se la funzionalità Lumberyard Editor (Editor Lumberyard) è in esecuzione per la prima volta e non è stato eseguito il programma di avvio di Lumberyard, il programma di avvio verrà avviato automaticamente.

  • Sono state aggiunte le descrizioni e le istruzioni per la libreria di compressione zlib.

  • Le operazioni di blocco, ad esempio la ricerca e la lettura di un file o una cartella, ora vengono eseguite nei rispettivi thread e ciò consente un aggiornamento più rapido e semplice dell'interfaccia utente.

Material Editor

  • La funzionalità Diffuse Color (Colore diffuso) è stata rinominata in Diffuse Color (Tint) (Colore diffuso (tinta)).

  • L'anteprima del materiale ora viene visualizzata a una risoluzione superiore e con una migliore qualità dell'immagine.

Strumenti Lumberyard in Maya

  • Il testo e le intestazioni relativi alle istruzioni sono stati aggiunti per identificare i dati.

  • La funzionalità Auto Add Joints (Aggiunta automatica articolazioni) è stata rimossa dallo strumento Mesh del componente Physics (Fisica).

  • Non è più necessario disporre di un gruppo con suffisso _group per esportare una singola mesh in Maya.

  • L'identificazione dei materiali del componente Physics (Fisica) avviene mediante l'inclusione di phys o Phys nel nome della texture o mediante l'impostazione dell'attributo lumberyardPhysMaterial sul materiale associato. Quando crei o aggiorni un gruppo di materiali, ai materiali del componente Physics (Fisica) viene automaticamente applicato ProxyNoDraw se sono conformi allo standard di denominazione.

  • LumberyardExportNode non deve più essere un elemento padre della geometria importata. LumberyardExportNode ora si trova in una gerarchia distinta e fa riferimento ai relativi target di esportazione.

  • La finestra di aiuto Export Validator (Validatore esportazione) non viene più visualizzata per impostazione predefinita. Per visualizzare la finestra di aiuto, impostare il controllo globale $g_enableValidateHelpWindow su true nel file cryValidate.mel.

  • Ora puoi impostare le opzioni fisiche per i materiali nello strumento Lumberyard.

  • L'etichetta predefinita è stata aggiornata da None (Nessuno) a No Physics (Nessun componente fisico) nell'elenco Physicalized Properties (Proprietà fisiche).

  • Il prefisso cryExportNode non è più incluso nell'elenco di esportazione delle geometrie nella finestra Lumberyard Editor (Editor Lumberyard).

  • La compatibilità con le versioni precedenti ora è disponibile per l'esportazione della geometria.

  • Ora puoi esportare i materiali utilizzando un percorso personalizzato (relativo o assoluto).

  • Il pulsante Select (Seleziona) nella finestra Geometry (Geometria) consente di individuare tutti i nodi da esportare e di selezionarli nella scena. Se la geometria si trova in una gerarchia, il nodo superiore è selezionato.

  • Ora è disponibile un nuovo strumento chiamato Joint Proxy Editor (Editor proxy articolazioni) per creare automaticamente le mesh deformabili. Questo strumento è disponibile all'interno dello strumento Lumberyard in Tools (Strumenti), Joint Proxy Editor (Editor proxy articolazioni).

  • Lumberyard ora supporta Maya 2014.

  • I miglioramenti visivi sono evidenti nel flusso di lavoro. Sono disponibili vari miglioramenti a livello di gruppi di materiale, inclusi i processi di denominazione, feedback e creazione.

Plugin Maya

  • Il plugin è in grado di gestire i nodi di esportazione, inclusi i nodi CryExportNodes che non si trovano a livello di radice.

  • Il plugin è in grado di gestire i nodi di esportazione che fanno parte di uno spazio dei nomi.

  • Il plugin utilizza un sistema di identificazione adeguato di sottocartelle di esportazione di pelle e geometrie.

  • Il plugin supporta i livelli di animazione (AnimLayers).

  • Puoi utilizzare il plugin per l'esportazione in batch delle animazioni.

  • Puoi utilizzare il plugin per esportare una struttura scheletrica senza una mesh aggiuntiva.

Reti

  • Modifiche di rilievo:

    • CryNetwork non è più incluso nel codice di base. Puoi utilizzare GridMate per l'implementazione delle reti.

    • L'architettura di rete sottostante per CryNetwork è stata aggiornata ed è stato aggiunto un servizio multiplayer per lo sviluppo di giochi multiplayer online. Sono infatti disponibili un livello UDP affidabile, la gestione delle sessioni, nonché la replica di oggetti tramite repliche, set di dati e chiamate RPC.

    • Le API correlate al matchmaking e ad altri servizi connessi, tra cui CryLobby, non sono più disponibili. La gestione delle sessioni viene ora gestita mediante il disaccoppiamento del flusso del gioco dallo stato della sessione di rete e l'implementazione di repliche personalizzate o la messaggistica tramite l'accesso diretto all'operatore.

    • L'interfaccia di crittografia non fa più parte di INetwork. Puoi accedere alla nuova API da CCrySystem::GetCrypto().

    • CryAction ora controlla la logica NetworkStallTicker.

    • La mappa di azioni e la visualizzazione locale ora sono configurate nell'ambito del flusso di inizializzazione del client attore.

    • I seguenti aspetti non sono più supportati: eEA_GameClientL, eEA_GameClientM, eEA_GameClientN, eEA_GameServerE.

  • Modifiche secondarie:

    • I comandi della console di rete connect e disconnect sono obsoleti.

    • L'aspetto e la funzionalità RMI ora sono gestite tramite repliche GridMate.

    • Le chiamate RMI client non possono più essere inviate a client specifici.

    • La simulazione degli aspetti delegati dal client ora avviene tramite richieste RPC.

    • I seguenti tipi di chiamate RMI sono stati rimossi: URGENT, INDEPENDENT e FAST.

    • I checksum dei messaggi ora sono controllati da ENABLE_DEBUG_MESSAGE_INTEGRITY_CHECKS #define in modo tale che le build di debug e profilo possano connettersi tra loro.

    • Gli aggiornamenti di rete visibili al gioco ora vengono eseguiti in thread di tick. Pertanto, TO_GAME e FROM_GAME non sono più necessari.

    • In passato alcuni stati di gioco globali venivano sincronizzati manualmente da diverse parti del motore. Utilizza GameContextReplica per sincronizzare gli stati di gioco globali.

    • L'associazione di rete ora è automatica. Non è più necessario effettuare la chiamata a BindToNetwork.

    • In caso di hosting di sessioni LAN ricercabili, sv_port e sv_port + 1 devono essere disponibili. La sessione usa sv_port e il listener di ricerca usa sv_port +1.

    • Quando si accede a una sessione LAN, viene utilizzata una porta temporanea per trovare la sessione e viene utilizzato sv_port per connettersi alla sessione.

    • La logica di caricamento dei livelli ora è inclusa nel sistema di livelli e nella classe GameContextReplica.

    • GridMate ora supporta start_lobby. gs_start non è più utilizzato.

    • IGameSessionHandler è stato rimosso. Utilizza INetworkEventListener per rimanere in ascolto degli eventi di sessione ed eseguire operazioni aggiuntive.

    • OnOfflineLevelLoaded() è stato rimosso perché il caricamento dei livelli in un singolo giocatore non è più considerato un caso speciale.

    • CCET::SetupActionMap() e CCET::SetupLocalView() ora si trovano in CCryAction.

Particle Editor (Editor di particelle)

  • La riproduzione dell'anteprima delle particelle viene riavviata automaticamente quando fai clic con il pulsante sinistro del mouse sull'elemento particella nella struttura a più elementi.

  • Le nuove funzionalità fSizeX e fSizeY controllano in modo indipendente ed esplicito la larghezza e l'altezza delle particelle.

  • Il nuovo parametro MaintainAspectRatio sincronizza le proprietà secondarie per la dimensione.

  • È possibile collegare un emettitore di particelle tra due ossa.

  • Il nuovo flag IgnoreRotation consente agli emettitori di ignorare la rotazione dell'osso collegato durante la determinazione dell'orientamento.

  • Il nuovo flag NotAttached consente di generare un emettitore su un osso senza la necessità di collegarsi all'osso. Le successive traslazioni non interessano la posizione dell'emettitore di particelle.

  • Per coerenza con le operazioni di trascinamento dalla finestra Particle Editor (Editor di particelle) (Editor di particelle), l'asse x ruota automaticamente di 90 gradi quando rilasci un'entità particella nel mondo dalla barra di rollup.

  • È stato aggiunto PlaneAlignBlendDistance.

  • Allo shader delle particelle è stata aggiunta una mappa bagliori.

  • È stata aggiunta la possibilità di ridurre le dimensioni e la durata delle particelle in base al parametro di conservazione della densità.

  • Il parametro di dimensionamento delle particelle è stato spostato da Material Editor a Particle Editor (Editor di particelle). Questo parametro ora può rendere più o meno definite le particelle.

  • Ora puoi utilizzare il parametro di approssimazione sferica per scegliere tra i calcoli standard o tangente sferica.

  • Per evitare la perdita di dati, ora viene visualizzato un messaggio di avviso relativo alle modifiche non salvate apportate alla libreria Level (Livello).

  • Gli editor delle curve ora dispongono di un menu contestuale visualizzabile tramite il clic con il pulsante destro del mouse che consente di eliminare le chiavi selezionate.

  • Ora puoi immettere un valore con un massimo di cinque decimali per gli attributi Size X (Dimensione X) e Size Y (Dimensione Y).

Gruppi di effetti di post-produzione

Puoi personalizzare alcuni effetti di post-produzione codificati nel motore impostando i relativi parametri. Per ulteriori informazioni, consulta Personalizzazione degli effetti di post-elaborazione.

  • Per un maggiore controllo sugli effetti di post-produzione, puoi creare gruppi prioritari di parametri di effetti in XML e abilitarli o disabilitarli utilizzando un nodo del grafico dei flussi oppure mediante gli script Lua.

  • Puoi anche utilizzare i gruppi di effetti per specificare le curve di blend per definire una transizione omogenea tra effetti.

Prefab

  • Ora puoi selezionare ed estrarre un singolo oggetto da un prefab.

  • Ora puoi aggiungere punti di pivot personalizzati per i prefab. Puoi anche spostare manualmente tali punti utilizzando il mouse o allineandoli agli oggetti del prefab.

  • Il pannello di prefab ora aggiorna automaticamente l'elenco di oggetti quando vengono apportate modifiche.

  • Non puoi modificare le proprietà di più prefab contemporaneamente.

  • Puoi aggiungere informazioni sul numero di istanze di livelli ai prefab selezionati in Rollup Bar (Barra rollup) e Database View (Visualizzazione database).

Project Configurator (Configuratore progetto)

  • La funzionalità Project Configurator (Configuratore progetto) ora dispone di un pulsante Open in Editor (Apri nell'editor) e della nuova funzionalità per il pulsante Save (Salva), che è disabilitata se non sono state apportate modifiche.

  • I pacchetti gem ora sono in ordine alfabetico per impostazione di default.

  • I nomi di progetto ora sono limitati a 64 caratteri.

  • La funzionalità Project Configurator (Configuratore progetto) ora cerca bootstrap.cfg anziché system.cfg per garantire il corretto funzionamento con la nuova pipeline degli asset.

Resource Compiler (Compilatore risorse)

  • Il compilatore di risorse ora dispone di formati pixel con firma.

  • Una chiave minTextureSize è disponibile per l'upscaling.

  • Una chiave mipgenop ora è disponibile per l'applicazione di filtri con i parametri minimo e massimo.

  • La console remota ora può utilizzare porte alternative se la porta di default è già in uso.

  • Il rumore della densità della nebbia ora è disponibile per il volume della nebbia.

  • Ora puoi applicare i parametri del materiale decalcomania (Alpha Multiplier (Moltiplicatore alfa), Falloff (Dissolvenza) e Diffuse Opacity (Opacità diffusa)) per le decalcomanie differite.

  • Un argomento rc.exe della riga di comando imposta il limite superiore per l'intervallo UV a livello di cache Alembic e viene utilizzato nella compressione delle coordinate UV. Il nuovo valore di default è 0 (in passato era 1.0), che indica che rc.exe deve impostare il limite superiore per l'intervallo UV per ogni mesh in base alla coordinata UV più grande rilevata. Questa impostazione restituirà la compressione UV ottimale per ogni mesh.

  • Tutte le entità GeomCache dell'editor utilizzano il nuovo valore di default 0.

Twitch ChatPlay

  • Ora puoi esplorare il livello TwitchChatBasics nel progetto Samples per imparare a utilizzare ChatPlay Twitch.

UI Editor (Editor IU)

  • Il sistema di layout della griglia posiziona automaticamente gli elementi figlio in righe, colonne o griglie all'interno del limite dell'elemento padre. Il sistema di layout dinamico utilizza i seguenti componenti dell'interfaccia utente: LayoutRow (Riga layout), LayoutColumn (Colonna layout) e LayoutGrid (Griglia layout).

  • I componenti Text (Testo) e TextInput (Input testo) ora supportano il testo localizzato.

  • Lo sfondo del viewport della funzionalità UI Editor (Editor IU) ora è conforme alle impostazioni Light Skin (Pelle chiara) o Dark Skin (Pelle scura) nel menu View (Visualizza).

  • Il canvas demo dell'interfaccia utente, i prefab dell'interfaccia utente e le texture di esempio ora si trovano nei pacchetti gem.

  • Ora puoi utilizzare i seguenti elementi della funzionalità UI Editor (Editor IU):

    • Undo (Annulla) e Redo (Ripeti)

    • Text Input (Input testo) – Consente di immettere testo nell'interfaccia utente del gioco

    • Scale to Device (Dimensiona in base a dispositivo) (Transform2d) – Consente di applicare un fattore di dimensionamento uniforme all'elemento dell'interfaccia utente in base al rapporto tra le dimensioni del canvas creato e le dimensioni del viewport in fase di runtime

  • Ora puoi disegnare i bordi attorno agli elementi deselezionati.

  • Vari aggiornamenti all'interfaccia utente di UI Editor (Editor IU) includono la visualizzazione della risoluzione del viewport nella barra degli strumenti e lo spostamento del pulsante New (Nuovo) dal riquadro della gerarchia alla barra degli strumenti.

  • I canvas e i prefab dell'interfaccia utente ora vengono salvati usando un nuovo sistema di serializzazione.

  • Le modifiche apportate ai nodi del grafico flussi della funzionalità UI Editor (Editor IU) includono nomi e parametri aggiornati e nuovi nodi per l'acquisizione e la configurazione di stringhe di testo nei componenti di testo.

  • Il menu Edit (Modifica) ora include un'opzione Save as Prefab (Salva come prefab).

  • Il componente Text Input (Input testo) ora dispone di una proprietà Password Field (Campo password) per il supporto del testo nascosto.

  • I tasti di scelta rapida per copiare, tagliare e incollare ora funzionano nel viewport.

Sistema di compilazione Waf

  • Crywaf.exe ora è stato denominato lmbr_waf.exe.

  • I file Uber ora vengono generati automaticamente nella maggior parte dei casi e offrono i seguenti vantaggi:

    • Consente l'ottimizzazione delle dimensioni dei file Uber per l'ambiente di compilazione, ad esempio SSD/HDD o IncrediBuild/locale.

    • Consente di semplificare il processo di creazione e gestione degli elenchi di waf_files.

    • Supporta le seguenti chiavi di file Uber: none, auto e somefilename.cpp. Utilizza none per supportare la compatibilità con le versioni precedenti (equivalente a NoUberFile). Utilizza auto per ordinare e combinare automaticamente i file.

    • Supporta l'impostazione --uber-file-size/uber_file_size, la cui impostazione predefinita è 300K.

    • Supporta l'uso di nomi di file personalizzati, forzando i file specificati in un file Uber con lo stesso nome.

  • La cartella dep projs è stata isolata a un nome di soluzione generato per consentire più soluzioni nella cartella delle soluzioni.

  • È stata rimossa l'opzione auto-detect-compiler, che è stata sostituita dal programma di avvio di Lumberyard.

Varie

  • Per abilitare l'accesso remoto e il ricaricamento in tempo reale dei file, puoi abilitare il file system virtuale in bootstrap.cfg. Ciò consente di virtualizzare, anziché rendere fisico, l'accesso ai file.

  • Per un debug avanzato degli shader, il server del compilatore di shader riconfigurato esegue il dump del codice OpenGL Shading Language (GLSL) e High-Level Shading Language (HLSL) quando l'opzione DumpShaders è impostata su 1 nel file di configurazione (config.ini).

  • Ora puoi utilizzare il linguaggio QML per sviluppare plugin per Lumberyard Editor (Editor Lumberyard) (Editor Lumberyard).

  • I file di entità (.ent) nelle sottodirectory ora sono supportati.

  • Debug e FastDebug ora eseguono la compilazione in directory Bin diverse dalle build di profilo e rilascio.

  • Dynamic Controller è una traccia di dati esportati da Maya che consente di gestire una serie di sistemi di runtime, ad esempio il sistema Blendshape. Anziché utilizzare le ossa di controllo nel sistema scheletrico per il controllo animatore, Dynamic Controller consente a un animatore di importare tracce a virgola mobile utilizzando il nuovo nodo cryFloatExport. In questo modo le tracce a virgola mobile con key frame vengono esposte alla funzionalità di esportazione Lumberyard in modo da avere maggiore controllo senza utilizzare file di asset di grandi dimensioni.

  • Ora puoi usare l'annullamento della sincronizzazione delle animazioni inattive per spostare gruppi di oggetti con animazioni simili in modo che non sembri che eseguano la stessa operazione allo stesso momento.

  • Ora puoi utilizzare i seguenti formati di immagine: .jpg, .bmp, .png e .tga.

  • Microsoft Visual Studio 2013 è l'ambiente di sviluppo integrato (IDE) supportato.

  • CryEngine CryToolsInstaller.exe e SettingsMgr.exe sono stati sostituiti dal programma di avvio di Lumberyard.

  • Nel plugin Maya, gli spazi dei nomi ora vengono ignorati quando viene eseguita la ricerca dei nodi CryExport.

  • Nei plugin Maya e 3ds Max, la funzionalità CryEngine Exporter (Funzionalità di esportazione CryEngine) è stata rinominata in Exporter Lumberyard (Funzionalità di esportazione Lumberyard).

  • La texture DefaultUV è stata aggiornata con una nuova immagine.

  • I nuovi file BasicEntity e GeometryEntity sono disponibili per il posizionamento di materiale scenico e oggetti non di tipo personaggio nelle scene cinematografiche.

  • La nuova entità AnimObject consente a un oggetto di riprodurre un'animazione prebaked nel gioco, senza la necessità di articolazioni di strutture scheletriche o l'utilizzo di un file CDF.

  • È stato aggiunto il supporto per diverse frequenze di fotogrammi dell'animazione per l'esportazione da e la riproduzione in Autodesk Maya. La frequenza di fotogrammi supportata per i gruppi aimIK (animazione di base o obiettivo) è 30 fotogrammi al secondo (fps). Le frequenze di fotogrammi supportate in Maya sono 15, 30, 60, 120 e 240 fps. La frequenza fotogrammi di default è 30 fps. È possibile modificare la frequenza di fotogrammi di un asset in Maya scegliendo Windows, Settings/Preferences (Impostazioni/Preferenze), Preferences (Preferenze) e quindi selezionando la categoria Settings (Impostazioni). Nella sezione Working Units (Unità operative) selezionare la frequenza di fotogrammi nell'elenco a discesa Time (Tempo).

  • È stato aggiunto il supporto per l'esportazione della geometria utilizzando un percorso personalizzato (relativo o assoluto).

  • È stata aggiunta la variabile della console r_texblockOnLoad, che blocca il gioco finché la funzionalità Resource Compiler (Compilatore risorse) non termina l'elaborazione di una texture. Valori validi: 0=off | 1=on. Valore predefinito: 0.

  • I file DLL ora sono in grado di passare in modo sicuro i dati ad altri file DLL in una build non di rilascio.

  • È stata eseguita la migrazione delle costanti di shader per istanza nei buffer statici per istanza esternamente al livello driver. Ciò consente di migliorare le prestazioni riducendo il numero di aggiornamenti di buffer tra fotogrammi.

  • La variabile della console r_MotionVectors è stata rimossa. Per controllare l'effetto mosso a livello di oggetto rispetto a quello a livello di telecamera, ora puoi utilizzare la variabile della console r_MotionBlur.

  • È stata aggiunta la variabile della console r_statsMinDrawcalls per impostare il valore minimo visualizzato da utilizzare con r_stats 6.

  • È stata aggiunta la variabili della console r_ShadowCastingLightsMaxCount per impostare il numero massimo di luci con proiezione dell'ombra.

  • Il sistema LOD utilizza la dimensione media del triangolo per determinare quando passare tra le mesh LOD.

  • La funzionalità Clip Volumes (Volumi ritaglio) consente di definire le forme geometriche in grado di ritagliare le origini luminose e le sonde luce. Puoi usare i volumi di ritaglio nella funzionalità Lumberyard Editor (Editor Lumberyard) (Editor Lumberyard) o tramite l'importazione da una mesh statica.

  • Il concetto di proxy entità non è più utilizzato. Le classi che in precedenza ereditavano da IEntityProxy ora ereditano direttamente da IComponent.

  • Le proprietà di estensione attore ora genera il nodo di flusso Get e Set per consentire l'interazione con queste proprietà. I metodi riflessi sulle estensioni attore generano un nodo di flusso. Puoi dichiarare i metodi riflessi mediante la macro DECLARE_METHOD.

  • Le finestre di dialogo e i widget seguenti sono stati trasferiti da MFC a Qt: FlowGraph Viewport, Error Report, Measurement System Tool, Python Scripts, Script Terminal, Pak Manager, Generate Terrain Texture, Export/Import Megaterrain Texture, Resize Terrain, SelectionTree Error Report, Asset Resolver, RollupBar/Display, Visual Log Viewer e Plugin Creation.

  • I test dei pacchetti gem ora sono inclusi nei progetti generati.

  • Quando un punto di generazione non è disponibile, i giocatori ora vengono generati in corrispondenza della telecamera.

  • Le texture senza una texture TextureCompiling valida ora vengono caricate immediatamente.

  • Ora sono inclusi i riferimenti al materiale PBS.

  • Il numero massimo di costanti di shader vincolato è stato aumentato.

  • Sono stati rimossi i seguenti elementi:

    • Riferimenti a Crysis nel grafico dei flussi

    • Controlli CryNetwork e GridMate non necessari

    • Istanze obsolete di r_ShaderCompilerFolder nei file di configurazione

    • Generatore di riflessione obsoleto

    • Chiamata a uno script LUA inesistente in AIConfig

    • Modalità Viewport Point (Punto viewport) nella finestra Lumberyard Editor (Editor Lumberyard) (Editor Lumberyard)

  • Un nuovo parametro Light Entities (Entità di luce) controlla l'intensità della sfocatura utilizzata per mitigare gli artefatti con bordi ombreggiati. In passato questo effetto veniva calcolato automaticamente in base al campo di vista della luce quando veniva utilizzato. L'esposizione del parametro ShadowBlurStrength, anziché impostarlo automaticamente, consente di avere un maggiore controllo sulla prevenzione a livello di sfocatura dell'ombreggiatura e artefatti.

  • Il sistema di script è stato aggiornato in modo da fare riferimento ai buffer di script caricati utilizzando il nome di file relativo, escluso il modulo.

  • Le finestre Qt sono state modificate da QPalette in Stylesheets.

  • Lo strumento Rotation (Rotazione) è stato migliorato come segue: è stata aumentata la larghezza degli hit test per il manipolatore della rotazione; è stato risolto il problema relativo al dimensionamento dello schermo che interrompeva la rotazione nei viewport 2D; è stata rimossa la rotazione sull'asse della visualizzazione nei viewport 2D; è stata aggiunta la geometria dell'hit test relativo all'allineamento.

  • È stata aggiunta la variabile della console r_deferredDecalsOnDynamicObjects, che è possibile utilizzare per abilitare decalcomanie proiettate su oggetti dinamici.

  • Sono stati aggiornati i nodi di DynamoDB per funzionare meglio con tipi di dati. Put e Update ora dispongono di un campo DataType (Tipo dati) che consente di utilizzare valori stringa, valori numerici o valori booleani. Query e Scan ora consentono di impostareAttributeComparisonValueType che corrisponde alle stesse opzioni. I valori di default rimangono string in tutti i casi per evitare l'interruzione dei nodi esistenti. Il nodo DynamoDBGet ora dispone degli output number e bool. NumberOut genera output solo quando i dati vengono recuperati correttamente ed è stato inserito o aggiornato come tipo di dati numerici. L'output bool restituisce true se il tipo di dati è booleano ed è stato impostato su true; l'output bool restituisce false per gli altri tipi di dati e valori.

  • Ora è disponibile una nuova versione di SDK AWS per C++.

  • È stato creato un nuovo metodo per la generazione di animazioni di database (DBA) utilizzando il nuovo pipeline degli asset.

  • Le istruzioni di installazione di FFmpeg sono state aggiornate nel programma di avvio di Lumberyard.

  • È stata aggiunta una specifica di strumenti alla configurazione delle build Waf pe consentire la compilazione solo degli strumenti per Lumberyard.

  • OculusSDK ora è definito per tutti i sistemi operativi ed è installato correttamente nella cartella 3rdParty durante l'installazione.

  • La funzionalità Resource Compiler (Compilatore risorse) (Compilatore risorse) ora viene richiamata dal nuovo pipeline degli asset e dal sistema di compilazione, anziché dall'editor.

  • Il valore di default della variabile della console e_GIAmount ora è 0; questa impostazione disabilita LPV, a meno che non sia esplicitamente abilitato.

  • Quando si seleziona un target di esportazione personalizzato per 3ds Max, dopo aver selezionato il percorso la casella di controllo ora viene selezionata automaticamente.

  • Vari miglioramenti includono l'aggiunta di opzioni per le configurazioni di terze parti, l'aggiornamento degli script affinché siano più modulari e l'aggiunta di lmbr_waf.bat per migliorare le prestazioni.