Flint-Tutorial(v14)
3 verfasser
Seite 1 von 1
Flint-Tutorial(v14)
Nun, dies ist ein einfaches Tutorial für das Scripten eines Flints für gwX
von mir und alra(dake noma)
Ich werde bei jeder neuen Version falls nötig updaten
Es wird nix vorrausgesetzt (außer natürlich umgehn mit dem Computer )
ALSO:
1. Geht in den Ordner wo ihr gwX installiert habt
2. Öffnet den Ordner "Packs" und erstellt einen neuen Ordner um ein neues Pack zu erstellen, den Namen könnt ihr euch glaub ich frei aussuchen,benutzt aber bitte erstmal keine Sonderzeichen und haltet ihn einfach, damit ihr ihn euch merken könnt (puuh, tolle Wortkonstruktion ),WICHTIG: verändert nie das Originalpack
3. Erstellt in diesem Orner einen neuen Namen Objekte
4. Erstelln darin nun einen neuen Ordner Namens "Tollerflint"
5. erstellt nun ein eigenes Flint-Objekt oder nehmt das was im Stein drin is
6. Speichert dies nun unter "model_Tollerflint", wenn ihr Cinema4d habt geht auf Datei -> Exportiern -> 3DS Studio
wenn ihr das stein model nehmt, nennt es bitte so um(man muss es nicht so nennen, aber es ist einfach übersichtlich und Standard)
7. un erstellt irgeneine schöne Textur am besten mit 400 mal 400 Pixeln(mit GIMP, Paint.net, oder zur Not auch Paint) und speichert diese unter dem schönen Name textur_Tollerflint.jpg (ihr könnt auch .png nehmen)
8. Soo, das wäre geschafft, kommen wir nun zur Definition
9. Also, erstellt eine neue .txt-Datei namens "definition.txt"
10. schreibt nun das hinein:
Hier die Erklärung(bitte nicht mitschreiben)
vertices=1 Das Objekt hat einen (kugelförmigen) Vertex(für die Kollision)
vertexx=0 Der X-Wert der Mitte des Vertex(Breite)
vertexy=0 Der Y-Wert(Höhe) //Da alle Werte 0 sind also der Mittelpunkt
vertexz=0 Der Z-Wert(räumliche Tiefe)
vertexr=100 Der Radius der Vertex-Kugel
gravity=1 Das Objekt verhält sich nach der Gravitation(fällt runter)
name=TollerFlint Der Name(Ach nee )
desc=Lustigerer explosiver Stein Die Beschreibung des Objektes
11. Soviel zur Definition, jetzt nur noch der Script
12. also erstellt eine Text datei namens "script.txt"
12. nun das script mit erklärung:
un denkt immer dran: die funktionen müssen immer Objekt_Funktion heißen
und nehmt mal immer schön cdecl, die kann man fast immer benutzen
für shader kommt irgendwann mal was
alra
von mir und alra(dake noma)
Ich werde bei jeder neuen Version falls nötig updaten
Es wird nix vorrausgesetzt (außer natürlich umgehn mit dem Computer )
ALSO:
1. Geht in den Ordner wo ihr gwX installiert habt
2. Öffnet den Ordner "Packs" und erstellt einen neuen Ordner um ein neues Pack zu erstellen, den Namen könnt ihr euch glaub ich frei aussuchen,benutzt aber bitte erstmal keine Sonderzeichen und haltet ihn einfach, damit ihr ihn euch merken könnt (puuh, tolle Wortkonstruktion ),WICHTIG: verändert nie das Originalpack
3. Erstellt in diesem Orner einen neuen Namen Objekte
4. Erstelln darin nun einen neuen Ordner Namens "Tollerflint"
5. erstellt nun ein eigenes Flint-Objekt oder nehmt das was im Stein drin is
6. Speichert dies nun unter "model_Tollerflint", wenn ihr Cinema4d habt geht auf Datei -> Exportiern -> 3DS Studio
wenn ihr das stein model nehmt, nennt es bitte so um(man muss es nicht so nennen, aber es ist einfach übersichtlich und Standard)
7. un erstellt irgeneine schöne Textur am besten mit 400 mal 400 Pixeln(mit GIMP, Paint.net, oder zur Not auch Paint) und speichert diese unter dem schönen Name textur_Tollerflint.jpg (ihr könnt auch .png nehmen)
8. Soo, das wäre geschafft, kommen wir nun zur Definition
9. Also, erstellt eine neue .txt-Datei namens "definition.txt"
10. schreibt nun das hinein:
Hier die Erklärung(bitte nicht mitschreiben)
vertices=1 Das Objekt hat einen (kugelförmigen) Vertex(für die Kollision)
vertexx=0 Der X-Wert der Mitte des Vertex(Breite)
vertexy=0 Der Y-Wert(Höhe) //Da alle Werte 0 sind also der Mittelpunkt
vertexz=0 Der Z-Wert(räumliche Tiefe)
vertexr=100 Der Radius der Vertex-Kugel
gravity=1 Das Objekt verhält sich nach der Gravitation(fällt runter)
name=TollerFlint Der Name(Ach nee )
desc=Lustigerer explosiver Stein Die Beschreibung des Objektes
11. Soviel zur Definition, jetzt nur noch der Script
12. also erstellt eine Text datei namens "script.txt"
12. nun das script mit erklärung:
- Code:
cdecl Tollerflint_load
{
//loadsound("explo"); //der sound ohne endung, sollte ein wave sound sein, wird aber schon vom Flint geladen - rausgenommen
//loadshader("bump"); //wäre für den shader, der wird aber schon vom Stein geladen -rausgenommen
loadtexture("textur_Tollerflint"); //die textur ohne endung,
}
cdecl Tollerflint_render(o)
{
//defaultrender(o); //Mit Defaultrender zeichnet man die Vertices als weiße Kugeln - rausgenommen
glscale(200,200,200); //vergrößert das objekt(sonst sieht man nichts, eventuell alle 3 werte gleich ändern)
glcolor(255,50,50); //für die farbe insgesamt
glenable(gl_texture_2d); //lässt zu, dass man die textur setzen kann
glbindtexture(gl_texture_2d,getid("textur_Tollerflint")); //setzt die textur
gluseshader(getid("bump")); Der Bump-Shader verhindert den Speckfleck, den man sonst auf Steinen etc. sieht
glcalllist(getid("model_Tollerflint")); //für das model des flints
}
cdecl Tollerflint_hit(o,o2)
{
explode(o,1000); //explodieren!
}
cdecl Tollerflint_intern(o,t) //Achtung!!! Ab [15] darf es nur noch Tollerflint_intern(t) heißen - bevor es alle nach alter Manier machen, lad ich lieber [15] nochmal hoch.
{
if(t=getid("clonk")){return 1;}; //Objekt soll einsammelbar sein
}
un denkt immer dran: die funktionen müssen immer Objekt_Funktion heißen
und nehmt mal immer schön cdecl, die kann man fast immer benutzen
für shader kommt irgendwann mal was
alra
Zuletzt von Carli am So 4 Jan 2009 - 15:49 bearbeitet; insgesamt 3-mal bearbeitet (Grund : Ergänzung)
Re: Flint-Tutorial(v14)
also als admin hab ich ein bissel rumgewurschtelt und die eine oder andre Zeile ergänzt. Bitte nehmt den Code-Tag für Scripts, sonst wirds unübersichtlich.
Carli- Admin
- Anzahl der Beiträge : 1001
Anmeldedatum : 02.01.09
Re: Flint-Tutorial(v14)
ja.
z.B. beim Clonk-Kopf
einfach im 3ds mehrere Materialien
z.B. Braun und Gelb
und dann im Render-Script
z.B. beim Clonk-Kopf
einfach im 3ds mehrere Materialien
z.B. Braun und Gelb
und dann im Render-Script
- Code:
clgolor(40,10,10);//braun
glcalllist(getid("mymodel_braun"));
clgolor(255,255,0);//gelb
glcalllist(getid("mymodel_gelb"));
Carli- Admin
- Anzahl der Beiträge : 1001
Anmeldedatum : 02.01.09
Re: Flint-Tutorial(v14)
ja, soweit war ich auch schon, ich meine eine textur
mit farben is ja ziemlich leicht, aber bei texturen blick ich nich so richtig durch
mit farben is ja ziemlich leicht, aber bei texturen blick ich nich so richtig durch
Re: Flint-Tutorial(v14)
ja was Grafiken angeht, sucht euch irgendwelche OpenGL-Tutorials (z.B. www.delphigl.de).
Eine Texturierung sieht so aus:
Eine Texturierung sieht so aus:
- Code:
glenable(gl_texture_2d); //Texturen erlauben
glcolor(255,255,255); //Farbe weiß, sonst wird alles eingefärbt
glbindtexture(gl_texture_2d,getid("meine_textur")); //Textur einbinden
//Irgendetwas machen
gldisable(gl_texture_2d); //Mit Farben weitermalen
Carli- Admin
- Anzahl der Beiträge : 1001
Anmeldedatum : 02.01.09
Re: Flint-Tutorial(v14)
jo,danke,aber eigntlich meinte ich ob man einem körper(flugzeug zumbeispiel) mehrere texturen(nicht farben wie beim clonk-kopf ,sondern .jpg dateien) zuweisen kann(z.B.: rostiges metall + fenster-textur + sauberes metall)
und eine frage hätt ich noch:
kann man transparenz einstellen(halbtransparenz)
danke, ich frag vllt. n bisschen zu viel
und eine frage hätt ich noch:
kann man transparenz einstellen(halbtransparenz)
danke, ich frag vllt. n bisschen zu viel
Re: Flint-Tutorial(v14)
Transparenz ist eine schwierige Sache, da dazu die Objekte sortiert werden müssen. (Wegen Blending)
Halbtransparenz gibt es in 2 Varienten in gwX: 2D in allen Menüobjekten und 3D bei den Partikeln. Man könnte z.B. in jedem Frame ein Partikel erstellen (das dann aber immer zur Kamera gedreht ist)
Halbtransparenz gibt es in 2 Varienten in gwX: 2D in allen Menüobjekten und 3D bei den Partikeln. Man könnte z.B. in jedem Frame ein Partikel erstellen (das dann aber immer zur Kamera gedreht ist)
Carli- Admin
- Anzahl der Beiträge : 1001
Anmeldedatum : 02.01.09
Re: Flint-Tutorial(v14)
Carli schrieb:Transparenz ist eine schwierige Sache, da dazu die Objekte sortiert werden müssen. (Wegen Blending)
Halbtransparenz gibt es in 2 Varienten in gwX: 2D in allen Menüobjekten und 3D bei den Partikeln. Man könnte z.B. in jedem Frame ein Partikel erstellen (das dann aber immer zur Kamera gedreht ist)
kann das opengl nicht automagisch?
alra- Admin
- Anzahl der Beiträge : 53
Anmeldedatum : 02.01.09
Re: Flint-Tutorial(v14)
lies mal http://wiki.delphigl.com/index.php/Tutorial_Lektion_7
man kann schon, aber
[edit] Außerdem hab ich das da gefunden: http://www.3dsource.de/faq/transparency.htm
man kann schon, aber
Ich kann übrigens die gesamte Tutorialreihe empfehlen. Delphi ind gwXScript haben für OGL-Zwecke identische Syntax.Wie alles hat auch das Blending einen kleinen Schönheitsfehler. Viele Leute denken immer wieder, dass auch beim Blending praktisch eine 3D-Welt existiert. Das ist jedoch falsch, da die Quelle ja im Frame-Buffer bereits vorliegt. Praktisch bereits fertig gerendert. Es macht also für das Blending einen enormen Unterschied, in welcher Reihenfolge die Objekte zur Kamera hin gerendert werden.
Würden wir zum Beispiel ein Haus mit einem Fenster render wollen und das Fensterglas mit Hilfe von Blending darstellen und wir würden zunächst das Glas rendern, so würde OpenGL dieses mit dem Hintergrund (vermutlich ne Himmel) blenden und dann anschließend das Haus drum herum zeichnen. Der ahnungslose Programmierer wird dann mit großen Augen vor dem Fenster stehen und sich wundern, wieso das Fenster so merkwürdig aussieht und man praktisch durch das Glas ins Freie sehen kann. Würden wir kein Blending haben, so würde es nicht weiter auffallen in welcher Reihenfolge wir die Objekte gerendert haben.
Darum gilt, alle Objekte rendern, bevor man zum Blending greift. Man sollte sich also durchaus Gedanken dazu machen, wie man seine Objekte rendert. Es gibt verschiedene Verfahren seine Objekte so ordnen zu lassen, dass das hier beschrieben Problem nicht auftritt, darauf möchte ich nicht näher eingehen, ihr seit gewarnt worden ;D Eigentlich ist es ein recht logischer Vorgang, allerdings erliegt man doch recht schnell diesem kleinen Irrglauben
[edit] Außerdem hab ich das da gefunden: http://www.3dsource.de/faq/transparency.htm
Carli- Admin
- Anzahl der Beiträge : 1001
Anmeldedatum : 02.01.09
Seite 1 von 1
Befugnisse in diesem Forum
Sie können in diesem Forum nicht antworten
|
|