Autor Wątek: Materiały Ogre  (Przeczytany 3503 razy)

Offline kormoran

  • Użytkownik

# Kwiecień 07, 2009, 15:51:18
Hej!

Czy ktoś zna jakieś dobry linki do tutoriali jak używać tych nieszczęsnych materiałów w Ogre? Tak, tak czytałem manuala jednak nawet po przeczytaniu nie mogę tego ogarnąć. Powiem może na przykładzie dwóch prostych przypadków:

1) Zrobiłem sobie zwykły nieoteksturowany sześcian w blenderze, wyeoksportowałem, stworzyłem taki oto materiał:
material sth
{
technique
{
pass
{

texture_unit
{
texture sth.png
}
}
}
}
Ładnie się oteksturowało, cały sześcian jest w tej jednej bitmapie. Ale co muszę zrobić, aby na przykład górna część miała inną teksturę?(Próbowałem zrobić z cubic_texture ale gdy zmieniałem cube_up nic to nie dało! cały czas miałem tą samą teksturę podstawową!)

2)Tym razem załadowałem sobie kule(identyczny skrypt jak poprzednio) to cała kula jest w jednym brązowym kolorze, a powinna być pokryta kamieniami(więc mała różnica jest :D). Co muszę zrobić, aby pokryć całą kule teksturką z kamieniami(bodajże jest nawet w samplach z Ogre'a).

I jeszcze takie jedno pytanie: Zobaczyłem sobie skrypt materiału z ninj'y, wyglądą on tak
material Examples/Ninja
{
technique
{
pass
{

texture_unit
{
texture tuNazwaTeksturyNinjasa.png
}
}
}
}

I jak to do cholery tak ładnie rozchodzi się po całym modelu?!

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

# Kwiecień 07, 2009, 16:06:06
Cytuj
Ale co muszę zrobić, aby na przykład górna część miała inną teksturę?
Dać jej inny materiał.

Cytuj
I jak to do cholery tak ładnie rozchodzi się po całym modelu?!
W każdym wierzchołku modelu zapisane są współrzędne tekstury, które tam pasują. Słowem: model musi mieć zawczasu określone, jak na nim ma się rozkładać tekstura.

Offline Tomsin

  • Użytkownik

# Kwiecień 07, 2009, 16:34:27
Jeśli chcesz pobawić się materiałami to ściągnij sobie edytor materiałów do Ogra.
http://www.ogre3d.org/forums/viewtopic.php?f=11&t=48774
Jest jeszcze w fazie rozwoju ale proste materiały można budować bez przeszkód. Powinieneś szybko załapać o co chodzi bo program jest bardzo fajny.

Co do problemów z kostką to chyba chodziło ci o mechanizm UV mapping
http://en.wikipedia.org/wiki/UV_mapping

Offline kormoran

  • Użytkownik

# Kwiecień 07, 2009, 18:24:37
Cytuj
Dać jej inny materiał.
Tego się domyśliłem, tylko w jaki sposób?

Cytuj
W każdym wierzchołku modelu zapisane są współrzędne tekstury, które tam pasują. Słowem: model musi mieć zawczasu określone, jak na nim ma się rozkładać tekstura.
Czyli rozumiem że jak mam moją zwykłą kulkę to nie ma tam tego określone(lub jest określone domyślnie, ale tak jak ja nie chcę)?

Cytuj
Jeśli chcesz pobawić się materiałami to ściągnij sobie edytor materiałów do Ogra.
http://www.ogre3d.org/forums/viewtopic.php?f=11&t=48774
Już go wcześniej ściągnąłem, ale nie działał. Jeszcze trochę popróbuję z nim powojować :)

A UV Mappingu zaraz sobie poczytam...

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

# Kwiecień 07, 2009, 18:42:57
Cytuj
Dać jej inny materiał.
Tego się domyśliłem, tylko w jaki sposób?
Musisz ją jakoś oddzieloć od reszty - nie wiem jak to dokładnie w Ogre powinno być zrobione.

Cytuj
Czyli rozumiem że jak mam moją zwykłą kulkę to nie ma tam tego określone(lub jest określone domyślnie, ale tak jak ja nie chcę)?
Zależy skąd tą kulkę wziąłeś.

Offline kormoran

  • Użytkownik

# Kwiecień 07, 2009, 19:02:23
Cytuj
Zależy skąd tą kulkę wziąłeś.

Sam "wymodelowałem"(spacja ->Add->Mesh->UVSphere)

