Gamestudio Links
Zorro Links
Newest Posts
Zorro 2.70
by jcl. 09/29/25 09:24
optimize global parameters SOLVED
by dBc. 09/27/25 17:07
ZorroGPT
by TipmyPip. 09/27/25 10:05
assetHistory one candle shift
by jcl. 09/21/25 11:36
Plugins update
by Grant. 09/17/25 16:28
AUM Magazine
Latest Screens
Rocker`s Revenge
Stug 3 Stormartillery
Iljuschin 2
Galactic Strike X
Who's Online Now
4 registered members (NewbieZorro, Grant, TipmyPip, AndrewAMD), 13,346 guests, and 5 spiders.
Key: Admin, Global Mod, Mod
Newest Members
krishna, DrissB, James168, Ed_Love, xtns
19168 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
Page 1 of 2 1 2
Geschwindigkeit von Partikeln #280907
07/24/09 16:07
07/24/09 16:07
Joined: Oct 2008
Posts: 683
Germany
Ayumi Offline OP
User
Ayumi  Offline OP
User

Joined: Oct 2008
Posts: 683
Germany
Huhu,

Ich weis das man die geschwindigkeit mit "vec_normalize"
bestimmen kann aber in meinem code funktioniert das nicht wirklich.
Wie im forum C-script schon gezeigt(Crash in action)
ist das besagter Code.
Ich hab schon mit sin und cos experimentiert aber
das ergab nicht den selben effect wie ich durch dieses
Script erreiche.

Welche moeglichkeiten gibts da noch?

Re: Geschwindigkeit von Partikeln [Re: Ayumi] #280918
07/24/09 16:49
07/24/09 16:49
Joined: Sep 2006
Posts: 99
BS, Germany
Storm_Mortis Offline
Junior Member
Storm_Mortis  Offline
Junior Member

Joined: Sep 2006
Posts: 99
BS, Germany
hi,
also du kannst dene particle einfach über die velocety bewegen:

p.vel_x = 10 - random(20);
p.vel_y = 10 - random(20);
p.vel_z = 10 - random(20);

oder an eiener entity ausgerichtet, zb dem erzeuger (you):

p.vel_x = (10+random(5))*cos(you.pan);
p.vel_y = (10+random(5))*sin(you.pan);
p.vel_z = (10+random(5))*sin(you.tilt);
(kann sein das ich die berechnung gerade aussem kopf bissel verhauen habe...)

oder du orientierst dich am handbuch:

// Hilfsfunktion: setzt den Vektor auf zufällige Richtung und Länge
function vec_randomize (var* vec, var range)
{
vec[0] = random(1) - 0.5;
vec[1] = random(1) - 0.5;
vec[2] = random(1) - 0.5;
vec_normalize(vec,random(range));
}

// Hilfsfunktion: blendet einen Partikel aus
function part_alphafade(PARTICLE *p)
{
p.alpha -= 2*time_step;
if (p.alpha <= 0) p.lifespan = 0;
}

// Partikelfunktion: generiert eine verblassende Explosion in vel-Richtung
function effect_explo(PARTICLE *p)
{
var temp[3];
vec_randomize(temp,10);
vec_add (p.vel_x, temp);
p.alpha = 25 + random(25);
p.bmap = scatter_map;
p.flags |= (BRIGHT | MOVE);
p.event = part_alphafade; // wechsle zu einer kürzeren, schnelleren Funktion
}

...
vec_scale(normal,10); // produziere eine Explosion in Richtung der Normalen
effect(effect_explo,1000,my.x,normal);


Last edited by Storm_Mortis; 07/24/09 16:50.

it found a voice ... now it needs a body
Re: Geschwindigkeit von Partikeln [Re: Storm_Mortis] #280934
07/24/09 18:01
07/24/09 18:01
Joined: Oct 2008
Posts: 683
Germany
Ayumi Offline OP
User
Ayumi  Offline OP
User

Joined: Oct 2008
Posts: 683
Germany
Naja ich moechte einfach nur schwebende Partikel an
beliebigen stellen im Raum erstellen, die dort
dann frei schweben und sich langsam bewegen...
(so 20 Partikel auf 800 Quants als bsp)
und ihr alpha wert langsam verlieren und wieder herstellen...

und das ganze ohne Modell...da alle Partikel sich random bewegen.

Hier ein bsp:




Re: Geschwindigkeit von Partikeln [Re: Ayumi] #280937
07/24/09 18:04
07/24/09 18:04
Joined: Sep 2006
Posts: 99
BS, Germany
Storm_Mortis Offline
Junior Member
Storm_Mortis  Offline
Junior Member

Joined: Sep 2006
Posts: 99
BS, Germany
aso, na sag das docj gleich^^
ich schreibe dir mal den code dazu, musst dann sagen ob er dier gefällt...
dauert bissel, aber nicht zu lange


it found a voice ... now it needs a body
Re: Geschwindigkeit von Partikeln [Re: Storm_Mortis] #280939
07/24/09 18:17
07/24/09 18:17
Joined: Oct 2008
Posts: 683
Germany
Ayumi Offline OP
User
Ayumi  Offline OP
User

Joined: Oct 2008
Posts: 683
Germany
Das ist aber nett:) danke schoen

Last edited by Ayumi; 07/24/09 18:17.
Re: Geschwindigkeit von Partikeln [Re: Ayumi] #280949
07/24/09 19:06
07/24/09 19:06
Joined: Sep 2006
Posts: 99
BS, Germany
Storm_Mortis Offline
Junior Member
Storm_Mortis  Offline
Junior Member

Joined: Sep 2006
Posts: 99
BS, Germany
so, habe dir das ding fertig gemacht^^

ich habe dir ein fertiges script zum includen geschrieben, also einfach in ne leere datei kopieren und speichern

also, es sind 2 actionen die wichtig sind, die 1. kannst du nutzen wenn es überall solche glühdinger gibt, die erstelld die teile in einem einstellbaren bereich (skill1) um den player herum!

die 2. kannst du nutzen wenn es nur in besteimmten bereichen deines levels solche glühdinger gibt (nur inenr höhle oder übern teich oder so) auch hier ist dier bereich um die emmiter entity einstellbar (skill1)

und hier ist der code (alle weiteren erklärungen sind dadrin!);

Click to reveal..

//random glows by Morten Storm AKA Storm_Mortis
BMAP* glow_map = "glow.dds";//setze hier deine glow textur ein 16x16 sollte reichen
var glow_move_speed = 1;//hier ändern für andere bewegungsgeschwindigkeit
var glow_fade_speed = 5;//hier ändern für andere fadegeschwindigkeit

ENTITY* Ziel;

function glow_fade(PARTICLE *p)
{
if(p.alpha <= 100 && p.skill_a == 0)
{
p.alpha += glow_fade_speed*time_step;
}
if(p.alpha >= 100){p.skill_a = 1;}
if(p.alpha >= 1 && p.skill_a == 1)
{
p.alpha -= glow_fade_speed*time_step;
}
if(p.alpha <= 1 && p.skill_a == 1){p.lifespan = 0;}
}

function glow(PARTICLE *p)
{
p.vel_x = 1-random(2)*glow_move_speed;
p.vel_y = 1-random(2)*glow_move_speed;
p.vel_z = 1-random(2)*glow_move_speed;
p.alpha = 0;
p.skill_a = 0;
p.size = 10+random(5);
p.bmap = glow_map;
p.flags |= (BRIGHT | MOVE | TRANSLUCENT);
p.event = glow_fade;
}

action glow_emitter1()//erstelle glows immer um den spieler herum
{
VECTOR glow_pos;
if(!my.skill1){my.skill1 = 600;}//ändern für anderen erstellbereich(auch in wed machbar)
set(my,PASSABLE|INVISIBLE);
while(1)
{
glow_pos.x = Ziel.x - random(my.skill1) + my.skill1/2;//"Ziel" durch deinen player ersetzten
glow_pos.y = Ziel.y - random(my.skill1) + my.skill1/2;//"Ziel" durch deinen player ersetzten
glow_pos.z = Ziel.z - random(my.skill1) + my.skill1/2;//"Ziel" durch deinen player ersetzten
effect(glow,1,glow_pos,nullvector);
wait(-0.1);// höher für weniger glows und umgekehrt
}
}

action glow_emitter2()//erstelle glows immer en einer stelle wenn spieler nahe ist
{
VECTOR glow_pos;
set(my,PASSABLE|INVISIBLE);
if(!my.skill1){my.skill1 = 600;}//ändern für anderen erstellbereich(auch in wed machbar)
if(!my.skill2){my.skill2 = 500;}//ändern für andere erstellentfehrnung(auch in wed machbar)
while(1)
{
if(vec_dist(my.x,Ziel.x) <= my.skill2)//"Ziel" durch deinen player ersetzten
{
glow_pos.x = Ziel.x - random(my.skill1) + my.skill1/2;//"Ziel" durch deinen player ersetzten
glow_pos.y = Ziel.y - random(my.skill1) + my.skill1/2;//"Ziel" durch deinen player ersetzten
glow_pos.z = Ziel.z - random(my.skill1) + my.skill1/2;//"Ziel" durch deinen player ersetzten
effect(glow,1,glow_pos,nullvector);
wait(-0.1); // höher für weniger glows und umgekehrt
}
wait(1);
}
}


achso, bei mir haben partikel nen bug inner engine und ich sehe sie nicht richtig groß, also musst du die gräße (p.size) noch anpassen!
sollte was nicht bei dir gehen oder du nicht wissen wie was einzubinden ist, frag einfach!

viel spass damit
Mortis


it found a voice ... now it needs a body
Re: Geschwindigkeit von Partikeln [Re: Storm_Mortis] #280960
07/24/09 19:34
07/24/09 19:34
Joined: Oct 2008
Posts: 683
Germany
Ayumi Offline OP
User
Ayumi  Offline OP
User

Joined: Oct 2008
Posts: 683
Germany
Wunderbar:)

Mehr als ich je erwartet habe und schoen zum lernen.
Gute Vorlage.

Da ich ja nun die 2te Action nutzen moechte, welchen Pointer
muss ich denn dann nutzen?

Player = you?

Re: Geschwindigkeit von Partikeln [Re: Ayumi] #280965
07/24/09 19:40
07/24/09 19:40
Joined: Sep 2006
Posts: 99
BS, Germany
Storm_Mortis Offline
Junior Member
Storm_Mortis  Offline
Junior Member

Joined: Sep 2006
Posts: 99
BS, Germany
einfach das "Ziel" durch deinen playerpointer ersetzen.
im normalfall ist das player.
also so:


glow_pos.x = player.x - ...

edit: gerad nochmal in deien code geguckt...

glow_pos.x = sora.x - ...

Last edited by Storm_Mortis; 07/24/09 19:42.

it found a voice ... now it needs a body
Re: Geschwindigkeit von Partikeln [Re: Storm_Mortis] #280966
07/24/09 19:42
07/24/09 19:42
Joined: Oct 2008
Posts: 683
Germany
Ayumi Offline OP
User
Ayumi  Offline OP
User

Joined: Oct 2008
Posts: 683
Germany
Jap danke, hab ich getan und das Script geht ohne Fehler aber...
ich seh keine Partikel oO...

OVERLAY is dazugesetzt, da ich tga nutze.

Ansonsten wuesste ich jezzt nicht, was noch fehlt.

Re: Geschwindigkeit von Partikeln [Re: Ayumi] #280968
07/24/09 19:47
07/24/09 19:47
Joined: Sep 2006
Posts: 99
BS, Germany
Storm_Mortis Offline
Junior Member
Storm_Mortis  Offline
Junior Member

Joined: Sep 2006
Posts: 99
BS, Germany
hm, also ich habe ihn zuvor erfolgraich getestet....

haste mal mit der größe gespielt?
und overlay brauchste nicht, das hilft dabei gar nichts!

hast du die erstellentfehrnung mal erhöht, einfach in wed den skill 2 der entity mit der action mal auf 2000 setzen.


it found a voice ... now it needs a body
Page 1 of 2 1 2

Moderated by  HeelX, Lukas, rayp, Rei_Ayanami, Superku, Tobias, TWO, VeT 

Gamestudio download | 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