Skocz do zawartości

Skalowanie i zmiana koloru


ca mel

Rekomendowane odpowiedzi

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!

Odnośnik do komentarza
Udostępnij na innych stronach

  • Odpowiedzi 9
  • Created
  • Ostatniej odpowiedzi

Top Posters In This Topic

Top Posters In This Topic

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" ;) )

Odnośnik do komentarza
Udostępnij na innych stronach

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

Odnośnik do komentarza
Udostępnij na innych stronach

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;]

Odnośnik do komentarza
Udostępnij na innych stronach

(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 ;)

Odnośnik do komentarza
Udostępnij na innych stronach

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ę



×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Wykorzystujemy cookies. Przeczytaj więcej Polityka prywatności