Ein
einfaches Triebwerk erstellen
In diesem
Tutorial werde ich euch zeigen wie man ein einfaches Triebwerk erstellt.
Voraussetzung ist das man sich ein wenig in Blender auskennt.
1) Zuerst fügen wir einen Cylinder hinzu: Add-->Mesh-->Cylinder
2) Unten Links sollte jetzt ein Fenster
erscheinen mit dem Titel Add Cylinder (statt
Cylinder kann dort auch Sphere oder Cone stehen, je nachdem was wir für ein
Objekt hinzugefügt haben)
3) In diesem
Fenster setzten wir bei Vertices 24 ein,
dies ist die normale Einstellung welche auch die Stock Teile nutzen. Unter Radius können wir jetzt beispielsweise 1.25 oder 0.625 einsetzten, 1.25m würde der Größe der 2.5m Teile entsprechen
und 0.625m würde der Größe der 1.25m Teile entsprechen. Die Tiefe ist eigentlich
egal. Ich habe einen Radius von 1.25m gewählt.
4) Mittels
der TAB Taste gelangen wir in den Edit
Mode, man kann jedoch auch über die Leiste unten zwischen den beiden Modi
wechseln. Im Edit Mode gehen wir auf Face
select, um eine ganze Seite auszuwählen. Das Edge select werden wir später noch fürs Unwrapping benötigen.
5) Mit der
Taste N öffnen wir das Transform Fenster. An unserem Cylinder
wählen wir die untere Seite aus. Im Transform Fenster erscheint dort die
Position dieser Seite. Wenn man als Tiefe standartmäßig 2 ausgewählt hat, steht
dort:
·
Der
rote Pfeil steht für die X-Achse
·
Der
grüne Pfeil steht für die Y-Achse
·
Der
blaue Pfeil steht für die Z-Achse, also für die Hochachse
Standartmäßig
sollte im Transform Fenster unter Median also stehen:
0
0
-1
Die untere
Seite befindet sich also an der Position X=
0 Y=0 X=
-1 (Die Angaben sind in Meter)
6) Mit dem blauen Pfeil ziehen wir nun unsere
angewählte Seite nach oben. Für die Feineinstellung benutze ich immer noch
einmal das Transform Panel, ich bin kein großer Fan vieler Kommazahlen. Ich
habe die Position der Seite jetzt auf 0,0,0.9
festgelegt (0.9 deshalb da die obere Seite im Plusbereich ist und nicht bei 0
liegt). Das Objekt sieht jetzt so aus.
7) Die
untere Seite immer noch markiert, drücken wir „STRG“+“E“. Nun sollte eine Auswahl erscheinen. Dort gehen wir auf Mark Seam:
Dies ist für
das spätere Unwrapping wichtig. Nachdem wir diese Seite markiert haben,
erscheint am Rand eine rote Linie. An dieser Linie wird später das Objekt
„aufgeschitten“, um es besser texturieren zu können. Mehr dazu wenn wir soweit
sind.
Mit der
Taste E, welche für Extrude steht, extrudieren wir jetzt
die untere Seite, das heißt, wir „holen aus der Seite etwas hinaus“, welches
den selben Durchmesser hat. Mit der Maus können wir diese neue Seite an einen
beliebigen Punkt ziehen. Ich habe die Seite zur Position X= 0 Y= 0 X= -0.5 gezogen. Mit der Taste S, welche für Scale steht, skalieren wir die untere Seite nun. Wie man sieht
werden die Seiten oberhalb der skalierten Seite mit skaliert. Nach dem
skalieren erscheint ein neues Fenster:
Dort setzen
wir die Zahlen 0.4 0.4 0.4
ein, um die Seite auf 40% der vorigen Größe zu skalieren. Das Objekt sieht
jetzt so aus:
9) Erneut
extrudieren wir mit Taste E die Seite, diesmal auf die Position 0 0 -1.3. Anschließend skalieren wir
die Seite auf 1.6 fache Größe. (Also
3 mal 1.6 im Resize Fenster eingeben).
Das Triebwerk sieht nun so aus:
10) Erneut
extrudieren wir, einfach mit der Maus die neue Seite ein Stück weit
herausziehen. Im Transform Panel setzen wir die Position jetzt auf
X = 0
Y = 0
Z= -1.3
Jetzt ist
unsere extrudierte Seite wieder in der Seite aus der wir extrudiert haben
verschwunden. Mit S skalieren wir
die Seite nun auf 0.95 (wieder in
allen 3 Fenstern eingeben!). Mittels „STRG“+“E“
öffnen wir wieder das Fenster in dem wir zuletzt eine Seite als Seam
markiert haben. Unter dem Punkt Mark Seam befindet sich ein Punkt namens Clear Seam. Das wählen wir an und jetzt
ist unsere Seite nicht mehr mit einem roten Rand markiert. Jetzt sollte das Triebwerk so aussehen:
11) Mit
Taste E extrudieren wir jetzt diese Seite, um Innenleben ins Triebwerk zu
bringen. Diese extrudierte Seite habe ich jetzt einfach auf die Position
0
0
0
Gesetzt. Nun
skalieren wir diese Seite auf den Faktor 0.2.
Als letztes markieren wir die derzeit angewählte Seite wieder als Seam (Über „STRG+E“). Das Grundmodell des Triebwerks haben wir
jetzt geschafft.:
11) Nun, um
das Triebwerk auf das Unwrapping vorzubereiten, gehen wir auf Edge Select
Und
markieren eine beliebige Kante. Mit „STRG“+Rechsklick
wählen wir alle darunterliegenden Kanten aus, bis ins innere des
Triebwerks. Mit STRG+E markieren wir dies jetzt als Seam. Das sollte dann wie
folgt aussehen:
12) Bevor
wir weitermachen, speichern wir dieses Modell (FileàSave as…). Ich
habe es in einem Ordner auf C: gespeichert und Tut_engine.blend genannt.
13) Wenn man
zurück in Blender auf den oberen Rand des Rahmens geht, kann man mit einem
Rechtsklick auf Split Area gehen
(Klickbereich ist im Bild rot markiert).
14) Jetzt
haben wir ein neues Fenster. Unten rechts gehen wir auf das Symbol
Und wählen
dort UV/ Image Editor aus.
15) Zurück
bei unserem Triebwerk gehen wir auf dieses Symbol:
Damit wird
das Objekt leicht durchsichtig, sodass man leicht alle Faces auswählen kann.
Wir wählen also im Edit Mode wieder Face
select an. Die Rückseite des Triebwerks wird nun schemenhaft dargestellt:
Mit der
Taste b erscheint ein Kreuz. Wenn
man die linke Maustaste festhält, und das Triebwerk markiert, werden, da wir es
als leicht durchsichtig markiert haben, alle Faces markiert. Unter Mesh Tools (Links am Rand) gehen wir
zum Punkt UV Mapping und gehen auf
den Balken Unwrap.
Dort
erscheinen jetzt mehrere Optionen, ich benutze die Unwrap Funktion, bei den
anderen hatte ich mit unter starke Probleme. Wir gehen also unter Unwrap auf Unwrap. In unserem neuen
Fenster welches wir erstellt haben erscheint jetzt folgendes:
Dort werden alle
Faces angezeigt und auf ein 2D-Modell übertragen. Wenn wir mit den Mausrad
scrollen (in der Leiste unten) kommen wir hier hin:
Dort klicken wir drauf, so können wir alle Faces
auswählen, welche zusammen gruppiert sind. Mit den Tasten G (verschieben), R
(rotieren) und S (skalieren) habe ich die Gruppen ein bisschen vom Rand
wegbewegt. Nun ist unsere UV-Map fertig. Zurück am Anfang der Leiste gehen wir
auf UVs und wählen dort den obersten
Punkt an (Export UV Layout). Als
Namen der UV Map habe ich ausgewählt: Tut_engine.png
. Nun gehen wir auf Export UV Layout.
Damit wären wir mit dem erstellen der UV Map fertig und brauchen damit das 2.
Fenster nicht mehr.
16) Zurück im ersten Fenster mit unserem Triebwerk gehen
wir in den Object Mode. Unter den Object Tools rechts am Rand gehen wir
unter dem Punkt Shading auf Smooth.
Nun ist das Triebwerk nicht mehr eckig, sondern abgerundet.
Jedoch wird auffallen, das das Modell an manchen Stellen komisch „verschmiert“
aussieht (Siehe Bild). Um auch das zu beheben, gehen wir in der Leiste rechts
auf den Punkt Object Modifiers und
dort dann auf Add modivier.
Da klicken wir dann drauf und gehen unter Generate auf den Punkt Edge Split. Nun müssen wir nur noch in
der Leist wo wir eben den Modifier hinzugefügt haben auf Materials gehen und dann auf New.
Nachdem erstellen eines neuen Material für das Triebwerk
sind wir in Blender fürs erste fertig- bei den Material einstellungen können
wir alles so lassen, daher gehe ich nicht genauer darauf ein.
17) Zu guter letzt speichern wir das Triebwerk erneut, ich
habe es Tut_enginefull.blend genannt.
Erstellen eines neuen (KSP) Projekts in Unity
Ich arbeite mit dem kostenlosen Bildbearbeitungsprogramm
Paint.net, daher ist es möglich das bestimmte Schritte abweichen, je nachdem
was ihr für ein Programm verwendet.
18) Zunächst öffnet ihr Unity. Dort geht ihr oben links
unter File auf New Project. Daraufhin erscheint ein Fenster. Ihr müsst dort nur
den Namen eures Projekts eingeben, den Rest könnt ihr so lassen. Das Projekt
wird standartmäßig unter Dokumenten gespeichert. Ich habe das Projekt
Tut_project genannt.
19) Im Dokumente Ordner sollte jetzt ein Ordner namens Tut_project sein (oder wie auch immer
ihr euer Projekt genannt habt). Diesen Ordner öffnet ihr. In diesem Ordner
sollten sich diese weiteren Ordner befinden:
Ihr öffnet den Assets
Ordner, in diesen Ordner fügt ihr alle Elemente für eure Teile ein. Damit
die Teile aber auch in KSP funktionieren, müssen zuerst die KSP Part Tools hinzugefügt werden. Ihr
kopiert einfach den Ordner Part Tools in
den Assets Ordner. Dann geht ihr in der Task Leiste auf das Unity Symbol.
Es kann nun einen Augenblick dauern, da Unity jetzt alle Daten des Part Tool
Packages importiert. Nachdem dies geschehen ist, geht ihr in den Ordner, wo ihr
die Dateien des Triebwerks gespeichert habt.
Das Triebwerk in Unity aufsetzen
20) Ihr kopiert die
Daten Tut_enginefull.blend sowie die
UV Map Tut_engine.png. Im Unity
Projekt Ordner geht ihr wieder in den Assets Ordner, wo sich bereits der Part
Tools Ordner befindet. Der Übersicht halber erstellt ihr einen weiteren Ordner, ich habe ihn Parts genannt. In den Parts Ordner habe
ich einen Ordner namens Tut_engine erstellt,
dort werden die beiden Triebwerks Dateien hineinkopiert. Dann geht ihr zurück
in Unity. Nachdem die Daten importiert worden sind, sollten unten in der Leiste zwei Ordner
auftauchen: Part Tools und Parts. Ihr öffnet den Parts Ordner.
In diesem öffnet ihr den Tut_engine Ordner.
21) Im Tut_engine Ordner befinden sich jetzt 3 Dateien:
Im Materials Ordner hat Unity ein Material für das Objekt
erstellt. Wir wählen die Datei Tut_engine.blend
aus und ziehen die Datei mit der
gedrückten linken Maustaste in die Hierarchy Leiste:
22) Neben unserer Tut_engine Datei befindet sich dort
bereits eine weitere Datei, die Main
Camera. Mit einem Rechtsklick können wir diese löschen, dies ist jedoch
nicht unbedingt nötig.
23) Wir klicken auf die Tut_engine Datei. Im Fenster in der Mitte wird das Objekt mit einem
blauen Gitter markiert. Rechts im Bild erscheinen einige Optionen:
Mit einem Rechtsklick auf den Punkt Animator und anschließend auf Remove
Component können wir den Animator löschen, diesen Punkt benötigen wir
nicht, da unser Modell nicht animiert ist. Die Leiste sieht jetzt so aus:
24) Hier
Klicken wir auf diffuse, dort wählen wir KSPà Bumped, oder was auch immer ihr für einen Shader nehmen wollt, er muss sich nur
im KSP Ordner befinden. Ich bevorzuge aber den Shader Bumped. Nun, da wir den
Shader Bumped ausgewählt haben, erscheinen zweierlei Dinge:
Einmal der Punkt _Main
Tex: Dort klicken wir im Feld rechts daneben auf Select. Es öffnet sich ein weiteres Fenster, dort wählen wir dann
unsere Textur aus, in diesem Fall Tut_engine.
Nun betrachten wir das Triebwerk einmal genauer. Wie man sieht, ist nun die
Textur der UV Map, welche wir vorher in Blender erstellt haben, auf unser
Triebwerk projeziert worden. Um sicherzugehen, das uns beim Unwrappen keine
Fehler unterlaufen sind, schauen wir uns das Triebwerk einmal von allein Seiten
an. Sollte irgendwo eine schwaze Fläche auftauchen, so haben wir einen Fehler
gemacht. Dies ist jedoch nicht der Fall und das Triebwerk sieht so aus:
25) Ich habe einfach, da es schneller geht, ein paar
Texturen aus dem Internet heruntergeladen. Mit einem beliebigen
Bildbearbeitungsprogramm fügen wir die Texturen ein und speichern das ganze
anschließend. Fertig texturiert, sieht das Triebwerk so aus:
Das wars auch schon wieder mit dem texturieren, es ist so
ziemlich das einfachste, zumindest bei nicht allzu detailierten Modellen.
Das Triebwerk zum Triebwerk machen
26) Damit wir das Triebwerk auch anfassen können und damit
es mit anderen Objekten kollidieren kann müssen wir ein Collider erstellen. Das ist recht einfach. Wenn wir das Triebwerk ausgewählt haben,
gehen wir oben rechts auf den Punkt select.
Dort setzen wir einen Haken bei dem Punkt Generate Colliders.
Um die Einstellungen zu speichern, gehen wir am unteren
Rand auf Apply. Jetzt wird der
Collider automatisch erstellt.
27) Die Collider sind zwar erstellt, aber damit das
Triebwerk auch kollidieren kann, muss man noch eine Kleinigkeit machen: Bei den
Punkt Mesh Collider müssen wie einen
Haken setzten bei Convex, damit das
Objekt auch wirklich mit anderen kollidieren kann.
28) Sobald wir den Haken bei Convex gesetzt haben, bildet sich um das Triebwerk herum ein grünes
Gitternetz. Dieses zeigt uns, wie der Collider um das Objekt herum aufgebaut
ist. Der Collider ist nicht auf dem Triebwerk erstellt, sonden geht vom
breitesten Punkt zum schmalsten Punkt. Das heißt, wenn zwischen dem breitesten
und dem schmalsten Punkt etwas schmales ist, geht der Collider einfach daran
vorbei und geht zum schmalsten Punkt nach unten. Dies genügt uns aber für unser
einfaches Triebwerk, schließlich sollen ja keine Teile seitlich ans Triebwerk
gebaut werden. Der Collider des Triebwerks sollte so aussehen wie im vorigen
Bild.
29) Damit das Triebwerk auch wirklich ein Triebwerk ist
und Schub erzeugen kann, muss man ein neues Game Object erstellen. Dafür geht man oben in der Leiste auf GameObject und dann auf Create empty. Rechts im Transform Panel setzt ihr nun die
Position des Game Objects auf 0 , 0 , 0. Oben über dem Transform Panel
gebt ihr nun den Namen des Objects ein.
30) Nun müsst ihr unter dem Punkt Rotation - und das ist jetzt
ganz wichtig – Das
Game Object so drehen das der blaue Pfeil nach unten zeigt, also um 90°
(90,0,0). Der blaue Pfeil
zeigt also in Richtung der Triebwerksflamme. Nun müsst ihr noch den Namen von dem
Game Object umändern in thrustTransform (siehe
Bild oben). Jetzt muss der thrustTransform Punkt noch nach unten gezogen
werden, damit der thrustTransform Punkt nicht innerhalb des Colliders ist und
damit abgelenkt wird. Um den optimalen Punkt zu finden, welcher nicht innerhalb
des Colliders nicht liegt und welcher nicht zu weit vom Objekt entfernt ist,
muss man zurück in Blender gehen, dort den tiefsten Punkt des Modells auswählen
und im Transform Panel bei der Z-Achse die
Position merken (In diesem Fall ist die Position -1.3m). In Unity muss dann
unter der Y-Achse -1.3 eingetragen
werden, ich füge noch eine 0.05 hinzu, damit der thrustTransform auch wirklich
nicht im Collider liegt. Ihr müsst also -1.35
bei der Y-Achse eintragen. So
sollte es jetzt aussehen:
31) Jetzt müsst ihr
ein weiteres Game Object hinzufügen
(GameObjectàCreate empty). Das könnt ihr eigentlich nennen
wie ihr wollt, ich habe es Tut_Engine_full
genannt. Die Position setzt ihr auf 00 0.
Die Rotation ist egal.
32) Jetzt wählt ihr die Datei Tut_enginefull im Hierarchy Fenster aus (links) und zieht es mit
der linken Maustaste in das Game Objec Tut_Engine_full.
Das selbe macht ihr mit dem thrustTransform Punkt. Links neben dem
Tut_Engine_full Objekt erscheint ein kleines liegendes Dreieck. Wenn ihr dort
drauf klickt, erscheint der thrustTransform und das Tut_enginefull Objekt.
Diese beiden Dateien sind jetzt also unter dem Tut_Engine_full gruppiert.
33) Jetzt wählt ihr das Tut_Engine_full Game Objectaus.
Rechts im Bild geht ihr nun auf Add
Component.
34) Dort wählt ihr KSP-->Part Tools.
35) Dort sollte jetzt, es sei denn ihr habt vorher bereits
einmal ein Teil geschrieben, Set
GameData directory erscheinen. Da klickt ihr drauf und im sich öffnenden
Fenster klickt ihr auf Set Data dir.
In dem neuen Fenster erstellt ihr dann einen neuen Ordner, nennt ihn GameData
und geht auf auswählen.
36) Zurück in Unity erscheint jetzt rechts am Rand
folgendes:
Unter Model Name wählt
ihr statt NewModel model, so heißen
die Standart Modelle in KSP. Beim Texture
Format wählt ihr MBM aus. Bei File URL könnt ihr rechts auf Set gehen. So könnt ihr in eurem
GameData Ordner einen neuen Ordner erstellen, dort werden dann die Dateien
hineingeschrieben. Ich habe den Ordner Tut_engine
genannt. Das sollte jetzt also so aussehen:
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:
Eine model.mu Datei
und eine Tut_engine.mbm Datei. Der
Name der Textur ist übrigens egal, standartmäßig heißen diese zwar model000 und
model001, bei vielen Teilen und Texturen im Unity Project dauert es aber bis
man die richtige Textur gefunden hat.
38) Wenn ihr nur ein Teil testen wollt, könnt ihr einfach
den Ordner in eurem Unity GameData Ordner kopieren in dem die Dateien drin
sind. Diesen Ordner kopiert ihr dann einfach in euren KSP GameData Ordner.
39) Als letzten Schritt müssen wir noch die part.cfg erstellen, also die Datei die
dem Spiel sagt was für Parameter dieses Teil hat, was für ein Teil es ist und
wie es funktioniert. Man muss keine neue part.cfg erstellen, ich kopiere immer
die part.cfg des Rockomax Skipper Triebwerks.
Diese cfg findet ihr unter (…)KSP_win\GameData\Squad\Parts\Engine\engineLargeSkipper
.
Diese part.cfg kopiert ihr und fügt sie in eurem
Triebwerksordner ein.
40) Die part.cfg öffnet ihr mit Notepad. Die cfg ist eigentlich selbsterklärend. Ihr müsst
eigentlich nur den Namen des Triebwerks und vielleicht den Schub verändern. Also
ganz am Anfang der cfg unter Name Tutengine
und unter //editor parameters bei
title = Tut Engine eingeben. Falls
ihr möchtet könnt ihr jetzt auch noch den Schub verändern, für dieses einfache
Tutorial lasse ich den Schub jedoch. Damit ihr das Teil auch anbauen könnt,
müssen jetzt noch die node definitions angegeben werden. Um die Positionen der
nodes für euer Teil herauszufinden, geht ihr in Blender und wählt die oberste
Fläche aus. Diese befindet sich in einer Höhe von 1.0. Unter node_stack_top in
eurer cfg fügt ihr also ein:
0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 2 . Für die untere
node macht ihr dasselbe. Ihr wählt die unterste Fläche an, welche sich in einer
Höhe von -1.3m befindet. Unter node_stack_bottom fügt ihr also 0.0, -1.3, 0.0, 0.0, 1.0, 0.0, 2 ein. (Falls ihr noch mehr Informationen über die
part.cfg und die node_definitions möchtet, ich arbeite an einem Tutorial welche
die part.cfg komplett auseinander nimmt und welches alles möglichst genau und einfach
erklärt.) Jetzt sind wir fertig, speichern die part.cfg ab und starten KSP.
Damit wären wir fertig.
Viel Spaß mit eurem ersten Triebwerk!