zbiornik Napisano 13 Styczeń 2011 Napisano 13 Styczeń 2011 witam. nurtuje mnie ten temat juz od niemal miesiaca i niestety dochodze do smutnych wniosków, że uzyskanie perfekcyjnej pixel-perfektowej izometri (czyli takich tilesow, ktore mozna laczyc w silniku 2d i idealnie do siebie pasuja) nie da sie osiagnac. (chyba :) ) Jednak sie nie poddaje i dalej proboje zmeczyc temat. Google milczy, jest pare topicow na ten temat jednak zwykle koncza sie bez rozwiazania, albo bez "dzialajacego" rozwiazania (testowalem je wszystkie) jest nawet tutorial a propo renderowania izometri w majce, jednak nie daje pixel-perfect rezultatow, z ktorych mozna robic tilesy. Do czego doszedlem jak narazie: 1. Po pierwsze ustawiamy mental raya, dajemy sampling na 0 i w multi-pixel filtering ustawiamy filter lanczos (ten zabieg eliminuje anti-aliasing z krawedzi) 2. Teraz mamy do wyboru dwa sposoby: 1. obracamy sobie kamerke (-30,45,0) mając wlaczone ortho, albo obracamy frontview tak samo. (gorsze rezultaty) 2. drugi sposob daje troche lepsze rezultaty: wchodzimy w frontview, zaznaczamy obiekt i rotatujemy go (-50.768 , 37.761 , 26.565) ale tak czy siak zostaje ten sam problem (lewa strona czesto =/= prawej, dol =/= gora itd.) NIE MAM POJECIA dlaczego tak sie dzieje. w cyferkach wszystko wyglada idealnie a renderer robi sobie jaja tutaj rezultaty: a tutaj jak to powinno wygladac: mam nadzieje, ze ktos zdola pomoc pozdrawiam
olaf Napisano 13 Styczeń 2011 Napisano 13 Styczeń 2011 a nie jest to przypadkiem błąd w założeniu - bo wymiarowo to się pewnie zgadza ale silnik viewportu dąży do interpretacji powierzchni a nie zachowania pikselowej równości. Po wygenerowaniu w np. 8x większym wymiarze i przeskalowaniu powinno zgrać się z silnikiem izometrycznym. IMO to bardziej problem 'zmiennoprzecinkowości' operacji.
zbiornik Napisano 13 Styczeń 2011 Autor Napisano 13 Styczeń 2011 dzieki olaf, calkiem niezly pomysl, ale niestety dalej uzyskuje nierowne rezultaty :( czekam na dalsze pomysly.
zbiornik Napisano 13 Styczeń 2011 Autor Napisano 13 Styczeń 2011 co masz na mysli? bo nie do konca rozumiem, wydaje mi sie, ze pixel z reguly jest kwadratowy hehe :)
bartolomeo Napisano 13 Styczeń 2011 Napisano 13 Styczeń 2011 to zależy której reguły... ;) w render setings - pixel aspect ratio powinno być 1.0 w Palu pixel wcale nie jest kwadratowy.
zbiornik Napisano 13 Styczeń 2011 Autor Napisano 13 Styczeń 2011 gdzie to znalesc dokladnie? ok znalazlem to jest w maya software, a ja korzystam z mentala, ale w maya software i tak jest ustawiony na 1, wiec to nie to.
jacenty Napisano 14 Styczeń 2011 Napisano 14 Styczeń 2011 a to nie chodzi o to ze w mayi masz perspektywe a nie rzut izometryczny ? Albo inaczej sprobuj renderowac w znacznie wiekszej rodzielczosci i zeskaluj to do takiej jakiej chcesz moze to cos pomoze
asblaze Napisano 14 Styczeń 2011 Napisano 14 Styczeń 2011 W ustawieniach kamery można ustawić, że ma być ortograficzna - to powinno też pomóc.
kengi Napisano 14 Styczeń 2011 Napisano 14 Styczeń 2011 przeciez pisze ze uzywa ortho camerki. ja bym stawial na to ze jednak lanczos to jest filterek, ktory moze ostro pokazuje pixelki, ale jednak je sobie jakos zmienia. a jak to wyglada jak renderujesz na zwyklym maya software bez antyaliasingu, tez sa takie problemy? czyli raczej bym szukal gdzie sie w mentalu aliasing wylancza zupelnie. chociaz podobno wystarczy min max sample lev na 0 ustawic... wiec to czy potem masz lanczosa czy inny box nie powinno miec znaczenia. niemniej, ciekawy problem masz chopie ;P
zbiornik Napisano 14 Styczeń 2011 Autor Napisano 14 Styczeń 2011 (edytowane) sampling na 0 w mental rayu dalej daje antialiasing - niestety, przy uzyciu lanczosa anti aliasing jest eliminowany (przy ustawieniach sample level 0). w maja software wydaje mi sie, ze nie ma mozliwosci wylaczenia anti aliasu. Mozna tylko ustawic low quality ktory i tak daje jakis tam antialias. (chyba ze o czyms nie wiem?) EDIT: pogrzebałem troche, wystarczy unchecknąc premultiply i antialias krawędziowy znika. Rezultaty są troche lepsze ale wygląda na to, że mimo ortho kamery dalej jest jakaś bardzo minimalna perspektywa (bo równoległe linie pixeli na podstawie i górnej krawędzi cuba nadal są wzgłedem siebie przesunięte o 1 px. niemniej zrobilem jakis tam progres. Przy odpowiednim zoomie kamery, interpretacja pixeli sie nieco zmienia i da sie osiągnać dobre rezultaty - niestety tylko przy Cubie, przy probie zrobienia bardziej skomplikowanego zloopowanego tilesu (np. skałki, klifu etc.) problem dalej sie pojawia. zaczyna mnie zastanawiać, jak parenaście dobrych lat temu (np. w Diablo 1 - rok wydania 1996) udało im się osiągnać tak bezproblemowy prerender, a teraz w dobie 20x lepszych narzędzi jest to duży problem - wystarczy poszukać na googlu jakichkolwiek informacji nt. prerenderowania, z góry wam mówie, że nie znajdziecie nic. problem unsolved nadal. Mam nadzieje, ze ktos to rozwiazał, bo widziałem podczas rajdu na google, że pare osób miało podobny problem. Dzięki za pomoc i czekam na dalsze pomysły Edytowane 14 Styczeń 2011 przez zbiornik
jacenty Napisano 14 Styczeń 2011 Napisano 14 Styczeń 2011 no a probowales to z tym renderowaniem w wiekszych rodzielczosciach i skalowanie w dol w photoshopie?
olaf Napisano 14 Styczeń 2011 Napisano 14 Styczeń 2011 zaczyna mnie zastanawiać, jak parenaście dobrych lat temu (np. w Diablo 1 - rok wydania 1996) udało im się osiągnać tak bezproblemowy prerender, a teraz w dobie 20x lepszych narzędzi jest to duży problem - wystarczy poszukać na googlu jakichkolwiek informacji nt. prerenderowania, z góry wam mówie, że nie znajdziecie nic. jedyny problem jaki tu widzę, to fakt ze nie ustawiasz sobie drobnej ręcznej korekty z jednego idealnego plane'a albo nie masz gotowej maski i nie renderujesz bez kombinowania.
beny Napisano 14 Styczeń 2011 Napisano 14 Styczeń 2011 zbiornik - Właśnie przeczytałem o Twoim problemie i po pierwszym poście moge Cię zapewnić że nie osiągniesz rezultatu jaki chcesz w podstawowych twierdzeń. 1. (-50.768 , 37.761 , 26.565) ... skąd te wartości? - Nie osiągniesz matematycznej precyzji co do piksela zaokrąglając do tysięcznych w układzie kartezjańskim. Wg.mnie zadowalające rezultaty dostaniesz 6-8 miejsc po przecinku. 2. "multu-pixel filtering na lanczos" - nie możesz W OGÓLE filtrować. Lanchos ma wykres "wyostrzający" obcinający alphę i wyostrzający krewędzie ale to dalej jest filter. Jak chcesz mieć najostrzejsze krawędzie musisz w ogóle wyłączyć filtrowanie ... generalnie takiej możliwości nie masz więc jedyne co Ci pozostaje to właśnie wyłączyć premultiply i otworzyć same kanały RGB bez alphy - wtedy otrzymasz niefiltrowane rgb a filter tylko na alphie będzie. Rozwiązanie - błędem jaki robisz jest ustawianie kamery - musisz to zrobić w układzie współrzędnych sferycznych, a takich w MEL'u nie ma - jest w API. A jak robisz już w kartezjańskim i nie chcesz specjalnie sobie noda do tego pisać to zwiększ precyzję wartości z 0.000 do przynajmniej 0.000000. Mimo że w polach widzisz tylko 3 cyfry po przecinku pola Maya przyjmują wartości z zakresu float ... czyli dużo więcej.
zbiornik Napisano 14 Styczeń 2011 Autor Napisano 14 Styczeń 2011 czy moglbys przyblizyc mi temat ukladu sferycznego? jak to zrobic w majce? Co to za API o ktorym mowisz? Skryptowania jeszcze nawet nie dotykalem dlatego nie bardzo rozumiem o czym piszesz. Z góry dzieki
kotisded Napisano 14 Styczeń 2011 Napisano 14 Styczeń 2011 Podejdz do mnie po scene, w maxie wyszlo na scanline.
zbiornik Napisano 15 Styczeń 2011 Autor Napisano 15 Styczeń 2011 udało się w majce. Niestety jest to kwestia szczescia ustawienia odpowiedniego zooma i translacji kamery. niebardzo mnie zadowala takie rozwiazanie, ale przynajmniej jakies jest :) dzieki wszystkim za pomoc
beny Napisano 15 Styczeń 2011 Napisano 15 Styczeń 2011 zbiornik: 1. układ sferyczny - http://pl.wikipedia.org/wiki/Uk%C5%82ad_wsp%C3%B3%C5%82rz%C4%99dnych_sferycznych Ogólnie jest to reprezentacja punktu w przestrzeni euklidesowej inna od tradycyjnej, której nas uczą w szkole czyli kartezjańskiej - to popularne X,Y,Z. Przestrzeń kartezjańska ogólnie też Ci da zadowolającą precyzję ale nie 3 miejsca po przecinku .. to znaczy może i starczą 3 miejsca po przecinku pod warunkiem że reszta do same "0", ale jakoś w to nie wierzę. Nie liczyłem tego co prawda ale wartości, które podałeś nie wyglądają mi na "okrągłe", dlatego pytałem skąd te wartości. 2. API Maya - to ogólnie interfejs programisty - taka głębsza ingerencja w Mayę, pozwala korzystać m.in. z bibliotek C++ do wykonywania operacji na obiektach, czy obrazie, poswala na tworzenie własnych obiektów podstawowych, nadawanie charakterystyk shaderom i ogólnie mocna rzecz, ale bez wiedzy programistycznej nie podchodź. ps. zbiornik, podeślij rezultat, bo absurdalny ale ciekawy temat nadałeś muszę przyznać :)
beny Napisano 15 Styczeń 2011 Napisano 15 Styczeń 2011 Zbiornik, muszę powiedzieć, że zaintrygowało mnie to do tego stopnia że zainstalowałem Maykę na chwilę na laptopa żeby sprawdzić w czym problem z tą izometrią i albo miałem CHOLERNEGO farta, albo wiem gdzie tkwił problem w Twoich ustawieniach. Mi wyszło coś takiego za pierwszym razem: Banding na cieniach to kwestia kompresji .jpg. Jak chcesz to Ci podeśle scene. Nic nie zrobiłem prostrzego niż zgrupowanie kamery do dwóch grup celem zapewnienia poprawnej jej rotacji po X i Y i ustawiłem jedną rzecz, którą pewnie miałeś inaczej - mianowicie "adaptive sampling" ustaw na "fixed sampling" i po sprawie - w ten skosób maya "wchodząc na obiekt" podczas renderingu nie zmieni Ci ilości sampli podczas "schodzenia z niego" i ilość sampli pp 256. Dodatkowo utwórz nowe światło, gdyż jeżeli nie zmieniłeś tego z defaultu Maya tworzy przed renderem tymczasowe światło directional o dupnej jakości cieni przez co miałeś krzaki z lewej strony obiektu. A jak stworzysz własne to podkręcasz jakość cienie- ustawiasz je na raytraced i w ten oto sposób na moim renderze nawet cienie się zgadzają perfekcyjnie. Pozdrawiam!
zbiornik Napisano 15 Styczeń 2011 Autor Napisano 15 Styczeń 2011 beny bardzo ladny rezultat, (bo symetryczny) ale zmien kat kamery na 60' z bo w tej chwili masz chyba 35' jesli mnie oko nie myli a to nie jest ta izometria o ktora mi chodzi, i wylacz premultiply i pokaz jak to wtedy wyglada :) FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU. Nie wierze :) Chcialem sie pochwalic rezultatami wczorajszymi (bylo idealnie co do px, zlokowalem cala kamere, zeby przez przypadek nie ruszyc i zapisalem scene). Odpalam przedchwila majke renderuje i intepretuje zupelnie inaczej. WTF?
beny Napisano 15 Styczeń 2011 Napisano 15 Styczeń 2011 Ależ proszę Cię bardzo. Jako że premultiplikacja działa wyłącznie w obszarach alphy różnej od 0 i 1, żeby otrzymać schodkowy rezultat na krawędzi wewnętrznej musisz pojechać lanczosem o zakresie 2 pix a nie 4 defaultowo. Pozdrawiam!
kotisded Napisano 15 Styczeń 2011 Napisano 15 Styczeń 2011 (edytowane) beny- Nie działa, masz po trzy pixele na srodku i po dwa po prawej i lewej, powinny byc 2 wszedzie. edit. sprawdziłem maxa i u mnie dalej jest idealnie, rozwiązanie: olej tą cholerna majkę ;) Edytowane 15 Styczeń 2011 przez kotisded
beny Napisano 15 Styczeń 2011 Napisano 15 Styczeń 2011 Kurde, faktycznie :DD zasugerowałem się że z filtrem na 4 były 2 w środku i chyba tak bardzo chciałem zobaczyć 2 w środku że je zobaczyłem :))) obadam temat głębiej wieczorem jak nie zapomnę. Jeżeli w Maxie faktycznie się to udaje "za każdym razem" to nareszcie znalazłem coś do czego ten soft się nadaje :)
beny Napisano 15 Styczeń 2011 Napisano 15 Styczeń 2011 (edytowane) No faktycznie cosik nie idzie ... dziwna sprawa. Ja olewam, jak ktoś chce się pobawić to sprawa wygląda tak, odpalcie poniższy skrypt i renderujcie od frontu: $tmpSin = tan(.6146555); $rotX = asin($tmpSin)*45.0; $cube = `polyCube`; xform -a -roo yzx -ro $rotX 45 0 $cube; Jak ktoś da radę proszę o podzielenie się tematem. Pozdrawiam Edytowane 16 Styczeń 2011 przez beny
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ę