Gamestudio Links
Zorro Links
Newest Posts
Newbie Questions
by AndrewAMD. 12/05/23 10:56
Zorro Trader GPT
by TipmyPip. 12/04/23 11:34
Square root rule
by Smallz. 12/02/23 09:15
RTest not found error
by TipmyPip. 12/01/23 21:43
neural function for Python to [Train]
by TipmyPip. 12/01/23 14:47
Xor Memory Problem.
by TipmyPip. 11/28/23 14:23
Training with command line parameters
by TipmyPip. 11/26/23 08:42
Combine USD & BTC Pairs In Asset Loop
by TipmyPip. 11/26/23 08:30
AUM Magazine
Latest Screens
A psychological thriller game
SHADOW (2014)
DEAD TASTE
Tactics of World War I
Who's Online Now
6 registered members (3run, AndrewAMD, alibaba, fairtrader, ozgur, TipmyPip), 605 guests, and 0 spiders.
Key: Admin, Global Mod, Mod
Newest Members
fairtrader, hus, Vurtis, Harry5, KelvinC
19019 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
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 Offline OP
User
Schmerzmittel  Offline 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
H
HeelX Offline
Senior Expert
HeelX  Offline
Senior Expert
H

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: HeelX] #150783
08/28/07 16:15
08/28/07 16:15
Joined: Mar 2005
Posts: 564
/www/europe/ germany/index.php
TSG_Torsten Offline

User
TSG_Torsten  Offline

User

Joined: Mar 2005
Posts: 564
/www/europe/ germany/index.php
Von AVI-Animationen, Sprites oder Shadern würde ich auch eher abraten, wie HeelX es bereits erwähnt hat, ein Partikeleffekt ist wohl hier am besten angebracht. AVI-Animationen und Sprites sind viel zu groß, Shader meistens nicht mit jedem System kompatibel.

Gruß
TSGames

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 Offline OP
User
Schmerzmittel  Offline 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 Offline
User
KMS  Offline
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.

You need full animated lowpoly-fishes?Look at
http://www.projekt-3d.de/pages/shop2pag.html
Re: Animation (Sprite mit mehr als 500 Frames)mögl [Re: KMS] #150786
08/28/07 18:42
08/28/07 18:42
Joined: Mar 2005
Posts: 564
/www/europe/ germany/index.php
TSG_Torsten Offline

User
TSG_Torsten  Offline

User

Joined: Mar 2005
Posts: 564
/www/europe/ germany/index.php
Da ich den Code von KMS jetzt nicht ausprobiert habe: Wenn du einfach nur deine Sprites nebeneinander erzeugen willst geht das sehr simpel:

var feuer_var;
function feuer_machen()
{
feuer_var.x=0; // Position, wo das Feuer beginnt
feuer_var.y=0;
feuer_var.z=0;
while(feuer_var.y<100) // 100=Position, wo das Feuer aufhört)
{
ent_create("Feuer_sprite.pcx",feuer_var,feuer_effekt);
feuer_var.x+=5; //Abstand
if(feuer_var.x>100) //100=Position, wo das Feuer aufhört
{
feuer_var.y+=5; //Abstand
feuer_var.x=0; //Position wo das Feuer wieder beginnt)
}
}


Ein solcher Code (nicht getestet) würde zum spawnen mehrerer Sprites in einem (quadratischen) Bereich funktionieren, ist aber manchmal auch sehhhhr langsam, da die Entities während der Laufzeit erst erstellt werden müssen.

Gruß
TSGames

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 Offline

3D Artist
rvL_eXile  Offline

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



Gamestudio download | chip programmers | Zorro platform | shop | Data Protection Policy

oP group Germany GmbH | Birkenstr. 25-27 | 63549 Ronneburg / Germany | info (at) opgroup.de

Powered by UBB.threads™ PHP Forum Software 7.7.1