Construction Set Collision-Box für eine .nif

Gildur

Ehrbarer Bürger
Hallo allesamt,

ich habe letztens ein Objekt (genauer gesagt einen Helm) nach Anleitung des Bilderbuch-Tutorials erstellt. Doch wenn ich jetzt das Objekt im CS in die Welt ziehen will, stürzt es immer ab (das CS). Und ich denke, dass es an der Collision-Box leigt, da das Objekt (ohne Collision) rein zu importieren geht. Nun wollte ich fragen, ob jemand so viel Geduld aufbringen kann, und mir ganz genau aufschreibt, wie man eine Collision auf eine .nif packt. Ich kenne mich mit NifSkope noch nicht so gut aus und irgendwie komme ich da noch nicht so zurecht, was zB. Shapes und bhks sind und was die bedeuten. :(
Ich hoffe, ihr könnt mir das erklären.
Großer Dank sei euch gewiss. :D

MfG Gildur
 
Das habe ich mir schon durchgelesen, bevor ich diesen thread aufgemacht habe.
Doch ich weiß ja nicht mal, wo ich so eine bhkCollisionBox herkriege. Die fehlt mir nämlich.
Sorry; Ich habe nicht bemerkt, dass so ein 3D-Thread aufgemacht wurde
 
Du machst im leeren Blocklist fenster Rechstklick->Block->Inster->BHK->bhkCollisionsObjekt
dann brauchst du die nur noch als children bei der NiNode einfügen.

Dann machst Du im leeren Blocklist fenster Rechstklick->Block->Inster->BHK->bhkRigidBodyT und gibst bei bhkCollisionsObjekt unter Body die Nummer des bhkRigidBodyT ein

Dann machst Du im leeren Blocklist fenster Rechstklick->Block->Inster->BHK
und suchst dir aus was du Brauchst

Es gibt:
bhkBoxShape - Kiste
bhkSphereShape - Kugel
bhkCapsuleShape - Kugel, die man langziehen kann
bhkConvexVerticesShape - nach Vertices festgelegte beliebige Form
bhkNiTriStripsShape - Passt sich dem Modell an

willst du mehr von denen benutzen brauchst du vorher
bhkListShape

Dann also bei bhkRigidbodyT unter Shape die bhk Nummer eingeben die du vorher ausgewählt hast

Dann brauchst du die Kollisionbox nur noch deinem Mesh anpassen. Dazu einfach die zB. bhkCapsuleShape anklicken und unten Radius Firstpoint Secondpoint die werte eingeben die du brauchst.

Solltest du mehr verwenden mußt du bei bhkListShape die anderen shapes einfügen unter NumShapeUnits die anzahl eingeben zB. 2 dann bei
subShapes array->update und dort dann die anderen Shapes einfügen.

Bei bhkNiTriStripsShape kannst du eine StripsData einfügen also eine selbsterstellte Kollissionsbox

Wie das geht? Sieh dir am Besten das Tut von Theo für die Saberclaw Nr4 an.
Dort wird es gut beschrieben.

Hört sich alles verwirrend an aber nach ein oder zweimal Box erstellen ist es Kinderleicht.
 
  • Like
Reaktionen: robinH und Gildur
Boah, Malo was bist du gemein :lol: Da macht man sich die Mühe und schreibt en ganzes Tut und dann sowas :lol:. Naja ich poste es trotzdem gleich mal.
 
Sorry.;) Aber mach mal ist nicht leicht so etwas zu erklären. Vielleicht kannste ja pics einfügen dann wäre es nicht so verwirrend.
 
Naja, meins fängt ja in Blender an. Es ersetzt sozusagen, den letzten Teil von Theos Tut Teil 3 und die fast erste Seite von Tut 3 und das komplette Tut 4. Denn wenn man danach geht, kommt man zu dem Ergebnis: Drash to Desktop.

mfG L
 
Erstmal Sorry für den Doppler, aber da ich mit dem Post schon vor einer knappen Stunde angefangen hab und es da noch kein Doppler gewesen wäre, kann ich dfür jetzt nix mehr ^^.
Das schrieb ich vor einer knappen Stunde:




AAAAAAlllsooo. Da ich im Moment eh nix besseres zu tun hab.


Wie importiere ich ein Schwert aus Blender in Oblivion?


Antwort: In dem du dir folgendes durchliest (Anm. d. Aut.: Das sollte einen schlechten Witz darstellen)

Das Tut ist auf Blender 2.4.3 angepasst. In 2.4.4 müsste es aber ähnlich laufen.

Außerdem ist das Tut auf NifScripts 1.5.7 ausgelegt.

Los gehts.

1.1

Blender öffnen.

Datei --> export --> NetImmerse/Gamebryo (.Nif) --> nächstes Fenster mit Cancel schließen

Das gleiche mit import.

