Posted By: friebo
Partikel - 11/23/07 08:34
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.
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.