Donnerstag, 12. Februar 2015

SCS - Ein Blick auf die technische Seite: Telemetry SDK

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.