SCS - Ein Blick auf die technische Seite: Telemetry SDK
Donnerstag, 12. Februar 2015
Heute möchten wir über etwas sprechen, das ein wenig von den typischen Posts in unserem Blog abweicht - wir möchten ein wenig Licht auf unsere Telemetrie-SDK-Bibliothek und Beispiele für ihre Verwendung für Euro Truck Simulator 2 werfen (das gleiche SDK wird für American Truck Simulator vom ersten Tag an verfügbar sein).
Sie fragen sich wahrscheinlich, was ist das Telemetrie-Ding und was macht es wirklich? Das SDK bietet Moddern eine benutzerfreundliche API, die Zugriff auf eine Reihe von Spieldaten wie (aber nicht beschränkt auf) Daten gewährt: Fahrzeugmarke und -modell, Geschwindigkeit, aktueller Gang, Kartenkoordinaten (Navi), aktuelle Job-Informationen, Motordrehzahl, Beschleunigung Kräfte und viele weitere ähnliche Statistiken über Ihr Spiel. Alle diese Daten können verwendet werden, um verschiedene Modifikationen im Zusammenhang mit dem Spiel zu erstellen oder sogar ein intensiveres Erlebnis zu schaffen.
Das hier verfügbare SDK erfordert Programmierkenntnisse, aber unsere Community hat bereits eine Reihe verschiedener Projekte mit unserem SDK erstellt. Schauen wir uns einige davon an:
Telemetrie-Webserver und Mobile Dashboard
Dieses Fan-Add-On gibt dem Spieler die Möglichkeit, den Status des Spiels über eine Webseite in einem Browser in einem lokalen Netzwerk anzuzeigen. In der Praxis bedeutet dies, dass Ihr Tablet oder Smartphone Sie als mobiles Dashboard-Display verwenden kann, das Ihre Messgeräte sowie wichtige Reiseinformationen anzeigt. So haben Sie die Möglichkeit, den Hauptbildschirm übersichtlich zu halten.
Verbessertes Force Feedback für Logitech-Geräte
Benutzer von Logitech-Rädern mögen es mögen, dass dieses eher technische Plugin ihnen die Möglichkeit gibt, ein verbessertes Kraft-Feedback zu erzielen. Dieses Plugin verleiht Ihrem Rad eine andere Funktion als das Standardspiel, indem es verschiedene Funktionen, die in modernen Lastwagen zu sehen sind, vergütet, und eine Reihe unterschiedlicher Reaktionen darauf, wann Ihr Lastwagen unter anspruchsvolleren Bedingungen gefahren wird. Der Autor dieses Mods bietet auch eine Reihe von Verbesserungen für das Schalten und Schalten von Gängen. Weitere Informationen finden Sie im Thread oben.
Verbesserte Truck-Sounds
Liebhaber von Motoren, die an Motoren rauschen, werden dieses Add-on zu schätzen wissen, das einen lauteren Satz von Motor- und LKW-Geräuschen in Ihr Spiel bringt, da das Ziel dieser Modifikation darin besteht, ein realistisches Fahrerlebnis zu bieten, indem das Spiel durch zusätzliche Geräusche verstärkt wird, die auf dem LKW basieren Leistung und Verhalten aus den Telemetriedaten abgeleitet.
G19 LCD-Anzeige
Dieses Add-On ermöglicht, genau wie Sie es anhand seines Namens erraten haben, die Anzeige verschiedener Gameplay-Informationen über das LCD-Display Ihrer G19-Tastatur, das ähnlich wie das oben erwähnte mobile Dashboard arbeitet.
Um anzufangen
Wenn Sie loslegen möchten, lesen Sie in unserem Modding-Bereich das neueste TELEMETRY-SDK.
Sie können auch das von Fans erstellte GitHub-Repository mit einer Live-Implementierung der API überprüfen, die Ihnen beim Einstieg in die Erstellung eigener Add-Ons und Plug-Ins für Euro Truck Simulator 2 hilft.
Beitrag von Viktor D, SCS. Übersetzung von Angela Wittke (Angelwingking)
SCS – Multi-Monitor Unterstützung
Voraussetzungen
Es werden nur Multimon-Konfigurationen
unterstützt, die dem Spiel als ein einziger virtueller Bildschirm
mit großer Auflösung angezeigt werden. Sie müssen entweder Nvidia
Surround, AMD Eyefinity oder ein gleichwertiges Produkt verwenden,
abhängig von Ihrem Grafikchipsatz. Wenn Sie das Spiel mit mehreren
getrennten Ansichten verwenden, sollten Sie die treiberbasierte
Rahmenkorrektur (die von Ihrem Bildschirmtreibern angebotene)
deaktivieren und stattdessen die entsprechenden cvars
(Spielkonfigurationsvariablen, siehe unten) verwenden. Lassen Sie das
Spiel die Lünettenabstände selbst in die Hand nehmen.
Die Standard-Innenkameras blicken
leicht nach unten, um das LKW-Armaturenbrett besser sichtbar zu
machen. Während dies für normale Monitore gut funktioniert, sieht
es in den Seitenansichten des Multi-Monitor-Setups falsch aus. Aus
diesem Grund wird empfohlen, g_interior_camera_zero_pitch vor dem
Starten des Spiels auf 1 zu setzen, um diese Funktion zu
deaktivieren, ohne dass die Spieldaten geändert werden müssen.
Vordefinierte Modi
Typen
Das Spiel unterstützt mehrere
integrierte Modi. Diese Modi werden mit r_multimon_mode cvar
ausgewählt. Beachten Sie, dass alle integrierten Modi mindestens
drei Monitore erwarten und nur dann aktiviert werden, wenn das
Seitenverhältnis der Auflösung mindestens 2,5: 1 beträgt.
Folgende Modi werden unterstützt:
0 - Einzelansicht und
Benutzeroberfläche für den gesamten Bereich. Die Anzeige wird als
einzelne ultra-breite planare Anzeige dargestellt, wobei die
Benutzeroberfläche (Benutzeroberfläche) den gesamten Bereich
abdeckt. Dies ist die Standardeinstellung. Der Nachteil ist, dass das
Bild auf den Seiten aufgrund des weiten Sichtfelds erheblich verzerrt
ist.
1 - Einzelansicht, die den gesamten
Bereich abdeckt, wobei die Benutzeroberflächenelemente in der Mitte
des dritten Monitors positioniert sind (z. B. auf dem mittleren
Monitor in der Konfiguration mit drei Monitoren). Dies ähnelt 0, die
Benutzeroberfläche deckt jedoch nur den Bereich des mittleren
Monitors ab.
2 - Drei separate Ansichten für drei
Monitore. Jeder Monitor hat eine eigene Ansicht mit einem
Standardsichtfeld von 50 Grad horizontal. Die Benutzeroberfläche
befindet sich auf dem mittleren Monitor.
3 - Verwendet drei Monitore ganz links
aus einer Konfiguration mit vier Monitoren, um die gleichen Ansichten
wie bei 2 anzuzeigen, und der letzte Monitor zeigt die Zusatzansicht
mit Blick nach unten auf das Armaturenbrett und das Lenkrad.
Zusätzliche Konfiguration
Die Visualisierung in den Modi 2 und 3
kann durch folgende cvars weiter gesteuert werden:
r_multimon_border_fov_left und
r_multimon_border_fov_right - Blickwinkel in Grad, der von der Blende
(z. B. Monitorrahmen) zwischen dem mittleren und dem linken / rechten
Monitor abgedeckt wird. Wird zur Lünettenkorrektur verwendet.
r_multimon_fov_horizontal und
r_multimon_fov_vertical - Sichtfeld, das für jede Ansicht verwendet
wird. Wenn nur eine davon ungleich Null ist, wird die verbleibende
berechnet, um das Seitenverhältnis der Auflösung beizubehalten.
Wenn beide Null sind, wird die Standard-FOV-Berechnung verwendet, die
auf der aktuellen In-Game-Kamera basiert.
r_multimon_vert_offset_left und
r_multimon_vert_offset_right - Vertikaler Versatz in Metern des
linken / rechten Monitors vom mittleren. Kann verwendet werden, um
die linke Seitenansicht nach oben oder unten zu verschieben, um die
Sichtbarkeit der Spiegel angesichts des eingeschränkten vertikalen
Sichtfelds zu verbessern.
r_multimon_rotation_center,
r_multimon_rotation_left, r_multimon_rotation_right und
r_multimon_rotation_aux - Zusätzliche Drehung gegen den
Uhrzeigersinn für Ansichten einzelner Monitore. Wird
höchstwahrscheinlich mit einem Wert von 90 oder -90 verwendet, um
einen Monitor zu kompensieren, der sich physisch in einer anderen
Ausrichtung befindet (z. B. Hochformat oder Querformat) als im
Grafiktreiber konfiguriert. Dies ermöglicht das Mischen von Hoch-
und Querformat, auch wenn der Fahrer dies nicht unterstützt.
r_multimon_interior_in_main -
Steuert das Rendering des Innenraums der Kabine in den
Hauptansichten. Kann zum Deaktivieren des Innenraums verwendet
werden, wenn ein physischer Innenraum vorhanden ist.
r_multimon_exterior_in_aux -
Steuert das Rendern des Äußeren in die Hilfsansicht (Modus 3).
Beachten Sie, dass die Schatten derzeit noch aktualisiert werden,
auch wenn die Außenansicht deaktiviert ist.
Angepasster Modus
Dieser Modus ermöglicht eine größere
Flexibilität bei der Einrichtung von 1-4 Monitoren. Dies wird durch
Setzen von r_multimon_mode cvar auf 4 aktiviert. Beachten Sie, dass
dieser Modus im Gegensatz zu den vordefinierten Modi unabhängig vom
Seitenverhältnis der Anzeige aktiviert werden kann. In diesem Modus
übernimmt das Spiel die Konfiguration aus \ Documents \
\ multimon_config.sii. Wenn die Datei nicht existiert, wird sie beim
ersten Start des Spiels in diesem Modus erstellt. Sie können die
Datei entweder manuell bearbeiten oder den Multimon-Befehl im Spiel
verwenden, um die meisten Anpassungen im Handumdrehen vorzunehmen.
Beachten Sie, dass bei Verwendung des Befehls multimon darauf
geachtet werden muss, dass das Ergebnis explizit gespeichert wird,
bevor das Spiel beendet oder Einstellungen über den Bildschirm mit
den Spieloptionen geändert werden, da die Änderungen in diesem Fall
verloren gehen würden.
Die Position der ui
(Benutzeroberfläche) und der Monitore in der vom Fahrer erstellten
virtuellen Anzeige wird unter Verwendung normalisierter Koordinaten
angegeben, wobei [0,0] der linken unteren Ecke und [1,1] der rechten
oberen Ecke entspricht. Der gesamte Monitor oder die gesamte
Benutzeroberfläche muss in den Bereich [0; 1] passen, oder das
Verhalten ist undefiniert.
Attribute der Benutzeroberfläche
normalized_ui_x - Position der unteren
linken Ecke der ui (Benutzeroberfläche) in der vom Fahrer erstellten
virtuellen Anzeige.
normalized_ui_width - Breite der
Benutzeroberfläche in der vom Treiber erstellten virtuellen Anzeige.
Attribute eines einzelnen Monitors
name - Name des Monitors, der mit dem
Befehl multimon verwendet werden soll.
normalized_x und normalized_y -
Position der unteren linken Ecke des Monitors in der vom Fahrer
erstellten virtuellen Anzeige.
normalized_width und
normalized_height - Dimensionen der Ansicht des Monitors in der vom
Treiber erstellten virtuellen Anzeige.
horizontal_fov_relative_offset und
vertical_fov_relative_offset - Dieser Wert wird mit dem Sichtfeld des
primären Monitors multipliziert und zu Richtung und Neigung der
Kamera addiert. Kann verwendet werden, um die Monitorposition selbst
relativ zu machen, wenn das Sichtfeld des primären Monitors
automatisch berechnet wird.
Heading_offset, Pitch_offset und
Roll_offset - Rotationsversatz in Grad zur Ausrichtung der Kamera
hinzugefügt. Kann verwendet werden, um die Ansicht in die gewünschte
relative Richtung zu richten oder um die Rahmenkorrektur
durchzuführen.
camera_space_offset - Versatz der
Kamera von der Standardposition. Kann verwendet werden, um die Kamera
in eine bestimmte Position zu bewegen oder vertikal vorzuspannen, um
die physische Anordnung der Monitore besser anzupassen.
horizontal_fov_override und
vertical_fov_override - Überschreibt den entsprechenden Blickwinkel.
Wenn beide Werte Null sind, wird der von der Standardkamera
berechnete Winkel verwendet. Wenn mindestens einer nicht Null ist,
wird er direkt verwendet und der zweite Winkel wird berechnet, um das
Seitenverhältnis beizubehalten.
render_interior - Aktiviert das
Rendern des Innenraums der Kabine. Kann verwendet werden, wenn Sie
eine physische Kabine haben.
render_exterior - Ermöglicht das
Rendern der Außenszene (z. B. Skybox, World und außerhalb des
Trucks) für die Ansicht. Beachten Sie, dass in die Ansicht geworfene
Schatten unabhängig von dieser Einstellung weiterhin die Außenszene
enthalten.
frustum_subrect_x,
frustum_subrect_y, frustum_subrect_width und frustum_subrect_height -
Ermöglicht die Angabe eines Teils des vollständigen Kegelstumpfs,
der in den Monitor gerendert wird. Kann verwendet werden, um die
Mitte der Projektion außerhalb der Mitte des Monitors zu
verschieben. Wenn beispielsweise zwei Frontmonitore zur Darstellung
der Windschutzscheibe des Lastwagens verwendet werden, während der
Fahrer vor dem linken sitzt, kann der linke Teil des Kegelstumpfs
entfernt werden, um die Mitte des Vorsprungs vor dem Fahrer zu
verschieben. Beachten Sie, dass durch die Änderung dieser Ansicht
das effektive Seitenverhältnis geändert wird, sodass beide
Fov-Overrides festgelegt werden müssen, um es zu korrigieren.
Multimon-Befehl
Während der Befehl multimon dynamische
Änderungen der Größe der Monitoransichten zur Laufzeit zulässt,
kann durch Vergrößern der Größe die maximale effektive
Renderauflösung nicht über die Auflösung hinaus erhöht werden,
die von der größten Ansicht verwendet wird, mit der das Spiel
gestartet wurde. In diesem Fall hat die geänderte Ansicht die
richtige Größe, der Inhalt kann jedoch unscharf aussehen. Um dieses
Problem zu beheben, starten Sie das Spiel neu oder ändern Sie die
vsync-Einstellungen in den Anzeigeoptionen vorübergehend (und wenden
Sie sie an), nachdem Sie die Konfiguration zuerst mit multimon save
gespeichert haben.
Die folgenden Befehle werden
unterstützt:
Init
Syntax: multimon init
Beispiel: multimon init drei
Dieser Befehl initialisiert die
Laufzeitkonfiguration unter Verwendung eines vordefinierten Setups.
Folgende Setups werden unterstützt:
empty (leer) - Keine Ansichten,
Benutzeroberfläche über den gesamten Bildschirm. Dies ist ein
praktischer Ausgangspunkt für komplexere benutzerdefinierte
Einstellungen.
one - Erstellt eine einzige
Benutzeroberfläche mit breiter Ansicht über den gesamten
Bildschirm. Dies ähnelt dem vordefinierten Modus 0, bietet jedoch
die Möglichkeit, das interne Rendern bei Bedarf zu deaktivieren.
Three (Drei) - Setup entsprechend
dem vordefinierten Modus 2
three_with_dash - Setup
entsprechend dem vordefinierten Modus 3
Bei der Initialisierung mit three oder
three_with_dash wird der Status der entsprechenden Tweaking-Versionen
zum Zeitpunkt der Initialisierung auf die Laufzeitkonfiguration
angewendet. Dies kann verwendet werden, um grundlegende Einstellungen
mit den cvars im vordefinierten Modus vorzunehmen und den
benutzerdefinierten Modus zu verwenden, um nur das Ergebnis zu
optimieren.
Neu laden
Syntax: multimon reload
Beispiel: multimon reload
Ersetzt die Laufzeitkonfiguration mit
einem Inhalt von multimon_config.sii
Speichern
Syntax: multimon save
Beispiel: multimon save
Speichert die aktuelle
Laufzeitkonfiguration in multimon_config.sii. Dies MUSS für die
Änderungen verwendet werden, um den Neustart des Spiels oder die
Änderung der Anzeigeeinstellungen beizubehalten.
Hinzufügen
Syntax: multimon add
Beispiel: multimon add left 0.25 0 0.5
1
Definiert den Monitor im angegebenen
Bereich der Ausgabeauflösung und ordnet ihn dem angegebenen Namen
zu. Beachten Sie, dass der Name ui für spezielle Zwecke reserviert
ist.
Löschen
Syntax: multimon remove >
Beispiel: multimon remove left
Entfernt den mit dem angegebenen Namen
verknüpften Monitor.
Primäre erwirken
Syntax: multimon make_primary
Beispiel: multimon make_primary center
Markiert den angegebenen Monitor als
primär. Dies sollte wahrscheinlich der Monitor in der Mitte der
Ansicht sein.
Liste
Syntax: Multimon-List
Beispiel: Multimon-List
Listet die Namen aller definierten
Monitore auf
Set
Syntax: multimon set
Beispiel: multimon set left
horizontal_fov_override 60
Legt das angegebene Attribut für den
angegebenen Monitor fest. Der spezielle Monitorname ui ermöglicht
die Änderung der Position der Benutzeroberfläche.
Erhalten
Syntax: multimon get
[]
Beispiel: multimon get left normalized_
Gibt die Werte aller Attribute des
angegebenen Monitors aus, deren Name mit dem angegebenen Präfix
beginnt. Wie bei set ermöglicht ui den Zugriff auf die
Benutzeroberfläche.
Keine Kommentare:
Kommentar veröffentlichen
Diese Seite ist eine Fanseite für Deutschsprachige, die ETS2 & ATS haben und sich gerne Informieren möchten. Wir sind nicht von SCS, aber für SCS. Happy Trucking.
Bitte immer höflich bleiben, keine Beleidigungen oder Beschimpfungen. Fragen werden beantwortet, sobald es geht. Nehmen Sie Rücksicht auf User, die sich nicht sehr gut ausdrücken können, oder noch sehr wenig Ahnung von SCS und ihren Simulations-Spielen haben. Danke.