Napisano 19 Lipiec 201410 l Wita, Jak zrobić taka animację w maxie, ale żeby powielone banknoty były losowo wybierane z puli np. 10? http://www.shutterstock.com/video/clip-2033080-stock-footage-hundred-dollar-bill-growing-pile.html?src=rel/258610:1/gg Tak żeby stos tworzony był z różnych walut i jednocześnie każdy banknot był losow lekko obrócony jak na filmiku? Jeśli ktoś zna radę w after effect też może się przydać. Z góry dzięki! Pozdrawiam
Napisano 19 Lipiec 201410 l MaxScript. Gdyby to byla maja to bym Ci napisal skrypt Pythona, bo to banalne, ale maxscripta nie znam:)
Napisano 19 Lipiec 201410 l Ok, jakbys chcial sprobowac w Majce to to jest narzedzie dla Ciebie:) Mozesz to sobie pozniej przeniesc FBXem do Maxa! (w Twoim przypadku pewnie najpierw musisz sobie z Maxa przerzucic banknoty, ktore maja byc kopiowane) Zaznaczasz w scenie obiekty, ktore chcesz ulozyc w stosie i odpalasz skrypt. Parametry, np. ILOSC_BANKNOTOW ustawiasz sobie wg. uznania FTR nie dbalem o elegancje kodu;) Python: import maya.cmds as cm import random #UWAGA: musisz miec zaznaczone banknoty, ktore chcesz kopiowac #ustawiasz wg uznania ILOSC_BANKNOTOW = 10 START_ANIMACJI = 10 ODSTEP_MIEDZY_POJAWIANIEM = 5 #w klatkach ODSTEP_MIEDZY_BANKNOTAMI = 0.2 MAX_OBROT = 2 #jak bardzo moja sie obracac banknoty POLOZENIE_STOSU = (0, 0, 0) #w swiecie (x, y, z) sel = cm.ls(sl=True) x = 0 for i in range(START_ANIMACJI, ILOSC_BANKNOTOW*ODSTEP_MIEDZY_POJAWIANIEM+START_ANIMACJI, ODSTEP_MIEDZY_POJAWIANIEM): print i obj = sel[random.randint(0,len(sel)-1)] cm.select(obj, r=True) cm.duplicate() cm.move(POLOZENIE_STOSU[0] , POLOZENIE_STOSU[1]+x, POLOZENIE_STOSU[2], a=True) liczba = random.randrange(-MAX_OBROT, MAX_OBROT) cm.rotate(0, liczba, 0, a=True) cm.setKeyframe( v=0, at='visibility', t=i) cm.setKeyframe( v=1, at='visibility', t=i+ODSTEP_MIEDZY_POJAWIANIEM) x += ODSTEP_MIEDZY_BANKNOTAMI Edytowane 20 Lipiec 201410 l przez Reanimator
Napisano 19 Lipiec 201410 l Bardzo fajnie, ze podałeś kod, ale pewnie mała funkcja zamiast zmiennej wygladałaby znacznie lepiej wizualnie. Nie znam pytonga ale to zwykły OOP więc mam sugestię: ODSTEP_MIEDZY_POJAWIANIEM = 2*(3*getRandom()); ODSTEP_MIEDZY_BANKNOTAMI = .2*(.2*getRandom()); gdzie function getRandom(){} to funkcja zwracająca liczby 0.1-1; da to mniej regularny, bardziej naturalny ruch obiektów.
Napisano 19 Lipiec 201410 l Przyklad nie mial randomu w animacji, wiec go nie zrobilem. Jest tylko w rotacji. Czemu odstep miedzy banknotami plaskimi mialby byc rozny?:)
Napisano 19 Lipiec 201410 l heh w sumie nie musi. Taka moja maniera, by unikać tych samych liczb przy generowaniu fizycznych obiektów/dynamiki, mam teorię, że oczy to widzą :P
Napisano 20 Lipiec 201410 l To dla jednego banknotu. Utwórz w scenie banknot, zaznacz go a potem uruchom skrypt. Ewentualnie dostosuj niektóre wartości do swoich potrzeb. /* Początek skryptu */ set animate on frame = 100 /*od której klatki ma wystartować animacja */ krok=5 /* co ile klatek ma zostać dołożony banknot */ jakigruby=0.04 /* jak ma rosnąć stos w gore */ ilebanknotow = 100 animationRange= interval 0 ((ilebanknotow*krok)+frame) for i =1 to ilebanknotow do ( obrot = random -2 2 przes = random -.05 .05 sliderTime = frame maxOps.cloneNodes $ cloneType:#instance newNodes:&nnl #nodialog select nnl move $ [przes,przes,jakigruby] rotate $ (eulerangles 0 0 obrot) /* usuń ten wiersz jeżeli banknoty nie powinny się obracać */ frame=frame +krok ) set animate off /* Koniec skryptu */ Edytowane 20 Lipiec 201410 l przez Dynamico
Napisano 20 Lipiec 201410 l Dynamico, Twoj kod wcale nie sprawi, ze obiekty beda sie pojawialy co okreslona ilosc klatek;) Takze jako ze nie uzyles rotacji do wartosci absolutnej Twoj stos stworzy najprawdopodobniej spirale, bo bedzie obracal o dodatkowa wartosc juz obroconego banknotu. Dodatkowo, jak sobie odpalam Twoj skrypt, to poszegolne banknoty maja animacje na rotacji i obracaja sie przez jakis czas. Dziwny efekt.
Napisano 20 Lipiec 201410 l Autor Na poczatku, Dzięki Wielkie za skrypty i poświęcony czas! Reanimator, musze zainstalowac Mayke tak wiec Twój skrypt sprobuje jako nastepny, podejrzewam ze bedzie dzialac tak jak chcialem widzac po komentarzach:) Mam nadzieje, ze animacja bedzie mozliwa do zapisania w FBXie i zaimportowania potem. EDIT Działa!:) Tylko jest problem z osiami, kopiowane banknoty sa obrocone o 90 stopni i kopiuja się w górę. Idzie to jakos naprawić? Może źle zrobiłem w FBXie coś? https://www.dropbox.com/s/yc9re6sz1nvd9nf/Przechwytywanie.PNG Edytowane 21 Lipiec 201410 l przez wezyr512
Napisano 21 Lipiec 201410 l Z pewnoscia kwestia osi. Jak zrobisz screena z wlaczona translacja lokalna, zebym mogl zobaczyc kierunki, to bylbym w stanie podac Ci wlasciwe wartosci. Ja mam tak, jak w zalaczniku, czyli Y do gory, u Ciebie jest pewnie inaczej. Nie wiem tez, czy nie chcesz przypadkiem, zeby stos ukladal sie pionowo, bo wydaje sie, ze zrodlowe banknoty sa u Ciebie pionowo. Zobacz. cm.rotate(0, liczba, 0, a=True) Ta linijka odpowiada za obrot. Pierwsze 0 to rotacja w X, liczba to randomowa liczba z zakresu ustalonego na poczatku i dziala w osi Y, a ostatnie 0 to obrot w Z. Zmieniajac te wartosci, jak ich kolejnosc, decydujesz o tym, jak wyglada stos. Mozesz zmienic np. tak: cm.rotate(90, liczba, 0, a=True) albo tak: cm.rotate(liczba, 0, 90, a=True) Zalezy od osi zrodlowego banknotu i efektu, jaki chcesz uzyskac. Wiec jezeli bedziesz chcial w pionie to i te linijke bedzie trzeba zmienic: cm.move(POLOZENIE_STOSU[0] , POLOZENIE_STOSU[1]+x, POLOZENIE_STOSU[2], a=True) Ehh... wystaw mi swoj plik Majowy na dropboxa to Ci wszystkie parametry ustawie odpowienio ;)
Napisano 21 Lipiec 201410 l No cóż. Jeżeli chodzi o Maxscript to jestem więcej niż amatorem ale jednak chyba działa ;-) [video=youtube_share;MwbuVV_gL8o] Po drobnych zmianach banknoty mogą np. spadać z góry. Jeżeli chodzi o rotację to jest losowa i faktycznie może się zdarzyć, że banknoty utworzą spiralny stos.
Napisano 21 Lipiec 201410 l Nie twierdze, ze jestes amatorem:) Po prostu jest to efekt inny niz na referencji:) Poza tym jak go uzylem to mialem przedziwny efekt obracajacych sie banknotow, czego u Ciebie nie widac. Dziwne:)
Napisano 21 Lipiec 201410 l @Reanimator. Jestem, jestem :-) Ten efekt obracających się banknotów nie jest dziwny. Przy zadanym kroku klatek większym niż 1, banknot ustawia się w swojej pozycji (jest przecież kopiowany z poprzednika) w ciągu właśnie tych kilku klatek. Trzeba by jeszcze zmienić wszystkie "tangent" w krzywej animacji na "stepped", ale na razie nie wiem jak to zrobić. Wtedy kopia pojawiała by się już z ostatecznymi współrzędnymi.
Napisano 21 Lipiec 201410 l Chyba nie ogarniam zasad dzialania Maxa;) Ja zrobilem to inaczej, tym bardziej, ze robie stos z puli zaznaczonych obiektow, ktore leza obok. Nie tworze kopii w czasie, tylko tworze fizycznie w scenie caly stos (niewidoczny) i animuje jedynie visibility w odpowiednim momencie. I nie ma na zadnej karcie animacji na rotacji.
Napisano 21 Lipiec 201410 l Autor Działa!:) Wziąłem cm.rotate(90, liczba, 0, a=True) i jest teraz dobrze, co prawda przy 300-stu kopiach mieli dluugo ale to chyba wina sprzetu. Dzięki wielkie Reanimator za pomoc! Przyznam, że dla mnie skryptowanie to czarna magia, a i Majke odpaliłem pierwszy raz:) Moze sie przyda na przyszlosc:) Dynamico, dzieki rowniez! Wybralem skrypt Majkowy ze wzgledu na losowe powielanie, nie wszystkie obiekty mam identyczne ale dzieki za poswiecony czas!
Napisano 21 Lipiec 201410 l Panowie a nie prościej było to machnąć partiklami (pflow w maxie?) z instancjami (maya), repliaktorami)modo) clonerami i mogrpahem (c4d). Nie dość, że nic nie mieli, można wygenerować naprawdę sporo obiektów, wszystko jest full opcja proceduralne, można spokojnie sobie w łatwy sposób animować prędkość, rozsunięcia, obroty etc etc. Dodatkowo nie trzeba się ograniczać do pionowego stosu, spirale, helisy, po dowolnie pogiętej ścieżce... Można podołączać rożne obiekty etc...Można różnie kombinować z detalami jak np. czy stos ma się generować "new on top" czy wypychanie od dołu i to za pomocą kilku kliknięć... Do mayi jest nawet taki mega przyjazny tool pt. Mash (taki mograph dla mayi).
Napisano 21 Lipiec 201410 l Hah, akurat bardziej znam sie na programowaniu, niz particlach, wiec dla mnie latwiej i szybciej;) a animacje mozna dodac dwoma dodatkowymi linijkami kodu, spirale podobnie;) w koncu pod UI partiklowym kryje sie kod;) Wezyr: musisz miec starego kompa mocno, skoro az tyle to trwa. Chociaz "az tyle" nie moze trwac wiecej, niz ile? 3 sekundy?:) u mnie jest natychmiast przy tej ilosci,a nie mam najnowszego sprzetu Edytowane 21 Lipiec 201410 l przez Reanimator
Napisano 21 Lipiec 201410 l Heh no u mnie to z tym melem to heh jakoś niezbyt... To nawet nie są jakieś tam czary mary partiklowe z kodowaniem ;) ot generuj partikle - podepnij obiekty - zabawa. Parę klocków na krzyż. Ale jak siedzisz w mayi i chcesz sobie uprościć parę rzeczy to polecam Mash'a.
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto