Eigene Blöcke erstellen (Tutorial)

Besprechen Sie alles im Zusammenhang mit Maniaplanet.

Moderator: German Moderator

User avatar
kaeptniglu
Translator
Translator
Posts: 68
Joined: 17 Jan 2013, 21:32
Contact:

Eigene Blöcke erstellen (Tutorial)

Post by kaeptniglu » 02 Aug 2013, 22:19

In diesem Tutorial werdet ihr erfahren, wie ihr eigene Blöcke für Shoot- und TrackMania erstellt.
Das Tutorial richtet sich an Neulinge im 3D-Modllierungsbereich. (wie ich damals :D)
Ihr braucht dafür ein paar Programme, die nachfolgend aufgelistet und selbstverständlich kostenlos sind:

Blender (3D-Modellierungsprogramm)
Download: http://www.chip.de/downloads/Blender-64 ... 40593.html (64-Bit-Windows)
http://www.chip.de/downloads/Blender-32 ... 93220.html (32-Bit-Windows)
(Die Bit-Zahl eures Betriebssystems könnt ihr in der Systemsteuerung ablesen, falls ihrs nicht findet, googlet einfach mal^^)

NadeoImporter (Das Programm, das die 3D-Dateien in Spieldateien umrechnet)
Download: http://files.maniaplanet.com/tools/Nade ... _07_26.zip

ConvertAssistant2 (Ein Programm, mit dem ihr den NadeoImporter mit einem Klick ausführen könnt)
Download: https://dl.dropboxusercontent.com/u/117 ... stant2.zip

NotePad++ (Texteditor)
Download: http://www.chip.de/downloads/Notepad_12996935.html

7-Zip (.zip "Handhabungsprogramm")
Download: http://www.chip.de/downloads/7-Zip-64-Bit_38851222.html (64-Bit)
http://www.chip.de/downloads/7-Zip-32-Bit_13004776.html (32-Bit)

Paint.NET (Malprogramm, optional für eigene Texturen)
Download: http://www.chip.de/downloads/Paint.NET_13015268.html

Nachdem wir jetzt alles runtergeladen haben, installieren wir den NadeoImporter.
Das ist der erste Schritt, den wir jetzt unternehmen werden: Ihr öffnet eure NadeoImporter_version_.zip in 7-zip, markiert dort die NadeoImporter.exe, sowie die NadeoImporterMaterialLib.txt, wählt "entpacken" und navigiert jezt zu Laufwerksbuchstabe:\Program Files (x86)\ManiaPlanet
Nach einem Klick auf OK sind die beiden Dateien entpackt, installiert und in eurem ManiaPlanet-Installationsverzeichnis.

Die ConvertAssistant2.zip können wir entpacken, wohin wir wollen

Jetzt gehts ans Eingemachte ;)
Wir starten Blender und finden 3 Objekte vor: Eine Kamera, eine Art Kugel (Lichtquelle) und ein Würfel.
Da wir Kamera, Würfel und Lichtquelle nicht brauchen, löschen wir sie einfach, indem wir sie einzeln mit Rechtsklick auswählen und nach einem Tastendruck auf entf über eine Art Kontextmenü entfernen.
Nun haben wir endlich Platz für unseren eigenen, ersten Block. 8-)
Doch erst einmal müssen wir unsere "Arbeitsumgebung" einrichten:
Nach einem Klick auf das kleine Plus-Zeichen oben rechts im User Persp Fenster öffnet sich ein weiteres kleines Fenster mit Koordinaten und noch anderm Zeugs. Unter dem User Persp Fenster finden wir eine Timeline vor. Wofür brauchen wir eine Timeline wenn wir nur modellieren wollen? Richtig, für nix. Wir entfernen sie also, indem wir unten links den kleinen "Zipfel" vom User Persp Fenster nach unten ziehen. Damit wird die Timeline überdeckt und nicht mehr sichtbar.
Image
(Nein, ich benutze nicht Windows 95) :roflol:

Oben links finden wir eine Dropdown-Leiste namens "Add":
Wir wählen dort Mesh aus, und dann das Objekt, das wir haben wollen, z.B. einen Zylinder. Jetzt ist unser Objekt "gespawnt" und wir können es über das Menü, welches wir vorher über das Plus aufgerufen haben, verändern.
Bei Dimensions geben wir die Ausdehnung des Zylinders in die jeweiligen Achsen an, z.B. X: 300, Y: 500, Z:600.
Tipp: Die rote Achse ist X, die grüne Y, und die blaue Z.
Wenn wir jetzt rauszoomen, sehen wir unseren riesigen Zylinder, und bemerken, dass er zur Hälfte unter dem Boden (Drahtgitter) liegt, was auch bedeuten würde, dass er im Spiel zur Hälfte unter dem Boden liegt.
Um das zu beheben, tragen wir ganz oben unter Location bei Z die Hälfte von dem Wert ein, den wir bei Dimensions für Z gewählt haben, hier also 300.
Image
Damit wäre unser Objekt an sich schonmal fertig.
Allerdings müssen wir es jetzt noch für den Import vorbereiten. Das machen wir in 2 einfachen Schritten:
1.UV-Maps
Wir fügen eine UV-Map hinzu, indem wir im ersten Fenster von rechts dieses kleine Dreieck wählen
Image
und unter "UV-Maps" auf das Plus klicken. Damit wäre eine schonmal angelegt, sie hat aber noch keinen Inhalt .:(
Um das zu beheben, tippen wir einmal auf die Tabulator-Taste um in den Edit Mode zu gelangen.
Wir tippen noch einmal auf "u" und es öffnet sich ein Kontextmenü aus dem wir "Smart UV Project" wählen: Die Werte belassen wir so, wie sie angezeigt werden, und drücken auf OK.
Die UV-Map hat jetzt Inhalt und wir können sie umbenennen, indem wir hier
Image
den neuen Namen eintragen, nämlich BaseMaterial.
Außerdem wir noch eine zweite UV-Map, die "Lightmap":
Diese generieren wir indem wir ein weiteres Mal "u" drücken, dieses Mal nehmen wir aber "Lightmap Pack".
Dann noch bei "New UV Map" ein Häkchen setzen und eine zweite UV-Map erscheint, diese benennen wir in "Lightmap" um.

2.Materialien
Hier gebt ihr an, aus welchem Material das Objekt ist, also ob es auf den Spieler wirken soll wie ein Laserpad oder ob es WallJump-fähig ist, und so weiter. Materialien könnt ihr in der NadeoImporterMaterialLib.txt nachschlagen (Das, was jeweils hinter DMaterial steht).
Probiern wir's erstmal mit dem einfachen WallJump-Material, nämlich "WallRuinPxz".
Im selben Fenster, in dem wir bereits UV-Maps gewählt haben, drücken wir auf Materials.
Image
Wir legen mit New ein neues Material an und benennen es in unserem Beispiel "WallRuinPxz".

Als nächstes legen wir Ordner an:
Und zwar in Dokumente>ManiaPlanet erstellen wir den Ordner "Work".
In diesem den Ordner "Items".
Dort wiederum "Storm".
Und jetzt kommt der Ordner mit dem Namen von unserem Block.
Hierin müssen wir noch den Ordner "Meshes" erstellen.

Noch einmal zurück zu Blender:
Wir gehen auf File > Export > Autodesk FBX
Diese fbx speichert ihr jetzt in dem Meshes-Ordner.
(Optional könnt ihr eure Datei zusätzlich als .blend speichern, um sie später bearbeiten zu können.)
Mit Blender wär'n wir soweit fertig :) .

Jetzt führn wir die ConvertAssistant2.exe aus.
Er fragt uns nach der Importer Location. Dazu navigieren wir zu Laufwerk:\Program Files (x86)\ManiaPlanet und wählen die NadeoImporter.exe aus. Nun ziehen wir per drag & drop aus dem Meshes-Ordner die fbx hinüber zum ConvertAssistant. Wir wählen "Static Mesh", als Collection "Storm" und drücken auf Convert.
Image
Ein Icon legen wir fest, indem wir einfach eins mit Paint.NET machen, das auf die Größe 128x128 bringen und es als euer-blockname.tga in Dokumente>ManiaPlanet>Work>Items>Storm>euer-blockname>Icon speichern.

Jetzt gehts zur XML-Datei:
Wir öffnen Notepad++, legen ein neues Dokument an und kopieren das hier erstmal rein:

Code: Select all

<Item Type="StaticObject" Collection="Storm">
	<Phy>
		<MoveShape Type="mesh" File="Meshes/euer-blockname.Shape.gbx"/>
	</Phy>
	<Vis>
		<Mesh File="Meshes/euer-blockname.Mesh.gbx"/>
	</Vis>
	<Pivots>
		<Pivot Pos="0 0 0"/>
		<Pivot Pos="0 0 -1.5"/>
		<Pivot Pos="0 0 1.5"/>
	</Pivots>
	<GridSnap HStep="8" VStep="1" />
</Item>
(Das "euer-blockname" ersetzt ihr natürlich durch den Namen eurer FBX :mrgreen: .)
Wir sehen verschiedene Sachen, zum einen Pivots:
Sie sind dafür da, wie weit sich der Block im Editor relativ zum Mauszeiger verschiebt, hier gibt es also drei verschiedene Möglichkeiten, experimentiert einfach mal rum, es ist für jeden Block unterschiedlich.
Zum anderen wäre da GridSnap: HStep gibt an, um wie viel Einheiten der Block jeweils im horizontalen Editor-Gitter einrasten soll, VStep im Vertikalen. (Wer hätt's gedacht? :mrgreen: )
Durch Löschen der ganzen GridSnap-Zeile deaktiviert ihr das Einrasten ganz.
Und auch hier müsst ihr mal wieder experimentieren^^
Wir gehen auf "speichern unter" geben als Namen "euer-blockname.Item" an, wählen als Dateityp "eXtensible Markup Language file" und speichern das Ganze in Dokumente>ManiaPlanet>Work>Items>Storm>euer-blockname
Diese XML-Datei ziehen wir dann auch in den ConvertAssistant und drücken einfach auf Convert.

So, jetzt kommt der Augenblick der Wahrheit:
Wir starten ManiaPlanet, gehen in den Editor, und fragen uns: wo ist jetzt mein Block!? :shock:
Ganz einfach: Custom Blöcke landen immer bei diesem Bäumchen:
Image
Hier können wir unseren Zylinder jetzt auswählen und platzieren, bei mir sieht das so aus:
Image
(Ich benutze eine Texture Mod, also nicht wundern 8-) )
Damit haben wir jetzt unseren ersten Block importiert :yes:
Da dran können wir jetzt WallJump machen, draufschießen, rumturnen und so weiter.
Last edited by kaeptniglu on 27 Aug 2013, 14:42, edited 1 time in total.
Image
Sry for my bad english, i'm still a student^^

User avatar
kaeptniglu
Translator
Translator
Posts: 68
Joined: 17 Jan 2013, 21:32
Contact:

Blöcke mit eigenen Texturen

Post by kaeptniglu » 02 Aug 2013, 22:20

Die Blöcke, die wir vorhin gestaltet haben, nehmen immer die Spieltexturen an, und funzen daher nicht in jedem Envi.
Um jetzt sozusagen "statische Texturen" zu erstellen, müssen wir nur zwei Sachen abändern:
Das Material heisst jetzt _TDSN_<Textur-Name>_<PhysicalId>
Im Mesh-Ordner gibt es jetzt einen Ordner namens Texture, in dem ihr die Texturen als .dds Bilder speichert:
Ihr braucht drei Texturen:
<Textur-Name>_D.dds
<Textur-Name>_N.dds
<Textur-Name>_S.dds
(Ihr könnt die Texturen auch einfach z.b. aus der SMStorm.zip klauen :twisted: )
Im ConvertAssistant ist zu beachten, dass als Collection "Common" auszuwählen ist
Den Textur-Namen könnt ihr frei wählen und die PhysicalId könnt ihr weiter unten im Thread nachschlagen ;).
Für eine ausführliche Erklärung, siehe das Tut von Hubble:
http://forum.maniaplanet.com/viewtopic.php?f=14&t=22231
Last edited by kaeptniglu on 03 Aug 2013, 13:06, edited 2 times in total.
Image
Sry for my bad english, i'm still a student^^