Warum ich das jetzt mache? Damit ihr schonmal im klicken aufgewärmt seid (Anm. d. Aut.: Na gemerkt? Schon wieder ein schlechter Witz)

Nein, damit die import/export Scripts "aufgewärmt werden" ,dass heißt, dass sie schon mindestens einmal ausgeführt werden.
Denn ansonsten klappt folgender Schritt nicht.

1.2

Ins ScriptWindow schalten. (also da wo dieses # Zeichern ist [steht für 3D View])

Scripts --> System --> Scripts Config Editor

Dort klickt ihr auf export. Dann auf nifScripts (o.s.ä. [oder so ähnlich])

Dort stellt ihr die export Version auf 20.0.0.4, die Scale Correction auf 6 (diesen Wert benutze ich, und bei mir klappts). Die Schaltflächen darüber alle aktivieren.

1.3

Nun exportiert ihr euer Mesh. Im Object Mode selektieren und
Datei --> export --> NetImmerse/Gamebryo (.Nif)
ausführen.

Nennt eure .nif beliebig.
Glubschauge001.nif oder Schlammkrabbenschwert.nif oder Mainultrahmäkafähtttesshwährd.nif. Mir egal.


!Diese .nif ist nicht Oblivion-kompatibel!

Deswegen gehts jetzt auch weiter.

2.1

NifSkope öffnen

NifSkope 0.9.8 wird verwendet!




Das war keine Anmerkung, das war ein Befehl zum upgraden, wenn ihr diese Version nicht habt!

Upgegradet, oder schon die Version gehabt? Weiter gehts:

File --> New Window

Damit wir zwei NifSkope fenster haben. Doppelt gemobbelt hält besser.

Im einen Fenster öffnen wir folgende Datei.

Oblivion/Data/meshes/weapons/iron/longsword.nif

BSAs müssen entpackt werden, damit ihr daran kommt (Ich geh mal davon aus, dass ihr das bereits getan habt)

Falls bei File --> "Auto Sanitize before save" kein Häckchen ist. Häcken durch anklicken setzen.

Dann noch auf Render --> Draw Havok, Draw Nodes und Draw Axes Häckchen setzen

Im anderen Fenster öffnet ihr eure eben exportierte nif.

Nun gehen wir aber erstmal wieder zur longsword.nif

2.2

Klickt oben auf View --> Block List und auf Block Details, sodass dort Häckchen sitzen.

Dann klickt auf die Plus vor 0 NiNode.

Dann folgendes ausführen:

9 NiNode --> Rechtsklick --> Block --> Remove Branch
17 NiTriStrips --> Rechtsklick --> Block --> Remove Branch

Nun haben wir die nif geschaffen, die in Oblivion reinkommt.
Allerdings ist sie noch etwas leer.

3.1

Zum anderen Fenster wechseln. Dort macht ihr das auch mit auto sanitize und block list und block details, falls es nicht schon so ist, wie es sein sollte. Auch die Render --> Draw Häckchen setzen, falls noch nicht vorhanden.

Folgendes ausführen:

0 NiNode mit klick auf + öffnen --> 1 NiNode mit klick auf + öffnen

Wieviele NiTriShapes habt ihr da jetzt? Wenige oder viele? Je weniger ihr habt, desto weniger Arbeit habt ihr jetzt.

3.2

Folgendes für alle NiTriShapes ausführen:

NiTriShape anklicken --> Rechtsklick --> Mesh --> Remove Doublicate Vertices. Steht im aufploppenden fenster eine 0? Perfekt! Nicht? Auch nicht schlimm, jetzt sind es keine doppelten Vertices mehr.

NiTriShape anklicken --> Rechtsklick --> Mesh --> Face Normals

NiTriShape anklicken --> Rechtsklick --> Mesh --> Strippify

Wie gesagt: Das für alle NiTriShapes ausführen.

3.3

Folgendes wieder für alle NiTriStrips ausführen:

NiTriStrip anklicken --> Rechtsklick --> Block --> Copy Branch

Ins longsword.nif Fenster wechseln.

0 NiNode anklicken --> Rechtsklick --> Block --> Paste Branch

Nun kommt eine Warnmeldung, dass 20.0.0.5 benötigt wird. Wenn dort steht, das deine nif 20.0.0.4 ist, dann ist das soweit kein Problem. Steht da was andres, hast du nun das Vergnügen, dir das Tut nochmal ordentlich durchzulesen und nochmal von vorne anfangen zu dürfen.


Das Mesh ist nicht an der richtigen Stelle?

NiTriStrip anklicken --> Rechtsklick --> Transform --> Edit.

Nun kann man es so positionieren, wie es passt. (Damit meine ich, das sich das Mesh am Knotenpunkt befindet [Oder das mesh so richtig steht, dass man es in Obli auch richtig anfassen kann])


SIND ALLE STRIPS IMPORTIERT?

ja?

Weiter gehts.

3.4

Wieder für alle Strips ausführen:

Strip mit klick auf + öffnen --> NiTexturing Property öffnen.

Unter NiSourceTexture den Pfad euer Textur angeben.

ACHTUNG: Der Pfad muss immer mit textures/ beginnen. Oblivion weiß dann schon wo gesucht werden muss. (Oblivion/Data/textures/blablabla)

Dann:

Klick auf die Farbpalette bei NiMaterialProperty.

Ambient und Diffuse Color müssen auf weiß gesetzt werden, die unteren beiden Farben sollten standartmäßig auf grau und schwarz stehen.

Bei den Block Details stellt ihr die "Glossines" auf 10. Das gibt den Glanz an. Wenn ihr höheren Glanz ahben wollt, erhöht ihr ihn, wenn nicht, dann lasst es bei 10.

Habt ihr das für alle Strips gemacht? Gut.

3.5

Klickt das erste NiTriStrip an. Ändert dann die Value in LongSword:0 um.
Die darauf folgende Strip (falls vorhanden) in LongSword:1 ändern, usw

ACHTUNG: Nicht den NAMEN umändern, sondern die VALUE!!!

3.6

GANZ WICHTIG!!!

Speichern.

NOCH VIEL WICHTIGER:

Spells --> Batch --> Update all Tangent Spaces.

3.6

Nun öffnet ihr die 8 bhkCollisionObject --> 7 bhkRigidBody öffnen --> 6 bhk ListShape öffnen

Nun habt ihr zwei bhkCapsuleShapes vor euch liegen

Schaut unten in die Block Details. Die wichtigen Einträge sind hier First Point und Second Point. Somit könnt ihr festlegen, wo die Collision anfängt und endet. Experimentiert ein bischen damit und passt die beiden Capsule Shapes, dem Mesh an.

3.7

Ich lass den Schritt mal offen, falls ich etwas vergessen haben sollte.
Außerdem ist dieser Schritt zum

SPEICHERN

geeignet.

Denn wenn ihr nun speichert habt ihr eine (hoffentlich) funktionierende nif


~~~~~~~~~~~~~



Noch ein paar Anmerkungen:

Bei mir klappt es so, es gibt sicherlich aber noch andere Methoden. Ich stelle hier keinen Anspuch auf Vollständigkeit. Wenn etws fehlt oder fehlerhaft ist, so bitte sagt mir das!

Jetzt ist nur noch eins zu sagen:

mfG L

und

Amen 8)
 
