Verbesserungen und Änderungen
Zu den Aktualisierungen für Lumberyard-Systeme und ‑Funktionalität zählen u. a.:
AI-System
Die Konsolenvariable
ai_NavGenThreadJobs
wurde hinzugefügt, um eine bessere Kontrolle über die Anzahl der Threads zu haben, die vom Navigationssystem zur Verarbeitung von Gittern verwendet werden können.Sie können jetzt die dazugehörige Entity-ID für den Beobachter und die beobachtbaren Parameter ändern.
Der TPS-Debug-Draw-Modus unterstützt nun auch das Debug-Ziel des Agenten.
Das Bewegungssystem kann nun die in die Warteschlange eingereihten Bewegungsanforderungen für Aktors anzeigen.
Der Verhaltensstruktur wurde ein Ereignisprotokoll zum Anzeigen des neuesten Ereignisverlaufs hinzugefügt.
Audio
-
Die Audio-Implementierung von Lumberyard unterstützt nun Audiokinetic Wwise LTX.
-
Sie können jetzt den Audio-Listener zwischen der Kamera und dem Spieler-Charakter platzieren.
-
Sie können
s_DrawAudioDebug
für den Audio-Listener "Debug Draw" verwenden. -
Aufgrund der Verbesserungen der Audiofunktionen und am Audio-Editor können Sie nun den Audio-Listener näher am Spieler platzieren und sich den Start der Wiedergabe von Audioereignissen melden lassen.
-
Der Browser für die Audio-Steuerung wird nun als Audio-Editor bezeichnet und umfasst Support für lokalisierte Soundbanks mit demselben Namen wie globale Soundbanks. Zudem wurden Standardsteuerungen hinzugefügt.
-
Sie können jetzt Wwise-Steuerelemente aus Unterordnern laden.
-
Die SDL Mixer-Implementierung unterstützt jetzt die Möglichkeit, Ereignisse zu stoppen.
AZCode-Generierung
Eine Vorversion für der Code-Generierung ist unter /Code/Framework/AZCore/Build/CodeGenPreview
gespeichert und bietet Folgendes:
-
Vorlagen zur Erzeugung von Code für Übernahme, EBus, Serialisierung und Komponenten.
-
Visual Studio wurde für die Vorschau integriert.
-
Einheitentests zum Vergleichen von nativen mit erzeugten Komponenten in
/CodeGenPreview/AzCoreTests
.
Character und Animation
-
Geppetto
-
Animationen können nun in der Vorschau mit einer beliebigen Bildrate angezeigt werden. Zuvor war diese auf 30 Frames pro Sekunde beschränkt.
-
Geppetto wurde aktualisiert und unterstützt nun die neue Komponenten Pipeline.
-
-
Animationssystem
-
Verschmelzungsbereiche werden jetzt auf jeder beliebigen Animationsschicht unterstützt. Sie können additive Animationen oder Override-Animationen enthalten.
-
Splice-Animationen in Verschmelzungsbereichen werden nicht mehr unterstützt.
-
Die abstrakte Spieler-Schnittstelle für Animationsereignisse (
IAnimEventPlayer
) spielt Animationsereignisse ab. Das Standard-Animationsereignis istaudio_trigger
. -
Die Schaltfläche Reset Character (Figur zurücksetzen) setzt die Figur auf ihre ursprüngliche Position zurück und beendet die Animationswiedergabe.
-
-
Mannequin
-
Das Mannequin-System verwendet ein neues prozedurales Clip-Format, alle Elemente werden jetzt über das Serialisierungs-Framework bereitgestellt. Sie benötigen
Scripts\Mannequin\ProcDefs.xml
nicht. Die Konvertierung erfolgt automatisch unter Verwendung der DateiScripts\Mannequin\ProcClipConversion.xml
. -
Sie können jetzt mit der rechten Maustaste auf einen Animations-Clip klicken, um das ursprüngliche Objekt zu bearbeiten oder alle Übergänge zu finden, die zum Clip gehören.
-
Sie können jetzt Übergänge anhand der Animationsnamen im Browser-Bereich Transitions (Übergänge) im Mannequin-Editor filtern.
-
Sie können jetzt vorübergehend Bereiche oder einzelne Layer deaktivieren.
-
Das Kopieren und Einfügen von Fragmentgruppen wird jetzt im Browser-Bereich Fragments (Fragmente) im Mannequin-Editor unterstützt.
-
Das Tool List Used Animations (Auflisten verwendeter Animationen) sowie die Funktion Re-export (Neu exportieren), die alle Mannequin-Dateien lädt und diese zu speichern versucht, wurden hinzugefügt.
-
Die Konsolenvariable
mn_override_preview_file
wurde hinzugefügt, mit der die vom Editor verwendete standardmäßige Vorschaudatei übersteuert werden kann. -
Sie können nun Clip-Ebenen, Fragment-IDs und Befehle über das Kontextmenü des Browser-Bereichs Fragments (Fragmente) kopieren und einfügen.
-
Der neue LuaCallback ProcLayer kann eine Zeichenfolge sowie vier Gleitkommazahlen als Parameter abrufen.
-
Kinematografie und Track View (Spuransicht)
-
Der Kontrast des Textes im Browser Track View Animation (Spuransichtsanimation) wurde erhöht, um die Lesbarkeit bei Verwendung einer dunklen Skin zu verbessern.
-
Durch das Deaktivieren eines Bildschirm-Faders in einem Director-Knoten im Track View wird der Überblendungseffekt aufgehoben.
-
Änderungen an den Alembic-Dateien
.abc
und.cbc
sowie an deren Kompilierungsparametern werden nun automatisch erkannt, rekompiliert und sofort in den Lumberyard-Editor sowie in die Spiele geladen. -
Eine neue GeomCache-geladene
.cax
-Standarddatei wurde hinzugefügt, um Warnungen zu entfernen und Materialien einzubeziehen. -
Der Kontextmenüeintrag Edit on Spot (Bearbeiten auf Spot) für boolesche Werte wurde deaktiviert, da keine Parameter zum Festlegen eines booleschen Typs vorhanden sind. Der boolesche Typ schaltet den Wert einfach im Keyframe um.
-
Zu den Verbesserungen der Benutzeroberfläche gehören eine Anpassung der Farben für eine optimierte Lesbarkeit dunkler Skins, das Umbenennen von Graph (Diagramm) in Curve Editor (Kurven-Editor) und das Umbenennen von Dope Sheet (Dope-Blatt) in Track Timeline (Spurzeitleiste).
Cloud Canvas
-
Sie können jetzt Standardversionen des Inhalts in
generieren, um diesen zum Anpassen des Projekts oder Einrichten eines Testszenarios zu verwenden.{game}
\AWS Directory -
Eine Anmeldung mit Google oder OpenID ist jetzt möglich. Beide zählen nun zu den unterstützten Amazon Cognito-Anbietern.
-
Über die Projektvorlage können jetzt mehrere Bereitstellungen definiert werden.
-
Sie können nun eine Bereitstellung als Standardbereitstellung definieren.
-
Zu den verschiedenen Aktualisierungen von Lambda Flow Graph zählen das Hinzufügen einer
BaseLambdaFlowGraph
-Schnittstelle, das Implementieren vonBaseLambdaFlowNode
inMath:Add
undMath:Sub
, das Hinzufügen von Funktionen zuBaseLambdaFlowNode
zur Vereinfachung des Generierens von JS-Code sowie das Hinzufügen eines neuen LambdaModuleType
und aktualisierte Verweise aufModuleTypes
für Lambda.
Empty (Leer)
-
Die Projektvorlagen nutzen nun die neueste Version der EmptyTemplate-Projekte.
-
Das EmptyTemplate-Projekt verfügt jetzt über die Header-Datei
StdAfx
. -
Die Stubs für
Actor
undEmptyTemplateGameRules
wurden nachIGameObjectExtension
verschoben. -
Alle Stubs von
EditorGame
wurden nachIEditorGame
verschoben, damitOnAfterLevelLoad
undOnBeforeLevelLoad
optional überschrieben werden können. -
Die Stubs für
GameStartup
wurden nachIGameStartup
verschoben. -
Die Stubs für
EmptyTemplateGame
wurden nachIGame
,IGameFrameworkListener
,ISystemEventListener
undILevelSystemListener
verschoben.
Flussdiagramm
-
Sie können die Anzahl der Frames für den Flow-Graph-Knoten FrameDelay festlegen und müssen nicht den Standardwert
1
verwenden. Dieser Knoten konfiguriert die Anzahl der Frames, die vor der Übergabe eines Signals verzögert werden. -
Die unten aufgelisteten Änderungen haben Auswirkungen auf folgende Knotenklassen: Image (Bild), Input (Eingabe), Interpol (Interpolation), Inventory (Bestand), Iterator, Logic (Logik), Material, Math (Mathematik), Mission, Module (Modul), Movement (Bewegung), Multiplayer und Physics (Physik):
-
Die Knoten- und Portnamen entsprechen nun bestimmten Standards, um eine klassenübergreifende Konsistenz sicherzustellen. Knoten werden mit der Knotenklasse und dem Knotennamen bezeichnet (Beispiel:
Entity:SetPosition
). Jeder Portname steht für einen Ein- oder Ausgabe-Port (beispielsweise Value (Wert) oder Result (Ergebnis)). -
Die Migration von Knotennamen erfolgt automatisch zur Level-Ladezeit. Sie finden diese Datei unter
\dev\Engine\Libs\FlowNodes\Substitutions.xml
. -
Flow-Graph-Knoten verwenden jetzt neue Aktivierungsmuster: Activate (Aktivieren), Enable/Disable (Aktivieren/Deaktivieren) und Automatic (Automatisch). Aktivieren (Aktivieren) ermöglicht das Auslösen des Knotens, indem eine Eingabe gesendet wird, die die Ausgabe aktualisiert. Mit Enable/Disable (Aktivieren/Deaktivieren) können Sie einen Knoten so aktivieren, dass dieser sich anschließend permanent selbst aktualisiert, bis er angewiesen wird, das Aktualisieren zu beenden. Automatic (Automatisch) ermöglicht das Auslösen einer Ausgabe basierend auf den zu der Zeit verfügbaren Eingaben.
-
Beschreibungen und QuickInfos für Knoten spiegeln nun besser deren Funktionalität wider.
-
-
Die Knoten Game:Start und Game:Stop funktionieren jetzt wie vorgesehen.
-
Die Organisation im Flussdiagramm-Fenster wurde verbessert, damit Sie die passende Kategorie für Ihren Flow Graph leichter finden.
-
Das neue Tool Group (Gruppierung) ersetzt das Tool Blackbox. Mit diesem können Sie Flow Graph-Knoten in einem geeigneten Container gruppieren, der erweitert und reduziert werden kann.
-
Die folgenden Knoten wurden hinzugefügt:
-
Environment:SkyMaterialSwitch
-
FindEntityByName
-
Physics:Constraint
-
Physics:CameraProxy
-
ActionMapManager
-
-
Die Ausgaben IsInWater und IsHeadUnderWater wurden zum Knoten ActorSensor hinzugefügt.
-
Dem Knoten Time:RealTime wurde eine Eingabe hinzugefügt, die Aktualisierungen erzwingt.
-
Eine Eingabe wurde hinzugefügt, sodass Sie nun die Entity-Achse auswählen können, die auf das Ziel des Knotens EntityFaceAt zeigen soll.
-
Flow Graphs können jetzt über die Befehlszeile ausgeführt werden.
-
Es wurde mehrere Knoten und Funktionen zum Durchführen von Feature-Tests, zum Prüfen von Ergebnissen und zum Protokollieren von Ergebnissen in einer bestimmten Datei hinzugefügt.
-
Flow Graph-Enumerationen nutzen nun IN_SOCKET und OUT_SOCKET anstelle von IN und OUT (AUS).
Gems System und Gems
-
Sie können jetzt Boids-Modelle ohne Neustart des Editors ändern.
-
Misc Distance Clouds (Verschiedene Distanzwolken) wird jetzt nur noch in der Rollup-Menü angezeigt, wenn Cloud Gem aktiviert ist.
-
Bei Gem-deklarierten Entität-Typen fehlen nicht mehr länger die Flow Graph-Knoten.
-
Das Gem "Lightning Arc" übernimmt nun die neuesten Änderungen an den CryEngine-Komponenten.
-
AZ-Module nutzen nun
export_{include | defines}
anstelle von Funktionen. -
Automatisch erstellte Waf-Dateien für Gems enthalten jetzt den Abschnitt auto (Automatisch).
-
Die für neue Gems automatisch erstellte Boilerplate ist jetzt in einem Namespace enthalten. Dadurch wird das Einhalten von Standards und das Einrichten von Namenskonventionen unterstützt.
-
Wenn ein Gem nicht geladen werden kann, tritt nun ein schwerwiegender Fehler statt einer Warnung auf.
-
Das Gem Movement verfügt jetzt über einen Flow-Graph-Knoten, mit dem Sie Bewegungssteuerungen modellieren können.
-
Das Gem AWS wurde zum Beispielprojekt hinzugefügt.
-
Gem-Namen sind jetzt auf 64 Zeichen beschränkt.
-
Der Gems-Katalog zeigt nun eigene (vom Benutzer lesbare) Namen für Gems an.
-
Die
gems.json
-Datei verhält sich jetzt wie eine Abmeldung und nicht wie eine Anmeldung. -
Sie können jetzt einen Flow-Graph-basierten Controller nutzen, der das Kapselsystem des Spielers verwendet.
Level und Umgebung
-
Ein neues Create-Dialogfeld wurde hinzugefügt, mit dem Sie Gelände hinzufügen können, wenn dieses nicht bei der Levelerstellung erzeugt wurde.
-
Neue Terrain-Pinsel-Vorschauen zeigen Änderungen an Transparenz, Höhe und Weichzeichnung.
-
Die Aktion Single Flatten (Einzelne Abflachung) ersetzt Flatten (light) (Abflachung (leicht)) und Flatten (heavy) (Abflachung (stark)), sodass Sie den Prozentsatz der Abflachung definieren können.
Lumberyard-Editor
Das neue 3D-Rotation-Gizmo verwendet für die Rotationsachsen eine angulare Darstellung.
Die neue Aktion Show Last Hidden (Zuletzt ausgeblendete anzeigen) zeigt die Entität an, die während der Bearbeitungssitzung ausgeblendet war. Das Schließen oder neue Laden eines Levels löscht die Liste der ausgeblendeten Aktionen. Drücken Sie zum Aktivieren dieser Aktion Shift+H (Umschalt + H) oder wählen Sie in der Menüleiste Edit (Bearbeiten), Show Last Hidden (Zuletzt ausgeblendete anzeigen) aus.
Dynamisches Ein- und Ausschalten der Morph-Ziele einer Skin.
Der Höhen-Map-Generator enthält einen neuen Vorschaubereich.
Instanziierte Namen von Objektvorlagen erben vom ursprünglichen Objektvorlagennamen (d. h., die erste Instance einer Objektvorlage namens "crate" wird "crate1" genannt).
Layer in Lumberyard-Editor enthalten neue Indikatoren für die Quellensteuerung.
2D-Darstellungsfenster werden jetzt standardmäßig synchronisiert.
fSize und fAspect im Partikel-Editor sind veraltet.
Die Funktionalität für flache Strände/Küstenstreifen wurde entfernt.
Die Option No Skinning (Kein Skinning) wurde aus dem Menü entfernt, sodass Sie aus den neuen hellen und dunklen Skins wählen können.
Zu den Verbesserungen der Benutzeroberfläche zählen das Verschieben der Schaltfläche Open (Öffnen) des Dialogfelds Console Variables (Konsolenvariablen) in den Bereich Console (Konsole), das Hinzufügen heller und dunkler Symbole zur Schaltfläche und das Verschieben des Suchfelds nach oben in das Dialogfeld Consoles Variables (Konsolenvariablen).
Wenn verfügbar, zeigen die Symbolleistenschaltflächen Tastaturkürzel (Hotkeys) an.
Fehlende PAK-Dateien lösen keine Warnmeldungen mehr aus.
Es wurden Menüelemente für AWS und Commerce hinzugefügt, sodass Sie sich ganz einfach für ein AWS-Konto anmelden
oder etwas auf Amazon veröffentlichen können. Es wurde ein Support für die Kachelschattierung von Glasobjekten hinzugefügt, sodass Glas direktes Licht, Schatten und Umgebungslicht reflektieren kann.
Es wurde die Möglichkeit einer Angleichung an eine natürliche Lichtstreuung per SSDO (Screen Space Directional Occlusion)-Farbverlauf hinzugefügt, wodurch eine ausgewogene Umgebungsverdeckung auf hellen Oberflächen erreicht wird. Sie können diese Funktion verwenden, indem Sie eine Funktion für Tiled Deferred Shading (verzögertes Schattieren auf Kachel-Basis) aktivieren und die Konsolenvariable
r_ssdoColorBleeding
festlegen.Es wurden Mindest- und Höchstwerte für Steigungen und Gefälle im Bereich Vegetation der Datenbankansicht hinzugefügt.
Ein temporäres Anti-Aliasing wendet nun einen Projektions-Matrix-Jittering-Effekt an, um stabilere Bilder zu erzeugen. Sie können diese Funktion durch Aktivieren der Konsolenvariable
r_AntialiasingMode 3
nutzen.Der maximale Belichtungswert für sog. Distance Clouds (Distanzwolken) wurde im Material-Editor erhöht.
HDR-Dateien werden jetzt als Quellbilder für Lichtproben unterstützt. Dateien werden automatisch von longitudinalen und latitudinalen Maps sowie von Querschnitt-Maps konvertiert.
Die Option Clear Registry Data (Registrydaten löschen) wurde zum Menü Tools hinzugefügt.
Der Datenbankansicht wurde eine Bildlaufleiste hinzugefügt.
Es wurde weitere FOV-Voreinstellungen hinzugefügt.
Die Anzeigeoption Edges (Kanten) wurde zum Rendern von Kanten oben auf einem Charakter hinzugefügt.
Entität-Skripts und der Strukturbrowser werden nun automatisch aktualisiert, wenn Sie neue Entität-Klassen zur Laufzeit registrieren.
Es wurden alle Verweise auf die Dateitypen
.cga
entfernt. Dieses Format ist veraltet.
Lumberyard Launcher
-
Die Konfigurationsdateien für den Lumberyard Launcher befinden sich nun im Engine-Stammverzeichnis. Während des Startvorgangs nutzt der Lumberyard-Editor diese Konfigurationsdatei, um festzustellen, ob der Lumberyard Launcher bereits vorher ausgeführt wurde.
-
Wenn Sie den Lumberyard-Editor zum ersten Mal ausführen und der Lumberyard Launcher noch nicht ausgeführt wurde, wird dieser automatisch gestartet.
-
Es wurden Beschreibungen und Anweisungen für die
zlib
-Komprimierungsbibliothek hinzugefügt. -
Blockierende Operation wie das Suchen nach und Lesen von Dateien oder Ordnern werden nun im eigenen Thread durchgeführt, sodass die Benutzeroberfläche schneller und reibungsloser aktualisiert werden kann.
Material-Editor
-
Diffuse Color (Diffuse Farbe) wurde in Diffuse Color (Tint) (Diffuse Farbe (Tönung)) umbenannt.
-
Die Materialvorschau hat nun eine höhere Auflösung und eine bessere Bildschärfe.
Maya Lumberyard-Tools
-
Es wurden Hinweistexte und Überschriften zum Identifizieren von Daten hinzugefügt.
-
Die Funktion Auto Add Joints (Gelenke automatisch hinzufügen) wurde aus dem Tool für physische Gitter entfernt.
-
Es ist keine Gruppe mit dem Postfix
_group
mehr erforderlich, um ein einzelnes Gitter in Maya zu exportieren. -
Physikalische Materialien (Eigenschaften) werden durch das Einschließen von phys oder Phys in den Texturnamen oder durch das Festlegen des Attributs
lumberyardPhysMaterial
auf dem entsprechenden Material identifiziert. Beim Erstellen oder Aktualisieren einer Materialgruppe wird auf physische Materialien automatischProxyNoDraw
angewendet, wenn diese dem Benennungsstandard entsprechen. -
LumberyardExportNode
muss nicht mehr ein übergeordneter Knoten der zu exportierenden Geometrie sein.LumberyardExportNode
wurde in eine separate Hierarchie verschoben und verweist auf seine exportierten Ziele. -
Das Hilfefenster zu Export Validator (Validierung exportieren) wird nicht mehr standardmäßig angezeigt. Zum Anzeigen des Hilfefensters setzen Sie das globale Steuerelement
$g_enableValidateHelpWindow
auftrue
in dercryValidate.mel
-Datei. -
Es können nun physikalisierte Optionen für Materialien im Lumberyard-Tool festgelegt werden.
-
Die Standardbezeichnung None (Keine) wurde in der Liste Physicalized Properties (Physikalische Eigenschaften) in No Physics (Keine Physik) geändert.
-
Das Präfix
cryExportNode
wurde aus der Geometrie-Exportliste im Lumberyard-Editor entfernt. -
Abwärtskompatibilität ist nun beim Exportieren von Geometrien verfügbar.
-
Sie können nun Materialien durch Angabe eines benutzerdefinierten Pfades (relativ oder absolut) exportieren.
-
Mit der Schaltfläche Select (Auswählen) im Fenster Geometry (Geometrie) können alle zu exportierenden Knoten gesucht und in der Szene ausgewählt werden. Befindet sich die Geometrie in einer Hierarchie, wird der oberste Knoten ausgewählt.
-
Ein neues Tool namens Joint Proxy Editor ist jetzt verfügbar. Es erstellt automatisch physische Gitter für Modelle mit Skins. Sie finden diese Funktion im Lumberyard-Tool unter Tools, Joint Proxy Editor.
-
Lumberyard unterstützt jetzt Maya 2014.
-
Es wurden visuelle Verbesserungen am Workflow und verschiedene Optimierungen an Materialgruppen vorgenommen, einschließlich Benennung, Feedback und Erstellungsprozess.
Maya-Plugin
-
Das Plug-in kann Exportknoten einschließlich
CryExportNodes
verwenden, die sich nicht im Stammverzeichnis befinden. -
Das Plug-in kann Exportknoten verwenden, die Teil eines Namespaces sind.
-
Beim Export von Skins und Geometrien werden Unterordner richtig erkannt.
-
Das Plug-in unterstützt Animations-Layer (AnimLayers).
-
Animationen können mit dem Plug-in im Stapelbetrieb exportiert werden.
-
Skelette können mit dem Plug-in ohne zusätzliches Gitter exportiert werden.
Netzwerk
Wesentliche Änderungen:
CryNetwork ist nicht mehr länger in der Codebasis enthalten. Sie können GridMate für die Implementierung Ihres Netzwerks verwenden.
Die zugrunde liegende Netzwerkarchitektur für CryNetwork wurde aktualisiert und der Multiplayer-Service für die Online-Multiplayer-Spieleentwicklung wurde hinzugefügt. Dadurch steht ein verlässlicher UDP-Layer sowie ein verlässliches Sitzungsmanagement und eine verlässliche Objektreplikation über Replikate, Datensätze und RPCs bereit.
APIs, die im Zusammenhang mit Matchmaking oder anderen verbundenen Services stehen, einschließlich CryLobby, sind nicht mehr verfügbar. Die Sitzungsverwaltung erfolgt nun über eine Entkopplung des Spieleflusses vom Netzwerksitzungsstaus und eine Implementierung benutzerdefinierter Replikate oder Messaging-Funktionen über einen direkten Zugriff auf den Carrier.
Die Verschlüsselungsschnittstelle ist nicht mehr Teil von
INetwork
. Sie können überCCrySystem::GetCrypto()
auf die neuen APIs zugreifen.CryAction steuert jetzt die
NetworkStallTicker
-Logik.Die Map für Aktionen sowie die lokale Ansicht werden nun im Rahmen der Initialisierung des Client-Aktors eingerichtet.
Die folgenden Aspekte werden nicht mehr länger unterstützt:
eEA_GameClientL
,eEA_GameClientM
,eEA_GameClientN
undeEA_GameServerE
.
Kleinere Änderungen:
Die Netzwerkkonsolenbefehle
connect
unddisconnect
sind veraltet.Aspekt- und RMI-Funktionalität werden nun über GridMate-Replikate geroutet.
Client-RMIs können nicht mehr länger an bestimmte Clients gesendet werden.
Vom Client delegierte Aspekte werden nun durch RPC-Anforderungen emuliert.
Die folgenden RMI-Typen wurden entfernt: URGENT, INDEPENDENT und FAST.
Prüfsummen von Nachrichten werden nun von ENABLE_DEBUG_MESSAGE_INTEGRITY_CHECKS #define kontrolliert, sodass sich Debug- und Profil-Builds miteinander verbinden können.
Netzwerk-Updates, die für das Spiel sichtbar sind, werden nun im Tick-Thread durchgeführt, sodass TO_GAME und FROM_GAME nicht mehr benötigt werden.
Bisher wurden bestimmte globale Spielestatus manuell von verschiedenen Komponenten der Engine synchronisiert. Verwenden Sie
GameContextReplica
für die Synchronisierung des globalen Spielestatus.Die Netzwerkbindung erfolgt jetzt automatisch. Ein Aufruf von
BindToNetwork
ist nicht mehr erforderlich.Beim Hosten durchsuchbarer LAN-Sitzungen müssen
sv_port
undsv_port + 1
verfügbar sein. Die Sitzung verwendetsv_port
und der Such-Listener verwendetsv_port +1
.Für die Teilnahme an einer LAN-Sitzung wird ein flüchtiger Port verwendet, um die Sitzung zu identifizieren. Zudem wird
sv_port
für die Sitzungsverbindung genutzt.Die Logik zum Laden eines Levels ist nun im Level-System und der
GameContextReplica
-Klasse enthalten.GridMate unterstützt jetzt
start_lobby
.gs_start
wird nicht mehr verwendet.IGameSessionHandler
wurde entfernt. Verwenden SieINetworkEventListener
, um auf Sitzungsereignisse zu warten und zusätzliche Operationen auszuführen.OnOfflineLevelLoaded()
wurde entfernt, da das Laden eines Levels für einen einzelnen Spieler kein Sonderfall mehr ist.CCET::SetupActionMap()
undCCET::SetupLocalView()
sind nun in CCryAction zu finden.
Partikel-Editor
Die Wiedergabe der Partikelvorschau wird automatisch neu gestartet, wenn Sie in der Multi-Struktur mit der linken Maustaste auf ein Partikelelement klicken.
fSizeX und fSizeY steuern die Höhe und Breite der Partikel unabhängig voneinander und explizit.
Der neue MaintainAspectRatio-Umschalter synchronisiert die Größen untergeordneter Eigenschaften.
Fügen Sie einen Partikel-Emitter zwischen zwei Bones ein.
Das neue IgnoreRotation-Flag ermöglicht Emittern das Ignorieren der Rotation eines angefügten Bone beim Bestimmen der Ausrichtung.
Mit dem neuen NotAttached-Flag können Sie einen Emitter auf einen Bone spawnen, ohne den Bone anzufügen. Nachfolgende Bone-Übersetzungen haben keine Auswirkung auf den Speicherort des Partikel-Emitters.
Zur Sicherstellung der Konsistenz mit Ziehvorgängen aus dem Partikel-Editor wird die x-Achse automatisch um 90 Grad gedreht, wenn Sie über die Rollup Bar eine Partikel-Entity in der Welt ablegen.
PlaneAlignBlendDistance wurde hinzugefügt.
Es wurde eine Eigenlicht-Map zum Partikel-Shader hinzugefügt.
Es ist nun möglich, die Partikelgröße und die Lebenszeit basierend auf dem Parameter zum Beibehalten der Dichte (Keep Density) zu reduzieren.
Der Parameter zum Skalieren von Partikeln wurde vom Material-Editor zum Partikel-Editor verschoben. Dieser Parameter kann Partikel nun weicher oder härter machen.
Sie können jetzt mit dem Parameter für die sphärische Annäherung (Spherical Approximation) zwischen standardmäßigen und sphärischen Tangentenberechnungen wählen.
Zur Vermeidung von Datenverlusten werden Benutzer jetzt bei nicht gesicherten Änderungen an der Level-Bibliothek gewarnt.
Die Kurven-Editoren verfügen jetzt über ein Kontextmenü, über das Sie ausgewählte Schlüssel löschen können.
Sie können jetzt einen Wert mit bis zu fünf Dezimalstellen für die Attribute Size X (Größe X) und Size Y (Größe Y) angeben.
Gruppen für Nachbearbeitungseffekte
Sie können eine Reihe von hart kodierten Nachbearbeitungseffekten in der Engine anpassen, indem Sie deren Parameter festlegen. Weitere Informationen finden Sie unter Anpassen von Nachverarbeitungseffekten.
Wenn Sie noch mehr Kontrolle über Nachbearbeitungseffekte wünschen, können Sie priorisierte Effektparametergruppen in XML erstellen und diese über einen Flow Graph-Knoten oder ein Lua-Skript aktivieren oder deaktivieren.
Mit Effektgruppen können Sie auch Kurven für Verschmelzungen angeben, um einen nahtlosen Übergang zwischen Effekten zu schaffen.
Objektvorlagen
-
Sie können jetzt ein einzelnes Objekt ordnungsgemäß aus einer Objektvorlage auswählen und extrahieren.
-
Sie können jetzt benutzerdefinierte Pivot-Punkte für Objektvorlagen hinzufügen. Sie können diese Pivot-Punkte auch manuell mit der Maus oder durch die Ausrichtung an Objektvorlagen-Objekten bewegen.
-
Der Objektvorlagenbereich aktualisiert jetzt die Objektliste automatisch, wenn Sie Änderungen vornehmen.
-
Sie können die Eigenschaften von Objektvorlagen nicht gleichzeitig für mehrere Objektvorlagen ändern.
-
Sie können Informationen zur Anzahl der Level-Instances ausgewählten Objektvorlagen in der Rollup Bar (Rollup-Leiste) und in der Database View (Datenbankansicht) hinzufügen.
Projektkonfiguration
-
Im Projektkonfiguration wurde die Schaltfläche Open in Editor (Im Editor öffnen) hinzugefügt und die Funktionalität der Schaltfläche Save (Speichern) so geändert, dass diese deaktiviert ist, wenn keine Änderungen vorgenommen wurden.
-
Gems werden jetzt standardmäßig alphabetisch sortiert.
-
Projektnamen sind jetzt auf 64 Zeichen beschränkt.
-
Der Projektkonfiguration sucht nun nach
bootstrap.cfg
statt nachsystem.cfg
, um ordnungsgemäß mit der neuen Komponenten-Pipeline arbeiten zu können.
Ressourcen-Compiler
-
Der Ressourcen-Compiler unterstützt jetzt vorzeichenbehaftete Pixelformate.
-
Es wurde ein
minTextureSize
-Schlüssel für die Hochskalierung hinzugefügt. -
Es wurde ein
mipgenop
-Schlüssel für die Filterung mittels Mindestwert- und Höchstwert-Parameter hinzugefügt. -
Die Remote-Konsole unterstützt jetzt auch alternative Ports, wenn der Standard-Port bereits verwendet wird.
-
Nebeldichterauschen ist jetzt für das Nebelvolumen verfügbar.
-
Sie können jetzt Decal-Material-Parameter (Alpha Multiplier (Alpha-Multiplikator), Falloff (Abfall) und Diffuse Opacity (Diffuse Deckkraft)) für zurückgestellte Decals verwenden.
-
Ein
rc.exe
-Befehlszeilenargument legt die obere Grenze für den UV-Bereich in einem Alembic-Cache fest und wird zur Komprimierung von UV-Koordinaten verwendet. Der neue Standardwert ist0
(vorher1.0
). Er gibt an, dassrc.exe
die obere Grenze für den UV-Bereich für jedes Gitter basierend auf der größten entdeckten UV-Koordinate festlegen soll. Diese Einstellung führt zu einer optimalen UV-Komprimierungsauflösung für die einzelnen Gitter. -
Alle Editor-internen GeomCache-Entitys verwenden den neuen Standardwert
0
.
Twitch ChatPlay
-
Sie können jetzt anhand des TwitchChatBasics-Levels im Beispielprojekt lernen, wie Twitch ChatPlay verwendet wird.
UI-Editor
-
Das Rasterlayout-System positioniert untergeordnete Elemente automatisch innerhalb der Grenzen des übergeordneten Elements in Zeilen, Spalten oder Rastern. Das dynamische Layout-System verwendet folgende Benutzeroberflächenkomponenten: LayoutRow, LayoutColumn und LayoutGrid.
-
Die Text- und TextInput-Komponenten unterstützen jetzt auch lokalisierten Text.
-
Der Viewport-Hintergrund im UI-Editor entspricht jetzt der Einstellung Light Skin (Heller Skin) oder Dark Skin (Dunkler Skin) im Menü View (Anzeigen).
-
Die grafische Demo-Benutzeroberfläche, die UI-Objektvorlagen und die Beispieltexturen sind nun in Gems enthalten.
-
Die folgenden Funktionen werden nun vom UI-Editor unterstützt:
-
Undo (Rückgängig) und Redo (Wiederholen)
-
Text Input (Texteingabe) – Ermöglicht Texteingaben auf der Spieleoberfläche.
-
Scale to Device (Transform2d) (Auf Gerät skalieren (Transform2d)) – Wendet eine einheitliche Skalierung auf das UI-Element basierend auf dem Größenverhältnis zwischen Canvas und Darstellungsfenster zur Laufzeit an.
-
-
Sie können jetzt Grenzen um nicht ausgewählte Elemente ziehen.
-
Zu den verschiedenen Aktualisierungen der UI-Editor-Benutzeroberfläche zählen das Anzeigen der Viewport-Auflösung in der Symbolleiste und das Verschieben der Schaltfläche New (Neu) aus dem Hierarchiebereich in die Symbolleiste.
-
UI-Canvas und UI-Objektvorlagen werden jetzt über ein Serialisierungssystem gespeichert.
-
Änderungen an Flow Graph-Knoten für den UI-Editor umfassen aktualisierte Namen und Parameter sowie neue Knoten zum Abrufen und Festlegen von Textzeichenfolgen auf Textkomponenten.
-
Die Option Save as Prefab (Als Objektvorlage speichern) wurde zum Menü Edit (Bearbeiten) hinzugefügt.
-
Die Eigenschaft Password Field (Passwortfeld) wurde zur Komponente Text Input (Texteingabe) hinzugefügt, um verborgenen Text zu unterstützen.
-
Tastaturkürzel zum Kopieren, Ausschneiden und Einfügen werden nun vom Darstellungsfenster unterstützt.
Waf Build System
Crywaf.exe
heißt jetztlmbr_waf.exe
.Uber-Daten werden in den meisten Fällen automatisch generiert und bieten folgende Vorteile:
Sie ermöglichen das Optimieren von Uber-Dateigrößen für die Kompilierungsumgebung (beispielsweise SSD kontra HDD oder IncrediBuild kontra local).
Sie vereinfachen das Erstellen und Pflegen von
waf_files
-Listen.Sie unterstützen folgende Uber-Dateischlüssel:
none
,auto
undsomefilename.cpp
. Verwenden Sienone
zur Unterstützung der Rückwärtskompatibilität (entspricht NoUberFile). Verwenden Sieauto
, um Dateien automatisch zu sortieren und zu kombinieren.Sie unterstützen die EInstellung --uber-file-size/uber_file_size; der Standardwert ist
300K
.Sie unterstützen die Verwendung benutzerdefinierter Dateinamen, sodass die angegebenen Dateien in eine Uber-Datei mit demselben Namen gezwungen werden.
Der
dep projs
-Ordner wurde in einen generierten Lösungsnamen isoliert, damit mehrere Lösungen im Lösungsordner enthalten sein können.Die Option zur automatischen Compiler-Erkennung wurde entfernt und durch den Lumberyard Launcher ersetzt.
Sonstiges
-
Damit ein Remotezugriff möglich ist und Dateien live erneut geladen werden können, können Sie in
bootstrap.cfg
das virtuelle Dateisystem aktivieren. Dadurch wird der Dateizugriff virtualisiert (nicht physikalisch). -
Zur Verbesserung des Shader-Debuggings lädt der neu konfigurierte Shader-Compiler-Server den OpenGL Shading Language (GLSL)- und den High-Level Shading Language (HLSL)-Code ab, wenn
DumpShaders
auf1
in der Konfigurationsdatei (config.ini
) gesetzt ist. -
Sie können jetzt mit QML Plugins für den Lumberyard-Editor entwickeln.
-
Entity-Dateien (
.ent
) in Unterverzeichnissen werden nun unterstützt. -
Debug- und FastDebug-Builds werden nun in anderen Bin-Verzeichnissen als Profile- und Release-Builds erstellt.
-
Der dynamische Controller ist eine aus Maya exportierte Datenspur, die generiert wird, um eine Vielzahl von Laufzeitsystemen (wie das System für Verschmelzungskonturen) zu unterstützen. Anstatt Kontroll-Bones im Skeleton-Rig für die Animatorensteuerung zu verwenden, ermöglicht der dynamische Controller einem Animator, Gleitkomma-Tracks über einen neuen
cryFloatExport
-Knoten zu exportieren. Dadurch werden dem Lumberyard Exporter Gleitkomma-Tracks mit Keyframes bereitgestellt, die eine bessere Steuerung ermöglichen, ohne dass Komponentendateien übermäßig groß werden. -
Sie können nun die Desynchronisation der Leerlaufanimation zum Versetzen von Gruppen ähnlich animierter Objekte verwenden, damit diese nicht die gleiche Aktion zur selben Zeit durchführen.
-
Sie können jetzt die folgenden Bildformate verwenden:
.jpg
,.bmp
,.png
und.tga
. -
Microsoft Visual Studio 2013 ist die unterstützte IDE.
-
CryEngine
CryToolsInstaller.exe
undSettingsMgr.exe
wurden durch Lumberyard ersetzt. -
Namespace werden jetzt im Maya-Plugin ignoriert, wenn Sie nach CryExport-Knoten suchen.
-
In den Maya- und 3ds Max-Plugins wurde CryEngine Exporter in Lumberyard Exporter umbenannt.
-
Die DefaultUV-Textur wurde mit einem neuen Image aktualisiert.
Die neuen Dateien BasicEntität und GeometryEntität sind verfügbar und platzieren Requisiten und zeichenlose Objekte in filmische Szenen.
Die neue AnimObject-Entität sorgt dafür, dass ein Objekt eine vorgefertigte Animation im Spiel einsetzen kann, ohne dass Skeleton-Verbindungen oder eine CDF-Datei erforderlich sind.
Es wurde ein Support hinzugefügt, der eine variierende Animations-Frame-Rate für den Export aus und die Wiedergabe in Autodesk Maya ermöglicht. Die unterstützte Frame-Rate für aimIK-Gruppen (Basis-Animation oder Ziel) liegt bei 30 Frames pro Sekunde (fps). Die unterstützten Frame-Raten in Maya liegen bei 15, 30, 60, 120 und 240 fps. Die Standard-Frame-Rate beträgt 30 fps. Sie können die Frame-Rate eines Objekts in Maya ändern, indem Sie erst Windows (Fenster), Settings/Preferences (Einstellungen/Präferenzen), Preferences (Präferenzen) und anschließend die Kategorie Settings (Einstellungen) auswählen. Wählen Sie im Abschnitt Working Units (Arbeitseinheiten) die Frame-Rate in der Dropdown-Liste Time (Zeit) aus.
Das Exportieren von Geometrien mit einem benutzerdefinierten Pfad (relativ oder absolut) wird nun unterstützt.
Die Konsolenvariable
r_texblockOnLoad
wurde hinzugefügt. Sie blockiert das Spiel, bis der Ressourcen-Compiler das Kompilieren einer Textur beendet hat. Zulässige Werte:0=off
|1=on
. Standardwert:0
DLL-Dateien können Daten nun sicher an andere DLL-Dateien in einem nicht freigegebenen Build übertragen.
Es wurden Instance-basierte Shader-Konstanten in statische Instance-basierte Puffer außerhalb des Treiber-Layers migriert. Dies verbessert die Leistung durch eine Reduzierung der Anzahl von Mid-Frame-Pufferaktualisierungen.
Die Konsolenvariable
r_MotionVectors
wurde entfernt. Zur Steuerung der Objekt-kontra-Kamera-Bewegungsschärfe können Sie jetzt die Konsolenvariabler_MotionBlur
verwenden.Die Konsolenvariable
r_statsMinDrawcalls
wurde hinzugefügt. Sie legt den angezeigten Mindestwert für die Verwendung mitr_stats 6
fest.Die Konsolenvariable
r_ShadowCastingLightsMaxCount
wurde hinzugefügt. Sie legt die maximale Anzahl von schattenwerfenden Lichtern fest.Das LOD-System verwendet die durchschnittliche Dreiecksgröße, um zu bestimmen, wann zwischen LOD-Gittern gewechselt werden soll.
Die Funktion für das Clip-Volumen definiert die geometrische Formen, die Lichtquellen und -proben unterstützen. Sie können Clip-Volumen im Lumberyard-Editor verwenden oder aus einem statischen Gitter importieren.
Das Konzept einer Proxy-Entität wird nicht mehr verwendet. Klassen, die zuvor von
IEntityProxy
geerbt haben, erben jetzt direkt vonIComponent
.Aktor-Eigenschaften generieren jetzt einen
Get
- und einenSet
-Flow-Knoten für eine Interaktion mit diesen Eigenschaften. Reflektierte Methoden auf Aktor-Erweiterungen generieren einen Flow-Knoten. Sie können mithilfe des DECLARE_METHOD-Markos reflektierte Methoden deklarieren.Die folgenden Dialogfelder und Widgets werden nun von MFC nach Qt portiert: 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 und Plugin Creation.
Gem-Tests sind jetzt in generierten Projekten enthalten.
Wenn ein Spawn-Punkt nicht verfügbar ist, erfolgt das Spawnen der Spieler an der Kamera.
Texturen ohne gültige TextureCompiling-Textur werden jetzt sofort geladen.
Es wurden PBS-Materialreferenzen hinzugefügt.
Die maximale Anzahl der gebundenen Shader-Konstanten wurde erhöht.
Folgendes wurde entfernt:
Crysis-Referenz im Flow Graph
Unnötige CryNetwork- und GridMate-Prüfungen
Veraltete
r_ShaderCompilerFolder
-Instances in KonfigurationsdateienVeralteter Reflektionsgenerator
Aufruf eines nicht vorhandenen Lua-Skripts in AIConfig
Viewport-Point-Modus im Lumberyard-Editor
Der neue Parameter Light Entities (Licht-Entitys) steuert das Ausmaß der Unschärfe, mit der Schattenkantenartefakte abgemildert werden sollen. Zuvor wurde dieser Effekt automatisch basierend auf dem Sichtfeld des Lichts berechnet. Durch das Offenlegen des Parameters
ShadowBlurStrength
– anstelle einer automatischen Festlegung – ist eine bessere Kontrolle über die Schattenaufweichung und die Artefaktprävention möglich.Das Skriptsystem wurde aktualisiert. Es verweist jetzt auf geladene Skriptpuffer über den relativen Dateinamen unter Ausschluss des Moduls.
Qt-Fenster wurden von QPalette in Stylesheets geändert.
Das Rotationstool wurde wie folgt optimiert: erhöhte Treffertestbreite für den Rotationsmanipulator, Behebung des Bildschirmskalierungsproblems, wodurch die Rotation bei 2D-Darstellungsfenstern unterbrochen wurde, Entfernung der Ansichtsachsenrotation in 2D-Darstellungsfenstern, Hinzufügen einer ausgerichteten Treffertestgeometrie.
Die Konsolenvariable
r_deferredDecalsOnDynamicObjects
wurde hinzugefügt. Mit dieser können Sie auf dynamische Objekte projizierte Decals aktivieren.Die DynamoDB-Knoten wurden aktualisiert und arbeiten jetzt optimierter mit Datentypen.
Put
undUpdate
verfügen jetzt über das Feld DataType (Datentyp), das Zeichenfolgen, Zahlen und boolesche Werte unterstützt. MitQuery
undScan
können Sie jetzt den AttributeComparisonValueType festlegen, der denselben Optionen entspricht. Die Standardwerte bleiben in allen Fällen aufstring
gesetzt, um Fehler bei vorhandenen Knoten zu vermeiden. DerDynamoDBGet
-Knoten verfügt jetzt über Ausgaben für number (Zahl) und bool (boolescher Wert).NumberOut
gibt nur etwas aus, wenn Daten erfolgreich abgerufen wurden und das Element als Zahlendatentyp platziert oder aktualisiert wurde. Die Ausgabe für bool (boolescher Wert) gibttrue
zurück, wenn der Datentyp ein boolescher Wert war und sie auf "true" gesetzt wurde. Für andere Datentypen und Werte gibt die Ausgabe für bool (boolescher Wert)false
aus.Eine neue AWS SDK for C++-Version ist verfügbar.
Es wurde eine neue Methode für das Generieren von DBAs mit der neuen Asset Pipeline erstellt.
Die FFmpeg-Installationsanweisungen im Lumberyard Launcher wurden aktualisiert.
Eine Tools-Spezifikation wurde zur Waf-Build-Konfiguration hinzugefügt, sodass nur Tools für Lumberyard erstellt werden können.
OculusSDK ist jetzt für alle Betriebssysteme definiert und wird während der Installation ordnungsgemäß im Ordner
3rdParty
installiert.Der Ressourcen-Compiler wird nun von der neuen Asset Pipeline und dem Build-System aufgerufen und nicht mehr vom Editor.
Der Standardwert für die Konsolenvariable
e_GIAmount
ist jetzt0
. Dieser deaktiviert LPV, sofern nicht explizit aktiviert.Bei der Auswahl eines benutzerdefinierten Exportziels für 3ds Max wird das Kontrollkästchen nach Auswahl des Pfads jetzt automatisch aktiviert.
Diverse Verbesserungen umfassen das Hinzufügen von Optionen für Drittanbieter-Konfigurationen, das Aktualisieren von Skripts für eine bessere Modularität und das Hinzufügen von
lmbr_waf.bat
zur Verbesserung der Leistungsfähigkeit.