Gamestudio Links
Zorro Links
Newest Posts
Data from CSV not parsed correctly
by dr_panther. 05/06/24 18:50
Help with plotting multiple ZigZag
by degenerate_762. 04/30/24 23:23
M1 Oversampling
by 11honza11. 04/30/24 08:16
AUM Magazine
Latest Screens
The Bible Game
A psychological thriller game
SHADOW (2014)
DEAD TASTE
Who's Online Now
1 registered members (AndrewAMD), 989 guests, and 2 spiders.
Key: Admin, Global Mod, Mod
Newest Members
firatv, wandaluciaia, Mega_Rod, EternallyCurious, howardR
19050 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
Partikel #169040
11/23/07 08:34
11/23/07 08:34
Joined: Aug 2005
Posts: 31
F
friebo Offline OP
Newbie
friebo  Offline OP
Newbie
F

Joined: Aug 2005
Posts: 31
Hallo,
habe ein Kugelmodell mit 9144 Vertices.
An jedem Vertex soll ein/mehrere Partikel angehängt werden, wobei sich die Kugel bis auf Faktor 10 vergrössert.

function part_effect();
// proc_late(); // proc_late ändert auch nichts
var counter[3]; // Zähler zur Kontrolle
max_particles = 1000000; // max_particles = 400000; // absenken bringt auch

action testkugel {
my.invisible = on; // Kugel unsichtbar
while (my.scale_x <= 10) { // 25 Schleifenduchläufe
vec_scale(my.scale_x,1.1);
counter[0]+=1; // Anzahl der Schleifendurchläufe, am Ende also 25
my.skill1 = 0;
while (my.skill1 < ent_vertices(my)) {// alle Vertices durchlaufen
counter[1]+=1; // 25*9144 , am Ende also 228600
vec_for_vertex(temp,my,my.skill1);
effect(part_effect,1,temp,nullvector);
my.skill1 += 1;
}
breakpoint; debug_mode = 0;
while(1) {if (key_1) {wait(5);break;}wait(1);} // zw. Kontrolle
wait(1);}
}

function part_effect() {
if (my.lifespan == 80) {
counter[2]+=1;
my.size = 1;
my.alpha = 100 ;
}
my.lifespan = 50;
}

Nach dem 1. Schleifendurchgang steht counter[2] auf 9144. Es wurden alle Partikel emittiert.
Beim 2. Durchlauf erhöht sich die Anzahl der Partikel von 9144 auf nur 10000. Darf ja nicht sein.
Ab Durchlauf 3 wird nur noch 1 Partikel erzeugt. Weiss nicht weshalb.

Wird

effect(part_effect,2,temp,nullvector);

gesetzt, werden im 1. Durchlauf ebenfalls nur 10000 Partikel erzeugt. Es müssten aber 18288 sein.

Ich habe das mit der Trial-Version 6.31 getestet.
In meiner Sybex A6.0 erhalte ich die gleichen Ergebnisse.
Ist das vllt. ein Bug oder was mache ich da falsch ??
Vielen Dank.

Re: Partikel [Re: friebo] #169041
11/23/07 20:43
11/23/07 20:43
Joined: Oct 2004
Posts: 262
Augsburg,Bayern
A
ARAS Offline
Member
ARAS  Offline
Member
A

Joined: Oct 2004
Posts: 262
Augsburg,Bayern
Hallo friebo,

ich kann Dir einmal scripten wie das bei mir aussieht. Die Kugel wird allerdings stetig
vergrößert und verkleinert.

Code:
 
action gate_1
{
init_vertex();
while(1)
{
my.skill1 += time_step;
my.skill1 %= 360;
my.skill2 = (sin(my.skill1)) * 20; // stetiges skalieren auf den Faktor 20
temp = (sin(my.skill1)) * 20;
r = abs(temp);
my.scale_x = my.skill2;
my.scale_y = my.skill2;
my.scale_z = my.skill2;
wait(1);
}
}

function init_vertex()
{
var vertices; // lokale Variable
my.invisible = on;
while (1)
{
vertices = ent_vertices (my);
while (vertices > 0)
{
vec_for_vertex (temp, my, vertices);
effect (attach_flares, 1, temp, normal); // Partikel anhängen
vertices -= 1;
}
wait (1);
}
}


function attach_flares()
{
my.bmap = flare_tga;
my.flare = on;
my.bright = on;
my.size = 20 + r;
my.alpha = 80;
my.function = remove_flares;
}

function remove_flares()
{
my.alpha -= 10 * time_step; // verschmieren des Partikels beim skalieren
if (my.alpha < 0)
{
my.lifespan = 0;
}
}



Vielleicht hilft Dir das etwas. Leider habe ich Heute keine Zeit mehr, sonst hätte ich
mir Dein Skript einmal genau angesehen.


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

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