eseguire uno script in cinema 4d

Forum per: Modellazione, Texturing, Animazione, Composting e tutto quello che riguarda il normale utilizzo di Cinema4D.

Moderators: Arkimed, natas, visualtricks, cappellaiomatto

Post Reply
  • Advertising
mikhagi
Posts: 37
Joined: Sun Oct 17, 2004 11:51 pm

eseguire uno script in cinema 4d

Post by mikhagi »

ciao a tutti,
vorrei applicare in cinema una formula di inversione: voglio invertire un cubo avendo come riferimento una sfera. La formula matematica é semplice e per calcolare i punti trasformati si ha bisogno solo di pochi dati: il punto trasformato si trova nell´asse che collega il centro della sfera al punto originale. La distanza dal raggio al punto trasformato é data dal raggio della sfera al cubo, diviso la distanza tra il centro della sfera e il punto originale.
Un amico ha preparato lo script per Maya, in MEL. Qualcuno mi sa dire come posso usarlo in cinema?

grazie mille!!

qui lo script in MEL:

//spherical inversion_01

for ($i = 0 ; $i < 602 ; $i=$i+1)
{
//get radius of reference sphere r
float $r = `polySphere -q -r pSphere1`;

//find worldspace position of vertex
float $point1Pos[] = `xform -query -t -worldSpace ("pCube1.vtx["+ $i +"]")`;
//float $point1Pos[] = `xform -query -worldSpace pCube1.vtx[25]`;
//get xyz of sphere pivot point M
float $point2Pos[] = `xform -query -pivots -worldSpace pSphere1`;

//calculate distance between each points componants (XYZ)
float $deltaX = $point2Pos[0] - $point1Pos[0];
float $deltaY = $point2Pos[1] - $point1Pos[1];
float $deltaZ = $point2Pos[2] - $point1Pos[2];

//calculate distance between the M and vertex
float $distance = sqrt(($deltaX * $deltaX)+ ($deltaY * $deltaY)+ ($deltaZ * $deltaZ));
//print ("\n Distance between selected points = "+ $distance);

//calculate distance of inverted point "invert"
float $invert = ($r * $r) / $distance;

//calculate position "value"
float $value = sqrt(($invert * $invert) / (($deltaX * $deltaX + $deltaY * $deltaY) * ($deltaX * $deltaX + $deltaY * $deltaY) + ($deltaZ * $deltaZ)));
print ("\n Distance between selected points = "+ $value);

//calculate position of inversion point
float $invertX = $deltaX * $value;
float $invertY = $deltaY * $value;
float $invertZ = $deltaZ * $value;

//draw inversion point
spaceLocator -position $invertX $invertY $invertZ;

//move vertices of pcube2 in inverted positon
select -r ("pCube2.vtx["+ $i +"]") ;
move -a $invertX $invertY $invertZ ;

}
User avatar
masterzone
Site Admin
Posts: 10551
Joined: Fri Sep 17, 2004 5:34 pm
Location: Verona

Re: eseguire uno script in cinema 4d

Post by masterzone »

il mel e' lo scripting di maya, non penso funzioni con lo scripting di cinema4d :) qualcuno mi smentisca :roll:
User avatar
ingmannori
Posts: 153
Joined: Tue Sep 30, 2008 6:25 pm

Re: eseguire uno script in cinema 4d

Post by ingmannori »

No, ovviamente il linguaggio di scripting di C4D è il C.O.F.F.E.E. che deriva da C++ / Java. Lo stiamo studiando grazie al manuale dello spagnolo. Però non credo esista una lista di funzioni utilizzabili....l'unica è tentare. Sono ben accetti consigli!
mikhagi
Posts: 37
Joined: Sun Oct 17, 2004 11:51 pm

Re: eseguire uno script in cinema 4d

Post by mikhagi »

immaginavo... dovrò impararmi COFFEE quindi..
grazie!
User avatar
masterzone
Site Admin
Posts: 10551
Joined: Fri Sep 17, 2004 5:34 pm
Location: Verona

Re: eseguire uno script in cinema 4d

Post by masterzone »

cmq leggendo al volo quello script, la stessa cosa credo tu la possa fare direttamente con Xpresso...

Mz
  • Advertising
Post Reply