Cytuj
Musisz ją jakoś oddzieloć od reszty - nie wiem jak to dokładnie w Ogre powinno być zrobione.
Szukałem właśnie chyba z 2 godziny rozwiązania i nic nie znalazłem. Ale myślę, że w mojej grze raczej nie będzie prostych sześcianów(a nawet jakby były to chyba żaden problem), to sobie ustalę w Blenderze jak ma być rozmieszczona tekstura i po problemie, dobrze myślę? 

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

# Kwiecień 07, 2009, 19:36:22
Cytuj
to sobie ustalę w Blenderze jak ma być rozmieszczona tekstura i po problemie, dobrze myślę?
Jeżeli to będzie jedna tekstura dla całego modelu, to będzie dobrze.

Offline Tomsin

  • Użytkownik

# Kwiecień 07, 2009, 20:46:34
Jeśli chodzi ci o to żeby np., każda ścianka kostki miała inny wzór to najlepiej zrobić to za pośrednictwem mapowania UV - zrobiłem ci małego tutka, niestety w paru częściach.

http://student.agh.edu.pl/~tomsin/forum/_mat_cz_1.avi
http://student.agh.edu.pl/~tomsin/forum/_mat_cz_2.avi
http://student.agh.edu.pl/~tomsin/forum/_mat_cz_3.avi
http://student.agh.edu.pl/~tomsin/forum/_mat_cz_4.avi

W Blenderze :
Nowy Cube
Tryb edycji i klawisz U – czyli unwrap
Potem w oknie UV dajesz nowy rysunek (potem go save’ujesz)
Wypalasz wektory normal – żeby ładnie było widać różne ścianki
Zapisujesz tą teksturę w materiale – pamiętaj żeby zmodyfikować materiał żeby korzystał z UV
Eksport do Ogra
Koniec :)
Jeśli chcesz mieć parę UV na jednym modelu to w Blenderze możesz to zrobić. Wystarczy w trybie edycji w zakładce Mesh dodać nowe UV i przy nim unwrapować model jeszcze raz (klawisz U).

Mam nadzieje że pomoże.

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

# Kwiecień 07, 2009, 23:36:16
Cytuj
Jeśli chcesz mieć parę UV na jednym modelu to w Blenderze możesz to zrobić. Wystarczy w trybie edycji w zakładce Mesh dodać nowe UV i przy nim unwrapować model jeszcze raz (klawisz U).
Pytanie tylko, czy to się do ogra wyeksportuje. :)

Offline Nargil

  • Użytkownik
    • projekty

# Kwiecień 08, 2009, 02:03:07
Pytanie tylko, czy to się do ogra wyeksportuje. :)
AFAIK nie ;)

Offline Tomcat

  • Użytkownik

# Kwiecień 08, 2009, 16:41:49
Dla każdej tekstury stwórz osobny materiał w Blenderze. Każdy materiał ma jedną teksture przypisaną. Pamiętaj żeby dać Assign na odpowiednich ściankach.

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

# Kwiecień 08, 2009, 16:44:13
Dla każdej tekstury stwórz osobny materiał w Blenderze. Każdy materiał ma jedną teksture przypisaną. Pamiętaj żeby dać Assign na odpowiednich ściankach.
Jesteś pewien, że materiały przypisuje się w blenderze do ścianek? Z tego, co pamiętam, do ścianek szło przypisać jedynie tekstury, a materiały były przypisywane do obiektów. Tak, czy inaczej, wątpię żeby eksporter używał informacji o tym, jakie tekstury są przypisane do pojedynczych ścianek. :)

Offline Tomcat

  • Użytkownik

# Kwiecień 08, 2009, 16:48:39
Krzysiek K. tak jestem pewien, sam tego używałem :)

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

# Kwiecień 08, 2009, 16:55:49
Krzysiek K. tak jestem pewien, sam tego używałem :)
A jak to się dokładniej robi? :)

Offline Tomcat

  • Użytkownik

# Kwiecień 08, 2009, 17:04:13
Ok, już mówię :)
Stwórzmy scenę z samym sześcianem na początek. Wchodzimy w Edit Mode, tam w panelu Shading nazywamy materiał np "Red" i ustalamy z boku kolor jw ;) z zaznoczonym całym obiektem wchodzimy w pane Editing i tam dajemy Assign. Potem znowu wracamy do Shading, odznaczamy model, tworzymy nowy materiał i modyfikujemy tak jak byś chciał. Wybieramy ścianki, które nas interesują i w panelu Editing z rozwijanego menu wybieramy ten drugi materiał np "Blue" i dajemy Assign. I to wszystko :)