Okay danke.
Der gesamte Code wäre jetzt hier sehr viel gewesen, da ich ein Testlevel genutzt habe, aber hier die wichtigsten Zeilen:

Code:
function remove_flares(PARTICLE *p)
{
	p.x = actor.x+p.skill1;
	p.y = actor.y+p.skill2;
	p.z = actor.z+p.skill3;
	
	if(p.alpha <= 0 || p.size <= 0)
	{
		p.alpha = 0;
		p.lifespan = 0;
	}
	else
	{
		p.alpha -= 0.01;
		if(p.size < 2) p.size += 0.05;
	}
}
function attach_flares(PARTICLE *p)
{
	p.bmap = smoke1;
	p.flags =  MOVE | BRIGHT | TRANSLUCENT;
	p.skill1 = p.x - actor.x;
	p.skill2 = p.y - actor.y;
	p.skill3 = p.z - actor.z;
	p.blue  = 200 + random(55); 
	p.green = 80 + random(50);
	p.red   = 40 + random(50);
	p.event = remove_flares3;
}



Diese Funktionen sind sind aber nur ein Teil des gesamten Effekts. Ich habe zuerst die Sichel modeliert, an den Vertices dann die Partikel angehangen, um die Sichel zu haben.
Dann noch die beiden obigen Funktionen für den Schweif.
Damit der Schweif nicht "wegfliegt", habe ich mit Skill 1-3 den Abstand des jeweiligen Partikels zum Player berechnet und diesen dann in der remove_flares Funktion wieder hinzuaddiert.

Mfg, Olli

Last edited by NeoJones; 09/22/16 11:43.

Errors are the engine of progress.

Version: A8 Commercial
OS: Win 7 64bit
Models: Cinema 4D