Vieeeeeeeeeeeeeeeeeeeelen Dank euch beiden!!!!
Ich kann euch nicht genug danken!
So, ich werde mir jetzt mal alles in Ruhe durchlesen (habe ich nämlcih noch nicht gemacht^^) und dann das selber mal durchführen. Ihr seid und ich finde es echt super, dass ihr euch so viel Mühe gegeben habt!
:good::hail::clap::clap::hail::good::good::hail: :clap::clap::hail::good::good: :hail::clap::clap::hail::good:
 
Nichts zu danken, hab ja auch nur ne knappe Stunde dran gesessen :lol:. Ich wollte es aber eh schonmal niederschreiben, da mich dieses Problem auch ne Woche aufgerieben hat. Leider sind da in Theos Tut, was ansonsten seeehr gut ist, ein paar Fehler, vor allem beim Export.

mfG L
 
Toooooootal großer Dank, jetzta habe ich es endlich hinbekommen^^. So bald werde ich also auch ein paar mods hochladen:-D

MfG Soulpepper
 
Also, ich habe nix an fehlern gefunden, aber, kannst du mir vllt das mit dem positionieren erklären? Das verstehe ich nicht so ganz :huh: Aber trotzdem nochmal vielen dank
MfG Soulpepper
 
Super Tutorial, allerdings habe ich das Problem im CS, das der Auswahlrahmen erheblich größer ist als das eigentliche Objekt. Wäre für ne Lösung dankbar.

Hat sich erledigt, die Antwort stand im Thread von Londarus Trentos. Das mit dem "Transform / Apply" sollte man wohl noch erwähnen.
 
Zuletzt bearbeitet:
So lange es größer ist, ist es eigentlich kein Problem. Nur kleiner ist da schon schlechter. Ich denk mal du hast dir einen Dolch gemodelt und hast aber die Collision des longswords genommen, oder? Du musst die Collision noch ans Mesh anpassen. Dann müsste es klappen.
 
Also ich habe im Tut auch keine Fehler gefunden.
Falls jedoch doch noch welche auftauchen, werde ich bescheid geben ;)
Auch noch mal von meiner Seite: Vielen Dank!

MfG Gildur
 
  • Like
Reaktionen: robinH