Autor Wątek: (irrlicht)jak ustawić tryb alpha dla textur które mają czarne tła np. drzewa  (Przeczytany 2497 razy)

Offline blendermen

  • Użytkownik

# Marzec 14, 2006, 16:45:21
Czesć. Mam pytanie. Tworze moją grę ale kiedy zaczołem zacząłem robić drzewa-zapomniałem że nie wiem jak zrobić aby te drzewa nie miały czarnego tła. Czy w irrlichcie da się zrobić tak aby wszystkie textury które mają czarne tła - żeby te tła nie były widoczne. Tak jak w dobrych grach (drzewa są nawet zrobione z 2 planeów).
Moja textura to krzak na czarnym tle i nie wiem jak zrobić aby usunąć tło.
Bo to wygląda tak.
http://www.fotosik.pl/pokaz_obrazek/pgvanet1dc9ou3oj.html   -  zdjęcie próbne

http://www.fotosik.pl/pokaz_obrazek/ewfj5zo5b61uvxi5.html   - a to zdjęcie miasta
« Ostatnia zmiana: Marzec 14, 2006, 17:14:12 wysłana przez Krzysiek K. »

Offline Mr. Spam

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

Offline pawell

  • Użytkownik

# Marzec 14, 2006, 17:08:14
Nie wiem czy jest taka opcja w silniku ale wystarczy mała ingerencja w kod i masz to czego oczekujesz, oczywiście jeśli wiesz jak to działa ;)

Offline mosowski

  • Użytkownik

# Marzec 14, 2006, 18:22:00
zrób texture z kanałem alpha (tło), tga lub png.

i zrób tak, dla nodów drzew:

node->setMaterialType(video::EMT_TRANSPARENT_ALPHA_CHANNEL_REF );
jeżeli twój objekt ma tylko jedną teksturę z kanałem alfa to możesz zrobić tak:

node->getMaterial({indeks}).MaterialType=EMT_TRANSPARENT_ALPHA_CHANNEL_REF;
pamiętając, że indeks to indeks materiału z teksturą z alpha.

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

# Marzec 14, 2006, 18:31:14
Cytuj
Tak jak w dobrych grach (drzewa są nawet zrobione z 2 planeów).
Już od dawna się w grach tak drzew nie robi, bo przecież wyglądają one koszmarnie. Zrobiłem ten błąd, że pozwoliłem grafikowi zrobić w ten sposób drzewa w jednej scenie w demku 64k VX-POST, co zostało równo zjechane przez scenowców. Sądząc po Twojej ksywie, bawisz się trochę Blenderem, więc proponuję po prostu przygotować parę modeli drzewek i zaimportować je do Irrlichta jako modele 3D, najlepiej z animacją gałęzi na kościach. Wtedy każde drzewo może wyglądać inaczej (inne ustawienie gałęzi) i można dodać animację (np. ruch na wietrze), a karty graficzne (nawet te nieco starsze) uciągną to bez problemu. :)

Jeżeli chcesz zobaczyć, jak teraz wyglądają drzewa w dobrych grach, proponuję zajrzeć tutaj. :)


EDIT: Swoją drogą, miasto zapowiada się bardzo fajnie, więc nie psuj tego koszmarnymi drzewkami na bitmapach. :)

Offline vojtek

  • Użytkownik

# Marzec 15, 2006, 20:06:17
http://arbaro.sourceforge.net/ <- tego mozna uzyc do wygenerowania mesha dla drzewa, nie wiem jak z liscmi, nie mialem czasu ani ochoty sie tym bawic dluzej.

Offline blendermen

  • Użytkownik

# Marzec 15, 2006, 20:08:03
dzięki za pomoc koledzy

Co do animacji drzew to nie jestem aż tak doświadczonym programistą jak wy i nie wiem jak zrobić w irrlichcie aby coś tam było animowane. Ja tworze w blenderze i całą mapkę exportuje do formatu .oct - próbowałem
zrobić animowe drzewa(w blenderze ustawiłem tak aby się ruszały powoli)ale gdy kompiluje te drzewa się nie ruszają tak samo jak droga i bloki stoją bez ruchu. Myślę że musze drzewa zrobić oddzielnie i exportować do formatu .x - wstawić je w kodzie gry w  odpowiednie miejsce i dopiero włączyć animację też w kodzie . Ale jak chcę stworzyć np. 200 drzew to te wklepywanie kodu gdzie ma co stać byłoby długie i monotonne(bo jak pisze drzewa, które są zrobione w blenerze razme z całym miastem są traktowane jako jedna wielka całość razem z tymi blokami i ulicą - tak myślę).
« Ostatnia zmiana: Marzec 15, 2006, 20:34:09 wysłana przez blendermen »

Offline Wyszo

  • Użytkownik

# Marzec 16, 2006, 19:43:49
A ja myślę, że jak je tworzysz w blenderze to one i tak są traktowane jako oddzielne meshe, więc możesz się do nich łatwo dokopać na przykład 'po nazwie' i dalej bawić się jak oddzielnym modelem (albo wręcz podczas wczytywania mapy wczytać oddzielnie ulice i bloki a oddzielnie drzewa). Poza tym właściwie nigdy obiektów mapy nie umieszcza się na stałe w kodzie gry. Właśnie dlatego istnieją takie narzędzia jak Map Editory  :)

No i jeszcze od siebie dodam, że efekt o którym jest mowa w całym tym wątku nosi nazwę billboarding (to tak dla informacji tych bardzo początkujących, żeby sobie mogli ładnie i przyjemnie wygooglać  :D)

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

# Marzec 17, 2006, 02:46:05
Cytuj
Ale jak chcę stworzyć np. 200 drzew to te wklepywanie kodu gdzie ma co stać byłoby długie i monotonne(bo jak pisze drzewa, które są zrobione w blenerze razme z całym miastem są traktowane jako jedna wielka całość razem z tymi blokami i ulicą - tak myślę).
Prędzej, czy później i tak ten problem powróci. W grze jest wiele obiektów, które trzeba umieszczać na mapie, ale nie są one częścią geometrii mapy (np. przeciwnicy). Musisz opracować sobie sposób przemycania takich informacji z blendera, albo napisać edytor do umieszczania obiektów w grze, bo na wklepywaniu wszystkiego w kodzie daleko nie zajedziesz. :)

Offline blendermen

  • Użytkownik

# Marzec 17, 2006, 16:22:59
Szkoda  że współrzędne obiektu w blenderze nie pokrywają się w irrlichcie np. latarnia w blenderze ma współrzędne(12.90.3) a w irrlichcie (200,9,90)-tak to bym nawet się tym nie martwił :)


A co do tych drzew to spróbowałem zrobić je normalnie w 3d a nie jak chciałem wcześniej zrobić te drzewa z 2 kwadratów - ale zawzse przyda mi się ten sposób np. jak chcę zrobić bramę .
Może te drzewo nie wygląda tak jak sobie to wyobraiziłem ale zawsze drzewo to drzewo :)
(do zrobienia drzewa używałem edytora drzew w blenderze)

http://www.fotosik.pl/pokaz_obrazek/let9ibiyou6vg0l9.html  - tak to wygląda

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

# Marzec 17, 2006, 17:26:27
Cytuj
Szkoda  że współrzędne obiektu w blenderze nie pokrywają się w irrlichcie np. latarnia w blenderze ma współrzędne(12.90.3) a w irrlichcie (200,9,90)-tak to bym nawet się tym nie martwił
Spróbuj zrozumieć, jak te współrzędne są przetwarzane podczas eksportu. Najprawdopodobniej jest to prosta zamiana kolejności współrzędnych i ich przeskalowanie plus ewentualne przesunięcie. :)

Cytuj
Może te drzewo nie wygląda tak jak sobie to wyobraiziłem ale zawsze drzewo to drzewo
(do zrobienia drzewa używałem edytora drzew w blenderze)
Teraz to wygląda jak dzewo. :)