MaxScript_1.pdf
(
212 KB
)
Pobierz
Max Script
Max Script
3D Studio MAX R4
by Adrian Majchrzak
Wprowadzenie
Max Script jest swojego rodzaju odmianą języka programowania, jest to praktycznie
mieszanina C++ i pascala tak więc Ci co choć trochę znają składnię języka nie będą mieli
problemów z tworzeniem własnych skryptów. Co można zrobić za pomocą skryptu ?. Ano
praktycznie wszystko. Możemy napisać szybko plugin który za nas może wykonać np.
złożoną animację lotu motyla, może kontrolować zachowanie się ławicy ryb itp. Jednym
słowem ma ogromne możliwości.
Zacznijmy
Uruchom 3D Studio. W lewym dolnym rogu masz coś takiego jak to co widzisz na
rysunku poniżej.
W tym okienku na różowym tle pokazują się kompilowane linijki kodu a w białej linijce
pokaże się albo OK. – jeśli skrypt nie zawiera błędów albo jakiś error że coś jest nie tak.
To tego na tyle. Teraz żeby zacząć cokolwiek pisać należy przejść na zakładkę
Utility
1
i następnie wcisnąć ten oto przycisk z napisem MexScript.
Rozwinie Ci się kilka funkcji maxa których nie trzeba raczej omawiać bo mówią same za
siebie
Nas będzie najbardziej interesowała funkcja NewScript – czyli tworzymy nowy, Open Script
– otwieramy skrypt i możemy dokonywać dalszych modyfikacji, Run Script – możemy
otworzyć źródło i automatycznie zostanie nam uruchomiony skrypt jeżeli wcześniej nie
zostanie wykryty błąd. Poniżej przedstawiam okienko edycyjne w którym będziemy pisać
nasze skrypty.
Z menu tego okna to jedyna opcja która nas będzie interesować to w menu File jest Evaluate
All , ona właśnie nam uruchamia skrypty i jak nie ma errorów to wykonuje program. To na
tyle opisu, czas zacząć o konkretach.
Pierwszy skrypt
Programowanie najlepiej chyba jest omawiać na przykładach więc też dam taki
jeden na początek. Zrobimy sobie animację sfery i za pomocą skryptu będziemy
kontrolować jej zachowanie. Poniżej zamieszczam cały kod naszego skryptu
2
Skrypt 01
animate on
for t=0 to 100 by 5 do at time t
(
rotat=$Sphere01.rotation.z_rotation*2
$Sphere01.rotation.z_rotation=rotat
)
Teraz do naszego skryptu stworzymy sobie scenkę. Uruchom maxa i w oknie widoku z
perspektywy umieść obiekt Sphere. Nie zmieniaj jego nazwy, zostaw domyślną jako
Sphere01. Teraz włącz przycisk animacji i przesuń pasek animacji do 100 oraz w oknie top
wykonaj animację kuli w osi Z o 360 stopni. Wyłącz przycisk animacji i zobacz czy kula się
obraca. Chmm... nic nadzwyczajnego ale teraz się pobawimy tą animacją. Przejdź na zakładkę
Utilities , wciśnij przycisk MAXScript a następnie przycisk New Script. Otworzy się ukno w
którym wpiszesz powyższy kod. Teraz naciśnij Ctrl+E. W oknie statusu w lewym dolnym
rogu 3D Studio powinno się na niebiesko wyświetlić OK. Teraz wciśnij przycisk play i
zobacz co się dzieje. Po pierwsze widzisz że nasza kulka zaczęła się obracać znacznie
szybciej, druga zmiana to to że na pasku animacji widzimy nowe klucze animacji które
utworzyliśmy w pętli kodu dokładnie co 5 klatek. Teraz jak już widzimy efekt warto by było
powiedzieć coś o tym jak ten skrypt działa.
W pierwszej linijce kodu widzimy linijkę
animate on.
Ta linijka włącza nam jakby przycisk
animate. Różnica między tą opcją a przyciskiem jest taka że przyciskiem tworzymy animację
a tą funkcją kontrolujemy już wykonaną animację. Ta funkcja powinna się kończyć
animate
off
jednak nie wiedzieć czemu mi zawsze wywala error jak ją piszę więc sobie ją darowałem
a skrypt i tak działa. Ale powinno się ją pisać jeżeli nie ma z nią błędów.
W drugiej linijce widzimy instrukcję pętli
for .
Pętla FOR ma składnię
for
<zmienna>
to
<zmienna>
do
(
jakieś instrukcje
)
Pętla którą tu zastosowałem jest trochę rozszerzoną pętlą for ale za to uniwersalną składnią
dla wykonywania animacji więc piszemy tak
for
<t=0 – rozpoczynamy animację w klatce 0>
to
<100 – oznacza koniec animacji czyli jej
setną klatkę>
by
<5 – co pięć klatek zrób ujęcie kluczowe>
do
<at time t – oznacza że czas
jest określony przez zmienną t>
Mam nadzieję że teraz wiadomo jak działa pętla. Wykonaliśmy skrypt który kontroluje
animację 100 klatkową i co 5 klatek sprawdza obracanie się kuli. Teraz mamy już pętlę która
będzie kontrolować instrukcje które w niej zawarliśmy a mianowicie
rotat=$Sphere01.rotation.z_rotation*2
$Sphere01.rotation.z_rotation=rotat
rotat
– jest naszą zmienną która będzie przechowywać podwojoną prędkość obrotową w osi
Z
Do zmiennej przypisujemy wartości za pomocą
znaku równości
.
Dalej za znakiem równości mamy przypisany obiekt naszej kuli z parametrami obrotu. Każdy
obiekt bez względu zapisujemy poprzedzając jego nazwę znakiem dolara „$” czyli naszą kulę
opiszemy jako $Sphere01. Dla naszej kuli wykonaliśmy animację więc nasza kula posiada
jakby swoje dzieci, jest taka hierarchia. Kula jest rodzicem a wszystkie modyfikacje które na
niej wykonamy będą jej dziećmi. Więc nasza kula ma już przypisaną animację obrotu w osi Z
do której odwołujemy się po przez operator kropki czyli aby dostać się do kontrolera rotacji w
osi Z musimy dojść przez jej poszczególne segmenty w hierarchii czyli
Obiekt.Rotacja.Rotacja_w_osi_z. Zwróć uwagę na kropki między wyrażeniami. Na końcu
pomnożyliśmy prędkość obrotu obecnej wartości początkowej razy dwa. Teraz pomnożony
obrót razy dwa znajduje się w naszej zmiennej rotat.
W następnej linijce odwołujemy się do rotacji w osi Z i zapisujemy oryginalną prędkość kuli
przez dwukrotnie pomnożoną jej wartość. No i tak wygląda nasz skrypt. Na koniec
zamykamy nasz skrypt nawiasem zamykającym pętlę „ ) ” i to już koniec. Z zasady
powinniśmy napisać
animate off
za tym nawiasem ale tak jak już mówiłem nie u wszystkich
to działa ale należy sprawdzić
Do zapamiętania
Funkcje animacji
Animate on
Włącza animację
Animate off
Kończy animację
Przykłady odwołania się do obiektów
$Sphere01
Kula
$Box01
Prostopadłościan
postać pętli for
for < > to < > do
(
)
pętla dla wykonywania animacji
for <t=0> to < > by < > do at time t
(
)
4
Na tym chciałbym zakończyć pierwszą lekcję kursu pisania skryptów w 3D Studio
MAX.
Mam nadzieję że ta pierwsza część była zrozumiała dla wszystkich i zachęci was do dalszej
nauki. W następnych lekcjach wykonamy ciekawsze skrypty, przedstawię więcej funkcji max
scriptu. Na koniec chcę również zaznaczyć że nie jestem żadnym góru max skryptu, ale jako
takie pojęcie o nim mam tak więc jak masz jakieś pytania to odpowiem jak będę wiedziała.
Autor kursu :
Adrian Majchrzak
Przeznaczenie :
Wyłącznie dla strony
www.max3d.pl
Plik z chomika:
bomaszko
Inne pliki z tego folderu:
3D Studio Max 4 _doc.zip
(20393 KB)
3D Studio MAX _pdf.zip
(2815 KB)
3d Studio Max tutorial_ Modelowanie- Jak zacząć.avi
(13030 KB)
matrix00.jpg
(9 KB)
ksiazka-3dsmax.zip
(7013 KB)
Inne foldery tego chomika:
!_ DOM - OGRÓD - Wnętrze
!_ PRZEGLĄDARKI CAD DWG_DXF Edycja
!_ RENDER_ Rośliny Teren _Modelowanie
!_ RENDER_ MODELOWANIE ANIMACJA
!_ RENDER_ WIZUALIZACJA
Zgłoś jeśli
naruszono regulamin