Wie die meisten Webseiten nutzen wir Cookies. Nähere Informationen dazu, wie wir mit diesen Cookies umgehen, können Sie in unseren Datenschutzbestimmungen lesen.   Einverstanden
 
 

3D Forum > Mel-Script

Mel-Script

26.05.2012 16:45
 
EngelschofferSa. 26 Mai. 2012, 16:45 Uhr
Huhu. Ich bin dabei einen Busch in Maya zu erstellen und wollte diese mit Hilfe der Scriptsprache "MEL" machen. Dabei soll es so sein, dass eine Ebene nach der anderen mit Blättern gefüllt wird. Dazu wollte ich erst 9 Ebenen machen, die immer mehr nach außen gehen, damit der Busch von oben nach unten an dicke gewinnt. Jedoch kommt bei mir immer nur eine Ebene zu stande. Woran kann das liegen?

( Iwie kann er das kleiner zeichen nicht nehmen, deswegen steht im code kleiner )

int $i=0;
int $j=0;
int $beweg=-1;
int $rotier1=40;
int $rotier2=20;
int $xwert=0.1;
int $ywert=0.1;
int $pivotwert=-0.1;

// Blaetter rotieren einmal um den Stamm
while($i"kleiner"9){
while($j"kleiner"9){
select -r blatt ;
duplicate -rr;
rotate -r 0 $rotier1 0;
$j=$j+1;
$rotier1=$rotier1+40;
}
$j=0;
select -r blatt ;

// Neue Ebene an Blättern
move -r -os -wd $xwert $ywert 0;

//Pivot versetzen, damit die Blaetter nach außen kommen
move -r $pivotwert 0 0 blatt.scalePivot blatt.rotatePivot;

$i=$i+1;
}



 
BertoneMo. 28 Mai. 2012, 00:02 Uhr
nur schnell überflogen. wo ist deine definition für die 2te ebene? es soll zwar bewegen, nur halt was sagst du dem script nicht. definier das und es sollte tun.
 
EngelschofferMo. 28 Mai. 2012, 09:55 Uhr
ich sag doch in der 2ten ebene ( habe 2x while ), dass er den moven soll, nachdem er den pivot verschoben hat
 
BertoneMo. 28 Mai. 2012, 10:40 Uhr
hast recht, habe $i und $j fälschlich als 2x $i gelesen.
nur maya nimmt für integers nur ganzzahlige werte, soweit ich gerade orientiert bin. kann nicht nachsehen von zuhause.

probiers mit:

int $i=0;
int $j=0;
int $beweg=-1;
int $rotier1=40;
int $rotier2=20;
int $xwert=0;
int $ywert=1;
int $pivotwert=0;

damit solltest ein resultat bekommen.
brüche, bzw. nicht-ganzzahlige werte erzeugst du z.b. mit einem einfachen expression, oder du skalierst deinen busch von vorneweg so, dass nur ganzzahlige werte benötigt werden und setzt zum schluss eine 'global scale' variable mit der du das ganze im anschluss entsprechend skalieren kannst.
 
 

 


 
 
© 3D-Ring - deutsche 3D Software Community, Archiv 2001 - 2006