|
|
Animation (Sprite mit mehr als 500 Frames)möglich?
#150781
08/28/07 15:34
08/28/07 15:34
|
Joined: Aug 2005
Posts: 512 Bayern
Schmerzmittel
OP
User
|
OP
User
Joined: Aug 2005
Posts: 512
Bayern
|
Hi mal wieder.
Mal so nebenbei. Wo der Thread hingehört weis ich jetzt nicht.
Aber: Ist es möglich eine Animation als Sprite mit mehr als 500 Frames zu machen?
Wenn man bedenkt, das die Auflösung dann fast 128000 Pixel in die Breite hätte, wär das ja schon fast bescheiden.
Nun mal zu Erklärung. Ich habe eine Feueranimation, die mit ihren 500 Frames ziemlich geil aussieht. Aber bis ich die per Hand als Spriteani mache, haben wir es dann 2012.
Wer Guild Wars kennt, oder besser gesagt das neue GWEN (Eye of the North) die haben Geiles Feuer. Sowas wollte ich auch machen. Aber mit Shadern kenn ich mich nicht aus(proggen). Aber Animationen kann ich erstellen. Hat da jemand ne Idee.
Oder kann man auch eine AVI-Animation machen, die gleichzeitig einen Alphakanal besitzt und die Engine das erkennt?
Grüße Schmerzmittel
A7 Com V7.80
|
|
|
Re: Animation (Sprite mit mehr als 500 Frames)mögl
[Re: Schmerzmittel]
#150782
08/28/07 15:49
08/28/07 15:49
|
Joined: Jul 2001
Posts: 6,904
HeelX
Senior Expert
|
Senior Expert
Joined: Jul 2001
Posts: 6,904
|
Eine Spriteanimation kann soviele Frames haben, wie du magst -> siehe Manual oder im Zweifelsfall einmal ausprobieren. Nur.. ich hab mal eben versucht eine 256x128000 Sprite zu erstellen und mein Malprogramm kann keine Bitmaps erzeugen, die größer als 30000x30000 sind. Außerdem stellt sich die Frage ob es wirklich sinnvoll ist, eine solch riesige Spriteanimation für ein simples Feuer zu benutzen. Alleine meine 256x30000 TGA Datei ist an sich schon 22 MB groß.. ich denke du siehst, warum deine Idee nicht die geschickteste ist. Mit einem guten Partikeleffekt kannst du da mehr erreichen als einen flachen Sprite dahinzusetzen. Aber natürlich kannst du auch eine riesige Spriteanimation erstellen und in den Speicher laden .. wenn du Freude daran hast  Lies mal die Tutorials über Partikeleffekte. Shader brauchst du gar nicht um einen eindrucksvollen Feuereffekt zu erzielen.
Last edited by HeelX; 08/28/07 15:53.
|
|
|
Re: Animation (Sprite mit mehr als 500 Frames)mögl
[Re: TSG_Torsten]
#150784
08/28/07 17:17
08/28/07 17:17
|
Joined: Aug 2005
Posts: 512 Bayern
Schmerzmittel
OP
User
|
OP
User
Joined: Aug 2005
Posts: 512
Bayern
|
Schon klar.
Aber mich würde interessieren wie die in GW das geile Feuer gemacht haben. Solltet ihr euch mal reinziehen.
Aber egal. Sprites sind in der Tat zu groß. Aber mal gucken. Wird schon werden. ^^
Aber nur mal so. Gibts vielleicht ein tool, das Sprites als animation nebeneinander setzen kann. Automatisch nicht per hand!?
A7 Com V7.80
|
|
|
Re: Animation (Sprite mit mehr als 500 Frames)mögl
[Re: Schmerzmittel]
#150785
08/28/07 18:04
08/28/07 18:04
|
Joined: Jul 2006
Posts: 511 Germany,NRW
KMS
User
|
User
Joined: Jul 2006
Posts: 511
Germany,NRW
|
Ich weiß zwar nicht,wie der von dir angestrebte Feuereffeckt aussieht,aber dieses Script erzeugt einen geilen Flammeherd und wenn Du mehrere davon einsetzt.... Lade Dir mal von meiner Homepage MysteryRiver runter!Da kannst Du den Effekt sehen.
// ================================================================== // FLAMMEN PARTIKEL EFFEKT // ================================================================== // Autor : Kombucha aka Fabian Staacke // // Nots : ----------------------------------------------------------- // So kann z.B. die Aktion eines Objektes aussehen, das die Flammen // produzieren soll:
action feuerstelle { my.invisible = on; my.passable = on; my._max_flames = 10; //maximale Anzahl an Flammen while(1) { // nicht die maximale Anzahl an Flammen überschreiten if (my._flame_counter < my._max_flames) { flame_scale = 0.25; // die größe der Flammen ent_create(flame3d_mdl,my.x,fire_particle_3d); } wait(2); } }
// // ================================================================== // maximale anzahl an Flammen, die bei einem // feuer gleichzeitig dargestellt werden. (def:7)
// Ein paar Skills define _ent_scale,skill1; // Größe der Flamme define _flame_counter,skill1; // Anzahl an existierenden Flammen des Objekts, // die die entity produziert hat define _flame_mode,skill2; // Aktion, die die Flamme durchführt define _max_flames,skill3; // maximale Anzahl an Flammen des Objekts
//Variablen var flame_scale; // wird vor einem ent_create gesetzt, größe der Flamme var defaultFlameScale = 0.25; // Standart Flammengröße
//Definitionen define fire_per_obj = 7; define flameFadeOutSpeed, 7; // Geschwindigkeit mit der die Flamme ausgeblendet wird(def7)
// Aktionen, die die Flamme durchführen kann define fadeOut,1; // Flamme wird ausgeblendet define fadeIn,2; // Flamme wird eingeblendet define extinguish,3; // Flamme wird gelöscht
//Strings string flame3d_mdl = "fire+4.tga"; //Sprite für diesen Effekt mit 4 frames //die jedoch keine Animation darstellen //sondern als skins verwendet werden. // ==================================================================
function fire_particle_3d() { you._flame_counter += 1; //-------------------- // VISUELLE PARAMETER //-------------------- my.transparent = on; //Kein Flare!-->Alpha läuft sonst nicht my.bright = on; my.unlit = on; my.alpha = 0; my.ambient = 100; my.frame = int(random(4)+1); //Frames werden hier als Skins verwendet //------- // FLAGS //------- my.passable = on; my.oriented = on; //-------- // SKILLS //-------- my._ent_scale = flame_scale; //Größe der Flamme my._speed_z = my._ent_scale*10; //Geschwindigkeit aufwärts, von der Größe abhäbgig my._aspeed_roll = my._speed_z*2; //Rotationsschnelligkeit, von der Geschwindigkeit abhängig my._flame_mode = fadeIn; //Aktion der Flamme //---------- // POSITION //---------- my.roll = random(360); // solange die Flamme nicht gelöscht ist WHILE( my._flame_mode != extinguish) { // zur Kamera drehen vec_set(temp,camera.x); vec_sub(temp,my.x); vec_to_angle(my.pan,temp); // Flamme rotieren my.roll += my._aspeed_roll * time; // Flamme nur aufwärts bewegen abspeed[0] = 0; abspeed[1] = 0; abspeed[2] = my._speed_z * time; MOVE(me,nullskill,abspeed); // Flamme wird EINGEBLENDET if (my._flame_mode == fadeIn) { my.alpha += 20*time; if (my.alpha >= 100) { my._flame_mode = fadeOut; } my.scale_x = my._ent_scale; my.scale_y = my.scale_x; } //Flamme wird AUSGEBLENDET else { // Flamme ausblenden my.alpha -= flameFadeOutSpeed*time; // Flamme abhänging von ihrer transparenz skalieren my.scale_x = my._ent_scale*(my.alpha/100); my.scale_x = clamp(my.scale_x,0.01,10); my.scale_y = my.scale_x; if (my.alpha <= 0) { my._flame_mode = extinguish; } } wait(1); } // wenn es eine you-entity gibt, // dann setze ihre flammenzahl zurück if (you != null) { you._flame_counter -= 1; } remove(me); // weg mit der flamme }
Last edited by KMS; 08/28/07 18:10.
|
|
|
Re: Animation (Sprite mit mehr als 500 Frames)mögl
[Re: TSG_Torsten]
#150787
08/28/07 19:01
08/28/07 19:01
|
Joined: Apr 2005
Posts: 3,076 Germany, NRW
rvL_eXile

3D Artist
|

3D Artist
Joined: Apr 2005
Posts: 3,076
Germany, NRW
|
Kleiner Tipp am rande, um den Coder übersichtlicher in einem Forum Tread zu halten gibt es die [code ] / [/code ] Tags...
cYa Sebastian
Tutorials: [Blender]Terrain creation ENG/GER [Blender]Low Poly Tree Modeling [GIMP]Create a Texture for Terrains CLICK HERE
|
|
|
Moderated by mk_1, Perro, rayp, Realspawn, Rei_Ayanami, rvL_eXile, Spirit, Superku, Tobias, TSG_Torsten, VeT
|