Transkripte
1. Einführung: Sein, mein Name ist Isaac
von Chef Games. Und heute werden wir uns der Einrichtung der
Auflösungseinstellungen in
GDoF
befassen . Einige der Funktionen , die wir in
diesem Projekt einrichten
werden , sind eine riesige
Funktion namens AMD FSR, die für die
Bildschirmskalierung verwendet wird Du wirst es hören, weil
du das in diesem
Kurs oft sagst in diesem
Kurs oft Wenn du
ein Three-D-Spiel
veröffentlichst, musst du
diese Funktion unterstützen. Es ist sehr einfach einzurichten
und bietet deinen
Spielern die erstaunliche Möglichkeit, und bietet deinen
Spielern die erstaunliche Möglichkeit mehr Frames
zu gewinnen, wenn
ihr Gerät Probleme hat. Insbesondere mit GIDO 4.2 haben
sie SR 2.2 hinzugefügt, was eine massive
Verbesserung gegenüber FSR erstellen diesem Video werden wir auch
eine Menge Tools Wir beginnen mit einer Auswahloption für die
Auflösung
, mit der wir
die Auflösung im Spiel ändern können die Auflösung im Spiel Danach richten wir
einen Selektor für den Vollbildmodus ein. Wir werden uns mit der Bildschirmskalierung befassen. Das ist ein wirklich
wichtiges Feature, das man heutzutage in ein
3-D-Spiel integrieren sollte, und dann machen wir VSync
und Screen Swapping Kleiner Hinweis für dieses Tutorial, Gudo 4.2 FSR 2.2 ist nur
für GiDO 4.2 und höher verfügbar. Wenn du also eine ältere
Version für dein Spiel
hast, solltest du vielleicht ein Upgrade in
Betracht ziehen oder dies einfach in
einem separaten Projekt tun Nachdem all das
gesagt wurde, lassen Sie uns darauf eingehen.
2. Warum du FSR in dein Spiel implementieren solltest: planen,
ein Spiel mit
der GI Do-Game-Engine
zu veröffentlichen , müssen
Sie unbedingt sicherstellen, dass Sie Ihre
Auflösungsoptionen korrekt einrichten Seit ich letztes
Jahr
meine Tutorial-Serie für GiDO 3.5 veröffentlicht habe, hat sich viel geändert letztes
Jahr
meine Tutorial-Serie für GiDO 3.5 sind die Zeiten,
in denen du
deine Benutzeroberfläche ruinieren musstest, um deinen Spielern
zusätzliche Frames zu geben, falls sie sie benötigen oder zu viel Länge nehmen musst,
um dein Spiel mit
dem Viewport zu skalieren und gleichzeitig
deine Benutzeroberfläche auf einer separaten Ebene zu halten Es ist wesentlich
einfacher geworden. Aber leider sind diese alten Videos mit
all
diesen tollen Tools nicht wirklich anwendbar.
Alles hat sich geändert. Ein weiteres großes Feature
, das mit
G D 4.2 herauskommt , ist AMD FSR 2.2 Was die Skalierung angeht, das
ist riesig, Leute. werden sie eine Menge
Tools
entwickeln In diesem Video werden sie eine Menge
Tools
entwickeln.
Lass uns anfangen.
3. Auflösung-Dropdown-Auswahl: Schauen wir uns also
das Projekt an, wie es zustande kommt. Wir haben ein gerichtetes Licht, Schweißumgebung und eine Kamera. Es schwebt einfach in dieser Szene
herum
, zu der ich im Folgenden einen Link und Quellenangaben hinterlasse. Die Projekteinstellungen selbst sollten
ziemlich geschliffen sein Die Breite und Höhe des Viewports sollten den Werten entsprechen, die
normalerweise in Gadot verwendet Ich kann sehen, dass ich hier V-Sync aktiviert
habe, aber ich werde
das tatsächlich deaktivieren, damit
mein Projekt genau so aussieht,
wie Sie Ihres sehen sollten Hinterlassen Sie auch einen Link
für dieses Projekt unten in der
Beschreibung, damit Sie es
herunterladen und auch den Bildern folgen
können es
herunterladen und auch den Bildern folgen Okay, fangen wir an, Kontrollknoten
hinzuzufügen. Ich werde meinen
ersten Kontrollknoten hinzufügen. Ich nenne es
so etwas wie Optionsbeispiel. Nichts Besonderes hier. Ich klicke
auf Anchor Resets und dann
auf Full Rec Okay, also werde ich eine HBox
hinzufügen. Ich
werde diesen
Anker erneut verwenden, um auf Full Rec zu klicken Ich werde klicken und das Ausrichtungszentrum für
diesen HBox-Container einrichten Und dann füge ich
eine V-Box hinzu. Ihr müsst das nicht genau
befolgen. So richte
ich
meine Menüs gerne so ein, dass sie
in der Mitte des Bildschirms erscheinen. Und ich werde es in
Optionseinstellungen umbenennen. Okay, also fügen wir hier unseren
ersten Button hinzu. Es wird
eine Optionsschaltfläche sein. Das sind nette kleine
Drop-down-Boxen, die wir hinzufügen können. Ich kehre zur
Optionseinstellung zurück und füge ein Skript hinzu. Ich rufe einfach die
Optionseinstellung auf und speichere sie direkt in der Basis dieses
Projekts. Das ist in Ordnung für mich. Ich werde
die Prozessfunktion löschen. Wir werden nicht das Erste sein
, was ich tun werde , ist, diese
Optionen-Schaltfläche hinzuzufügen. Sie können darauf klicken
und die Strg-Taste gedrückt halten. Und wenn du es fallen lässt, wird ein fertiges R für dich
hinzugefügt. Als Nächstes füge ich
eine Liste
mit Auflösungen
ein, aus der wir auswählen können. Ich dachte, es wäre ein
bisschen einfacher, als
das für dich abzutippen. Sie können ein paar
davon herunterkopieren. Es muss keine
erschöpfende Liste sein. Bei meiner handelt es sich nur um eine Reihe
gängiger Resolutionen. Die erste Funktion, die
wir schreiben werden,
wird also unter Scott-Resolutionen Ad heißen,
und wir werden dieses Wörterbuch einfach zu
unserer Optionsschaltfläche hinzufügen . Wir werden also eine Viererschleife
erstellen, also geben wir vier
R in Auflösungen ein. Und darin
geben wir die Schaltfläche Optionen ein. Ich werde diese Variable tatsächlich
umbenennen , weil ich denke, dass es ein
bisschen klar
sein kann , was sie ist. Ich werde
sie in die Optionsschaltfläche „Auflösung
unterstreichen“ umbenennen Optionsschaltfläche „Auflösung
unterstreichen Und ich komme
runter und
tippe einfach Resolution
Optionbton Dot Ad Item ein, und es wird einfach R sein. ist alles
, was es momentan gibt Das Einzige, woran wir denken
müssen, ist, dies
tatsächlich zur Ready-Funktion
hinzuzufügen Sie können hier sehen, dass ich
vergessen habe, das zu überprüfen. Ich
denke also, dass
ich auch die Ausrichtung
meines Box-Containers ändern werde , sodass
mein VBox-Container ebenfalls
mittig ist mein VBox-Container ebenfalls
mittig Das zeigt sich also in der Mitte. Und dann füge ich
das der Ready-Funktion hinzu, damit wir sehen
können, wie die
Liste gefüllt wird. Wie Sie jetzt sehen können,
wird es eine Liste mit Auflösungen geben. Offensichtlich tun sie
nichts, also können wir diese
Funktionalität hinzufügen. Wir müssen zum Projekt
zurückkehren
und klicken auf den Knoten mit der
Optionsschaltfläche und dann auf den Knoten und verbinden das
ausgewählte Signalelement mit unserem Skript. Ich habe
hier viele Knoten für das Projekt. Ich werde das alles einfach
ausblenden und
zum
Knoten mit den Optionseinstellungen gehen zum
Knoten mit den Optionseinstellungen und einfach
darauf klicken. In Ordnung. Dieses Signal liefert uns
also einen Index, den wir
tatsächlich verwenden können, um
das Auflösungswörterbuch nachzuschlagen. Also los, die ID entspricht Text des Elements
resolution optionbton
dot G
, den wir eigentlich für das
Wörterbuch benötigen Und wir können mit
dem Index nachschlagen und sobald
wir den Index haben, können
wir die Auflösung tatsächlich abfragen Ich rufe Get
Window Dot Set Size auf. Und innerhalb dieser Funktion gebe
ich Auflösungen in
eckigen Klammern ein
und gebe die
ID ein, die wir gerade eingegeben haben. Und das ist alles was wir brauchen. Wir können das jetzt
ausführen und wir können
sehen, dass es funktioniert. Und wie Sie sehen können,
ist
die Änderung der Fenstergröße
ziemlich beeindruckend. Sie werden feststellen, dass das
Fenster oft hin und her springt, und das liegt hauptsächlich daran, dass
ich mir ziemlich sicher bin, dass die
Größe von oben
links nach innen Also statt der
Mitte, Gdo 3.5,
gab es eine Funktion, mit der
man
das
relativ einfach machen konnte ,
aber das ist in Gudo 4 weg Eines der Dinge, die wir tun
müssen, ist also ,
den gesamten virtuellen Desktop-Bereich
zu betrachten den gesamten virtuellen Desktop-Bereich um
die richtige Position zuzuweisen Ich habe also ein Standard-Setup mit
zwei Bildschirmen, aber Sie haben vielleicht
etwas anderes. Um die
Fensterposition festzulegen, müssen
wir
den gesamten Desktop-Bereich berücksichtigen. also von der Datei
links nach ganz rechts beginne, müsste
ich hier zwei Bildschirme berücksichtigen
. Deshalb müssen
wir es so machen. Ähm, ich habe das in ein paar
verschiedenen Konfigurationen getestet. Ich habe immer noch nur zwei Bildschirme, aber ich habe das getestet, indem ich einen vom Stromnetz getrennt oder seine Position im
virtuellen Desktop-Bereich
verschoben virtuellen Desktop-Bereich nur um zu sehen, wie sich diese
Funktion verhält Und bis jetzt habe ich gesehen, dass
es ziemlich gut funktioniert. Zuerst müssen wir die Mitte
des Bildschirms ermitteln, auf
dem
wir uns gerade befinden. Das ist
Display-Server-Punktbildschirm , Position ermitteln, plus Display-Server-Punktbildschirm
, Größe ermitteln geteilt durch zwei. Und das ist
genau der Mittelpunkt auf dem Bildschirm, auf
dem sich das
Fenster gerade befindet. Und jetzt müssen wir
die Größe des Fensters ermitteln. Das heißt Fensterpunkt ermitteln, Größe mit Dekorationen ermitteln. kann auch einfach Größe ermittelt werden, aber es wird nicht
genau in der Mitte sein. Es ist nicht wirklich wichtig.
Sie können einen der beiden verwenden. Die letzte Funktion, die
wir aufrufen, ist Get window dot set position. Und innerhalb dieser
Funktion übergeben wir
den mittleren Bildschirm abzüglich der
Fenstergröße geteilt durch zwei. Und das ist die Mitte
des aktuellen Bildschirms, wo
unser Fenster sein soll. Und zu guter Letzt müssen
wir daran denken, es an der Stelle zu platzieren , an der das
Fenster zentriert werden soll. Nachdem wir also
eine neue Auflösung ausgewählt
haben, werden wir den Bildschirm
zentrieren. Okay, lassen Sie uns
das in Aktion sehen. Und Sie können jetzt sehen, dass
sich das so verhält
, wie wir es wollen Es erscheint in der
Mitte des Bildschirms. Egal welche Größe wir herstellen, es flackert ein
bisschen Das ist ziemlich normal. Ich denke, die meisten Menschen könnten
dir das verzeihen. Das macht es einfach
viel einfacher, wenn du
versuchst, die
Größe des Spiels an deine
speziellen Bedürfnisse anzupassen. Okay. Ordnung, großartig. Wir kommen
hier gut zurecht.
4. Hinzufügen einer Vollbildschaltfläche: Ich denke, der nächste Schritt
in diesem Punkt besteht wahrscheinlich darin, uns in den Vollbildmodus zu
versetzen, weil wir im Moment
die verschiedenen Auflösungen wählen können , wenn
wir uns im Fenstermodus befinden, was sehr praktisch ist,
aber wir haben
nichts , was uns
in den Vollbildmodus versetzen Lassen Sie uns das also hinzufügen. Wir klicken auf die Schaltfläche Knoten
hinzufügen und fügen ein Kontrollkästchen hinzu. Ich werde
diese Checkbox umbenennen. Ich behalte einfach den Teil mit der
Checkbox bei und füge zu Beginn einen Unterstrich
im
Vollbildmodus hinzu Unterstrich
im
Vollbildmodus , damit
wir wissen, was es ist Und ich werde dasselbe auch für meine Auflösungsschaltfläche tun, weil
ich das nicht getan habe Also werde ich das jetzt tun, und ich muss auch
den Knotenpfad für die Variable umbenennen , die wir in das Skript eingefügt haben. Und Sie können es auch einfach
anklicken und ziehen. Und dann werde ich dasselbe
tun. Ich werde die nächste Variable per
Ctrl-Taste
klicken und ziehen , sodass
wir einen vollständigen Pfad zu ihr haben. Wir kommen zu dieser Checkbox im
Vollbildmodus und ich füge etwas Text hinzu,
damit wir wissen, was es ist. Also gebe ich hier den Text
im Vollbildmodus und verbinde das umschaltbare
Signal mit unserem Skript hier. Okay, das ist also ziemlich
einfach. Im Vergleich zu Gadot Three gab es
früher nur zwei Optionen, nämlich Fenster
und Vollbild Wir haben jetzt tatsächlich
vier, also
können wir diese Variable nicht einfach weitergeben Wir könnten wahrscheinlich
etwas
Komplizierteres damit machen , aber ich werde es einfach
halten. Wenn es also eingeschaltet ist, werde
ich das Fenster in den Vollbildmodus
versetzen Und so werden wir das hier in Aktion sehen
. Ich gebe Get window
dot set Mode und füge den Modus dort ein. Sie können sehen, dass diese
automatisch angezeigt werden, aber wenn
sie nicht für Sie geeignet sind, können
Sie einfach capitalwwindow
dot mode full screen eingeben Und dann gebe ich ein E ein und sage
genau dasselbe Tatsächlich werde ich
es kopieren und einfach den
Vollbildmodus in den Fenstermodus ändern Vollbildmodus in den Fenstermodus Wie Sie sehen können,
haben wir noch ein paar andere Optionen,
minimiert, maximiert,
all diese Dinge Wahrscheinlich Dinge, die
du nicht brauchst, wenn du ein Spiel machst, aber
du weißt es nie wirklich Ich weiß, dass Gudo für
die Erstellung von
Anwendungen immer
beliebter
geworden , dass Gudo für
die Erstellung von
Anwendungen immer
beliebter ist. Das ist wahrscheinlich der Grund, warum es
diese Optionen gibt ,
was nett ist, aber wir
brauchen sie jetzt nicht, wir werden einfach so
etwas Einfaches machen Okay, das sollte also
funktionieren. Keine Probleme. Wir werden die Szene hier nachspielen. Nun, lassen Sie uns das ankreuzen. Und wir können sehen, dass wir uns im Vollbildmodus befinden. Und als kurzes Beispiel können
Sie jetzt sehen, dass das
Dropdown-Feld nicht mehr funktioniert. Wir werden uns gleich
damit
befassen . Aber wie Sie sehen können, haben
wir außerhalb
des Vollbildmodus keine
Probleme, und wir können klicken, um in den
Vollbildmodus zu wechseln. Der Text ersetzt sich nicht von selbst. Es gibt ein paar Dinge, die
wir aufpolieren müssen. Aber im Moment, weißt du, funktionieren
die Dinge ziemlich gut. Das Einzige, was
wir
hier hinzufügen müssen , ist, dass es, wenn Sie den Vollbildmodus
verlassen,
zu der Position zurückkehrt, an die Sie es verschoben haben. Das ist vielleicht etwas
, was Sie wollen, aber ich werde
die zentrierte Funktion hinzufügen wir
wieder
in den Fenstermodus zurückkehren, damit wir das Fenster an eine beliebige Position verschieben können. Aber wenn wir es im Vollbildmodus betrachten
und es dann aufklappen, wird
es wieder in die Mitte zurückversetzt
. Aber das bin nur ich Das musst du nicht tun.
5. Polieren der Benutzeroberfläche: Okay, die Dinge sehen ziemlich gut aus. Ich werde
jetzt eine Funktion erstellen, die dabei hilft,
Variablen zu verfolgen , die entweder auf wahr oder falsch
gesetzt sind,
je nachdem, wie Sie Ihre Szene
eingerichtet haben, und Sie möchten
sich keine Gedanken
darüber machen müssen , ob bestimmte
Dinge aktiviert sind, wie zum Beispiel ein
Kontrollkästchen im Vollbildmodus, wenn Sie Ihr Spiel starten. Also werde ich eine
Funktion namens „Variablen prüfen“ erstellen. Ich werde
Zugang zum Fenster bekommen. Weil wir das für
diesen eine Menge brauchen werden. Ich werde auch
Zugriff auf den Modus bekommen
, den
wir gerade eingestellt haben. Also werde ich den
Fensterpunkt „Modus abrufen“ unterstreichen. Und wir werden
hier einfach abfragen, ob der Modus dem
Fenster-Punktmodus im Vollbildmodus entspricht Fenster-Punktmodus im Vollbildmodus Wir werden
das Kontrollkästchen so einstellen , dass es
ohne das Signal umgeschaltet wird Wir können also sagen, dass
das Kontrollkästchen im Vollbildmodus gedrückt wurde kein Signal angezeigt wurde, und wir tippen
einfach durch Okay, wenn
wir jetzt hier reingehen und
es so einstellen, dass es
im Vollbildmodus startet, was ein ziemlich häufiger
Parameter ist, wenn wir das Spiel starten, können
wir sehen, dass das
Kontrollkästchen aktiviert wird. Eigentlich nicht,
weil ich wieder vergessen habe , diese Funktion
zu einer Ready-Funktion hinzuzufügen. Also komme ich einfach wieder
rein und füge sie
der Ready-Funktion hinzu, und
wir starten das Spiel. Okay, cool. Eine Sache, die wir
meiner Meinung nach tun sollten, ist ,
wenn
wir das Spiel starten und die Auflösungen hinzufügen Wenn das Fenster auf
eine Größe in der Liste eingestellt ist, sollte
es zuerst ausgewählt
werden. Wir können hier also
eine Variable namens
aktuelle Auflösung erstellen hier also
eine Variable namens
aktuelle Auflösung und die
Größe des Fensters abfragen. Also holen wir uns
Window Dot Get SIE. Und das gibt einen Vektor zwei I zurück
, den wir verwenden können,
um sie mit
diesen Auflösungen zu vergleichen , während
wir sie durchgehen. Und wir müssen auch eine ID
erstellen,
um diese im Auge zu
behalten. Dies ist ein optionaler
Parameter
der Anzeigenfunktion
in der Optionsschaltfläche. Also gehen wir, Var-ID ist gleich Null. Und dann kommen wir zur
Schaltfläche mit der Option
Auflösung, Punkt Objekt hinzufügen, und wir fügen die
zweite Parameter-ID Okay, während wir die Auflösungen
durchgehen, werden
wir prüfen, ob
die aktuelle Auflösung mit einer dieser Auflösungen
übereinstimmt Also gebe ich I ein. Auflösungen,
eckige Klammer R entspricht der aktuellen Auflösung Dann wähle ich diese Option
in unserer Optionsschaltfläche aus. Ich gebe die
Optionsschaltfläche für die Auflösung
und die Punktauswahl ein und gebe die ID ein. Und dann müssen wir
daran denken, diese ID zu erhöhen. Und jetzt wirst du sehen,
dass
1920 mal 1080 ausgewählt wurde, um das Spiel zu starten Eine weitere Sache, mit der
ich zu kämpfen hatte,
als ich
daran gearbeitet habe, ist, dass das Etikett manchmal nicht aktualisiert
wird, wenn Sie zwischen dem Vollbildmodus wechseln. Obwohl ich die
Optionsschaltfläche habe , um eine Option auszuwählen wird
sie einfach
als falsch angezeigt und sie funktioniert nicht. Wenn Sie in
den Vollbildmodus wechseln, möchten
Sie natürlich in den
Vollbildmodus wechseln, Sie möchten keine Auflösungsoption
aus dieser Drop-Jon-Liste auswählen .
Das wird nicht funktionieren. Also brauchen wir eine Funktion, um dieses Label
irgendwie zu überschreiben. werden das nutzen,
um den Leuten zu sagen, Wir werden das nutzen,
um den Leuten zu sagen, um welche
Auflösung es sich handelt. Wir können den Text also
direkt auf diese Optionsschaltfläche setzen , und er wird einfach dort
angezeigt. Und weißt du, wenn sie herunterfallen und
es anders ist, ist das nicht das
Schlimmste auf der Welt. Also werden wir das einfach
tun. Und ich denke, das wird
für die meisten Anwendungen viel besser funktionieren. Okay, die nächste
Funktion, die wir hinzufügen
möchten , ist eine
kleine Hilfsfunktion
, die uns hilft, den Text
in unserem Dropdown-Feld festzulegen wenn wir zwischen
Vollbild- und Fenstermodus wechseln Es wird also einfach „Text für Auflösung festlegen
“ heißen,
und wir werden eine Variable namens
Auflösungstext erstellen eine Variable namens
Auflösungstext ,
und das wird ein Log-Wert sein Es wird STR für Zeichenfolge sein, was die Funktion ist,
die wir jetzt für
Zeichenketten verwenden Inga Do vier, und es wird ungefähr sein, und es wird Get
window dot Get size sein, und wir
werden einfach das X aus der Größe des Fensters ermitteln. Holen Sie sich das Fenster dogtsiz dot X. Kopieren Sie diesen Code,
damit wir ihn verwenden können Wir fügen X hinzu und folgen der
Zeichenfolge getwindow dotgtz dot y. Okay .
Danach stellen
wir einfach Text der Optionsschaltflächen für
die Auflösung auf Auf diese Weise können wir, wenn wir in den Vollbildmodus wechseln, einfach diesen Text einstellen. Es
wird nicht wirklich ausgewählt,
und wir werden und wir das ziemlich bald deaktivieren, glaube
ich, wenn wir uns
im Vollbildmodus befinden. Aber dazu
gleich mehr. Okay, jetzt
können wir diese Funktion aufrufen, wenn
wir in den Vollbildmodus wechseln. Ich kopiere das und wir gehen in den Vollbildmodus.
Ich werde hier sein. Ich werde das erledigen. Und Sie werden feststellen, dass
es nicht immer funktioniert. Es ist wie eine andere Zahl. Und ich glaube, die Größe des Fensters wird gerade geändert , wenn ich diese Funktion aufrufe. Also werde ich einfach einen Timer erstellen,
einen sehr kurzen Timer. Ich gebe Get tree,
Punkt create Tr ein. Und es wird sehr kurz sein,
etwa 0,05 Sekunden. Und ich werde die
Timeout-Funktion hier verbinden. Ich nehme einfach das Timeout bei Punkt Connect und gebe den Namen
der Funktion Auf diese Weise gibt es
eine kleine Verzögerung, um dem Fenster Zeit zum Ändern der Größe zu
geben Und ich fand, dass das wirklich
gut funktioniert hat . Also lassen wir das noch einmal laufen. Und Sie können jetzt sehen, dass es genau so
funktioniert, wie ich
es mir wünsche. Wir sind wahrscheinlich besser dran. Siehst du, jetzt ist der Text
darauf eingestellt und er hat tatsächlich
eine andere Größe. Wir sind also besser dran , das als nur in die
Vollbild-Option zu setzen, um es
einfach am unteren Rand der Funktion zu platzieren
, wo wir zwischen Vollbild
und Fenster wechseln. Im nächsten Schritt verschiebe ich die Erstellungszeit von
Gt Tree Dot an das Ende dieser
Funktion, sodass sie
aktualisiert
wird , nachdem sie aufgerufen wurde,
und die Auflösung korrekt ist , nachdem sie aufgerufen wurde,
und die Auflösung korrekt Okay, jetzt können wir sehen,
dass
es anfängt,
eine Auflösungsbezeichnung zu wählen , die tatsächlich
korrekt ist, wenn wir minimieren , wenn wir zwischen
Vollbild und Fenster wechseln, was viel netter ist Sie können quasi die
Verzögerung zwischen dem Wechsel zum
Vollbildmodus und dem Fenster sehen Vollbildmodus und dem Fenster dem der Text später aktualisiert wird Aber weißt du, das funktioniert. Machen wir uns nicht
zu viele Gedanken darüber. Die Funktionalität
ist da. Das Etikett ist für den Benutzer sinnvoll. wir müssen
den Text
aus irgendeinem Grund überschreiben Ich denke, wir müssen
den Text
aus irgendeinem Grund überschreiben, nur weil sich die
Größe des Fensters langsamer ändert als
der Funktionsaufruf
6. Vollbildauflösung – Die moderne Art: Okay, das nächste, was Ihnen auffallen wird
, ist, dass ich
offensichtlich in
den Vollbildmodus gehe und die Fenstergröße nicht ändern kann Nun, in den alten Tagen, als ich ein kleines Kind war, als Sie die Auflösung geändert haben, die gesamte Auflösung
Ihres Bildschirms So ist es nicht mehr.
Das müssen wir nicht tun. Derzeit, so wie wir das Projekt eingerichtet
haben, der Vollbildmodus
automatisch entspricht
der Vollbildmodus
automatisch der Auflösung des Bildschirms, auf
dem wir uns gerade befinden. Wir müssen also nicht wirklich
Unterstützung für die Auflösung
des Benutzerbildschirms hinzufügen . Solange wir unsere Benutzeroberfläche
richtig eingerichtet haben , wird
dies unterstützt. Und ich glaube, das ist
meistens das Sprechen in drei D. Es ist ein bisschen anders, weil für die Art und Weise, wie Sie das
Spiel eingerichtet haben, möglicherweise eine feste Auflösung erforderlich sein muss , besonders wenn Sie mit Px LT
arbeiten. Das ist eine andere Konversation Aber für Three D willst du
wirklich nur den Stretch-Modus deaktiviert lassen und behalten, es sei denn, du weißt schon, vielleicht machst du eine ganz
bestimmte Sache wie eine PS One oder ein Aussehen im Nintendo
64-Stil. Aber wenn du nur
ein normales Drei-D-Spiel machst, sind Stretch-Modus, Deaktivieren und
Beibehalten der richtige Weg, und ich zeige dir, wie du die Auflösung
deines Viewports reduzieren
kannst , ohne
die Benutzeroberfläche zu beeinträchtigen, wie es, du
weißt schon, vor zehn Jahren war. Ich meine, auch heute noch machen das
einige Spiele, aber das ist wirklich nicht nötig Wir können das umgehen und
sie richtig gut machen. Und ehrlich gesagt sind es
zwei Codezeilen. Also werden wir der Szene
einen Slider hinzufügen. Ich komme zur Plus-Schaltfläche. Ich klicke einfach auf die
Optionseinstellung , damit sie an der richtigen Stelle hinzugefügt
wird. Ich gebe Slider ein. Wir
wollen eine horizontale Folie. Natürlich könnte es eine vertikale Folie
sein, es könnte ein Dropdown-Feld sein. Es könnten viele verschiedene
Dinge sein, aber ich werde daraus
eine Folie machen. Ich werde sie über
das Kontrollkästchen für den
Vollbildmodus ziehen über
das Kontrollkästchen für den
Vollbildmodus nur weil ich finde, dass
es besser aussieht. Es ist sinnvoller
, sich in der Nähe des
Optionsfeldes für
die Auflösung zu befinden , das wir gerade eingefügt haben. Okay, lassen Sie uns dazu etwas
Text hinzufügen. Also werde ich eine HBox hinzufügen ,
damit sie gut ausgerichtet werden Ich lege den Slider in die HBox und benenne diese
HBox in etwas
wie Scale Box um , nur
damit sie einen schönen Namen hat Lassen Sie uns also die Mindest- und
Höchstwerte auf dieser Folie einrichten. Der Mindestwert wird 50 sein und der Höchstwert
wird 200 sein. Ich werde den fünften Schritt machen. Jetzt muss der minimale
Höchstwert 5.200 sein. Innerhalb von Gadot können Sie nichts
weiter skalieren, es
macht
also keinen Sinn, es Es wird einfach
standardmäßig auf diese Obergrenze und Untergrenze gesetzt Und ja, wir
haben fünf Stufen, nur weil es sich ein bisschen
besser anfühlt, wenn man rutscht, und wir wollen, dass es
an Grenzen tickt Okay, also für das Layout, damit das
in einem H-Feld funktioniert, müssen
wir
eine benutzerdefinierte Mindestgröße haben Und das ist in Pixeln, also mache
ich meine auf 100 und vielleicht sogar auf 200,
sodass sie einfach breiter ist, sodass es schöner ist, damit zu spielen, als dass die HBox sie aus irgendeinem Grund auf eine winzige
Größe
herunterskaliert Okay, ich
mache den Wert 100. Das ist der
Startwert. Das ist sinnvoll , weil wir mit
einem hohen Maßstab beginnen. Ich werde diese Folie in Scale Sliner umbenennen. Und als Nächstes müssen
wir etwas Text
hinzufügen, damit wir
wissen, was die Skala ist Wir werden hier auf den
kleinen Plus-Button klicken. Ich tippe einfach ein Etikett ein. Wir fügen eine Bezeichnung hinzu,
geben 100% ein und setzen dort einen Gedankenstrich ein, und es wird nur 1920 mal 1080 sein. Wir werden das per Code festlegen. Es ist einfach da, damit die
Benutzeroberfläche so aussieht, wie sie aussieht, und wir sorgen dafür, dass sie gut aussieht. Ich gebe diesem Label
einen Namen, weil wir es oft nachholen
müssen. Wir nennen es das Waagenlabel. Und wir werden das jedes
Mal
aktualisieren, wenn wir den Slider ändern. Okay, das Signal, das wir verbinden
wollen, ist das Signal zur
Wertänderung. Und das wird wirklich
einfach sein. Die Funktionalität wird
ziemlich einfach einzurichten sein, und wir werden einige UI-Elemente
hinzufügen , damit sie gut aussieht. also der
Wert des Schiebereglers geändert wurde, erhalten
wir
die Auflösungsskala. Es muss ein Prozentwert sein. Also nehmen wir den
Wert von unserem Schieberegler und
teilen ihn durch 100. Sie könnten Ihren Schieberegler natürlich auf
Dezimalstellen
einstellen , und
das wäre auch in Ordnung. Aber das habe ich nicht getan. Also stell sicher, dass es ein Float ist. Ich habe festgestellt, dass das, was ich in den zukünftigen Teilen dieses
Videos mache, einfach besser funktioniert. Also werden wir eine Variable erstellen, um den Auflösungstext zu
aktualisieren. Ich gehe tatsächlich zurück
zur Auflösungstextfunktion und nehme genau das Gleiche. Wir werden hier
ein paar Dinge hinzufügen müssen. Wir
müssen es jedoch mit der Auflösungsskala multiplizieren , denn das ist im Wesentlichen das,
was wir tun. Also mache ich das
sowohl auf dem X als auch auf dem Y. Und wir müssen
das auch abrunden , weil wir
ein Dutzend mehr Orte bekommen werden und das wollen wir nicht wirklich für unsere Benutzeroberfläche Ich runde das ab, sodass wir nur ganze Zahlen
bekommen und
es besser lesbar aussieht Es wird nicht so
genau sein, aber keine große Sache. Wir müssen uns also
Zugang zu diesem Waagenlabel verschaffen. Ich ziehe das per Drag & Drop nach oben, sodass wir es haben. Und ich werde auch die Folie benötigen. Ich werde das reinziehen und
das Chaos ein bisschen aufräumen. Also gebe ich
scallabel-Punkt-Set-Text und der Text wird eine Zeichenfolge sein, und es wird der Wert sein
, der einfach
irgendwo zwischen 50 und 200 liegen wird Welches ist das da.
Und dann füge ich das Prozentzeichen
und einen Gedankenstrich und ein Leerzeichen hinzu, und dann füge ich
den Auflösungstext hinzu
, den wir zuvor eingerichtet haben. Deshalb zeige ich mit dem Schieberegler die Auflösung und den
Wert der Skala an. Und dann brauchen wir nur Punktsatz
des
Viewports, der auf drei D-Skala skaliert, und es wird
ein Float benötigt und wir geben die Auflösungsskala weiter, die wir zu
Beginn dieser Funktion festgelegt haben Und das ist alles, was Sie tun müssen. Wir können das jetzt ausführen und Sie können beginnen, es in Aktion zu sehen. Interessanterweise fand ich
es etwas schwierig, das für dieses spezielle
Modell, das wir haben, zu erkennen Man kann anfangen,
die gezackten Kanten
und ähnliches
auf dieser 50-%-Skala zu erkennen , 960 mal 4540, was der tatsächlichen
Auflösung des Viewpots entspricht Und wie Sie sehen können,
hat das keinen Einfluss auf die Benutzeroberfläche, was einfach unglaublich ist Das ist wirklich, wirklich tolles Zeug, wenn Sie drei Tage im
Vollbildmodus laufen. Sie benötigen
kein Drop-down-Menü, wie wir es in
früheren Videos gesehen haben. Ich kehre zum Skript
zurück
und deaktiviere die Optionsschaltfläche für die
Auflösung, wenn wir uns im Vollbildmodus befinden. Wenn Sie sich also im
Vollbildmodus befinden, das nicht
geändert werden. Stattdessen müssen
Sie den Schieberegler verwenden,
um Ihre Auflösung zu ändern. Also gehe ich hoch und
überprüfe
das auch im Vollbildmodus im I-Modus und setze es auf true Auf diese Weise werden
wir die Leute nicht verwirren, wenn
sie damit arbeiten Wenn sie sich im
Fenstermodus befinden, können sie
damit schnell eine Auflösung festlegen
, die sie vielleicht Wenn Sie sich im Vollbildmodus befinden, möchten wir, dass Sie diesen
Modus verwenden.
7. Hinzufügen von FSR zu deinem Projekt: Die nächste wichtige Sache
, die wir hinzufügen
möchten, ist die Auswahl des gewünschten
Skalars Gadot hat eine bilineare Skalierung,
die Sie schon einmal gesehen haben, das
ist das Zeug mit den Und Sie haben auch
die Möglichkeit,
AMD FSR 2.2, 1.1 hinzuzufügen AMD FSR Wie all diese anderen Skalare werden
wir AMD
FSR hinzufügen Es ist ein Open-Source-Skalar, ähnlich wie
DLSS. Sehr mächtiges Zeug.
Sieht toll aus. Du wirst es in einer Sekunde
sehen. Wenn du einen
Drei-D-Gaming-Gdo machst, musst
du das
unbedingt in dein Spiel integrieren Also werden wir
eine Optionsschaltfläche erstellen. Ich werde das Skalar nennen. Und im Gegensatz zu dem anderen
, den wir mit Code festgelegt haben, müssen
wir diesen tatsächlich machen vielleicht könnten wir es mit Code machen Ich weiß es nicht. Es spielt keine Rolle. Das erste Element wird also einfach
Skalar genannt. Ich werde das so einstellen, dass es und das Trennzeichen
deaktiviert werden. Und tatsächlich werde
ich das in dem
ausgewählten Feld hier auf Null setzen, was die Option für Skalar ist Das wird also einfach gesetzt,
wenn das Spiel startet, und das andere
wird bilinear genannt, und ich füge
hier ein Element hinzu und es wird AMD FSR,
2.2 heißen Okay. Und sie
werden nur Ausweis eins und zwei sein. Wir werden das ausgewählte
Signalelement verbinden. Und für diesen passen
wir einfach den Index an. Wir wissen, dass es
nur zwei gibt, also wird
es
nett und einfach sein. Ich gebe Match Index und die Funktion ist
wirklich einfach. Wir werden zunächst
eine Kopie
des Viewports erstellen, nur um die Dinge etwas übersichtlicher zu gestalten,
und ich gebe Underscore
Viewport Dot Set
Scaling Three D Mode
ein und ich gebe Underscore
Viewport Dot Set
Scaling Viewport Dot Set
Scaling Und Sie können jetzt sehen, dass ich ein paar Optionen
zur Auswahl
habe ,
und sie sind bei und sie sind Okay, aber wir können die
Punktskalierung des Viewports mit drei
D-Modus (FSR) und bilinear verknüpfen Punktskalierung des Viewports mit drei
D-Modus (FSR Vergewissern Sie sich nur, dass
Sie die richtige Option
für die richtige Option ausgewählt haben für die richtige Option ausgewählt Also Nummer eins für
mich ist bilinear. Also, wenn ich im Index auf
eins
stoße, möchte ich es
darauf einstellen Und darunter
mache ich zwei zur nächsten Bedingung, und wir machen genau den
gleichen Code, aber wir ändern
ihn auf AMD FSR zwei Okay, jetzt
können wir das Spiel starten. Sie können sehen, dass Sie
es jetzt auf AMD FSR auf 50% senken Sie können sofort
den Unterschied
zwischen diesen beiden erkennen den Unterschied
zwischen diesen beiden AMD FSI sieht so viel
besser aus als bilinear. Und hier und da gibt es ein paar
Artefakte. Sie können das sehen, wenn
die Straßenbahn vorfährt. Es gibt ein paar seltsame Artefakte,
vor allem, wenn du
es dort ansiehst , wo die Laternen sind
oder wenn es dort durchfährt Aber davon
abgesehen ist es großartig. Sieht so gut aus. Ich kann sehen, dass es
einen großen Bildverlust gab , als ich mit der Kamera um diese Ecke
kam, und ich weiß nicht, ob das der Szene
oder am FSR liegt Ich bin mir nicht ganz sicher. Ehrlich gesagt
, ich habe es wieder auf 50% reduziert und es hat wirklich gut funktioniert. Eine andere Sache ist, dass Sie,
wenn Sie AMD FSR verwenden, laut Dokumentation auf vier bestimmte Optionen beschränken sollten auf vier bestimmte Optionen Wir werden diese jetzt einrichten. Ich glaube, das ist der Grund, warum
ich Frame-Drops bekommen weil ich mich nicht für
eine dieser drei Optionen entschieden habe. Sie können sehen, dass Sie eine ultrahochwertige
Qualität mit ausgewogener Leistung
haben . Dies sind also die Optionen
, auf die Sie es einstellen müssen. Was wir also
tun müssen, ist, wenn
sich jemand für den AMD FSR-Skalar entscheidet, wir müssen diesen Schieberegler sperren und einfach ein
Dropdown-Feld für diese Also werde ich
eine Optionsschaltfläche erstellen. Ich werde es
unter den Skalar legen und ich werde FSR-Optionen einfügen Der Grund, warum wir das nicht für
den bilinearen Modus tun
wollen , ist,
dass man damit
superskalieren kann Sie können also die Auflösung
verdoppeln, aber mit AMD FSR
ist das nicht Also genau das
Gleiche wie zuvor, wir werden
eine Optionsschaltfläche erstellen Wir werden eine
Reihe von Artikeln dafür erstellen. Wir werden das erste erstellen, wir machen es zu FSR-Optionen, deaktiviertes Trennzeichen setzen wir das ausgewählte Objekt
auf Nummer Null. Das ist also beim
Start ausgewählt , wir kommen und
wir werden diese eingeben Wir haben Leistung. Wir sind ausgewogen. Wir haben Qualität und
wir haben Ultraqualität. Und Sie können sehen, dass ich ein
bisschen umgedreht bin,
wo ich die hinstellen soll. Es war eine lange Aufnahme.
Es ist mein erster Tag aus dem Urlaub, Leute. Das ist es nicht wirklich.
Ausgewogene Leistung, hochwertige Qualität Ich war wirklich verwirrt.
Ausgewogenes Gleichgewicht. Ja, wir haben zwei da, Bruder. Wirf den einfach da rein. Okay, gut. Okay, das
sind also die vier, die du willst. Also werden wir es
so machen, dass es nur angezeigt wenn wir
die FSR-Optionen verwenden Also werde ich
dort sehr schnell eine Variable
erstellen , einfach
klicken und sie hineinziehen Und wenn wir
den FSR-Skalar aus
den Skalaroptionen auswählen , werden
wir ihn sichtbar
machen Also machen wir Fsroptions Dot Show
und machen genau das Gegenteil, wenn wir bilinear wählen. Wir werden diese Optionen
ausblenden, weil
wir weil Wir werden das überprüfen, damit Sie sehen
können, wie das aussieht. Wenn wir bilinear wählen, werden
wir hier die FSI-Optionen
und all diese Dinge sehen Und Sie können sehen, wie dieser Frame bei 100% FSI
Probleme hat. Das sollte nicht so gemacht
werden, deshalb müssen wir diese Optionen
einführen Die andere Sache, die
wir tun werden, ist der Skalierungsschieberegler
das nur
im bilinearen Modus bearbeitbar macht das nur
im bilinearen Modus bearbeitbar Wir haben also den Skalenschieberegler. Die Funktion, die
wir verwenden müssen,
heißt „editierbar Es ist aus irgendeinem Grund exklusiv
für Ranger .
Ich weiß nicht warum Skalieren Sie den Punktsatz des Schiebereglers,
editierbar, wahr für bilinear und falsch für FSR.
Wir wollen es nicht benutzen Okay. Also lass uns sehen,
wie das funktioniert. Wir können den Skalar verwenden. Wenn wir zur FSR gehen, können wir das nicht. Großartig. Genau
so wollen wir, dass es aussieht. Okay. Wählen Sie „
Signal verbinden“ für diese FSR-Optionen Wir verbinden das ausgewählte Objekt mit dem Skript
, das sich
direkt unter diesem befindet Und wir werden
genau das Gleiche tun. Wir werden einfach einen Match-Index erstellen. Ich werde einfach sagen
, dass ich faul bin, und diesmal sind es nur 1-4. Ich werde
hier Pass eingeben , damit ich die Zahlen
abtippen kann. Und praktischerweise haben wir
bereits etwas, das den Maßstab vorgibt. Also
werde ich das benutzen. Also bei der Änderung des skalaren
Slider-Werts ist
das die Funktion
, die aus dem Signal erzeugt wurde ,
das wir für den Slider
angeschlossen haben Wir können das einfach recyceln und einfach den gewünschten
Wert weitergeben Und das werde ich kopieren. Vergewissere dich, dass es ein Float ist.
Der nächste wird 59 sein. Der nächste wird 67 sein. Und der letzte wird 77 sein. Das sind also die vier
Werte, die AMD empfiehlt, und wir werden uns daran halten. Stellen Sie also sicher, dass sie
mit der Dokumentation übereinstimmen. Okay, lassen Sie uns das jetzt ausführen. Okay, wir wählen AMD FSR und wir wählen Leistung Ordnung. Und
das ist auf 50% gesunken. Sie können sehen, dass die Frames einfach
wieder normal werden und gut funktionieren. Es hat eine
Ultraqualität. Sieht toll aus. Ich bin wirklich beeindruckt,
wie es aussieht, und ja, man kann die Verbesserung
zwischen Balance und
Leistung und all dem sehen . kann man definitiv sehen, wenn es um Ultraqualität geht. Für mich persönlich
ist es nicht zu unterscheiden von einem
hundertprozentigen Bilinear einem
hundertprozentigen Bilinear Immer noch der Frame Drop um diese Ecke. Ich weiß nicht, ob ich denke, dass das
spezifisch für dieses Projekt ist. Dieses Mesh habe ich gerade
aus dem Internet heruntergeladen. Ich weiß nicht, wie
gut es optimiert ist. Schauen wir uns die FPS dort an
und Sie können sehen, dass
es ein großer Rückgang wenn ich um die Ecke komme. Ich weiß es nicht. Das ist
alles, was ich sagen werde. Ich möchte auch darauf
hinweisen, dass es
viel schlechter aussieht als die
Aufnahme, weil
ich auch meine GPU zum
Aufnehmen verwende. Ich denke also, da es für
den Aufnahme-Gadot
immer anstrengender wird , dieses Projekt durchzuführen, lasse ich bei meiner Aufnahme auch
Frames fallen Also sieht es nicht so schlecht aus.
8. V Sync hinzufügen: Als Nächstes fügen
wir V Sync hinzu , sodass wir diese Option
haben. Es wird wichtig sein, wenn
es um Skalierung und
all das FPS-Zeug geht , mit dem es zu tun hat, besonders wenn ich es
demonstriere. Im Moment ist es also meistens vielleicht ein
Demonstrationstool. Aber ich werde ein
Etikett hinzufügen, auf dem FBS angezeigt wird. Das ist also wirklich einfach. Also musst
du das nicht tun. Das ist nur, damit ihr sehen
könnt, während ich
das Spiel starte , die Art von FBS, die
wir auf dem Bildschirm sehen Das ist also nicht etikettiert. Ich nenne es FPS. Ich gehe zu beliebigen Position,
was in Ordnung ist. Und ich füge dem ein Skript hinzu,
damit wir die FPS einstellen können. Es ist nur eine einzige Zeile. Und in der
Prozessfunktion hier rufe
ich einfach set text auf. Und die genaue Funktion, die
wir verwenden wollen, ist Engine Dot Get Frames per
Second. Und das ist es. Es werden nur die
Bilder pro Sekunde angezeigt. Stellen Sie sicher, dass Sie das
in eine Zeichenkettenfunktion einschließen. Machen Sie die Klammer zu
und wir können gut laufen. Das ist alles, was Sie
für einen Frame-Counter benötigen, ein
bisschen
Bonus-Tutorial Und Sie können
dort sehen, dass 59 steht, was ziemlich genau ist. Ordnung. Und wenn wir alles
zweimal skalieren, läuft
es immer noch bei 59. Wenn wir den AMD FSR einsetzen, ändern
wir den Scaler und
all diese Dinge Wenn wir hier um die Ecke gehen, können
wir sehen, wie die Frames fallen, all das gute Zeug Ich versuche nur herauszufinden, ob
es mit AMD FSR zu tun hat, denn jedes Mal, wenn
ich um
diese Ecke gekommen bin, sind wir vorbeigekommen Und Sie können sehen, dass das
tatsächlich ziemlich gut gelaufen ist. Also ich weiß es nicht. Vielleicht hat es etwas mit AMD
zu tun. Bei 50% läuft es okay. Diese Straßenbahn ist im Grunde
Krebs für die Frames. D. Okay, lassen Sie uns
etwas V-Sync hinzufügen. Es wird nur
eine weitere Umschalttaste sein, eine
Checkbox, ich sollte sagen,
eine weitere Checkbox-Schaltfläche Also werden wir diese Checkbox hinzufügen. Wir stellen sicher,
dass es hier ein V-Feld gibt, und ich benenne es einfach um in Vsc stink V-Sync-Checkbox, V-Sync-Checkbox, und ich gebe im
Text dafür
V-Sync aktiviert Okay, also in den umgeschalteten Optionen verbinden
wir das mit unserem
Optioneneinstellungsskript Und Sie haben tatsächlich
vier Optionen für V-Sync, aber ich werde
diesen Schalter einfach so einstellen, dass er ein- oder ausgeschaltet Also sage ich, ich habe aktiviert, und wir geben Display Server
Dot Window set V Sync-Modus Und Sie können diese
Optionen hier sehen, Sie haben Adaptive
deaktiviert und Postfach Wir werden vorerst nur
aktiviert und deaktiviert verwenden. Sie könnten Ihren Benutzern jedoch ein Dropdown-Feld oder
etwas Ähnliches zur Verfügung stellen, aber sie müssen verstehen,
was diese Optionen sind. Ich denke, es ist besser
, es einfach ein- oder auszuschalten, aber du kannst
machen, was du willst. Okay, also wir haben V-Sync und dann natürlich für
die anderen deaktiviert. Wir möchten zu der Funktion für
überprüfte Variablen zurückkehren , die wir zu Beginn eingerichtet haben. Und wir wollen auch überprüfen,
ob Vsyncmde aktiviert ist. Wir können also Folgendes eingeben: I display
server dot Get Vsync mode entspricht display
server dot vsncEnable Und dann können wir
dieses Kontrollkästchen einfach so einstellen, dass es umgeschaltet wird. Stellen Sie sicher
, dass wir diese Variable haben, damit wir sie per Drag &
Drop dorthin ziehen können Dann können wir gehen Vsncheckbox Punkt setzen Pres Kein Signal
ist gleich wahr Okay, so nett und einfach da. Wir werden das Spiel ausführen. sehen, dass es angekreuzt ist und
ich deaktiviere es, und Sie können sehen, wie die
Frames auf
161 steigen Sie können
sehen, dass es angekreuzt ist und
ich deaktiviere es,
und Sie können sehen, wie die
Frames auf
161 steigen. Ich verdopple die Skala Sie können sehen, wie sie auf 105
sinken, und ich werde sie auf 50% senken, und Sie können sehen, wie sie springen.
Sie ändern sich überhaupt nicht. Davon weiß ich eigentlich nichts
. Mit diesem Netz stimmt
definitiv etwas nicht. Es scheint nicht wirklich
wichtig zu sein, in welcher Größenordnung ich es herausgebracht habe. Es läuft immer noch mit so ziemlich dem gleichen AMD FSR, dem gleichen Deal Es beginnt hoch bei 300, fällt
aber auf etwa 69. Ich weiß es nicht. Ich weiß eigentlich nicht, was mit diesem
Netz los ist, aber Sie können die Unterschiede sehen , die hier irgendwie
zu passieren scheinen. Wir checken es zurück zu VSink
und es ist wieder bei 59 Frames, und dann erscheint es wieder,
wenn Sie
es auf 161 deaktivieren , aber dann ist es Und es tuckerte
wieder richtig um die Ecke. Sein. Mach es, es ist überall, aber es ist trotzdem sehr cool. Ich denke definitiv, dass
du
diese Optionen zu jedem
Spiel hinzufügen musst , das du auslieferst. Es ist eine wirklich nette Sache , diese Ihren Benutzern zur Verfügung
zu stellen.
9. Aufräumen: Eine Sache, die Ihnen
auffallen wird, ist , dass Sie
es mit diesem aktuellen Setup in den Fenstermodus versetzen und es auf 800 mal 600 reduzieren könnten , was
so ziemlich der kleinste
Bildschirm ist , den Sie
beim Spielen eines Spiels erstellen würden, und dann können Sie auch um 50%
verkleinern Sie können hier also eine wirklich
kleine Auflösung erreichen. Ich meine, wenn jemand
eine Kartoffel als Computer hat ,
dann ist es vielleicht möglich. Das willst du vielleicht.
Vielleicht willst du es nicht. Sie können es auch deaktivieren. Sie können den Scaler deaktivieren
, wenn Sie sich im Fenstermodus befinden. Es liegt ganz bei Ihnen, welche Funktionen Sie
dort haben. Du weißt, was zu tun ist. Okay, eine Sache, die Ihnen
vielleicht aufgefallen ist, ist, dass wir,
wenn wir vom
Vollbildmodus in den Fenstermodus wechseln, den
Schieberegler und die
Auflösungsbezeichnung hier nicht aktualisieren, das
ist ein bisschen
verwirrend Nun, ich denke, die Skala
ist immer noch korrekt. Wenn wir also zum Vollbildmodus wechseln, sind
wir immer noch bei 50% Sie können hier immer noch die Zacken an
den Rändern sehen Aber der Text mit der tatsächlichen
Skalenauflösung ist falsch. Ich denke,
wir sollten es bei jeder Änderung der Fenstergröße
einfach auf
100 zurücksetzen Änderung der Fenstergröße weil wir nicht wirklich wissen, was die
Spieler versuchen zu tun, und es ist wahrscheinlich etwas verwirrend, wenn sie versuchen, Frames zu maximieren oder
so. Ich weiß es nicht wirklich, aber
das werde ich
tun, weil es auch sehr einfach ist. Der einfachste Weg, das zu tun, besteht also darin, sich auf den Text der
festgelegten Entschließung zu
konzentrieren, und wir müssen zwei anrufen. Ich zeige dir das gleich, damit wir uns einfach
den Skalenregler holen können. Und wir können einen Wert festlegen. Wir können Sollwert ohne Signal
oder Sollwert nennen. Ich werde euch für eine Sekunde den
Sollwert zeigen, denn laut der Dokumentation werde
ich darauf hinweisen, dass
der übergebene Wert ein Float ist. Andernfalls funktioniert diese
Funktion nicht. Unter dem Bereich steht der aktuelle Wert des
Bereichs. Die Änderung dieser
Eigenschaft auch per Code löst ein
Wertänderungssignal aus. Nun könnten wir uns vorstellen,
dass das Signal der
Skalenschieberegler für einen
geänderten Wert auf
diese Methode übertragen würde , und sie würde all die Dinge erledigen, die
wir tun mussten, nämlich die Auflösungsskala
aktualisieren. Also habe ich hier einen Ausdruck. Ich werde einfach den Wert
ausdrucken. Die andere Sache, bevor
wir das Spiel starten, ist also, das gewählte Optionsfeld rückgängig Wir werden auch die
Auflösungsskala zurücksetzen. Deshalb werde ich auch hier Text mit festgelegter
Auflösung nennen. An diesem Punkt sollten wir also
in jeder Phase, in der wir die Bildschirmgröße
ändern, diesen Schieberegler
aktualisieren und ein Signal auslösen Ich lasse das laufen. Ich
springe im Vollbildmodus heraus. Also sollten wir damit
rechnen, dass ich es jedes Mal ausdrucke, wenn wir das
ändern, aber das tun wir nicht. Ich weiß nicht, was es ist.
Wenn die Signale nicht ausgelöst werden oder es ein Bug ist, bin
ich mir nicht sicher, ob ich das genauer untersuchen
muss. Aber für
diese spezielle Lektion werde ich, wenn ich mich orientieren kann, wenn ich mich orientieren kann,
den Wert so ändern, dass kein Signal gesetzt wird,
nur
um das zukunftssicher zu machen, damit wir es nicht zweimal aufrufen,
wenn das irgendwann
behoben wird oder ich vielleicht etwas
falsch verstehe Ich weiß es nicht. Aber wir können uns einfach die Funktion schnappen und sie direkt aufrufen. Ich habe auch 100 bestanden. Also, wenn du glaubst zu
wissen warum, lass es mich wissen. Also lassen wir das
nochmal laufen. Und wir springen
einfach zu Windows Word und Sie können beginnen, diese Ausdrucke zu
sehen, also funktioniert es tatsächlich,
und wir stellen hier die korrekten
Auflösungsdetails Und vielleicht übertreibe ich es hier
mit der Kennzeichnung. Das ist nur ein Beispiel. Also, wenn ihr dieses Zeug
ändern wollt, fühlt euch frei. Es liegt
ganz bei dir. Leute kennen jetzt die
Funktionen, sodass Sie Ihre Benutzeroberfläche
so organisieren
können, wie Sie es möchten. BS. Also das ist eine seltsame Eigenart,
aber wir haben es zum Laufen Lass uns mit der nächsten
Sache weitermachen, die ich euch zeigen möchte.
10. Bildschirmumschaltung: Okay, das nächste,
woran wir
anfangen wollen zu arbeiten, ist die Möglichkeit Bildschirmen
zu wechseln
, jetzt, wo all diese
anderen Dinge funktionieren. Also werden wir hier
eine Optionsschaltfläche hinzufügen, und es wird ein
ähnliches Setup wie zuvor haben. Also benenne ich diese
Optionsschaltfläche in die Bildschirmauswahl um, und wir springen in das Skript und erstellen dafür
eine Variable Also ziehe ich das einfach per Drag &
Control Drop und wir kommen ganz nach unten und
erstellen eine Funktion Und wir nennen diese
Funktion G-Screens. Und was wir tatsächlich
tun können, wir können
eine Variable namens screens erstellen , und wir rufen
den Display-Server und verwenden die
Funktion G screen count. Nun, das wird nur eine Ganzzahl
zurückgeben, aber wir werden das in einer
Schleife durchgehen. Für S in Bildschirmen greifen
wir also zur Bildschirmauswahl und verwenden dort die Funktion „
Objekt hinzufügen Und was wir tun werden, ist eine benutzerdefinierte Zeichenfolge mit dem Wort Bildschirm, dem Wort Bildschirm Semikolon und einem Leerzeichen einzugeben,
und dann fügen
wir auch Und das
sind dann nur STR-Klammern S. Also wird es als
Bildschirm Null oder Bildschirm Eins angezeigt Es gibt keine Möglichkeit für uns,
den Namen des Bildschirms zu erfahren , also
lassen wir uns einfach darauf ein. Als Nächstes müssen wir das Signal
anschließen, damit wir
zur Bildschirmauswahl kommen Wir klicken auf Node. Wir verbinden das Signal „Objekt
ausgewählt“ erneut
und stellen sicher, dass die Funktion „Bildschirme abrufen“
in der Bereitschaftsfunktion aufgerufen Funktion „Bildschirme abrufen“
in der Bereitschaftsfunktion in diesem Signal Sobald wir einen Bildschirm
ausgewählt haben, wird.
Sobald wir einen Bildschirm
ausgewählt haben, erhalten
wir in diesem Signal
Zugriff auf das Fenster, also geben wir den Unterstrich Fenster und gehen dann
gleich zu Fenster holen Und dann müssen wir auch
auf den Modus zugreifen,
denn das wird
wichtig sein, wenn wir uns im Vollbildmodus befinden, um zwischen den Bildschirmen
zu wechseln, die ich gefunden habe. Also werden wir Zugriff auf den Modus bekommen. Der Va-Modus entspricht dem
Unterstrich-Fensterpunkt „Modus abrufen“. Und sobald wir das haben, können
wir den Fenstermodus quasi auf
Fenstermodus setzen Ich werde gleich erklären, warum. Also setzen wir den Modus
auf Fenstermodus
und dann wechseln wir zwischen den Bildschirmen, also nennen wir Underscoe Window
Dot Set Und es will einen Index, wir können den Index einfach über das Optionsfeld
übergeben Es wird genauso sein wie auf dem Bildschirm. Und dann fragen
wir
den ursprünglichen Modus ab, den wir hatten, um zu sehen, ob er im Vollbildmodus
war. Wenn der Modus also dem
Fensterpunktmodus im
Vollbildmodus entspricht , stellen wir den Modus ein. Wir setzen den
Windows-Modus wieder auf Vollbild zurück. Der Grund, warum ich das
getan habe, ist , dass
ich festgestellt habe, ,
zumindest für mich mit meiner
Desktop-Umgebung Ändern von Bildschirmen im
Vollbildmodus nicht funktioniert,
zumindest für mich mit meiner
Desktop-Umgebung. Wenn Sie also in den Fenstermodus wechseln, wechseln
Sie zwischen den Bildschirmen und kehren
dann zum
Vollbildmodus zurück. Es flackert ein bisschen,
aber es geht ziemlich schnell. Man merkt
es also nicht wirklich, was ziemlich gut ist. Also können wir das testen
und es in Aktion sehen. Und ich wähle den nächsten Bildschirm, und ich musste
meine Aufnahme beenden und ändern, damit ich beide
Bildschirme
aufnehmen konnte , sodass Sie genau das in Aktion
sehen können . Es ist also Vollbildmodus.
Sie klicken auf den nächsten Bildschirm und er wird einfach auf
dem nächsten angezeigt, keine Probleme. Nur zur Verdeutlichung, Bildschirm Null ist mein
Bildschirm auf der rechten Seite. Ich weiß, das ist ein bisschen seltsam, aber die Zahlen sind korrekt.
11. Überprüfung und Überlegungen: Eine andere Szene, die ich erstellt habe ist so ziemlich ein
Raumscan eines Raums. Ich habe den Link unten angegeben. Ich muss Kredit geben
, weil es CC BY ist. Aber ich versuche
zu sagen, dass es kein sehr
effizientes Mash ist, denn Scans sind nicht gut für Spiele Sie müssen
gereinigt werden. Es ist also eine gute Möglichkeit, die Anzahl
der Frames zu demonstrieren , die Sie zurückgewinnen können. Meine GPU ist also nicht so träge
und erzeugt immer noch nur
100 Bilder bei einer Auflösung von 50% Ich kann bis zu 200% skalieren. Und wenn vSNC deaktiviert ist, erhalte
ich 40 Frames Also, weißt du, wenn jemand beschließt, etwas
so Effizientes zu verwenden, oder, du weißt schon ,
das Spiel, da ist
viel los, Vier-K-Auflösung, du bekommst
nur 45 Bilder Du willst 60 haben, also
wechselst du zu AMD FSR, und du wechselst zu Ultraqualität, und du kannst alles hochskalieren Natürlich werden
es bei
mir nicht vier K sein, weil ich nur
einen 1080-teiligen Bildschirm habe, aber man
sieht sofort die Qualität
und die Frames sind sehr hoch Ich persönlich denke,
dass
V-Sync mit AMD FSR alles eine
Million Mal besser macht, besonders bei diesen Einstellungen mit
niedriger Qualität Ich werde etwas auf dem Bildschirm haben,
wo ich
das mit der
Third-Person-Controller-Demo gemacht habe , die im Lieferumfang von Gadot enthalten ist, sodass es ein bisschen mehr
Action auf dem Bildschirm gibt
und ich das zu 100% feststellen kann, wenn
VSNC im Performance-Modus aktiviert ist. AMD FSR 2.2 ist zu 100% spielbar. Wenn Sie zum Beispiel
einen Laptop haben, der nicht über eine spezielle
Karte verfügt, oder wenn Sie
ein Steamdeck verwenden und versuchen, etwas
zu erledigen , das für dieses Gerät besonders
belastend ist, ist es obligatorisch, dies den Benutzern zur Verfügung
zu stellen Sie müssen diese Einstellung verfügbar machen. Das werde ich jetzt einfach
sagen. Ähm, zumindest glaube
ich das. Das ist eine Auflösung von 50%. Also 960 mal 540. Und es ist so schwer, den
Unterschied zu erkennen. Das ist natürlich bilinear, und wir werden es wieder
auf 100 reduzieren Und es ist erstaunlich, welchen Unterschied Sie hier sehen
werden Und so, ich weiß es nicht. Ich
weiß nicht, was ich sagen soll. Leistung. Ausgewogen.
Es ist so gut. Und man kann es immer noch in
Action-Szenen in Bewegung erkennen. Diese Kamera
bewegt sich also ziemlich langsam. Es ist schwer,
den Unterschied zu erkennen. Es ist ein gutes Beispiel dafür, wie
leistungsfähig die Software ist, aber es ist
kein
gutes das Spielerlebnis aussehen
wird, weil , weißt
du, bei vielen Spielen viel
auf dem Bildschirm passieren wird. Aber es ist immer noch erstaunlich, dass
wir dies unseren Spielern mit
sehr geringem Aufwand
zur Verfügung stellen, völlig minimal.
Das ist also großartig.
12. Schlussbemerkung: Ordnung, Leute. Das ist es. Lassen Sie mich wissen, wenn Sie Fragen
haben. Ich bin unten im Discord. Ich bin da, wenn
du Hilfe brauchst Es gibt dort eine Menge anderer Leute
, die dir helfen können. Und wir sind immer
bemüht, über
den Hund und die
Spielentwicklung im Allgemeinen zu chatten . Das ist alles für diesen, Leute. Ich bin Oak von Shaft Games
und wir sehen uns beim nächsten Mal.