In einem Objekt auf ein anderes verweisen

Willkommen in der OMSI-WebDisk!
Als Gast kannst du nur Inhalte in deiner ausgewählten Sprache sehen. Registrierte Nutzer können die Sichtbarkeit anderer Sprachen in ihrem Kontrollzentrum aktivieren, weitere Infos hier.
Alle Themen sind in den Foren mit einer Sprachflagge gekennzeichnet: = Englisch [EN], = Deutsch [DE], = Französisch [FR]. Wenn du die angegebene Sprache nicht beherrschst, schreibe auf Englisch!
  • Hallöchen,

    ich wollte wissen, ob es möglich ist,

    in einer eigenen .sco-Datei auf ein Model aus einem anderen Ordner zu verweisen.

    Bei meinem Beispiel ist es so:

    Ich baue eine eigene Map und möchte einheitliche Straßentexturen haben. Ich habe jedoch eine Kreuzung aus dem X10-Add-On verbaut und

    darf die ja nicht einfach rüber kopieren. Dort möchte ich dann die richtige Bürgersteig-Textur und die richtige Straßen-Textur verwenden.

    Kann mir da jemand helfen?


    LG

  • Ausgehend davon, dass diese .sco in SceneryObjects\<Dein Ordner> liegt:

    Code
    [mesh]
    ..\..\X10 Kreuzungen\<normaler Model-Pfad>

    Die Texturen werden dann allerdings nicht aus dem X-Verzeichnis geladen, sondern aus deinem.

  • Ich habe jetzt mal nicht die X10 Kreuzung genommen, weil es dieselbe auch bei Marcel gibt.


    So sieht meine sco-Datei aus:



    Im Editor erscheint jedoch garnichts wenn ich versuche sie zu platzieren.


    Habe ich noch etwas vergessen?


    LG


    Was allerdings wahrscheinlich auch noch ein Problem ist, dass die Texturen, die für die Straßen benutze, im OMSI-Root Texture Ordner liegen und auch nach Copyright dort bleiben müssen.

    Einmal editiert, zuletzt von Lenn () aus folgendem Grund: Ein Beitrag von LJH mit diesem Beitrag zusammengefügt.

  • Kreuz_MC\model\Einm_altonaer.o3d

    ..\..\X10 Kreuzungen\<normaler Model-Pfad>

    Das ..\..\ steht nicht grundlos da. Das muss da schon hin. Mit jedem ..\ wechselst du in der Ordnerstruktur hinauf, also hier von Model zu deinem Hauptverzeichnis und dann in den Sceneryobjects-Ordner.

  • Die Texturen werden zuerst aus dem Texture-Ordner im Ordner der sco gesucht, wenn dort nicht vorhanden, dann im Texture-Ordner im Omsi-Hauptverzeichnis. Da jeweils zuerst als .dds, unabhängig von der im Mesh eingetragenen Dateiendung, dann die im Mesh eingetragene Dateiendung. Wenn nichts davon vorhanden ist (wonach es hier aussieht), wird die Textur weiß.


    Also... Die entsprechende Gehwegtextur liegt bei dir augenscheinlich nicht im Texture-Ordner im Omsi-Hauptverzeichnis oder trägt einen falschen Namen.

  • Woher sollte aber das Objekt sonst seine Texturen beziehen, wenn es doch keine Angaben hat?

    Das steht fest in der o3d. Dort ist ein relativer Pfad Textur.bmp vorhanden, woran OMSI dann noch texture vorhängt. Somit würde dann texture\Textur.bmp entstehen. Existiert diese relative Angabe am Sceneryobject nicht, dann wird nach dem Texturnamen im globalen texture-Ordner gesucht.


    Also zusammengefasst scheint die angegebene Textur wohl doch nicht vorhanden zu sein. Was du zur Kontrolle machen könntest, wäre dir die o3d mit einem Texteditor zu öffnen und nach Einträgen wie .dds, .bmp oder wie jeweilige Texturendung zu suchen. Daran erkennt man meistens den korrekten Texturnamen, da diese immer mehr oder weniger lesbar in der o3d stehen. Wenn du dir da beim korrekten Namen der jeweiligen Texturen nicht sicher bist, kannst du uns ja Mal die Ausschnitte der Datei um die offensichtlichen Texturnamen schicken (+ ca. 3 Zeichen). Da sollte der Editor hier auch "korrekt" darstellen.

  • Also ich hab es ja so, dass ich ein Objekt habe, bei dem weder Textur noch Model im Unterordner sind. Deswegen glaube ich, dass es darum nicht mit der Textur funktioniert. In der o3d-Datei sind auch Texturen angegeben, jedoch kann man die schließlich nicht ändern. Die Kreuzung kommt eigentlich von Marcel und ich möchte diese mit einer anderen Textur versähen. Deshalb habe ich in meinem Sceneryobject-Unterordner eine sco-Datei erstellt, in welcher auf das Model (Mesh) von Marcel verwiesen wird. Aber eine Textur ist ja nur im Objekt selber angegeben, die man auf legalem Wege ja nicht ändern kann.


    Die Texturen die ich benutzten möchte liegen in OMSI 2\Textures\SGTVP.

    Die original Kreuzung, auf die ich verwiesen habe, liegt in OMSI 2\Sceneryobjects\Kreuz_MC\model.

    Und MEINE sco-Datei liegt in OMSI 2\Sceneryobjects\LJH\Kronenhagen.


    Ich glaube zwar, dass es nichts gebracht hat, dass ich bei dem Punkt [Splinehelper] eine Spline mit den Texturen angegeben haben, die ich haben will, aber

    diese Spline befindet sich in OMSI 2\Splines\LJH\Kronenhagen. In einer sli sind die Texturen schließlich in der .sli-Datei anzugeben.

  • Ach so... Dann würde ich es Mal mit einem matl_change versuchen, das wäre da dann noch die beste Methode. Dazu siehe im SDK.

  • Wenn ich dich nicht missverstanden habe, müsste ich theoretisch die Texturen, die ich haben will, aus dem SGTVP-Ordner in den Root-Texturen-Ordner ziehen und die nach den Texturen in der o3d-Datei umbenennen, oder?


    Wenn das der Fall wäre, könnte ich die Texturen von SGTVP nicht nutzen, da seine Copyright-Bestimmungen besagen, dass die Texturen in dem Ordner bleiben sollen.


    Dazu siehe im SDK.

    Wie geht das denn? Bzw. welche Anwendung muss ich nutzen?


    Die habe ich heruntergeladen

    Einmal editiert, zuletzt von Lenn () aus folgendem Grund: Ein Beitrag von LJH mit diesem Beitrag zusammengefügt.

  • Wenn ich dich nicht missverstanden habe, müsste ich theoretisch die Texturen, die ich haben will, aus dem SGTVP-Ordner in den Root-Texturen-Ordner ziehen und die nach den Texturen in der o3d-Datei umbenennen, oder?

    Genau, das wäre auch eine Möglichkeit, aber wegen des Urheberrechts eben nur theoretisch. Aber wenn du deine Karte nicht veröffentlichen willst, kannst du das Natürlich machen. Das kann dir keiner verbieten (außer der Windows-Explorer, der meint, dass irgendeine Datei verwendet wird lol).


    Wie geht das denn? Bzw. welche Anwendung muss ich nutzen?

    Gar keine Anwendung. Es handelt sich dabei um die PDF, die hier drinne ist: https://reboot.omsi-webdisk.de…6-omsi-sdk-2deu-0-02-zip/

  • Okay, ich hab das nachgelesen.


    Code
    [matl_change]
    sdk1.bmp
    0
    discrete 

    Jedoch stand dort auch, dass 'discrete' das ganze sekündlich durchwechseln lässt. Kann man dann auch auf konstant stellen? Und es sind ja zwei Texturen. Einmal die Asphalt-Textur und die Gehweg-Textur.

  • Du kannst dir einfach irgendeinen Variablennamen wählen und ein Scirpt erstellen und einbinden:

    Code: texchange.osc
    {init}
         1 (S.L.discrete)
    {end}


    Die Variable natürlich noch in eine Varlist eintragen. ;)

  • Okay, ich hab das gemacht und im Editor hat sich nichts verändert.


    Ich bin dann auf diese Zeile im Logfile gestoßen:

    Code
    93 13:08:43 -  -     Warning:       File Sceneryobjects\LJH\Kronenhagen\Junct_8m_krhg.sco: texture filename SGTVP\Pflasterstein_03.dds not found in mesh file Sceneryobjects\LJH\Kronenhagen\model\..\..\..\Kreuz_MC\model\Einm_altonaer.o3d!


    So sieht es in der sco aus:

  • Da weiß ich auch nicht mehr weiter, aber eigentlich sollte dieses Textursuchverfahren von OMSI auch bei dem Befehl angewendet werden. Kannst du nochmal deine sco schicken?

  • Ach nee, ich habe dir jetzt totalen Quatsch erzählt... Du brauchst [matl_freetex]. Dazu siehe auch im SDK. Sorry für die Verwirrung, ich habe mich da völlig vertan. ^^

  • Leider immer noch nicht...

    Code
    90 13:08:43 -  -     Warning:       Did not find texture file "text.bmp"!
    91 13:08:43 -  -     Warning:       Did not find texture file "str_side1.bmp"!
    92 13:08:43 -  -     Warning:       Did not find texture file "str_gehweg03.bmp"!
    93 13:08:43 -  -     Warning:       File Sceneryobjects\LJH\Kronenhagen\Junct_8m_krhg.sco: texture filename SGTVP\Pflasterstein_03.dds not found in mesh file Sceneryobjects\LJH\Kronenhagen\model\..\..\..\Kreuz_MC\model\Einm_altonaer.o3d!
    94 13:08:45 -  -     Warning:       load x File - Direct9 Error: DXFILEERR_FILENOTFOUND (-2005531815)
    95 13:08:45 -  -     Warning:       load x File - Direct9 Error: DXFILEERR_FILENOTFOUND (-2005531815)
    96 13:08:45 -  -     Warning:       load x File - Direct9 Error: DXFILEERR_FILENOTFOUND (-2005531815)
    97 13:08:45 -  -     Warning:       load x File - Direct9 Error: DXFILEERR_FILENOTFOUND (-2005531815)
  • Unter matl_freetex muss auch die Textur stehen, die du wechseln willst. ;) Die Stringvariable setzt dann den Texturnamen:

    Code: *.osc
    {init}
         "Texturpfad" (S.$.strvarname)
    {end}


    Dementsprechend brauchst du eine Stringvarnamelist mit dem entsprechenden Stringvariablennamen.