gwX Forum
Würden Sie gerne auf diese Nachricht reagieren? Erstellen Sie einen Account in wenigen Klicks oder loggen Sie sich ein, um fortzufahren.

Flint-Tutorial(v14)

3 verfasser

Nach unten

Flint-Tutorial(v14) Empty Flint-Tutorial(v14)

Beitrag  !cORe!trike994 Fr 2 Jan 2009 - 17:48

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 Very Happy)
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 Very Happy),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 Very Happy)
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 Very Happy
für shader kommt irgendwann mal was Smile

alra


Zuletzt von Carli am So 4 Jan 2009 - 15:49 bearbeitet; insgesamt 3-mal bearbeitet (Grund : Ergänzung)
!cORe!trike994
!cORe!trike994
Admin

Anzahl der Beiträge : 937
Anmeldedatum : 29.12.08
Alter : 30
Ort : Rostock/Pforzheim

https://gwxf.forumieren.com

Nach oben Nach unten

Flint-Tutorial(v14) Empty Re: Flint-Tutorial(v14)

Beitrag  Carli So 4 Jan 2009 - 15:50

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

Nach oben Nach unten

Flint-Tutorial(v14) Empty Re: Flint-Tutorial(v14)

Beitrag  !cORe!trike994 So 4 Jan 2009 - 18:13

kann man einem objekt auch mehrere texturen zuweise?
jedem mat eine?
!cORe!trike994
!cORe!trike994
Admin

Anzahl der Beiträge : 937
Anmeldedatum : 29.12.08
Alter : 30
Ort : Rostock/Pforzheim

https://gwxf.forumieren.com

Nach oben Nach unten

Flint-Tutorial(v14) Empty Re: Flint-Tutorial(v14)

Beitrag  Carli So 4 Jan 2009 - 19:46

ja.
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"));
m Prinzip einfach an die Model-ID ein "_material" anhängen.

Carli
Admin

Anzahl der Beiträge : 1001
Anmeldedatum : 02.01.09

Nach oben Nach unten

Flint-Tutorial(v14) Empty Re: Flint-Tutorial(v14)

Beitrag  !cORe!trike994 So 4 Jan 2009 - 22:19

ja, soweit war ich auch schon, ich meine eine textur Very Happy
mit farben is ja ziemlich leicht, aber bei texturen blick ich nich so richtig durch What a Face
!cORe!trike994
!cORe!trike994
Admin

Anzahl der Beiträge : 937
Anmeldedatum : 29.12.08
Alter : 30
Ort : Rostock/Pforzheim

https://gwxf.forumieren.com

Nach oben Nach unten

Flint-Tutorial(v14) Empty Re: Flint-Tutorial(v14)

Beitrag  !cORe!trike994 So 4 Jan 2009 - 22:20

danke, sieht jetz besser aus, thx
!cORe!trike994
!cORe!trike994
Admin

Anzahl der Beiträge : 937
Anmeldedatum : 29.12.08
Alter : 30
Ort : Rostock/Pforzheim

https://gwxf.forumieren.com

Nach oben Nach unten

Flint-Tutorial(v14) Empty Re: Flint-Tutorial(v14)

Beitrag  Carli Mo 5 Jan 2009 - 18:18

ja was Grafiken angeht, sucht euch irgendwelche OpenGL-Tutorials (z.B. www.delphigl.de).
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
Wie der Shader dann mit Texturen umgeht, ist dann ein andres Problem. Man kann z.B. weil Blender keine UV-Koordinaten exportiert einen Shader schreiben, der eigene generiert.

Carli
Admin

Anzahl der Beiträge : 1001
Anmeldedatum : 02.01.09

Nach oben Nach unten

Flint-Tutorial(v14) Empty Re: Flint-Tutorial(v14)

Beitrag  !cORe!trike994 Mo 5 Jan 2009 - 19:00

jo,danke,aber eigntlich meinte ich ob man einem körper(flugzeug zumbeispiel) mehrere texturen(nicht farben wie beim clonk-kopf Very Happy,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
!cORe!trike994
!cORe!trike994
Admin

Anzahl der Beiträge : 937
Anmeldedatum : 29.12.08
Alter : 30
Ort : Rostock/Pforzheim

https://gwxf.forumieren.com

Nach oben Nach unten

Flint-Tutorial(v14) Empty Re: Flint-Tutorial(v14)

Beitrag  Carli Mo 5 Jan 2009 - 19:24

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)

Carli
Admin

Anzahl der Beiträge : 1001
Anmeldedatum : 02.01.09

Nach oben Nach unten

Flint-Tutorial(v14) Empty Re: Flint-Tutorial(v14)

Beitrag  alra Mo 5 Jan 2009 - 21:36

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

Nach oben Nach unten

Flint-Tutorial(v14) Empty Re: Flint-Tutorial(v14)

Beitrag  Carli Mo 5 Jan 2009 - 22:04

lies mal http://wiki.delphigl.com/index.php/Tutorial_Lektion_7
man kann schon, aber
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 Wink
Ich kann übrigens die gesamte Tutorialreihe empfehlen. Delphi ind gwXScript haben für OGL-Zwecke identische Syntax.

[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

Nach oben Nach unten

Flint-Tutorial(v14) Empty Re: Flint-Tutorial(v14)

Beitrag  Gesponserte Inhalte


Gesponserte Inhalte


Nach oben Nach unten

Nach oben

- Ähnliche Themen

 
Befugnisse in diesem Forum
Sie können in diesem Forum nicht antworten