|
|
-
09.07.2012 16:41
-
[Tutorial] Importieren von Objekten nach Skyrim
#1
|
Ich selbst gebe hier nur weiter, was ich aus anderen großartigen Tutorials gelernt habe. Mein erstes war dieses hier: Importing weapons into Skyrim. Es geht da zwar um den Waffenimport, das funktioniert aber genauso gut mit anderen meshes.
Arielle hatte in diesem Thread gefragt, wie das Importieren von Oblivion nach Skyrim funktioniert, daher beziehe ich mich hier auf diese Anfrage und benutze das von ihr erwähnte Handtuch-Mesh.
Wichtig: Die Original Oblivion Dateien dürfen aus Lizenzgründen nicht für den Zweck einer Weiterverbreitung importiert werden! (Höchstens für den Eigengebrauch im stillen Kämmerlein.) Also nur gemoddete meshes verwenden.
Für das Import-Export-Geschäft nicht die neueste Version von Nifskope verwenden (RC7), die ist für diese Zwecke leider verbuggt. Ich nutze die Vorgängerversion 1.1.0 RC6
Voraussetzung ist, dass wir die Skyrim meshes.bsa in einen separaten Ordner entpackt haben, das geht am besten mit dem FO3 Archive Utility
Da wir für die Skyrim nifs noch nicht die Möglichkeit haben, eine eigene Kollision für neue Objekte zu erstellen (jedenfalls nicht ohne weiteres), bleibt als einzige Möglichkeit, die Kollision eines vorhandenen meshes zu übernehmen und unser mesh in ein solch bestehendes hinein zu importieren. Die Suche nach einer geeigneten „Leihmutter“ für unser mesh ist meistens das Zeitraubendste an der ganzen Sache 
Ich habe mal dieses mesh in der entpackten Skyrim meshes.bsa ausgesucht:
meshes/clutter/containers/miscsack02smallflat.nif, also den flachen Sack. Die Kollision später wird die vom ursprünglichen Sack sein, also ein Clutteritem mit ähnlichen Eigenschaften.
Wir öffnen miscsack02smallflat.nif in NifSkope und parallel dazu unser Objekt, das wir exportieren wollen, also das Handtuch.
In der Handtuch.nif markieren wir die NiTriStrips unseres Objekts. Dann gehen wir oben unter Files auf Export, wählen den Zielort und bestätigen.
Bild 01
Wir haben jetzt zwei exportierte Dateien: untitled.obj und untitled.mtl - untitled.mtl löschen wir, das können wir nicht gebrauchen.
Nun öffnen wir die miscsack02smallflat.nif, diese hat zwei NiTriShape, eine davon werden wir mit unserem mesh ersetzen. Solltet ihr als Import-Grundlage eine Nif mit nur einem NiTriShape verwenden, kopiert diese mit block -> copy branch und unter BSFadeNode – block -> paste branch, so dass diese doppelt vorhanden ist. Ein NiTriShape wird immer ersetzt durch unser neues mesh, ein weiteres brauchen wir als Referenz, um unser mesh zu skalieren und auszurichten.
Unser Sack hat wie gesagt zwei NiTriShape, ich will das größere der beiden erst mal behalten, um eine gute Referenz zu haben, wir ersetzen also das kleinere und zwar, indem wir es markieren und unter File -> Import -> Import obj anklicken (Import 3ds kann man getrost vergessen, das funktioniert so nicht). Jetzt sagt uns NifSkope, es wird das Markierte durch das erste importierte mesh ersetzen. Wir wählen im folgenden Dialog unser exportiertes untitled.obj aus und voila: Da sitzt es in unserem Sack drin. Und hat auch fast die selben Abmessungen – Glück gehabt.
Jetzt suchen wir im Datenbaum das NiTriShape unseres Handtuchs und klicken es mit der rechten Maus an -> Transform -> Edit. Wir brauchen in unserem (wirklich idealen) Fall nur ein wenig die Höhe zu verändern, damit auch das neue mesh auf dem Boden zu liegen kommt, in den meisten anderen Fällen ist mehr Justierung nötig. Jetzt können wir die NiTriShape des Sacks löschen.
Bild 02
Nächster Schritt: Die NiTexturingProperty des originalen mesh wird von Skyrim nicht erkannt. Wir müssen diesen Block also löschen -> remove branch. Ebenso löschen wir die NiMaterialProperty (ganz unten), auch diese wird von Skyrim nicht erkannt. Wir müssen jetzt die BSLightingShaderProperty dem mesh zuweisen, denn diese enthält die Textureigenschaften für Skyrim. Dazu markieren wir die NiTriShape und suchen ganz unten im Blockdetail-Fenster die Properties, diese erweitern wir mit einem Klick auf das Pluszeichen. Dort steht jetzt noch zweimal „Properties“. Wir gehen in die Zeile des ersten und klicken auf „None“, dort können wir jetzt einen Wert eingeben und zwar geben wir die Zahl ein, die vor unserem BSLightingShaderProperty steht, in diesem Fall die 7.
Bild 03
Und siehe da, unser neues mesh hat jetzt eine Textur, wenn auch die vom ursprünglichen Sack. Wir müssen jetzt nur noch unter BSShaderTextureSet durch Anklicken der obersten blauen Blume wie gewohnt die gewünschte Textur aus unserem Texturenordner zuweisen, in der Zeile darunter die wählen wir unsere *_n.dds (diese müssen wir im Gegensatz zu Oblivion mit eintragen), speichern unter einem passenen Namen und haben unser Handtuch nach Skyrim importiert.
Bild 04
|
|
 |
