danke
Modding Tutorials
-
-
node_attach = 1.25, 0.0, 0.0, 1.0, 0.0, 0.0, 1
Da sind mir gerade fragezeichen im Kopf -
node_attach ist der Parameter der festlegt, "wo man am Teil die Teile anbauen kann". Wenn man einen 1.25m Tank hat, dann muss bei Node_attach 1.25m stehen, damit die Teile die an den Tank angebaut werden auch auf der Hülle des Tanks angebaut werden und nicht irgendwo inner oder außerhalb des Tanks. Wenn du einen 2.5m Tank hast, gibst du halt ein:
node_attach = 2.5, 0.0, 0.0, 1.0, 0.0, 0.0, 1
Frage damit geklärt? -
node_attach ist der Parameter der festlegt, "wo man am Teil die Teile anbauen kann". Wenn man einen 1.25m Tank hat, dann muss bei Node_attach 1.25m stehen, damit die Teile die an den Tank angebaut werden auch auf der Hülle des Tanks angebaut werden und nicht irgendwo inner oder außerhalb des Tanks. Wenn du einen 2.5m Tank hast, gibst du halt ein:
node_attach = 2.5, 0.0, 0.0, 1.0, 0.0, 0.0, 1
Frage damit geklärt?jo
Hinzugefügt: 17.07.2014 - 21:24
Bei mir besteht keine Möglichkeit, meine Modeldaten als Blendfile in Unity zu importieren und beim fbx import mach ich anscheinend immer was falsch. Es muss doch was zufinden sein, wie man es richtig Importiert.
Außerdem scheinen die abgelesenen Koordinaten für die Nodes falsch zu sein.
-
Welche Unity Version benutzt du? Es gab letztens ein Update, welches ich jedoch übersprungen hab, vielleicht hat sich da irgendwas geändert vom Import her, was ich jedoch bezweifle.
Mit den Nodes: Die X&Y Achse sind in Unity im Gegensatz zu Blender vertauscht, du musst die Zahlen also aus Unity dort eingeben, nicht aus Blender. Um eine Node zu erstellen auf der Hochachse musst du in der cfg die 2. Zahl durch die Höhe der Node ersetzen. Auch ist wichtig das du bei Kommazahlen kein Komma sondern ein Punkt verwendet wird, also zum Beispiel
1.25, 0.0, 0.0...
Die Kommata dienen zur Abgrenzung der nodes. Der Dreher kann schnell passieren. -
Unity version ist 4.5.1f3.
Naja, ich schlag mich jetzt nicht mehr mit dem Blend. Import rum, ich importier das ganze jetzt als Obj oder fbx, nur das problem ist da, was ich bei den einstellungen in Blender beim Export beachte muss.
Mich würde auch intressieren, wie ich die Node Position in Unity definieren kann, da man die zahlen wie du geschrieben hast aus blender nicht nehmen kann.
-
Mir schwirrt da schon lange eine Idee im Kopf rum, eine sogenannten Hybrid Thruster(nenn ich jetzt einfach mal so ) in KSP zu verwirklichen der über den Normalen Schub und gleichzeitig über Pitch, Yaw und Roll funktioniert. Ich mein jetzt nicht die Gimbal funktion.
Ich zeig den Thruster einfach mal hier, sieht zwar noch grob aus.
-
Hm, die Idee finde ich ziemlich gut, aber ich befürchte das du um das zu verwirklichen ein Plugin schreiben musst. Du könntest natürlich mehrere thrustTransforms benutzen und diese im Spiel je nach Bedarf zündest. Das ist aber ziemlich umständlich. Ich würde es lieber mit dem Gimbal Dingens machen. Du legst einfach fest wie weit das Triebwerk bzw der Schub maximal schwenkbar sein soll (Ich schätze du solltest da dann 90º einsetzen). Statt der Öffnungen an der Seite machst du 4 Schlitze, einen für jede Achse, also von unten bis zur Hälfte des Triebwerks. So kannst du das Triebwerk im Spiel dann steuern.
-
Hm, die Idee finde ich ziemlich gut, aber ich befürchte das du um das zu verwirklichen ein Plugin schreiben musst. Du könntest natürlich mehrere thrustTransforms benutzen und diese im Spiel je nach Bedarf zündest. Das ist aber ziemlich umständlich. Ich würde es lieber mit dem Gimbal Dingens machen. Du legst einfach fest wie weit das Triebwerk bzw der Schub maximal schwenkbar sein soll (Ich schätze du solltest da dann 90º einsetzen). Statt der Öffnungen an der Seite machst du 4 Schlitze, einen für jede Achse, also von unten bis zur Hälfte des Triebwerks. So kannst du das Triebwerk im Spiel dann steuern.Ich kann mir ja gerne ein Plugin schreiben, da ich ja die funktionen mit VS einsehen kann, steht zwar keine beschreibung bei, aber so schwer dürfte es ja gar nicht sein, denn mit dem Gimbal ist es ja wieder weit entfernt von meiner idee, denn das Triebwerk soll das Schiff weiter nach vorne drücken, wärend bei einer Pitch, Yaw oder Roll eingabe gleichzeitig dann ein etwas schwächerer Schub aus einer der 4 Seitlichen Öffnungen kommt
Also anders formuliert, ein Triebwerk mit seitlichen Schubdüsen. Das Triebwerk soll nähmlich auch nicht an dem RCS System geknüpft sein, sondern das man die Schubdüsen des Triebwerks über das Rechtsklickmenü an oder auszuschalten.
Naja, aber zu erst muss ich das Triebwerk fertig modellieren und textureren.
Edit:
ZitatDie X&Y Achse sind in Unity im Gegensatz zu Blender vertauscht, du musst die Zahlen also aus Unity dort eingeben, nicht aus Blender.
Da bin ich gerade ein bischen verwirrt, denn in deinem Tutorial schreibst du, das die zahlen aus Blender sind und mir schreibst du es umgekehrt. Ich bin mich am fragen, wie ich in Unity an die Koordinaten der oberen fläche meines Triebwerks kommen soll?
-
Jaa, das fragen sich viele. Sofern dein Triebwerk in Blender auf der Mitte liegt, bzw die obere Seite des Triebwerks (Also X-&Y-Achse = 0), so merkdt du dir einfach nur die Höhe der Seite wo die Node sein soll. In Unity gibst du diese Zahl (Zb. 1.245) in dem Kästchen für die Z - Achse ein. Ggf kannst du auch mit rumschieben eines leeren Gameobjects die ungefähren Koordinaten der Nodes ermitteln, welches jedoch sehr unzuverlässig ist.
-
Ich habe aus Langeweile einfach mal schnell einen "KSP Node Converter" in C# geschrieben, in den man die Daten aus Blender eingibt und der dann automatisch die Node erstellt. Er ist auf Englisch, da ich gedenke, ihn im englischen Forum zu veröffentlichen - da bin ich mir aber noch unsicher.
Erklärung der Felder:
Name: Name der Node
Blender-X: X-Koordinate in Blender
Blender-Y: Y-Koordinate in Blender
Blender-Z: Z-Koordinate in Blender
Size: Größe der Node
Scale: Scale-Wert der part.cfgDas Programm ist in Mono kompiliert, es sollte also auf Windows und Linux laufen.
ACHTUNG! Linux-Nutzer müssen die Kommazahlen mit einem Punkt eingeben (1.0), Windows-Nutzer hingegen mit Komma (1,0). Ich werde allerdings versuchen, diesn Fehler zu beheben!
Gruß,
Thomas -
Ich habe aus Langeweile einfach mal schnell einen "KSP Node Converter" in C# geschrieben, in den man die Daten aus Blender eingibt und der dann automatisch die Node erstellt. Er ist auf Englisch, da ich gedenke, ihn im englischen Forum zu veröffentlichen - da bin ich mir aber noch unsicher.Erklärung der Felder:
Name: Name der Node
Blender-X: X-Koordinate in Blender
Blender-Y: Y-Koordinate in Blender
Blender-Z: Z-Koordinate in Blender
Size: Größe der Node
Scale: Scale-Wert der part.cfgDas Programm ist in Mono kompiliert, es sollte also auf Windows und Linux laufen.
ACHTUNG! Linux-Nutzer müssen die Kommazahlen mit einem Punkt eingeben (1.0), Windows-Nutzer hingegen mit Komma (1,0). Ich werde allerdings versuchen, diesn Fehler zu beheben!
Gruß,
ThomasHey Thomas! Die Idee ist genial, das suchen der richtigen Node Positionen war einer der größten Ärgernisse in der Modderei für mich.
So, ich habe einfach mal eine Phantasie Höhe angegeben, 1.525. Leider ist jedoch das hier herausgekommen:
Vielleicht habe ich was falsch gemacht, aber Windows User sollen das ja mit Komma eingeben. In dem Feld wo man die Größe der Node (Size) geht es ja bei 1 los und hört bei 5 auf, die Stock Größen der Nodes fangen aber bei 0 für 0.625m Teilen an und gehen bis 3. Und ein kleiner Verbesserungsvorschlag wäre: Beim Feld "Name" solltest du davor in einem grauen Kästchen "node_stack_" einfügen, damit man weiß das man nur noch bottom/ top etc einfügen muss. Wenn diese Sachen behoben sind dann ist das auf jeden Fall eine gigantische Hilfe! -
OK, Jeb danke für das Feedback. Das mit der Node hab ich doch glatt Verpennt, hab da was mit dem Durchmesser verwechselt. Ansonsten werden ich mich gleich an die Überarbeitung machen.
Dass da bei dir eine größere Zahl herauskommt liegt daran, dass du die Zahl bei "scale" mit einem Punkt angegeben hast - es müssen wirklich ALLE Kommazahlen so geschrieben werden!
Gruß,
ThomasDickes, fettes EDIT:
Ich habe die oben genannten Probleme behoben und ich habe gleichzeitig das Problem mit den Kommazahlen gelöst, ihr könnt die Zahlen nun wahlweise mit Komma oder Punkt schreiben - allerdings scheint es auf Linux nun überhauptnicht zu funktionieren, da muss ich mal schauen, in wieweit Mono mit VSC# kompatibel ist.
-
Du könntest natürlich mehrere thrustTransforms benutzen und diese im Spiel je nach Bedarf zündest.
Muss ich da vieleicht noch auf etwas achten?
Ich würde es lieber mit dem Gimbal Dingens machen.
Bewegt sich da nur der Triebwerksstrahl? Ich frage deshalb, weil es so aussieht, als würde sich bei den Stocktriebwerken die Düse mitbewegen.
-
37) Jetzt geht ihr auf Write. Nun schreibt Unity eur Triebwerk, also die Texturen und das
Modell in euren festgelegten Ordner. Öffnet ihr diesen, so solltet ihr zwei
Dateien finden:Jetzt bin ich total ratlos und jetzt ist es mir ein rätsel, warum der mir nur die *mu ausspuckt vorher ging es doch noch.
-
Hast du dem Modell in Unity eine Textur gegeben?
-
Hast du dem Modell in Unity eine Textur gegeben?
Das Problem hat sich irgendwie von selber gelöst, nach dem ich noch mal das Material in das GameObject gezogen habe.
Und hier hab ich mal eine ganz grobe version meines Triebwerkes, wobei ich sagen muss das gimbel range auf 90° wohl zu heftig ist, desweiteren frag ich mich, wo der fehler liegt, dass das Triebwerk ein bischen breiter ist als, die 1.25m stockteile und warum die koordinaten der Nodes wieder nicht stimmen.
Ich werde das Triebwerk aber später noch mal ganz neu modellieren und bessere texturen machen (ja ich hab die texturen mit GIMP selber gemacht )
-
Sieht doch garnicht so schlechte aus. Zur Größe: Hast du in deiner part.cfg rescaleFactor = 1.0 eingesetzt? Wenn dort nur scale steht dann wird es nicht in der richtigen Größe angezeigt! Evtl passen dann auch die Koordinazrn, ansonsten schick mir das Triebwerk mal und dann kann ich dir die Nodes machen wenn du möchtest StarEagle:)
-
Hier das Triebwerk, mit den Blend, Unity Files und der das fertige mit der Part.cfg: Hier
Jetzt hat es wenigsten schon die richtige größe nach dem ich noch rescaleFactor = 1 und scale = 1 hinzugfügt habe, aber die node sitzt immer noch nicht richtig. Also das kommt nähmlich ein bischen komisch rüber, wenn man das ding an dem Struktur teil, das wie ein docking port aussieht drann anbaut und im Triebwerk dann die Luftschleuse zusehen ist.
-
Also ich konnte eigentlich nicht wirklich einen Fehler entdecken. Das mit der "Luftschleuse" hängt damit zusammen das du nicht den höchsten Punkt des Triebwerks genommen hast um die Koordinaten für die Node zu benutzen, sondern nur den 2. höchsten Punkt. Deshalb verschwindet ein Teil des Triebwerks sobald du es an ein anderes Teil anbaust in dem anderen Teil, weil die Node ein Stück zu tief sitzt. Du musst die Node in der cfg einfach durch das hier ersetzen:
Zitatnode_stack_top = 0.0, 0.08046, 0.0, 0.0, 1.0, 0.0, 1
Und dann sollte auch alles funzen!
Ps.: 80kN Schub und so hohe Effizienz? Da müssen die NASA Leute aber noch viel forschen um das hinzubekommen