ca mel Napisano 7 Kwiecień 2010 Napisano 7 Kwiecień 2010 Hej. Czy ktoś na forum umie pisać shadery do mental ray'a ? Chodzi mi o rozwiazanie dość banalnego problemu - mam dziesiątki tysiecy obiektow ktore podczas roznych transformacji - m.in. skalowania bedą zmieniac kolor. Wszystkim nadalem ten sam shader, dziesiatki tysiecy dla kazdego z obiektow osobno zapewne rozlozylyby nawet najlepszy komputer. Chcialbym wiec sobie zrobic dodatkowa warstwe renderingu na ktorej np obiekty podczas rosniecia zmienialyby kolor z czarnego na bialy (im wiekszy tym bielszy). Nie mam pomyslu jak zrobic cos takiego (probowalem particli i instancera w polaczeniu z kontrolowaniem skryptem color Per Particle ale dziala to niesamowicie powoli), moze wlasnie wiec taki dodatkowy shader rozwiazalby sprawe. Tylko jak sie za to wziac? ;/ No chyba ze ma ktos ciekawszy pomysl ? Z gory dzieki i pozdrawiam!
Kroopson Napisano 7 Kwiecień 2010 Napisano 7 Kwiecień 2010 Damn - ciężki temat. Jeśli faktycznie masz dziesiątki tysięcy obiektów to może kontroluj skalę jakąś mapą, wszystkie wierzchołki danego obiektu niech będą zmapowane do jednego pixela i wartość tego pixela jednocześnie określa skalę oraz kolor (ostatnio słabo u mnie z dostępem do Maya więc nei mam jak sprawdzić). To jeden z pomysłów. (eh - w Houdinim takie rzeczy robi się "z palca" ;) )
ca mel Napisano 7 Kwiecień 2010 Autor Napisano 7 Kwiecień 2010 Damn - ciężki temat. Jeśli faktycznie masz dziesiątki tysięcy obiektów to może kontroluj skalę jakąś mapą, wszystkie wierzchołki danego obiektu niech będą zmapowane do jednego pixela i wartość tego pixela jednocześnie określa skalę oraz kolor (ostatnio słabo u mnie z dostępem do Maya więc nei mam jak sprawdzić). To jeden z pomysłów. (eh - w Houdinim takie rzeczy robi się "z palca" ;) ) Ha! tak czuje ze to calkiem trudna sprawa. Nie zawracalbym Wam glowy jakby bylo latwo heheh. Nie bardzo rozumiem co masz na mysli z kontrolowaniem tego mapą, chodzi mi o cos takiego jak w zalaczniku - sa sobie obiekty - poki co pelno instancow kulek po ktorych przejezdza sobie kilka innych obiektow powodujacych ze sobie proceduralnie rosną w przypadkowy sposob. Oczywiscie cala akcja odbywa sie podczas przejazdu kamery po tym wszystkim. Sek w tym ze przy takim rosnieciu musza tez wybiorczo zmieniac barwe. Wiec przydaloby sie wygenerowac dla kazdej klatki z aktywnej kamery cos w rodzaju szarobialej mapki (cos jak mapa glebokosci) pokazujacej na jakim etapie wzrosu juz sa. Jakis custom shader obrazujacy zadany atrybut obiektu ( w tym przypadku skale ) zalatwilby sprawe ale nie mam pomyslu jak sie za to wziac. A jak zwykle klientowi spieszy sie bardzo heheh ;] Pozdrawiam
Kroopson Napisano 7 Kwiecień 2010 Napisano 7 Kwiecień 2010 ok a gdyby tak zrobić planar mapping na jednej kulce (przed duplikowaniem jej tysiące razy) i spiąć jakoś tą projekcję ze skalą (driven key albo cokolwiek)? Nie spodziewałbym się żeby to rozwiązanie było jakieś mega szybkie neistety
piotrek Napisano 7 Kwiecień 2010 Napisano 7 Kwiecień 2010 Nie wiem, jak sobie mental radzi z node'ami w Hypeshade, ale może tam jakoś dałbyś rade to zrobić. Z transofrmNode wziąc parametr skali i wrzucić do go inputColor shadera.
ca mel Napisano 7 Kwiecień 2010 Autor Napisano 7 Kwiecień 2010 Nie wiem, jak sobie mental radzi z node'ami w Hypeshade, ale może tam jakoś dałbyś rade to zrobić. Z transofrmNode wziąc parametr skali i wrzucić do go inputColor shadera. Hmm, tylko widzisz. Tych obiektow jest kilkadziesiat tysiecy. A kazdy rosnie z osobna, wedlug swoich wlasnych zasad. Chodzi mi o skontruowanie takiego shadera zeby dzialal na wszystkich obiektach naraz i zmienial kolor kazdej kulki z osobna;]
ptaszek Napisano 23 Kwiecień 2010 Napisano 23 Kwiecień 2010 Nie wiem czy dobrze zrozumialem, ale moze sprobuj w zupelnie inny sposob.. Wyrenderuj 2 passy jeden z normalnymi kuleczkami a jeden z powiekszajacymi sie i sprobuj wyciagnac je przez difference w postpro i tam pokombinowac z barwa.
piotrek Napisano 23 Kwiecień 2010 Napisano 23 Kwiecień 2010 Coś takiego próbowałeś? http://misterdi.cgpot.com/tutorial/ShadingSwitch/shadingSwitch.html Drugie zadanie na stronie. O ile dobrze zrozumiałem, powinno pomóc nieco.
SYmek Napisano 23 Kwiecień 2010 Napisano 23 Kwiecień 2010 (eh - w Houdinim takie rzeczy robi się "z palca" ;) ) w Mai zrobi to 3delight. Chodzi o to, żeby shader kontrolować atrybutem zapisanym na geometrii. Wydawało mi się, że mental również to potrafi, ale gdzie i jak...?* * - zapewne tam, gdzie zmienia się kolor dla instancji ;)
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ę