lechoo Napisano 14 Październik 2003 Napisano 14 Październik 2003 Na poczatek moja wersja skryptu box() sphere radius:20 pos:[0,60,20] plane width:200 length:200 dummy pos:[0,-60,10] boxsize:[20,20,20] omnilight pos:[100,-100,100] castshadows:true render() a ponizej skrypty kursowiczow. Postaram sie kazdy krotko omowic pokazujac ciekawsze miejsca i przy okazji pokazac kilka przydatnych rzeczy.
lechoo Napisano 14 Październik 2003 Autor Napisano 14 Październik 2003 Autor: Bartlomiej Cysewski box length:10 width:10 height:10 pos:[0,-20,0] wirecolor:[50,250,245] sphere radius:1 pos:[0,60,20] wirecolor:[255,0,255] plane length:200 width:200 wirecolor:[255,150,150] dummy length:20 width:20 height:20 pos:[0,-60,10] wirecolor:[200,200,200] omnilight pos:[100,-100,100] castShadows:true render() Dodatkowo pojawil sie parametr wirecolor, ktory pozwala zdefiniowac kolor siatki obiektu. Jesli go nie podamy max przypisze siatce losowy kolor. Kiedy tworzymy wiecej obiektow warto tego uzywac zeby nie miec balaganu w scenie. Oczywiscie kolejne liczby w wirecolor to skladowe koloru: czerwona, zielona i niebieska. Teraz rzecz na ktorej \"wpadla\" chyba polowa. Chodzi o sposob tworzenia dummiego. Jego rozmiar definiuje sie inaczej niz np. boxa. Nalezy tu uzyc parametru boxsize. Proponuje wykonac ponizszy skrypcik: dummy length:20 width:20 height:20 dummy boxsize:[20,20,20] Wyraznie widac ze oba obiekty sa rozne. Mala rada jak nie wiecie jakie parametry ma obiekt skorzystajcie z polecenia showProperties (lub zajrzyjcie do helpa :)) d = dummy() showProperties d Spowoduje to wypisanie w listenerze parametrow danego obiektu.
lechoo Napisano 14 Październik 2003 Autor Napisano 14 Październik 2003 Autor: BooM-Bel utility scena \"BooM-Bel\" ( button wj \"Wykonaj\" on wj pressed do ( box() sphere radius:1 position:[0,60,20] plane length:200 width:200 dummy lenght:20 high:20 witdh:20 position:[0,-60,10] omnilight position:[100,-100,100] castShadows:on render frame:0 ) ) Tutaj zostal stworzony prosty interfejs z jednym guzikiem po nacisnieciu ktorego wykonuje sie skrypt. Kto nie robil nigdy interfejsu w max scripcie niech przyjrzy sie uwaznie bo to bedzie w nastepnym temacie. Po poleceniu render pojawia sie parametr frame, czyli numer klatki do zrenderowania. Bez tego parametru renderowana jest aktualna klatka. I jeszcze jedna drobna rzecz. castShadows:on Ja preferuje true zamiast on ale jak widac tak tez mozna. Jesli przyjrzycie sie dokladnie temu jak tworzony jest dummy to zobaczycie ze sa tam literowki lenght:20 high:20 Wynika z tego ze max script ignoruje nieznane parametry podawane w czasie tworzenia obiektu bo cos takiego juz by nie przeszlo my_box = box blebleble:200 --ta linia wykona sie my_box.blebleble = 10 --a ta juz nie
lechoo Napisano 14 Październik 2003 Autor Napisano 14 Październik 2003 Autor: glaeken backgroundcolor = color 150 200 230 -- nie lubię czarnego tła box() -- robimy pudełeczko sphere radius:1 pos:[0,60,20] -- a teraz kuleczkę plane length:200 width:200 -- no i plane dummy height:20 length:20 width:20 pos:[0,-60,10] -- dummy zrobiony omnilight castshadows: true pos:[100,-100,100] -- światełko render() -- i poooszło Z nowych elemantow widac backgroundcolor w pierwszej linijce. Mam nadzieje ze nie musze wyjasniac tej opcji :). Slowko color przed trzema liczbami kaze je traktowac scriptowi jak kolejne skladowe koloru. Mozna stworzyc sobie zmienna przechowujaca kolor np. tak: nowy_kolor = color 255 0 0 Wtedy do poszczegolnych skladowych dobieramy sie tak: nowy_kolor.r --czerwona nowy_kolor.g --zielona nowy_kolor.b --niebieska Te podwojne myslniki to komentarze. W tak krotkich skryptach nie ma sensu ich uzywac ale w wiekszych sa naprawde nieocenione.
lechoo Napisano 14 Październik 2003 Autor Napisano 14 Październik 2003 Autor: ikim box() sphere radius:20 position:[0,60,20] plane length:200 width:200 dummy position:[0,-60,10] height:20 lenght:20 widght:20 omnilight position:[100,-100,100] castshadows:true render() jedyny problem w tym skrypcie to tworzenie dummiego, czyli length, width i height zamiast boxsize.
lechoo Napisano 14 Październik 2003 Autor Napisano 14 Październik 2003 Autor: leander myBOX = box () mySPHERE = sphere radius:10 pos:[0,60,20] myPLANE = plane width:200 height:200 myDUMMY = dummy pos:[0,-60,10] boxsize:[20,20,20] myOMNI = OmniLight pos:[100,-100,100] castShadows:true render () Dummy jak widac stworzony jak trzeba. Jedyny problem to plane jest widtch i height a powinno byc width i length. Ale takie rzeczy czesto umykaja w \"ferworze walki\", dlatego warto na koncu porzadnie sprawdzic skrypt.
lechoo Napisano 14 Październik 2003 Autor Napisano 14 Październik 2003 Autor: mikeb b = box lenght: 25 height: 30 width: 40 s = sphere radius: 1 pos: [0, 60, 20] p = plane lenght: 200 width: 200 d = dummy height: 20 lenght: 20 width:20 pos: [0, -60, 10] o = omnilight shadowColor:(color 0 0 0) castShadows:on pos: [100, 100, 100] r = render scen Poza juz opisanym wczesniej sposobem tworzenia dummiego widze tu dwa problemy: literowka w plane, jest lenght zamiast length. Script nie zwraca bledu ale cos takiego ewidentnie wiadc po wykonaniu skryptu, dlatego jak juz pisalem w topicu wyzej, na koniec warto sprawdzic skrypt. Druga rzecz to parametr scen po render. Byc moze chodzilo o scene ale takiego parametru nie ma w poleceniu render. To tak samo jak z literowkami wczesniej, script nie zwraca bledu wiec trudno cos takiego wylapac.
lechoo Napisano 14 Październik 2003 Autor Napisano 14 Październik 2003 Autor: Petear box position:[0,0,0] sphere radius: 1 position:[0,60,20] plane length: 200 width: 200 dummy position:[0,-60,10] heigth: 20 length: 20 width: 20 omnilight position:[100,-100,100] castshadows: on render() Skrypt OK. Jedyny problem to definicja rozmiaru dummiego, no ale wiekszosc miala z tym problem :) .
lechoo Napisano 14 Październik 2003 Autor Napisano 14 Październik 2003 Autor: Petrik box(); sphere radius:1 pos:[0,60,20] ; plane length:200 width:200; dummy pos:[0,-60,10] boxsize:[20,20,20]; omnilight pos:[100,-100,100] castshadows:on; render(); Jak wiadc, podobnie jak w C mozna uzywac srednikow na koncach lini. To juz kwestia gustu i przyzwyczajenia.
lechoo Napisano 14 Październik 2003 Autor Napisano 14 Październik 2003 Autor: Dariusz Pleśniak Box lengthsegs:1 widthsegs:1 heightsegs:1 length:100 width:100 height:100 pos:[0,0,0] Sphere radius:1 pos:[0,60,20] Plane length:200 width:200 pos:[0,0,0] Dummy pos:[0,-60,10] boxsize:[20,20,20] Omnilight rgb:(color 255 255 255) multiplier:1 contrast:0 softenDiffuseEdge:50 nearAttenStart:0 nearAttenEnd:40 farAttenStart:80 farAttenEnd:200 decayRadius:40 atmosOpacity:100 atmosColorAmt:100 shadowMultiplier:1 transform:(matrix3 [1,0,0] [0,0,1] [0,-1,0] [100,-100,100]) castShadows:on render outputwidth:320 outputheight:240 Widac dodatkowe definicje parametrow. Czesc z nich jest jednak calkowicie zbyteczna z tego wzgledu ze podane tu wartosci za identyczne z defaultowymi. Absolutny hardcore to zdefiniowanie macierzy przeksztlcen dla omnilight, uzywa sie tego naprawde bardzo rzadko, choc czasem bez tego jest bardzo trudno cos zrobic, takze napewno pojawi sie to w jakims temacie.
lechoo Napisano 14 Październik 2003 Autor Napisano 14 Październik 2003 Autor: plutek Box length:1 width:1 height:1 pos:[0,0,10] color:[0,0,0] Sphere radius:1 smooth:on segs:32 pos:[0,60,20] Plane length:200 width:200 pos:[0,0,0] Dummy boxsize:[20,20,20] pos:[0,-60,10] Omnilight rgb:[255,255,255] shadowColor:[0,0,0] pos:[100,-100,100] castShadows:on raytracedShadows:on render() Wszystko dobrze, tylko czemu ten box taki malutki, ledwo go widac.
lechoo Napisano 14 Październik 2003 Autor Napisano 14 Październik 2003 Autor: sypo box() sphere radius:1 pos:[0,60,20] plane length:200 width:200 dummy length:20 width:20 height:20 pos:[0,-60,10] omnilight castShadows:on pos:[100,-100,100] render() Poza rozmiarem dummiego wszystko w porzadku.
lechoo Napisano 14 Październik 2003 Autor Napisano 14 Październik 2003 Autor: VGTsXVII box() sphere radius:1 pos:[0,60,20] plane length:200 width:200 dummy pos:[0,-60,10] boxsize:[20,20,20] omnilight pos:[100,-100,100] castshadows:on render () Wszystko OK
lechoo Napisano 14 Październik 2003 Autor Napisano 14 Październik 2003 Autor: Tomasz \"Warui\" Nowakowski box() sphere radius:1 pos:[0,60,20] plane lenght:200 width:200 dummy pos:[0,-60,10] height:20 lenght:20 width:20 omnilight pos:[100,-100,100] castshadows:false render() Oj chyba wogole nie sprawdzacie skryptow po napisaniu, znowu literowka w length w plane. Przecierz to widac od razu po wykonaniu skryptu. No i definicja rozmiaru dummiego: length, width i height zamiast boxsize.
lechoo Napisano 14 Październik 2003 Autor Napisano 14 Październik 2003 Autor: wokram box position:[0,0,0] height:2 length:2 width:2 sphere radius:1 position:[0,60,20] plane length:200 width:200 dummy boxsize:[20,20,20] position:[0,-60,10] omniLight position:[100,-100,100] castShadows:on render outputSize:[800,600] Wczesniej Darek Plesniak definiowal rozdzieloczosc renderu przez outpoutWidth i outputHeight a tu dla odmiany mamy outputSize.
leander Napisano 14 Październik 2003 Napisano 14 Październik 2003 No super :) Myslalem, ze to podsumowanie wszystkich zdanych prac bedzie niepotrzebne - a jednak sporo sie mozna dowiedzieć.
lechoo Napisano 14 Październik 2003 Autor Napisano 14 Październik 2003 Uff to juz wszystko. Jak widac frekwencja dopisala, co bardzo mnie cieszy, w sumie 14 skryptow. Postarajcie sie czytac nie tylko komentarz do swojego skryptu ale tez pozostalych. Staralem sie wyjasnic rozne rzeczy dajac w miare potrzeb krotkie przykladziki. A w piatek nastepne zadanie. Co sadzicie o takiej formule kursu?
lechoo Napisano 14 Październik 2003 Autor Napisano 14 Październik 2003 Originally posted by leander No super :) Myslalem, ze to podsumowanie wszystkich zdanych prac bedzie niepotrzebne - a jednak sporo sie mozna dowiedzieć. Wlasnie pomysl jest taki zeby rozne informacje \"przemycic\" w komentarzach, kiedy sa w jakims kontekscie chyba latwiej je zapamietac.
VGT Napisano 14 Październik 2003 Napisano 14 Październik 2003 Wygląda super. W ten sposób na podsumowaniu lepsi wzbogacają wiedzę początkujących. Jak widać, mieliśmy się nauczyć tylko 6 linijek, a dzięki bardziej aktywnym osobom już się umie sporo więcej. Ja już chcę drugą część!! [lol]
thud Napisano 14 Październik 2003 Napisano 14 Październik 2003 taki sposob nauki jest po prostu swietny, ale gorzej bedzie z dalszymi zadaniami bo oprocz prostych rzeczy nic raczej nie potrafie i mam nadzieje ze sie czegos naucze
glaeken Napisano 14 Październik 2003 Napisano 14 Październik 2003 Kurs w sam raz dla mnie :). Miło, że niektórzy dodają coś od siebie. A z tym moim dodawaniem komentarzy, to uważam, że lepiej dodać do skryptu jeden komentarz więcej niż jeden mniej - a wprzypadku tak prostego skryptu, to po prostu utrwalanie nawyku. Poza tym zawsze może mnie złapać amnezja piwna:D lub coś podobnego.
warui Napisano 14 Październik 2003 Napisano 14 Październik 2003 Szkoda, ze nastepna czesc dopiero w piatek. Ale w sumie to i lepiej, bo mam teraz co innego do roboty ;) A forma kursu jak widać się sprawdziła.
Sypo Napisano 15 Październik 2003 Napisano 15 Październik 2003 Witam:-) Jestem bardzo zadowolony z takiej formy kursu. Też mi się wydawało, że komentarze się nie przydadzą... a jednak:-)miło się zdziwiłem:-) Czekam z niecierpliwością na piątek!!:)
kowalski Napisano 18 Październik 2003 Napisano 18 Październik 2003 Mam takie pytanie, czy prowadzący kurs ma jakies wyobrażenie do czego ma on prowadzić? Znaczy chodzi mi o to, że obecnie niektórzy sobie przypominają MAXScrip, inny go dopiero poznają, jednak jeżeli bedzie już np. temat 9 czy 10 (obym był dobrym prorokiem :) ) to chyba można by się pokusić o zrobienie jakiegoś użytku z wysiłku uczestników kursu. Nie znam MAXScriptu ale pewnie za jego pomocą można jakieś tworzyć jakieś użyteczne narzędzia (plug-iny czy coś w ich rodzaju). Może jest jeszcze za wcześnie na takie pomysły, jednak tak na przyszłość chciałem rzucić koncepcję.
lechoo Napisano 18 Październik 2003 Autor Napisano 18 Październik 2003 Powiem szczerze ze o tym nie myslalem. hmmm.... moze jakis zestaw narzedziowych skryptow? np. max3D.pl Script Pack :D Albo jakies przydatne narzedzie ktore jest w Mayi albo XSI a w maxie go brak. Zastanowie sie bo moze z tego cos fajnego wyjsc.
adek Napisano 18 Październik 2003 Napisano 18 Październik 2003 bardzo podoba mi się ten pomysł ... tylko trzebaby wcześniej pomyśleć co to miałoby być za narzędzie.
lechoo Napisano 28 Październik 2003 Autor Napisano 28 Październik 2003 Ponizej link do pliku ze wszystkimi skryptami. tematy01.zip
Rekomendowane odpowiedzi
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ę