Wpis z mikrobloga

Generuję sobie mesh w Unity3D. W założeniu jest to mapa kafelkowa. Wymyśliłem sobie, że skorzystam z dobrodziejstw 3D i niektóre kafelki będą o jeden poziom wyżej. Tutaj pojawia się problem.

Zrobiłem tak że każda ścianka ma swoje osobne 4 vertexy, żeby można było osobno teksturę nałożyć. Tylko wtedy na krawędziach ścianek pojawiają się czarne przerywane linie, tak jakby podczas skalowania tworzyła się tam mikroskopijna luka.

Ma ktoś pomysł jak zrobić to dobrze? By wszystko ładnie działało? :P

Bazowałem na tym tutoriallu: http://forum.unity3d.com/threads/tutorial-procedural-meshes-and-voxel-terrain-c.198651/ gdzie gość robi dokładnie tak samo, a pasków nie ma.

#gamedev #grafika3d #unity3d
skew - Generuję sobie mesh w Unity3D. W założeniu jest to mapa kafelkowa. Wymyśliłem ...

źródło: comment_6WgxMnOx4QteZ70NigCoDS6E1Pky8OlE.jpg

Pobierz
  • 22
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@skew: A gdybyś spróbował delikatnie "rozszerzyć ścianki"? Zamiast wymiarów 1 x 1 daj np. 1.001 x 1.001. Może i rozwiązanie chałupnicze ale powinno zadziałać
  • Odpowiedz
@blamedrop: @blisher:

Trial :( , bawię się od kilku dni :)

Ooo, miałem ustawioną jakość Beautiful, po zmianie na Good paski znikają :O Teraz tylko odkryć która to opcja (ʘʘ)
  • Odpowiedz
@skew: Mnie się wydaje że te szparki po prostu powstają z niedoskonałości floata, spróbuj ten mój sposób bo aż sam jestem ciekaw czy zadziała
  • Odpowiedz
@blisher: Właśnie też kiedyś miałem taki problem jak się bawiłem z generowaniem terenu i zdaje mi się że też coś takiego robiłem :P 0.9999 albo 1.0001 przy współrzędnych tekstur.
  • Odpowiedz
@blamedrop @blisher

Po wyłączeniu antyaliasingu znikają, trochę słabo bo anty aliasing dobra rzecz :P

Po powiększeniu każdej ścianki o .01f paski nadal są, jak powiększyłem o .1f to było widać że nachodzą na siebie, i były 2 paski obok siebie, czyli że powstają one na zakończeniach ścianek :P
  • Odpowiedz
@blamedrop: To jest chyba to, zaraz sprawdzę, bo jak zmieniam w tekstuzre filter mode na bilinear to te paski mają kolor sąsiednich tekstur w tilesecie :O W sumie antyaliasing właśnie tak działa, miesza tekstury by nie było pikselozy :P

@blisher: Już to robiłem, wtedy pojawia się szpara ( ͡° ͜ʖ ͡°)
  • Odpowiedz
@skew: Taki urok texture atlasów i antyaliasingu :P Chyba że znajdziesz jak wyłączyć antyaliasing tylko dla tej tekstury. W czystym OpenGL chyba dało się przy wczytywaniu tekstury to wyłączyć.
  • Odpowiedz