Napisano 14 Październik 200321 l 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.
Napisano 14 Październik 200321 l Autor 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.
Napisano 14 Październik 200321 l Autor 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
Napisano 14 Październik 200321 l Autor 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.
Napisano 14 Październik 200321 l Autor 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.
Napisano 14 Październik 200321 l Autor 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.
Napisano 14 Październik 200321 l Autor 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.
Napisano 14 Październik 200321 l Autor 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 :) .
Napisano 14 Październik 200321 l Autor 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.
Napisano 14 Październik 200321 l Autor 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.
Napisano 14 Październik 200321 l Autor 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.
Napisano 14 Październik 200321 l Autor 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.
Napisano 14 Październik 200321 l Autor 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
Napisano 14 Październik 200321 l Autor 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.
Napisano 14 Październik 200321 l Autor 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.
Napisano 14 Październik 200321 l No super :) Myslalem, ze to podsumowanie wszystkich zdanych prac bedzie niepotrzebne - a jednak sporo sie mozna dowiedzieć.
Napisano 14 Październik 200321 l Autor 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?
Napisano 14 Październik 200321 l Autor 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.
Napisano 14 Październik 200321 l 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]
Napisano 14 Październik 200321 l 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
Napisano 14 Październik 200321 l 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.
Napisano 14 Październik 200321 l 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.
Napisano 15 Październik 200321 l 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!!:)
Napisano 18 Październik 200321 l 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ę.
Napisano 18 Październik 200321 l Autor 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.
Napisano 18 Październik 200321 l bardzo podoba mi się ten pomysł ... tylko trzebaby wcześniej pomyśleć co to miałoby być za narzędzie.
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto