ShootMania Storm
Недостатньо оцінок
Eigene Blöcke erstellen [GERMAN]
Автор: Käpt'n Iglu
Hier erfahrt ihr, wie ihr eure eigenen Blöcke für den Editor erstellen könnt.
   
Нагородити
До улюбленого
В улюблених
Прибрати
Du brauchst:
Blender (3D-Modellierungsprogramm)
Download: http://www.chip.de/downloads/Blender-64-Bit_44340593.html (64-Bit-Windows)
http://www.chip.de/downloads/Blender-32-Bit_12993220.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/NadeoImporter_2013_07_26.zip

ConvertAssistant2 (Ein Programm, mit dem ihr den NadeoImporter mit einem Klick ausführen könnt)
Download: https://dl.dropboxusercontent.com/u/11796649/ConvertAssistant2.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
Die Programme sind allesamt kostenlos ;)
1. Schritt: Alles vorbereiten/installieren
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
2. Schritt: Modellieren mit Blender
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.
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.
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 dies 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.
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
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
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.
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 :) .
3. Schritt: Konvertieren der 3D-Datei
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.

























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.
4. Schritt: XML-Datei
Jetzt gehts zur XML-Datei:
Wir öffnen Notepad++, legen ein neues Dokument an und kopieren das hier erstmal rein:
<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.)
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? )
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.
5. Schritt: Euer Objekt ist nun fertig!
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:
Hier können wir unseren Zylinder jetzt auswählen und platzieren, bei mir sieht das so aus:
(Ich benutze eine Texture Mod, also nicht wundern )
Damit haben wir jetzt unseren ersten Block importiert :)
Da dran können wir jetzt WallJump machen, draufschießen, rumturnen und so weiter.
Extra: Eigene Texturen
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 aus der SMStorm.zip klauen )
Im ConvertAssistant ist zu beachten, dass als Collection "Common" auszuwählen ist
Den Textur-Namen könnt ihr frei wählen.
Für eine ausführliche Erklärung, siehe das Tut von Hubble:
http://forum.maniaplanet.com/viewtopic.php?f=14&t=22231
Extra: Liste der PhysicalIds
Hier ist die Liste der PhysicalIds
(Von damien (Entwickler))
Цитата допису "damien":
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
Anhang
Dieser Guide basiert auf meinem Tutorial, welches ihr im offiziellen ManiaPlanet-Forum nachschlagen könnt:
http://forum.maniaplanet.com/viewtopic.php?f=14&t=22215
An english version is coming ;)
Коментарів: 3
Käpt'n Iglu  [автор] 3 лют. 2014 о 11:57 
Try this [player.maniaplanet.com]
^1A^2n^3g^4l^5e^6_^7f^2i^5r^1e 24 січ. 2014 о 13:11 
How to recover a forgotten password in ShootMania Storm??
BamBouZ 20 жовт. 2013 о 13:01 
Gutes Tut, muss ich direkt mal ausprobieren :)