|
 |
-
09.07.2012 17:55
#2
|
Danke Tamira, dass du dir die Mühe gemacht hast. Ist auch alles gut verständlich erklärt. Aber ..... huch..... es sind ja doch recht viele Handgriffe, die gemacht werden müssen. Am besten, man fängt einfach an und schaut, was daraus wird.
Learning by doing ist hier wohl angesagt.
Nun hast du aus dem Handtuch ein Item gemacht. Ist schön, weil man das im Spiel von hier nach dort tragen kann. Ich müsste aber noch ein Modell als Static haben, damit es im Spiel nicht aus Versehen aus dem Regal fliegt. Was müsste man machen, um es als Static zu belassen?
|
|
-
09.07.2012 18:36
#3
|
Dafür hast du jetzt drei Möglichkeiten.
Methode 1: Du suchst dir in den meshes ein passendes Static-Object, also eines, das von den äußeren Ausmaßen gut passt und machst die ganze beschriebene Prozedur mit diesem Objekt.
Methode 2: Du kopierst eine bestehende Collision aus einem Static Objekt in dein Clutter Objekt (Ich habe mal den cookingstone genommen) und ersetzt diese. Das geht folgendermaßen: Du löschst erst mal die bestehende Kollision (block-> remove branch). Die BSFadeNode der cookingstone mesh musst du vorübergehend so benennen wie die deines eigenen Objektes, also wieder im Blockdetail-Fenster unter Name -> edit String index, in unserem Fall „MiscSack02SmallFlat“, sonst erkennt deine mesh die Collision nicht an (cookingstone nicht speichern!). Dann kopierst du mit copy branch die Collision des Static in die BSFadeNode. Diese ist jetzt noch nicht mit dem Objekt verbunden, sondern befindet sich extra unterhalb des Verzeichnisbaums. Wir klicken die BSFadeNode an, suchen im Blockdetailfenster den Eintrag „Collision Object“ , dort steht jetzt „None“. Wir klicken darauf und geben die Zahl ein, die bei der importieren Collision steht, in diesem Fall 6. Jetzt ist die Collision integriert. Abspeichern und fertig.
Bild 05
Methode 3: Du editierst die Eigenschaften der Collision selbst. Schau dir diese in einem bestehenden Static Objekt unter „bhkCollisionObject / bhkRigidBody“ an und ändere die Werte in deinem Clutter-Objekt entsprechend:
Bild 06
Umgekehrt kann letztere Methode natürlich dazu verwendet werden, aus Static Clutter zu machen. Praktisch, wenn das ideale Importobjekt, das von den äußeren Maßen am besten passt, vielleicht ein Static ist, wir aber eine Clutter Collision brauchen:
Bild 07
|
|
 |
|
 |
