Użycie Normalnych przy tworzeniu roślinności.
Modyfikowanie
vertex normals jest chyba niezbyt często spotykaną techniką – sam dowiedziałem się o tym sposobie przypadkiem z jakiejś wzmianki w sieci.
Jest to sposób który nic – pod względem szybkościowo-obliczeniowym – nie kosztuje, a może sprawić że modele roślinności będą wyglądały 2x lepiej przy dosyć małym nakładzie pracy.
Należy tylko upewnić się że eksportery/silnik gry nie resetują
vertex normals.
Dodatkowym problemem jest - w przypadku 3ds max – dość zbugowany i przeraźliwie prymitywny modyfikator Edit Normals.
Vertex normals – to te niebieskie linie:
Kula z widocznymi vertex normals Normalne pokazują kierunek w jakim powierzchnia obiektu jest skierowana w danym vertexie. Są niezależne od tego jak ukształtowane są poligony. Na przykład skierujmy wszystkie normalne w jednym kierunku – obiekt będzie jednolicie (płasko) oświetlony (zmodyfikowane normalne w 3dmaxie zmieniają się z niebieskiego na zielony btw.) :
Kula z normalnymi skierowanymi w jednym kierunkuEdytując
vertex normals można „uniezależnić” oświetlenie obiektu od jego kształtu:

Po co to wszystko? Większość roślinności (pomijając technologie używające billboardów jak np. Speedtree) jest tworzona za pomocą płaskich poligonów – które np. w przypadku trawy – składa się w „krzyż” - żeby obiekt był widoczny z każdej strony. Tekstura to zwykle alfa 1-bitowa.
Przykładowy obiekt:

Przykładowy obiekt trawyJak widać poszczególne powierzchnie są oświetlone w różny sposób.
Kolor trawy i podłoża jest teoretycznie ten sam, mimo to oświetlenie sprawia że łatwo zobaczyć poligony.
Dodatkowo światło umieszczone nisko nad ziemią inaczej oświetla grunt i trawę.
Tutaj screen z Arma2 – jak widać trawa nie wygląda najlepiej, nie ma wyedytowanych
normalnych.
Arma 2
Tutaj dla porównania screen ze Stalkera – wygląda na to że
normalne były tu zmodyfikowane:
Stalker: Shadow of Chernobyl