Donnerstag, 19. Februar 2015

SCS - Blender Tools - Erster Schritt

SCS - Blender Tools - Erster Schritt

Donnerstag, 19. Februar 2015


Es ist schon eine Weile her, als wir zum ersten Mal erwähnt haben, dass es unser Ziel ist, die Mod-Community durch Tools zu unterstützen, die auf die Leistungsfähigkeit unserer internen Anlageerstellungs-Pipeline abgestimmt sind. Der Weg dorthin erwies sich als etwas holpriger als erwartet, aber wir freuen uns, endlich sehr gute Fortschritte vermelden zu können.

Heute veröffentlichen wir die erste Version der SCS Blender Tools. Es gibt noch viel zu tun, um das Renderingverfahren und die Unterstützung der komplexesten Arten von 3D-Objekten zu unterstützen, aber wir sind bereits gut genug, um Sie zum Ausprobieren einzuladen.

Bitte bedenken Sie, dass Sie eine Beta erhalten, ohne dass ausdrücklich garantiert wird, dass sie perfekt funktioniert oder überhaupt in Ihrem gewünschten Kontext funktioniert. Sie erhalten einen Speicherauszug der aktuellen SCS Blender Tools-Codebase, wir halten keinen Teil davon zurück. Dort gibt es Code, der das breite Spektrum der verschiedenen 3D-Modelltypen in unseren Spielen zumindest teilweise abdeckt, aber ab sofort machen wir nur auf die spezifischen Aspekte der SCS Blender-Tools aufmerksam, die wir für Sie bereithalten. Weitere Optionen braucht noch Zeit, um zu reifen.

Zu diesem Zeitpunkt empfehlen wir nur die unten aufgelisteten Arten von Assets, mit denen Sie experimentieren könnten. Wir haben nicht die Möglichkeit, umfassende Unterstützung in unseren Foren zu bieten, aber wir werden ein Auge darauf haben, ob wir uns einbringen können, wo die Community Anleitung braucht. Es gibt jedoch einen kleinen Grund, zu versuchen, auf Fragen zu den Bereichen der Werkzeuge zu antworten, die als unfertig betrachtet werden.


Wir haben mehrere Beispielmodelle aufgenommen, die im Allgemeinen die Möglichkeiten von Asset-Typen veranschaulichen, die Sie heute perfekt erziehlen könnten. Diese Modelle sollten Sie bei der Erstellung gut optimierter Modelle unterstützen, genau so wie wir sie erstellen.

Schauen wir uns die Beispielmodelle genauer an:


Detailliertes Gebäudemodell

Dies ist ein Modell eines detaillierten Gebäudes. Wir verwenden solche Modelle nahe am Player, daher sind die Textur, die Maschenauflösung und der Detaillierungsgrad recht groß. Sobald Sie sie importieren, können Sie sehen, dass sie etwas mehr Material als einfachere Modelle benötigt, um die nahe Platzierung optimal zu unterstützen.


Weit entfernte Gebäude

Dies ist ein Modellbeispiel, das wir weit entfernt vom Player platzieren. Das Netz ist wesentlich einfacher und die Textur ist viel kleiner. Da es sich im Spiel weit entfernt von der Kamera befindet, ist eine unzureichende Auflösung nie spürbar. Wie Sie sehen, verwendet es eine wichtige Optimierung - mehrere Gebäude werden unter Verwendung des gleichen Materials und der gleichen Textur zu einem einzigen Netz kombiniert. Auf diese Weise können Grafikkarten solche Modelle wesentlich schneller verarbeiten (nur ein Teil der Geometrie, nicht mehrere Teile).


Truck Bullbar-Upgrade-Modell

Hier ist ein Beispiel eines LKW-Upgrade-Teils - Scania Bullbar. Wir haben bewusst ein etwas ausgefeilteres Upgrade-Modell eingebaut. Auf diese Weise können Sie den Materialverbrauch und den Alphakanal in diesem Bull-Bar-Netz sehen. So ziemlich alle LKW-Upgrades (Dachgrills, niedrige Grills, Seitenschweller ...) wurden so gebaut.


LKW-Vorderrad


Hinteres LKW-Rad

Und die letzten zwei Proben noch speziellerer Geometrie - LKW-Räder. Sie verwenden ihre eigenen Materialien, wir empfehlen Ihnen, die Struktur zu erkunden. Überprüfen Sie die Verwendung von Texturen und die Komplexität des Netzes. Diese Modelle zeigen Ihnen auch ein Beispiel für die Verwendung von Teilen und die Art und Weise, wie ein spezielles Schattenrastergitter mit seinem Schattenrastermaterial verwendet wird, um Ihre eigenen LKW-Räder richtig herzustellen. [Beachten Sie, dass in einem zukünftigen Update von ETS2 / ATS ein Plan besteht, die Reifen und Radscheiben in separate Upgrade-Teile zu unterteilen.]

Starthilfe Für Sie


Wiki ist wahrscheinlich der wichtigste Ort für die Wissensdatenbank von SCS Blender Tools. Dort finden Sie die Schritte, die Sie benötigen, um mit den Tools zu beginnen. Sie können auch die Download-Links für SCS Blender-Tools finden. Und es gibt sogar den gesamten Quellcode der Tools, der für die Programmierer interessant sein könnte:


Wir haben einen speziellen Forum-Zweig eingerichtet, der ausschließlich den SCS Blender-Tools gewidmet ist. Wenn Sie der Meinung sind, dass Sie einen Fehler in den Tools gefunden haben oder etwas darüber fragen möchten oder Ihr Wissen mit den anderen Leuten teilen möchten, die gerade erst anfangen, dann sind Sie hier genau richtig. Wir werden die Foren überwachen und hoffentlich ein paar Orientierungshilfen geben, aber wir erwarten auch nicht, dass wir auf jeden und jeden Hilferuf antworten können.


Wenn Sie alle oben genannten Links vergessen, können Sie immer mit dem Modding-Bereich der Euro Truck Simulator 2-Webseite beginnen. Die Links dort sollten Sie nicht nur zu den SCS Blender-Tools führen, sondern auch zu allen Modding-Richtlinien, die für eine erfolgreiche Mod-Erstellung wichtig sind.

Wir empfehlen Ihnen, alle Modelle selbst zu importieren und zu überprüfen. Jetzt brauchen Sie nur etwas Wissen über Blender!

Beitrag von Viktor Avdejev, SCS. Übersetzung von Angela Wittke (Angelwingking).

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.