User avatar
kaeptniglu
Translator
Translator
Posts: 68
Joined: 17 Jan 2013, 21:32
Contact:

Mehrere Objekte als einen Block importieren

Post by kaeptniglu » 02 Aug 2013, 22:21

Wenn ihr einen Block aus mehreren Objekten zusammenbasteln und diesen nachher importieren wollt, müsst ihr diese Schritte durchführen:
Ein Objekt mit all seinen Lightmaps und seinem Material fertig haben.
Dieses selektieren wir, mit b wählen wir alle anderen Blöcke aus und über Strg+L wählen wir Transfer UV Layouts.
Wenn nun 2 oder mehr Objekte das selbe Material haben sollen, müssen wir das gleiche nochmal machen. Anstatt Transfer UV Layouts wählen wir aber diesmal Materials.
Jetzt sollten eure Objekte bereit für den Import sein ;).
Image
Image
Sry for my bad english, i'm still a student^^

User avatar
kaeptniglu
Translator
Translator
Posts: 68
Joined: 17 Jan 2013, 21:32
Contact:

Liste der PhysicalIds

Post by kaeptniglu » 02 Aug 2013, 22:21

Hier ist die Liste der PhysicalIds
(Von damien)
damien wrote:Tech (Blaue Pfade = powerpath)
TechArmor (Heilfelder)
TechSafe (Unverwundbarkeit (grüne Plattformen)
TechLaser (Laser Plattformen)
TechArrow (Arrow Plattformen)
TechGround (Boden der roten, fliegenden Blöcke : Ausdauer-Sprung)
TechWall (Wände der roten, fliegenden Blöcke : Reflektierende Rockets und Super-Walljump)
TechHook (Enterhaken-Sphären)

Bumper (die storm bumper, die direktionalen Bumper haben spezielle Eigenschaftem in den Blockinfos, nicht im Material))
WallJump (Ich bin mir nicht sicher ob's funktioniert, die WallJmup-Eigenschaft wurde direkt ins Stone-Material implementiert)

PlayerOnly (Ich erinnere mich, das jemand sowas wollte: Wird den Spieler blockieren, aber nicht die Waffen, nützlich für Schlupflöcher oder um gefährliche Zonen zu vermeiden, in denen der Spieler hängen bleiben wird)
NotCollidable (wonach es sich anhört, keine Kollisionen, nützlich für kleine nervende SAchen, wie Steine)

Concrete (das häufigste Material in TM)
Asphalt (das zwiethäufigste Material in TM)
Pavement (größtenteils Rally)

WetAsphalt (Rally)
WetPavement (Rally)

Grass (das dritthäufigste Material in TM)
WetGrass (größtenteils Rally)

Ice (größtenteils Snow oder gläserne Objekte)
Snow (größtenteils Snow)

Sand (größtenteils Island, glaube ich)
Dirt (another very common material)
DirtRoad
WetDirtRoad (größtenteils Rally, ein bisschen auch Unterwasser in Storm)

Rubber (größtenteils Stadium)
SlidingRubber (Ich erinnere mich nicht mehr, wo das eingesetzt wird)

Rock (Abrutschen, wenn der Abhang zu steil ist (Um Cliff-Climb-Hacking in Storm zu verhindern. Nebeneffekt: Der Spieler rutscht auf ein paar Blöcken)
Stone (größtenteils Storm-Castle, fügt Walljump in Storm hinzu)

Wood (Holz-Strukturen, Brücken, usw..)
SlidingWood (Storm)
Trunk (Bäume)

Water (Die Aktivierung vom Wasser-Gameplay ist mit einer Höhe verbunde, die in den Environment-Parametern gespeichert ist, also eine Wasseroberfläche in einer anderen Höhe in einem Block der nicht mit "has Water" markiert ist, gibt nicht das Resultat wieder, das du vielleicht erwartest

OffZone (Ich hab's nie in einen Block eingefügt, ich weiss nicht, wie es reagieren wird)

Metal
ResonantMetal (Die Container in Desert und die Tech-Türme in Storm)
MetalTrans

Turbo
Turbo2
TurboRoulette
Image
Sry for my bad english, i'm still a student^^

User avatar
kaeptniglu
Translator
Translator
Posts: 68
Joined: 17 Jan 2013, 21:32
Contact:

Das Ende vom Tutorial

Post by kaeptniglu » 02 Aug 2013, 22:21

Damit wären wir jetzt auch eigentlich schon am Ende :)
Einen großes Dankeschön von mir geht an TitiShu, Hubble und spaii, die mir sehr bei der ganzen Object-Import-Sache geholfen haben :thx: .
Außerdem danke ich noch Nadeo dafür, dass sie so etwas überhaupt ermöglichen (nur die Dokumentation ist ein klein bisschen dürftig ;) ).
Ich grüße das ganze Forum, meine Oma, meine Katze und alle die mich kennen <3.

Baut tolle Objekte, das wars von mir,
bleibt frisch
Euer Iglu
Last edited by kaeptniglu on 03 Aug 2013, 12:26, edited 1 time in total.
Image
Sry for my bad english, i'm still a student^^

BK-ZD50
Posts: 268
Joined: 25 Nov 2011, 18:55
Location: 29646 Bispingen

Re: Eigene Blöcke erstellen (Tutorial)

Post by BK-ZD50 » 02 Aug 2013, 22:24

Wunderbares Tutorial :D
:roflol: :1010 :pop:

<!--
Mich hat nur die überschrift ein wenig verwirrt^^
Ich dacht gerade mher an Blöcke, wie checkpoints, u.s.w.
Aber hier sind Objekte gemeint :D
-->

User avatar
Mr.DVD
Posts: 803
Joined: 19 Jun 2010, 08:16
Location: Germany
Contact:

Re: Eigene Blöcke erstellen (Tutorial)

Post by Mr.DVD » 03 Aug 2013, 07:40

ich danke dir für das tut du bist der beste :3 ich hatte es trotz der anleitungen nie wirklich hinbekommen , werde mich heute gleich ans werk machen^^

Ps. es funktioniert juhu :D
:pop:

User avatar
HubbleSM
Posts: 166
Joined: 18 Mar 2013, 19:38
Location: Germany
Contact:

Re: Eigene Blöcke erstellen (Tutorial)

Post by HubbleSM » 03 Aug 2013, 11:02

Klasse Tutorial :) endlich bringt mal jemand das Thema verständlich rüber!
Ich habe noch eine Ergänzung des Tutorials geschrieben und mich genauer mit der Erstellung eigener Texturen befasst. Wäre nett wenn du das verlinken könntest ;)

