Antworten auf deine Fragen:
Neues Thema erstellen

COFFEE / Xpresso / COF - Scripts Sammlung

errare

Ich? Nein! Niemals! 0.o

Hi,
Die Idee ist nicht neu, auf CG-society läuft so ein Thread bereits mehrere Jahre und die Idee gefällt mir so gut dass ich hier etwas ähnliches vermisst habe und ihn jetzt erstelle. (Und auf rege Anteilnahme hoffe ;) )
Ob Scripts für den COFFEE- Tag, Script Editor oder Xpresso Schaltungen (als Bild) oder COF- Datein (*.cof).
Ob einfach oder Komplex (auch Test Scripts sind von meiner Seite aus gern gesehen! ).
Postet hier eure Scripts (wenn Ihr wollt)
Damit der gute alte Kaffee nicht ganz in Vergessenheit gerät (auch der aus der Tasse nicht... )
Bitte mit Kurzer beschreibung und was dafür benötigt wird (Userdaten, bestimmte Objekte usw. )

Ich fang an:
Ein einfaches Script für den Script Editor;
Ließt Die Punktanzahl aus und gib diese in einer Dialogbox aus:
(einfach in den Script Editor Einfügen)

Code:
var doc = GetActiveDocument();
var op = doc->GetActiveObject();
		if ( op == NULL )
			{
			TextDialog("Kein Objekt gewählt", DLG_OK); return false;
			}
var count;
var text;
if (instanceof(op, PolygonObject))
	{
		var point = op->GetPointCount();
		text = stradd("Es sind ", tostring(point)," Punkte"); 
		count = TextDialog(text, DLG_OK);
	}
else 
	{
		var text = stradd(op->GetName(),": ist kein Polygonobjekt"); 
		var result = TextDialog(text, DLG_OK);return false;
	}
return;

(Falls ein ähnliches Thema bereits besteht, oder etwas gegen Regeln verstößt; bitte darauf hinweisen und den hier löschen ;) )


// Animierter Sekundenzeiger für den COFFEE- Tag:

Code:
[COLOR="SlateGray"]Warum hab ich den doppelt gepostet?![/COLOR]


Überblick über alle Scripts/Xpresso Schaltunden, Danke an nux95

3 Werte mischen, ergeben immer 1 [COFFE/XPRESSO]
Abstand zwischen Dreieck und Punkt errechnen [COFFE/XPRESSO]
Begrenzen (Position/Winkel) mit COFFE [COFFE]
Berechnung von Dreiecken mit dem Satz des Pythagoras [COFFE]
CoffeTag einem TextSpline hinzufügen [COFFE]
Ellipse Zeichnen [COFFE]
Leeres Polygonobjekt an Position markiertes Objekts [COFFE]

Objekt auf Position eines Splinepunktes [COFFE]
Polizeilicht animiert mit der Sinus-Funktion [COFFE]
Punktanzahl ausgeben [COFFE]
Radanimation (nur COFFE) [COFFE]
Radanimation (Winkel bleibt unter 360°) [COFFE/XPRESSO]
Rotation pro Sekunde festlegen [XPRESSO]
Sekundenanzeiger (kein Reset)[COFFE]
Selektiertes Objekt erhält Coffe-Tag [COFFE]
Splinepunkt auf Position eines Objektes [COFFE]
Splinepunkt folgt Objekt [XPRESSO]
Winkel wechseln, Integer auswahlliste [COFFE]
TP Event (Partikel erzeugen beim Aufprall neue Partikel) [XPRESSO]
TP Partikel an Klon (Partikel werden an Klone fixiert, für MoDynamics entwickelt) [XPRESSO]
TP Position Emitter (Partikel erzeugen Partikel) [XPRESSO]
Umgekehrter Verteiler (Node) [XPRESSO]
Vektorberechnung, Berechnung der Bewegungsrichtung [XPRESSO]
 
Zuletzt bearbeitet:

CUBEMAN

Polyboy

AW: COFFEE / Xpresso / COF - Scripts Sammlung

Gute Idee,

allerdings wird der Thread wohl nicht sehr lang, fürchte ich. Aber ich würde mich freuen, wenn sich diese Vermutung als falsch herausstellt.

Grüße, CUBE
 

errare

Ich? Nein! Niemals! 0.o

AW: COFFEE / Xpresso / COF - Scripts Sammlung