-
09.07.2012 19:05
#4
|
Sehr gut! Dann lad ich mir schon mal das alte Nifskope runter und krempel die Ärmel hoch!
|
|
-
10.07.2012 05:05
#5
|
Mir ist erst hinterher aufgefallen, dass ich mich durch deine Aussage habe verwirren lassen, dass ich hier ein Clutter Objekt erstellt hätte.
Dabei hatte ich doch extra darauf geachtet, ein passendes Static Objekt zu nehmen und diese flachen Säcke sind tatsächlich Static, auch wenn sie unter Clutter aufgelistet sind. Sie dienen im Spiel ja als Container und dürfen als solche ja nicht aufgenommen und bewegt werden können.
Über Bethesdas Logik beim Erstellen der Struktur dieser meshes.bsa möchte ich mich lieber nicht auslassen ....
Du kannst also getrost alles so machen, wie ich es beschrieben habe, der Sack ist als Importobjekt wirklich ideal.
Solltest du dein Static Handtuch dann doch mal zum beweglichen Objekt machen wollen, musst du einfach die Werte eines Clutter Objektes eingeben. Ich habe das oben mal ergänzt, indem ich als Beispiel die Werte der Cowhide genommen habe.
|
|
-
10.07.2012 13:52
#6
|
Ja, das ist mir im Nachhinein auch eingefallen, dass die Säcke statisch sind. 
Also hab ich direkt mal angefangen und stehe, was ich mir beinahe schon gedacht hatte, schon vor dem ersten Problem:
In miscsack02smallflat.nif markieren wir die NiTriStrips unseres Objekts
Im miscsack finde ich die NiTriStrips nicht, da habe ich nur zwei NiTriShape Einträge. Meinst du diese? Ich habe in der Blocklist gesucht, oder hätte ich sie bei den Blockdetails suchen müssen? Da habe ich allerdings auch keine NiTriStips gesehen.
Ich sehe schon, das wird eine schwierige Aufgabe für mich.
|
|
-
10.07.2012 15:03
#7
|
Sorry, mein Fehler. Es muss natürlich "In der Handtuch.nif markieren wir die NiTriStrips unseres Objekts" heißen. Habe es oben gleich mal ausgebessert.
Ich habe noch nicht so viel Übung im Schreiben von Tutorials
|
|
-
10.07.2012 16:30
#8
-
11.07.2012 06:32
#9
|
Du brauchst weder die mtl noch die obj Datei zu öffnen, nur die obj Datei importieren.
Wahrscheinlich ist meine Beschreibung zu umständlich und ungenau - habe wohl kein Talent dafür 
Am besten orientierst du dich an dem Tutorial, das ich im ersten Absatz verlinkt habe:
Importing Weapons into Skyrim
|
|
-
11.07.2012 15:05
#10
|
Tami, ich glaube der Fehler lag bei mir. 
Ich habe offensichtlich den letzten Schritt mit dem Importieren vergessen.
Aber bereits davor bin ich durcheinander geraten, weil nach dem Einfügen der Zahl 7 bei den Properties die Nif keine Textur erhalten hat. Sie sollte doch automatisch erscheinen, oder habe ich das falsch verstanden?
Und was mich noch wundert, wieso ist meine neue nif 195 KB groß, während die Original-Handtuch-Nif nur 54 KB groß ist? Ist hier vielleicht die Größe der Sack-Nif übernommen worden?
|
|
-
11.07.2012 15:17
#11
|
Wenn du die selben meshes genommen hast wie ich, sollte es die Zahl 7 sein, wie in dem Bild zu sehen. danach sollte dann die BSLightingShaderProperty in den Datenbaum unter der BSFadeNode integriert sein.
Dass du keine Textur siehst, könnte daran liegen, dass du Nifskope noch nicht den Pfad zu den Skyrim-Texturen gezeigt hast. Etwas anderes kann ich mir jetzt nicht vorstellen. Hast du denn vorher schon mit Nifskope Skyrim-Dateien geöffnet und diese dann texturiert gesehen? 
Warum deine Datei so groß ist, weiß ich auch nicht. Ich habe dir ja meine fertige per PN geschickt und die ist nur wenig größer als die Original-Datei. Hast du vielleicht vergessen, das mesh des Sackes vorm Abspeichern rauszulöschen?
|
|
-
11.07.2012 15:38
#12
|
Das könnte sein. Vielleicht habe ich wirklich vergessen, die sack-nif zu löschen. Ich hab gestern so viel herumgeklickt, dass ich gar nicht mehr weiß, was ich da genau gemacht habe. In einer ruhigen Stunde werde ich diese Prozedur nochmal durchgehen, vielleicht sehe ich die Dinge dann klarer.
Das war übrigens das erste Mal, dass ich Skyrim-Nifs geöffnet habe. Möglicherweise ist es so wie du sagst, dass der Textur-Pfad noch nicht zugewiesen ist.
|
|
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
|
|
|