User avatar
xrayjay
Posts: 1481
Joined: 29 Aug 2010, 14:19

Re: Eigene Blöcke erstellen (Tutorial)

Post by xrayjay » 03 Aug 2013, 11:29

:thumbsup: sehr gut erklärt
Ich wollte das auch schon immer mal machen, bin aber immer an diversen Dingen gescheitert, nun klappts :roflol:

btw: Du kannst Dein tutorial auch gerne auf maniapark posten (auch nur in deutsch), ich verschiebs dann in den tutorial Bereich

User avatar
kaeptniglu
Translator
Translator
Posts: 68
Joined: 17 Jan 2013, 21:32
Contact:

Re: Eigene Blöcke erstellen (Tutorial)

Post by kaeptniglu » 03 Aug 2013, 13:12

xrayjay wrote::thumbsup: sehr gut erklärt
Ich wollte das auch schon immer mal machen, bin aber immer an diversen Dingen gescheitert, nun klappts :roflol:
Mr.DVD wrote:ich hatte es trotz der anleitungen nie wirklich hinbekommen
Die andern Tuts sind outdated ;).
HubbleSM wrote: Ich habe noch eine Ergänzung des Tutorials geschrieben und mich genauer mit der Erstellung eigener Texturen befasst. Wäre nett wenn du das verlinken könntest ;)
schon getan, gute Arbeit :thumbsup:
xrayjay wrote: btw: Du kannst Dein tutorial auch gerne auf maniapark posten (auch nur in deutsch), ich verschiebs dann in den tutorial Bereich
Gerne ;)
Image
Sry for my bad english, i'm still a student^^

Post Reply

Return to “Maniaplanet”

Who is online

Users browsing this forum: No registered users and 1 guest