Ja wär schon schön wenn hier reger anklang herrschen würde :)

Test Script - COFFEE Tag einem Text Spline anhängen:

Code:
main(doc,op)
{
var frame = doc->GetTime()->GetFrame(doc->GetFps());  // Get Akt. Frame

op#PRIM_TEXT_TEXT = tostring(int(frame)); // Konvertiere zu STRING

}

// Test Script - Sekundenzeiger (kein reset)
COFFEE Tag:

Code:
main(doc,op)
{
var frame = doc->GetTime()->GetFrame(doc->GetFps());
var mod = Modulo(frame, doc->GetFps()); println(mod);

if ( mod == 0 )
		{
			var rot = op->GetRotation();
			rot.z = rot.z + (6 * 2 * pi / 360);
			op->SetRotation(rot);
		}

}
 

MrIous

Aktives Mitglied

AW: COFFEE / Xpresso / COF - Scripts Sammlung

Hi
Ich hoffe, dass jemand was damit anfangen kann:

Das Skript ist dazu gedacht, 3 Werte so zu mischen, dass die Summe immer eins (100%) ergibt. Wenn man also Wert Null erhöht, werden die Werte Eins und Zwei kleiner, behalten ihr Größenverhältnis untereinander aber bei.

Code:
main()
{	
  if (S0-I0 != 0)                        //Änderung in Wert 0
  {
    //println("Änderung in Wert 0");
    O0 = I0;                             //Änderung aktualisieren
    var andere = 1 - I0;                 //andere ist der Wert, der noch auf die anderen Regler zu verteilen ist.
    if (I1 == 0.0 && I2 == 0.0)          //Wenn beide anderen Werte null sind, um eine Division durch null zu verhindern
      {
        O1 = andere / 2;
	O2 = andere / 2;
      }
    else                                // Sonst Verteilungsalgorithmus anwenden
      {
	O1 = andere * (I1/(I1+I2));
	O2 = andere * (I2/(I1+I2));
      }	
  }

 
  if (S1-I1 != 0)                       //Änderung in Wert 1
  {
    //println("Änderung in Wert 1");
    O1 = I1;                            //Änderung aktualisieren
    var andere = 1 - I1;                // andere ist der Wert, der noch auf die anderen Regler zu verteilen ist.
	  if (I0 == 0.0 && I2 == 0.0)   //Wenn beide anderen Werte null sind, um eine Division durch null zu verhindern
          {
	    O0 = andere / 2;
	    O2 = andere / 2;
          }
	  else                          // Sonst Verteilungsalgorithmus anwenden
	  {
	    O0 = andere * (I0/(I0+I2));
	    O2 = andere * (I2/(I0+I2));
	  }	
	}


  if (S2-I2 != 0)                       //Änderung in Wert 2
  {
    //println("Änderung in Wert 2");
    O2 = I2;                            //Änderung aktualisieren
    var andere = 1 - I2;                // andere ist der Wert, der noch auf die anderen Regler zu verteilen ist.
    if (I0 == 0.0 && I1 == 0.0)         //Wenn beide anderen Werte null sind, um eine Division durch null zu verhindern
    {
      O0 = andere / 2;
      O1 = andere / 2;
    }
    else                               // Sonst Verteilungsalgorithmus anwenden
    {
      O0 = andere * (I0/(I0+I1));
      O1 = andere * (I1/(I0+I1));
    }	
  }
}

Die zugehörige XPresso-Schaltung:


Das Ganze funktioniert am besten, wenn die Animation läuft. Sonst kann es zu Problemen kommen, einen Regler auf 100% zu ziehen.
 
Zuletzt bearbeitet:

errare

Ich? Nein! Niemals! 0.o

AW: COFFEE / Xpresso / COF - Scripts Sammlung

@ MrIous
Nich schlecht :)
so etwas ähnliches hab ich vor ein paar Wochen für meine Tochter erstellt :lol:
Es wurden zufällig Zahlen generiert und addiert/subtrahiert bis das gewünschte Ergebnis erreicht war, anschließend wurde die Rechnung in Text-Splines ausgegeben (Warum ich das mit COFFEE gemacht hab? keine ahnung... hat mich "gefuchst" :lol: )



zwei weitere Scripte:

--> Setze Spline Punkt (1) auf Position von einem Objekt
PHP:
main(doc,op)
{
var obj = doc->FindObject("Objekt")->GetPosition(); // Durch Objektnamen ersetzen
op->SetPoint(1,obj); // Setze Punkt "1" auf obj - Position
op->Message(MSG_UPDATE); // Melde Update (Ohne "Funktioniert" es nicht sofort)
}
Und die "Umkehrung" dazu:
--> Setzte Objekt auf Spline Punkt (1)
PHP:
main (doc,op)
{
var obj = doc->FindObject("Objekt"); // Name des Objektes eintragen
var point = op->GetPoint(1); // Punkt 1 "bekommen"
obj->SetPosition(point); // Setzte Position von Objekt auf Punkt 1


}

.:EDIT:.

Ein weiteres Script:
Erstellt ein Leeres PolygonObjekt an der selben Position wie das Markierte Objekt (im Objekt - Manager) + IF-Abfrage falls selbiges Objekt bereits existiert
PHP:
main(doc,op)
{
var dc = doc->FindObject("Polygon"); 
if ( dc != NULL) return;  
/*
Überprüft ob das Polygon Objekt schon existiert
da es sonst bei jedem klick erstellt wird
*/

var obj = doc->GetActiveObject(); // Schaue nach markiertem Objekt
if (obj == NULL ) 
	{
			println("Bitte Objekt markieren");return false; 
			//falls kein Objekt markiert ist einn Blick in die Konsole          werfen!
	}
var pos = obj->GetPosition(); // Position vom markiertem Objekt speichern
var poly = new(PolygonObject); // Erstelle neues Polygon Objekt
poly->SetName("Polygon"); // Benenne Objekt in "Polygon" um
poly->SetPosition(pos); // Setze Position 
doc->InsertObject(poly, null, null); //Füge Polygon der Szene hinzu
doc->Message(MSG_UPDATE)

}

---- und noch eins:

Hält das OP Objekt in einem 200x200x200 (XYZ) "Käfig" gefangen (Position)

PHP:
main(doc,op)

{
// Min & Max Werte für XYZ
    var min_x  = -100 ;  
    var max_x  =  100 ;
		var max_y  =  100 ;
		var min_y  = -100 ;
		var maxi_z =  100 ;
		var min_z	= -100 ;
    var pos   = op->GetPosition(); // Objekt Position speichern (in pos)
    
    if (pos.x < min_x)  // Überprüft ob X-Position kleiner als min_x ist
			pos.x = min_x; // wenn dem so ist -> Setzte Position zu min_x
    else if (pos.x > max_x) // selbiges wie bei min_x
			pos.x = max_x;
		if (pos.y < min_y) 
			pos.y      = min_y;
    else if (pos.y > max_y) 
			pos.y = max_y;
    
    if (pos.z < min_z) 
			pos.z      = min_z;
    else if (pos.z > maxi_z) 
			pos.z = maxi_z;
		op->SetPosition(pos);
}
Gibt ganz nette "Effekte" wenn man dem op noch ein Vibrations-Tag verpasst bei dem die Positions- Werte über 500 liegen (für XYZ)

----
Selbiges funktioniert natürlich auch mit Winkeln:

PHP:
main(doc,op)

{
// Min & Max Werte für XYZ
    var min_x  = -50 * 2 * pi / 360 ;  
    var max_x  =  50 * 2 * pi / 360 ;
		var max_y  =  50 * 2 * pi / 360 ;
		var min_y  = -50 * 2 * pi / 360 ;
		var maxi_z =  50 * 2 * pi / 360 ;
		var min_z	= -50 * 2 * pi / 360 ;
    var rot   = op->GetRotation(); // Objekt Rotation speichern (in rot)
    
    if (rot.x < min_x)  // Überprüft ob X-Rotation kleiner als min_x ist
			rot.x = min_x; // wenn dem so ist -> Setzte Rotation zu min_x
    else if (rot.x > max_x) // selbiges wie bei min_x
			rot.x = max_x;
		if (rot.y < min_y) 
			rot.y      = min_y;
    else if (rot.y > max_y) 
			rot.y = max_y;
    
    if (rot.z < min_z) 
			rot.z      = min_z;
    else if (rot.z > maxi_z) 
			rot.z = maxi_z;
		op->SetRotation(rot);
}


--->
Und wieder eins :D

für eine "Unfall Szene" z.B., das Polizeilicht Animiert mit Sinus:

PHP:
main(doc,op)
{
var l1 = doc->FindObject("Licht_1");
var l2 = doc->FindObject("Licht_2");

var frame = doc->GetTime()->GetFrame(doc->GetFps());
var constante = 0.25;
var x = sin(frame*constante);

l1#LIGHT_BRIGHTNESS = x;
if ( x < 0 )
	{l1#LIGHT_BRIGHTNESS = 0;}
l2#LIGHT_BRIGHTNESS = -x;
if ( x > 0 ) 
l2#LIGHT_BRIGHTNESS = 0;
}
Benötigt 2 Lichter (L1 & L2) mit Namen "Licht_1" und "Licht_2"... :)
 
Zuletzt bearbeitet:

MrIous

Aktives Mitglied

AW: COFFEE / Xpresso / COF - Scripts Sammlung

Ich hab auch noch eine:
Sie ist dafür gedacht, eine Achse/Rad etc. zu animieren. Das geht mit Keys recht schlecht wie ich finde, weil man so unflexibel ist.
Mit folgender Schaltung animiert man nicht den Start- und Anfangszeitpunkt sowie die zurückgelegte Drehung, sondern die Geschwindigkeit der Drehung.
Das Coffee-Node sorgt dafür, dass die Winkel kleiner als 2pi (= 360°) bleiben.

 

errare

Ich? Nein! Niemals! 0.o

AW: COFFEE / Xpresso / COF - Scripts Sammlung

Und wieder eins, das eher aus langeweile entstanden ist,daher sehr Kurz -.-
--> Fügt dem Selektiertem Objekt einen C.O.F.F.E.E. -Tag zu:
(Im Script-Editor)

PHP:
var doc = GetActiveDocument(); // Aktives Dokument
var op = doc->GetActiveObject(); // Aktives (markiertes) Objekt
var sel_tag = AllocTag(Tcoffeeexpression); // SetzeTag
op->InsertTag(sel_tag,null); // Füge -Tag op zu

Jetzt fummel ich nurnoch ob man ein paar Text-Zeilengleich mitübergeben kann :lol:
 
Zuletzt bearbeitet:

errare

Ich? Nein! Niemals! 0.o

AW: COFFEE / Xpresso / COF - Scripts Sammlung

...

Jetzt fummel ich nurnoch ob man ein paar Text-Zeilengleich mitübergeben kann :lol:
Hat leider nicht geklappt :'(

Hier wieder ein script (COFFEE-Tag):

PHP:
main(doc,op)
{
// ---
var v = 5 ; //Geschwindigkeit
// ---

var t = doc->GetTime()->GetSecond(); // Zeit
var rad = op->GetDown();
var r = rad#PRIM_CYLINDER_RADIUS;

var s, x;

s = t * v;
x = r * s;

rad->SetRotation(vector(0,0,s));
op->SetPosition(vector(x,r,0));
/*
	s = Weg
	v = Geschwindigkeit
	t = Zeit
	r = Radius
	x = X - Position von op
*/
			



}

Ein Zylinder (rad) wird durch die gegebene Geschwindigkeit rotiert (v)
und das Null-Object dementsprechend auf der X-Achse Positioniert (es "fährt" also ;) )

Zylinder sollte einem NullObjekt untergeordnet werden (welches auch das COFFEE-Tag trägt...)

Inspieriert von MrIous
 

MrIous

Aktives Mitglied

AW: COFFEE / Xpresso / COF - Scripts Sammlung

So jetzt kommt das komplizierteste was ich jemals mit XPresso/COFFEE gemacht habe:
Das XPresso-Tag berechnet den Abstand zwischen einem Dreieck und einem Punkt. (Zur Kontrolle wird der Abstand dann an eine Kugel weitergegeben, die das Dreieck immer berührt)
Das ist insofern kompliziert, da der gesuchte Wert
1. der Abstand zu einer der drei Kanten sein kann oder
2. der Abstand zu der Ebene ist, in der das Dreieck liegt.
guckt's euch einfach an ;)





Ich versuche daraus eine Art Kollisionserkennung zu basteln...
Mal sehen wie weit ich komme...
 

nux95

Developer, C4D Betatester

AW: COFFEE / Xpresso / COF - Scripts Sammlung

Ich hab auch noch was ;)

Diese kleine Expression ist dazu gedacht um den Punkt einer Spline einem Objekt Folgen zu lassen.






grüße nux95

PS: bin ich doof oder gibts in XPresso echt keinen IF-Operator oder ähnliches ?
 
Zuletzt bearbeitet:

Earth_Braker

Unspeed

AW: COFFEE / Xpresso / COF - Scripts Sammlung

Klar gibts den;)
Allerdings findet man ihn unter Vergleich;)

Ich werde mal die Messn Funktion etwas erweitern;)
Dass man 5 Objekte messen kann und ein Spline erzeugt wird;)
 

nux95

Developer, C4D Betatester

AW: COFFEE / Xpresso / COF - Scripts Sammlung

Kleine Expression zum Definieren von Rotationen Pro Sekunde für ein Objekt um eine der 3 Achsen.

Kann mir jemand sagen ob und wie ich per Benutzerdaten Typ Integer,Auswahlliste machen kann dass man dort auswählen kann welcher winkel verwendet werden kann ?

Lg nux95
 

errare

Ich? Nein! Niemals! 0.o

AW: COFFEE / Xpresso / COF - Scripts Sammlung

Kann mir jemand sagen ob und wie ich per Benutzerdaten Typ Integer,Auswahlliste machen kann dass man dort auswählen kann welcher winkel verwendet werden kann ?...

Mit COFFEE geht das recht einfach :)
Die Liste gibt eigentlich nur (wie der Name schon sagt) Integer-Werte aus (0,1,2....912997892390847025 usw.) welche du dann vergleichen kannst :)

PHP:
main(doc,op)
{

var u = op#ID_USERDATA:2; // Umdrehung (Real)
var obj = op#ID_USERDATA:1; // Object (Link)
var t = doc->GetTime()->GetSecond(); // Zeit
var hpb = op#ID_USERDATA:3; // Winkel (Integer/List)
/* inList:
0;H
1;P
2;B
*/
var w = (t * u /pi) *2 ; // ***Berechnung wahllos!
var rot = obj->GetRotation();
switch ( hpb ) 
{	case 0: 
					
					rot.x = w;
					obj->SetRotation(rot);
					
					break; 
		case 1: 
					
					rot.y = w;
					obj->SetRotation(rot);
					
					break; 
		case 2: 
					
					rot.z = w;
					obj->SetRotation(rot);
					
					break; 
}


doc->Message(MSG_UPDATE);
}

Hier noch die File:


Und wenn du dann noch schicke Icons willst:

0; H ;12153 <--Icon ID: zufinden im Befehls-Manager (Fenster->Layout)
1; P ;12154
2; B ;12155



.:EDIT:.

Kleines Script noch um eine Ellipse zu Zeichnen:
PHP:
main(doc,op)
{
var frame = doc->GetTime()->GetFrame(doc->GetFps());
var speed = 0.25;
var dis = tanh(frame* speed) * 500;

op->SetPosition(vector(sin(frame * speed)*dis,0,cos(frame*speed)*800));

}
 
Zuletzt bearbeitet:

nux95

Developer, C4D Betatester

AW: COFFEE / Xpresso / COF - Scripts Sammlung

Ich kenn mich mit COFFE nicht so aus. Ich weiss jetzt zB nicht wie ich das in eine Schaltung einbaue um die Geschwindigkeit zu steuern.. :eek:

Dank errare :D ist hier noch eine Schaltung die Geborene Partikel in weiter zerfallen lässt. Und das OHNE P Fragment, da dieses anscheinend ein wenig verbugt ist. ^^
Die Steuerung erfolgt Hauptsächlich über Benutzerdaten.

[EDIT: Update]

Veraltete Version
Hier noch ein Beispielsvideo:
Neue Version [3.8.2010]

PS: Vllt wäre es sinnvoll wenn der Threadstarter, also in unserem falle errare, die Skripte im ersten post sammelt. Halt alle entweder mit einem Link oder mit einem aufklappfeld. ^^

 
Zuletzt bearbeitet:

errare

Ich? Nein! Niemals! 0.o

AW: COFFEE / Xpresso / COF - Scripts Sammlung

Ich kenn mich mit COFFE nicht so aus. Ich weiss jetzt zB nicht wie ich das in eine Schaltung einbaue um die Geschwindigkeit zu steuern.. :eek:

