sonickz Napisano 9 Maj 2010 Napisano 9 Maj 2010 Mam pytanie jak zastosować materiał / właściwości , żeby poziome powierzchnie ( jak na obrazku ) zachowywały się tak jak pionowe. Tzn. np. żeby powierzchnia numer 2 miała taki sam kolor jak 1(zależnie od padającego światła na 1). Albo o ile to możliwe żeby występował jakiś gradient w celu zachowania płynności koloru miedzy 1 2 3 ścianą.
Dynamico Napisano 9 Maj 2010 Napisano 9 Maj 2010 Chyba nie do końca rozumiem pytanie ale jeżeli przypiszesz obiektowi materiał to wszystkie powierzchnie będą miały ten sam kolor (materiał). Natomiast uzyskanie gradientu jest możliwe (chyba) wyłącznie przy pomocu specjalnie przygotowanego i odpowiednio mapowanego materiału lub obiekt musi być np. kulą :-)
sonickz Napisano 10 Maj 2010 Autor Napisano 10 Maj 2010 No chyba nie do końca , chodzi mi o kolor po uwzględnieniu światła jakie pada. Czyli po prostu żeby max renderował kolor powierzchni poziomej taki jak by była powierzchnią pionowa(zmienić orientacje o 90 stopni).
Johny Napisano 10 Maj 2010 Napisano 10 Maj 2010 Z tego co sie dowiedzialem, najprostszy model cieniowania to dotproduct z (vectora od powierzchni do swiatla i normalnej) * cien * kolor swiatla, musialbys miec dostep do tego typu danych na poziomie shadera zeby ktorys z vectorow obrocic. Mozliwe ze SDK maxa i napisanie wlasnego shadera to jedyna opcja przy tym pakiecie.
sonickz Napisano 10 Maj 2010 Autor Napisano 10 Maj 2010 (edytowane) Hmm wolałbym w ostateczności zabierać się za pisanie shadera . To powiem bardzo szczegółowo o co mi chodzi , może znajdzie się jakieś rozwiązanie inne. 1) 2) Pierwszy film: obiekt jest renderowany na front view co daje efekt "pixel art" , kolory są ciągłe i nie widać ścian poziomych . Natomiast na drugim filmie obiekt jest renderowany pod jakimś innym kątem, co sprawia ze ściany pod kątem 90 stopni są widoczne. Jak to zrobić żeby się zlewały dając w efekcie jednolity kolor boku. Może dać self-illumination na 100 z odpowiednim materiałem? Edytowane 10 Maj 2010 przez sonickz
Hynol Napisano 10 Maj 2010 Napisano 10 Maj 2010 Z tego co sie dowiedzialem, najprostszy model cieniowania to dotproduct z (vectora od powierzchni do swiatla i normalnej) * cien * kolor swiatla, musialbys miec dostep do tego typu danych na poziomie shadera zeby ktorys z vectorow obrocic. Mozliwe ze SDK maxa i napisanie wlasnego shadera to jedyna opcja przy tym pakiecie. Eeee.... Ale że dla shaderów? Tylko że nie ma potrzeby ingerencji w shadery Proponowałbym pobawić się modyfikatorem edit normals. Ustawiamy normalne vertexów do pionu i światło "głupieje". Dla renderera tera powierzchnie modelu mimo że leżą pionowo, to zachowują się zgodnie ze zmienionymi normalnymi. Myk często stosowany przy ustawianiu w scenie wszelkiego rodzaju billboardów. No i działa z dowolnym rendererem.
sonickz Napisano 10 Maj 2010 Autor Napisano 10 Maj 2010 Dziękuje jeszcze przy okazji ,dzięki temu uzyskałem również gradient.
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ę