Skocz do zawartości

kopiowanie obiektow za pomoca array


Rekomendowane odpowiedzi

Napisano

pisze tu po raz pierwszy wiec witam wszystkich; z 3dmaxem dopiero zaczynam wiec pls have mecy :)

 

gnebi mnie:

jak skopiowac jakikolwiek obiekt n razy za pomoca opcji \"array\" aby odleglosc miedzy kolejnymi obiektami sukcesywnie sie zwiekszala; wygladac powinno to w taki sposob (np kuli)

0 0 0 0 0

 

jesli sie nie da za pomoca array\'a to czym?

 

z gory dzieki za jakiekolwiek wskazowki

pozdr

Pawel

  • Odpowiedzi 4
  • Created
  • Ostatniej odpowiedzi

Top Posters In This Topic

Top Posters In This Topic

Napisano

hehe Robczan naucz sie ang. please :)

 

Pablosito- witam :)...co do Twojego problemu...w Array w Positon w osi X lyb Y lub Z ( zalezy po jakiej osi chcesz aby sie kopiowalo ) wartosc odpowiednia dla Ciebe ( przerwy ) a na dole wpisz ile ma byc tych kulek..

 

pozdr

Napisano

Pablo w ten sposób przerwa między obiektami będzie zawsze taka sama, a Pablosito chce żeby odległość się sukcesywnie zmieniała, czyli w tym przypadku należy jeszcze pousówac obiekty tak jak sugeruje Robczan. :D

Napisano

Bardzo mnie zaciekawił ten problem i postanowiłem spróbować go rozwiązać w nieco inny sposób.

 

Skrypt: :]

Niestety sam jeszcze niewiele z maxscriptu umiem więc ma on trochę ograniczeń:

- wybór osi jest zrobiony w dosyć primitywny sposób :|

- pewnie ogólnie można by to napisać o wiele poprawniej, ale wiele komend z których tam korzystam nawet mi znane nie jest :]

Tak więc można by z tym dalej pójść do działu \'program languages\'. Być może znajdzie się ktoś chętny, by to udoskonalić, lub przystąpić do kursu, który niedawno wystartował. Wtedy być może za jakiś czas będzie można udoskonalić go samemu :)

 

A oto źródło:

 

utility opcje \"VGTsXVII_array\"

(

local obiekt

global a

global b

global c

global d

global os

 

group \"parametry:\"

(

spinner ilosc \"Ilosc:\" range:[1,100,1] type:#integer fieldwidth:40

spinner space \"poczatkowa przerwa:\" range:[-10000,10000,0] type:#integer fieldwidth:40

spinner incr \"wartosc wzrostu:\" range:[-10000,10000,0] type:#integer fieldwidth:40

)

 

 

group \"Osie 1-x, 2-y, 3-z\"

(

spinner os \"Wybor osi\" range: [1,3,1] type:#integer fieldwidth:40

)

 

 

button przycisk01 \"generuj\"

 

 

on przycisk01 pressed do

(

a=ilosc.value

b=space.value

c=incr.value

obiekt= selection

 

for d=1 to d=a-1 do

(

copy obiekt

if os.value==1 then move obiekt[b+(d-1)*c,0,0]

if os.value==2 then move obiekt[0,b+(d-1)*c,0]

if os.value==3 then move obiekt[0,0,b+(d-1)*c]

)

)

)

 

Skopiuj je u siebie do maxscriptu i uruchom taki skrypt.

Menu zbyt wiele opcji nie ma, więc w miarę łatwo się połapać.

Należy wybrać obiekt w scenie, w menu wpisać wartości i wcisnąć przycisk \'generuj\'.

 

PS1. Parę razy edytowałem tego posta (co chwila się coś przypominało :] ), więc jeżeli w międzyczasie ktoś pobierał skrypt, to dopiero teraz jest to końcowa wersja :)

PS2. Jeśli potrzebujesz, aby tak jak w array była możliwość przesuwania jednocześnie po wszystkich osiach, to napisz. Mogę to przerobić tylko po prostu teraz już idę spać, więc dałem taką podstawową wersję.

 

Miłego korzystania :]

 

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się



×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Wykorzystujemy cookies. Przeczytaj więcej Polityka prywatności