COFFEE in die Szene einzubauen ist eigentlich recht einfach.
Copy & Paste ;)
Tag-Scripts erkennt man oftmals an der main -> main ( doc,op ) {}
Im Scriptediror befindet sich entweder nichts ( main () {} ) oder eine vorherdefinierte Funktion (wenn eine main-Funktion überhaupt definiert wurde)
Den COFFEE-Node (Xpresso)
erkennt man auch an einer Leeren main, und daran das einige "Variablen" (var) existieren die vorher gar nicht aufgeführt sind (vergeben)
Benutzerdaten z.B. werden durch die "ID" und dem Objekt ausgelesen
( hier: op#ID_USERDATA:1 )
ID_USERDATA:1 heißt also nur -> Suche in op (das Objekt welches den Coffee-Tag trägt) die Benutzerdaten mit der ID "1"
 

nux95

Developer, C4D Betatester

AW: COFFEE / Xpresso / COF - Scripts Sammlung

So ein paar neue Expressionen ;)

TP Position Emitter (TP Trail [Partikel]) :
erstellt Partikel an der ursprünglichen Position eines anderen Partikel.

Datei:




TParticleEvent [Updated]:
Lässt bei Kollision aus einem Partikel, neue entstehen.

Datei:




Umgekehrter Verteiler:

Definiert den Verteiler-Node neu. Ein Wert wird an bis zu 6 verschiedene Ausgänge weitergeleitet. Kontrolliert wird das durch einen Integer-Wert.

Datei:



___________________________________________________

Mein Genie hat sich mal wieder gezeigt und dabei ist das herausgekommen :D

TP Partikel an Klon (MoDyn):
Verbindet MoDynamics mit Thinking Particles. Die Partikel folgen den von den MoDynamics beeinflussten Klonen, die allerdings an den Partikeln generiert worden sein müssen.
(Klonobjekt Modus: Objekt > TP Gruppe eintragen)
Natürlich auch mit dem Matrixobjekt kombinierbar!

Datei:


Pyrocluster dienen dazu darzustellen wie sich die Partikel an den Klonen befinden.
 
Zuletzt bearbeitet:

errare

Ich? Nein! Niemals! 0.o

AW: COFFEE / Xpresso / COF - Scripts Sammlung

Berechnung von Dreiecken mit dem Satz des Pythagoras (Kosinussatz)


Script


PHP:
main(doc,op)
{
// Punkt-Koordinaten->
var A = doc->FindObject("A")->GetPosition();
var B = doc->FindObject("B")->GetPosition();
var C = doc->FindObject("C")->GetPosition();

// Linien & Winkel->
var a,b,c;
var alpha, beta, gamma;

// Berechnung->
do {
// Berechnung Distanz
a	 = sqrt(pow(C.x - B.x,2) + pow(C.y - B.y,2));
b	 = sqrt(pow(A.x - C.x,2) + pow(A.y - C.y,2));
c	 = sqrt(pow(B.x - A.x,2) + pow(B.y - A.y,2));

// Berechnung Winkel->
alpha	 = acos((a * a - b * b - c * c) / ( -2 * b * c));
beta 	 = acos((b * b - c * c - a * a) / ( -2 * c * a));
gamma 	= acos((c * c - a * a - b * b) / ( -2 * a * b));



}while(0);
}
 
Zuletzt bearbeitet:

nux95

Developer, C4D Betatester

Berechnung der Bewegungsrichtung (Vektor)

Mithilfe 2er Hilfsobjekte lässt sich mittels XPresso der Vektor (physikalisch mathematischer Vektor, Bewegungsrichtung) eines animierten Objektes ermitteln.

Dazu wird ein Nullobjekt an die Position des Referenzobjektes gebunden. Ein Unterobjekt des Nullobjekts erhält die vorherige Position des Referenzobjektes.
Die lokale Position des Unterobjekts ist gleich des Vektors des Objekts.




Das Objekt kann in XPresso Schaltungen weiterverwendet werden:



 
Zuletzt bearbeitet:

nux95

Developer, C4D Betatester

TP Trail (Objekt) / TP Position Folgen

Erstellt Partikel an der Position eines Objekts.
In Abhängigkeit vom Alter lassen sich die Größe der Partikel mittels eines Splines verändern.








TP Position Folgen


Der P Position Folgen Node in ein benutzerfreundliches Objekt verpackt.
Die Partikel können der Position auf der Oberfläche, im Volumen und der Objektposition folgen.




 
Zuletzt bearbeitet:
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.635
Beiträge
1.538.481
Mitglieder
67.559
Neuestes Mitglied
hanuta
Oben