LS3-Export und LS-/LS3-Import für Blender
- Leonard K.
- Beiträge: 1098
- Registriert: 12.06.2020 19:03:07
- Aktuelle Projekte: (N)MH
- Kontaktdaten:
Re: LS3-Export und LS-/LS3-Import für Blender
Sollte in der Version 2.0.22 der UV-Import funktionieren? Bei mir fehlen die Texturkoordinaten, wenn ich eine beliebige ls3-Datei in Blender importiere.
- Johannes
- Beiträge: 3244
- Registriert: 14.03.2009 22:36:06
- Aktuelle Projekte: Zusitools (http://git.io/zusitools)
Re: LS3-Export und LS-/LS3-Import für Blender
Nein, das ist noch nicht implementiert.
- Leonard K.
- Beiträge: 1098
- Registriert: 12.06.2020 19:03:07
- Aktuelle Projekte: (N)MH
- Kontaktdaten:
Re: LS3-Export und LS-/LS3-Import für Blender
Ok, hatte mich nur gewundert, weil es dazu schon einen Commit gab: https://github.com/zusitools/blender_ls ... 4132e91eab
- Johannes
- Beiträge: 3244
- Registriert: 14.03.2009 22:36:06
- Aktuelle Projekte: Zusitools (http://git.io/zusitools)
Re: LS3-Export und LS-/LS3-Import für Blender
Wer das heute erschienene Blender 4.0 verwenden will, muss das Add-on auf Version 2.0.23 aktualisieren.
- Christian Gründler
- Beiträge: 2227
- Registriert: 04.10.2003 13:27:48
- Wohnort: Brühl (Baden)
Re: LS3-Export und LS-/LS3-Import für Blender
Hallo Johannes,
eine Frage zum Exporter für Blender < 2.80 (für >=2,80 ist das vermutlich nicht anders):
Es scheint nicht möglich zu sein, in zusiconfig.py die Lizenz einzustellen. In zusiconfig.py.default ist nichts vorgesehen, und experimentieren nach (oberflächlichem) Blick in den Programmcode hat nichts gebracht.
Ist das tatsächlich so, oder habe ich etwas übersehen?
eine Frage zum Exporter für Blender < 2.80 (für >=2,80 ist das vermutlich nicht anders):
Es scheint nicht möglich zu sein, in zusiconfig.py die Lizenz einzustellen. In zusiconfig.py.default ist nichts vorgesehen, und experimentieren nach (oberflächlichem) Blick in den Programmcode hat nichts gebracht.
Ist das tatsächlich so, oder habe ich etwas übersehen?
- Johannes
- Beiträge: 3244
- Registriert: 14.03.2009 22:36:06
- Aktuelle Projekte: Zusitools (http://git.io/zusitools)
- Christian Gründler
- Beiträge: 2227
- Registriert: 04.10.2003 13:27:48
- Wohnort: Brühl (Baden)
- Maurice S.
- Beiträge: 113
- Registriert: 17.03.2020 00:31:50
Re: LS3-Export und LS-/LS3-Import für Blender
Servus,
ich habe ein Problem mit der Texturpfad-Findung auf meinem neuen System. Vermutlich liegt es daran, dass ich die Steam-Version von Zusi zuerst auf einer anderen Festplatte installiert hatte, dann aber nochmal auf eine andere neu installiert habe und jetzt irgendwelche Werte der Registry falsch sind.
Zusi, Blender und die .blend-Dateien befinden sich auch alle auf der gleichen Festplatte ("C" in diesem Fall) wie es die Doku vorgibt.
Hier mal ein Beispiel:
.blend-Datei: "C:\Users\Public\Documents\BlenderZusi\PermanentWay\France\1435mm\Appareils_de_voie_unifies\Traversee_Oblique\0222"
Zusi-Exportpfad: "C:\Users\Public\Documents\Zusi3Steam\PermanentWay\France\1435mm\Appareils_de_voie_unifies\Traversee_Oblique\0222"
Zusipfad offiziell: "C:\Program Files (x86)\Steam\steamapps\common\ZUSI 3 - Aerosoft Edition"
Zusipfad privat: "C:\Users\Public\Documents\Zusi3Steam"
Texturpfad in der ls3: "..\..\..\Program Files (x86)\Steam\steamapps\common\ZUSI 3 - Aerosoft Edition\_ZusiData\PermanentWay\Deutschland\1435mm\Regeloberbau\Weichen\Texturen\Weiche_Holzschwellen_K-Oberbau.dds"
--> Zusi beschwert sich da natürlich, weil dieser Pfad falsch ist.
Noch ein paar andere Eckdaten:
Blender-Version 3.0.1 (andere wurden auch getestet und funktionieren auch nicht)
Windows 11 Pro
ich habe ein Problem mit der Texturpfad-Findung auf meinem neuen System. Vermutlich liegt es daran, dass ich die Steam-Version von Zusi zuerst auf einer anderen Festplatte installiert hatte, dann aber nochmal auf eine andere neu installiert habe und jetzt irgendwelche Werte der Registry falsch sind.
Zusi, Blender und die .blend-Dateien befinden sich auch alle auf der gleichen Festplatte ("C" in diesem Fall) wie es die Doku vorgibt.
Hier mal ein Beispiel:
.blend-Datei: "C:\Users\Public\Documents\BlenderZusi\PermanentWay\France\1435mm\Appareils_de_voie_unifies\Traversee_Oblique\0222"
Zusi-Exportpfad: "C:\Users\Public\Documents\Zusi3Steam\PermanentWay\France\1435mm\Appareils_de_voie_unifies\Traversee_Oblique\0222"
Zusipfad offiziell: "C:\Program Files (x86)\Steam\steamapps\common\ZUSI 3 - Aerosoft Edition"
Zusipfad privat: "C:\Users\Public\Documents\Zusi3Steam"
Texturpfad in der ls3: "..\..\..\Program Files (x86)\Steam\steamapps\common\ZUSI 3 - Aerosoft Edition\_ZusiData\PermanentWay\Deutschland\1435mm\Regeloberbau\Weichen\Texturen\Weiche_Holzschwellen_K-Oberbau.dds"
--> Zusi beschwert sich da natürlich, weil dieser Pfad falsch ist.
Noch ein paar andere Eckdaten:
Blender-Version 3.0.1 (andere wurden auch getestet und funktionieren auch nicht)
Windows 11 Pro
- Gorgi [Vale]
- Beiträge: 225
- Registriert: 10.04.2019 20:22:10
- Aktuelle Projekte: Am Bau bei der LN6 mitwirken.
Mdl Hcknhm, (Pausiert)
Strecke 4020 & 4080 Schwetzingen(Mannheim) bis Üst. Forst / Graben-Neudorf. (Pausiert)
Re: LS3-Export und LS-/LS3-Import für Blender
Nabend,
ich hänge mich mal hier dran,
bei mir ist es das selbe mit den Pfaden, allerdings baue ich mir die Pfade im Nachhinein immer zurecht.
Allerdings klappt es mit dem Pfad wenn die Datei im selben Ordner ist. Sonst nicht, es spielt auch keine Rolle wo das Arbeitsverzeichnis ist und ob es in diesem gespeichert wird.
Win 11 Home als Betriebssystem.
ich hänge mich mal hier dran,
bei mir ist es das selbe mit den Pfaden, allerdings baue ich mir die Pfade im Nachhinein immer zurecht.
Allerdings klappt es mit dem Pfad wenn die Datei im selben Ordner ist. Sonst nicht, es spielt auch keine Rolle wo das Arbeitsverzeichnis ist und ob es in diesem gespeichert wird.
Win 11 Home als Betriebssystem.
- Johannes
- Beiträge: 3244
- Registriert: 14.03.2009 22:36:06
- Aktuelle Projekte: Zusitools (http://git.io/zusitools)
Re: LS3-Export und LS-/LS3-Import für Blender
Ich habe beim Drüberschauen einen Bug im Registry-Code gesehen und behoben. Keine Ahnung, ob das das Problem löst, aber probiert mal bitte die aktuelle Version 2.0.24 aus. Sonst müssen wir weiterschauen.
- Maurice S.
- Beiträge: 113
- Registriert: 17.03.2020 00:31:50
Re: LS3-Export und LS-/LS3-Import für Blender
Bei mir hat sich nichts geändert.
- Johannes
- Beiträge: 3244
- Registriert: 14.03.2009 22:36:06
- Aktuelle Projekte: Zusitools (http://git.io/zusitools)
Re: LS3-Export und LS-/LS3-Import für Blender
Liegt an der Steam-Version. Workaround: Einmal die Zusi-Dateiverwaltung als Administrator starten, das Fenster "Generelle Zusi-Einstellungen" aufrufen und "OK" drücken.
- Johannes
- Beiträge: 3244
- Registriert: 14.03.2009 22:36:06
- Aktuelle Projekte: Zusitools (http://git.io/zusitools)
Re: LS3-Export und LS-/LS3-Import für Blender
Version 2.0.25 ist mit Blender 4.1 kompatibel.
- Maurice S.
- Beiträge: 113
- Registriert: 17.03.2020 00:31:50
Re: LS3-Export und LS-/LS3-Import für Blender
Ich brauche einen Ratschlag zu folgender Situation, da sowas glaube ich derzeit nicht möglich ist:
Ein Skript konfiguriert ein Objekt, in welchem Ankerpunkte vorhanden sind. Ich will nun das Objekt als lod1/2/... (welches die Ankerpunkte nicht enthält) exportieren und gleichzeitig ein Mutter-Lod haben, in welchem die Lod1/2/... und Ankerpunkte verknüpft sind.
Da ich das ganze Massenhaft machen will und sich die Position der Ankerpunkte in jedem Objekt unterscheidet, ebenso wie der Name des Objekts.
Dem ganzen liegt sowieso schon ein Skript zu Grunde, weshalb eigentlich nur eine Funktion des Exporters für die Erstellung dieser Mutter-Lod nötig wäre, der man ein Verzeichnis, einen Objektnamen, die Lod-Nummern (welche man idealerweise mit den Varianten verbinden kann).
Beispielsweise so: funktionsname(pfad, name = "objektname", lod = [1, 2]) und man bekommt dann diese Dateien:
objektname.lod --- enthält Verknüpfungen zu .lod1/2 und Ankerpunkte
objektname.lod1 --- Mesh Lod1
objektname.lod2 --- Mesh Lod2
Über die Lod-Distanzen müsste man sich noch Gedanken machen.
Ich hoffe es wird verständlich was ich will, vielleicht ließe ich das implementieren oder wir finden eine andere praktikablere Lösung.
Grüße
Maurice
Ein Skript konfiguriert ein Objekt, in welchem Ankerpunkte vorhanden sind. Ich will nun das Objekt als lod1/2/... (welches die Ankerpunkte nicht enthält) exportieren und gleichzeitig ein Mutter-Lod haben, in welchem die Lod1/2/... und Ankerpunkte verknüpft sind.
Da ich das ganze Massenhaft machen will und sich die Position der Ankerpunkte in jedem Objekt unterscheidet, ebenso wie der Name des Objekts.
Dem ganzen liegt sowieso schon ein Skript zu Grunde, weshalb eigentlich nur eine Funktion des Exporters für die Erstellung dieser Mutter-Lod nötig wäre, der man ein Verzeichnis, einen Objektnamen, die Lod-Nummern (welche man idealerweise mit den Varianten verbinden kann).
Beispielsweise so: funktionsname(pfad, name = "objektname", lod = [1, 2]) und man bekommt dann diese Dateien:
objektname.lod --- enthält Verknüpfungen zu .lod1/2 und Ankerpunkte
objektname.lod1 --- Mesh Lod1
objektname.lod2 --- Mesh Lod2
Über die Lod-Distanzen müsste man sich noch Gedanken machen.
Ich hoffe es wird verständlich was ich will, vielleicht ließe ich das implementieren oder wir finden eine andere praktikablere Lösung.
Grüße
Maurice
- Johannes
- Beiträge: 3244
- Registriert: 14.03.2009 22:36:06
- Aktuelle Projekte: Zusitools (http://git.io/zusitools)
Re: LS3-Export und LS-/LS3-Import für Blender
Ein <Verknuepfte>-Tag in der exportierten LS3 erzeugt man durch ein Empty, das das Kästchen "Verknüpfte Datei" angekreuzt hat. Dort kann man auch LOD-Entfernungen etc. einstellen.
- Maurice S.
- Beiträge: 113
- Registriert: 17.03.2020 00:31:50
Re: LS3-Export und LS-/LS3-Import für Blender
Ja, das ist schön und mir auch bewusst. Allerdings bringt mir das nichts, wenn ich die Mutter.lod exportiere, weil ich per Skript die zu verknüpfende Datei nicht definieren kann und diese bei jedem Export individuell festgelegt werden müsste, was ich mir ja ersparen möchte. Des Weiteren habe ich ein Subset in der Mutter.lod was dort auch nichts zu suchen hat.
Alternativ ist mir noch gekommen, dass man den Subset-Export unterdrückt (oder eine Option "nur Ankerpunkte" exportieren einbaut) und die verknüpfte Datei definieren kann per Skript.
- Johannes
- Beiträge: 3244
- Registriert: 14.03.2009 22:36:06
- Aktuelle Projekte: Zusitools (http://git.io/zusitools)
Re: LS3-Export und LS-/LS3-Import für Blender
Wenn du eh per Skript unterwegs bist:Maurice S. hat geschrieben: ↑30.04.2024 16:23:36weil ich per Skript die zu verknüpfende Datei nicht definieren kann und diese bei jedem Export individuell festgelegt werden müsste, was ich mir ja ersparen möchte.
Code: Alles auswählen
bpy.data.objects["MeinSchönesEmpty"].zusi_link_file_name_realpath = "..."
Man könnte z.B. den Exportmodus "Nur ausgewählte Objekte" verwenden und nur die Empties auswählen:Maurice S. hat geschrieben: ↑30.04.2024 16:23:36Weiteren habe ich ein Subset in der Mutter.lod was dort auch nichts zu suchen hat.
Code: Alles auswählen
with bpy.context.temp_override(selected_objects=[bpy.data.objects["MeinSchönesEmpty"], …]):
bpy.ops.export_scene.ls3(…)
- Maurice S.
- Beiträge: 113
- Registriert: 17.03.2020 00:31:50
Re: LS3-Export und LS-/LS3-Import für Blender
Vielen Dank! Das hier funktioniert soweit:
Der Ankerpunkt "#_Main" liegt in einer Collection "lod". In dieser Collection ist dann wiederum eine weitere Collection "Anchor Points" mit den gewünschten Ankerpunkten.
Code: Alles auswählen
def export():
directory = create_path()
filename = create_name()
bpy.data.collections["lod"].hide_viewport = True
# deactivate all anchor points in 'anchor points' collection, otherwise they end up in lod1.ls3
for collection in bpy.data.collections:
for sub_collection in collection.children_recursive:
if sub_collection.name == "Anchor Points":
for obj in sub_collection.all_objects:
bpy.data.objects[obj.name].zusi_is_anchor_point = False
# export lod1 first, otherwise the path in parent will not be correct
bpy.ops.export_scene.ls3(
filepath = os.path.join(directory, filename + ".lod1.ls3"),
filename = filename + ".lod1.ls3",
directory = directory,
exportSelected = "4",
)
bpy.data.collections["lod"].hide_viewport = False
# activate anchor points again
for collection in bpy.data.collections:
for sub_collection in collection.children_recursive:
if sub_collection.name == "Anchor Points":
for obj in sub_collection.all_objects:
bpy.data.objects[obj.name].zusi_is_anchor_point = True
# set path for linked object in parent.lod
bpy.data.objects["#_Main"].zusi_link_file_name_realpath = os.path.join(directory, filename + ".lod1.ls3")
with bpy.context.temp_override(selected_objects = [bpy.data.objects["#_Main"]]):
bpy.ops.export_scene.ls3(
filepath = os.path.join(directory, filename + ".lod.ls3"),
filename = filename + ".lod.ls3",
directory = directory,
writeLsb = False,
exportSelected = "1",
)