Chcę stworzyć efekt „reflektora” 2D, który pozwoli na wyróżnienie wielu podmiotów. To znaczy, jakby kilka duszków trzymało pochodnie. W przypadku pojedynczego bytu (jedno światło punktowe) używam techniki, w której nakładam duszek gradientu i mam punkt środkowy, który go ściga. Ta technika działa dobrze dla pojedynczego reflektora. Oto zrzut ekranu ilustrujący to, o czym mówię:
Pojedynczy reflektor - działa
Problem, na który wpadam, polega na tym, że ta technika nie obejmuje wielu bytów. Jeśli nałożę inny obraz reflektora, napotkam kilka problemów. Oto symulowany zrzut ekranu:
Wiele reflektorów = problemy
Najbardziej oczywistym problemem są widoczne rogi. Można to rozwiązać, czyniąc obraz reflektora gigantycznym, obejmującym cały poziom, ale to nie wydaje się właściwe. Drugim i trudniejszym problemem jest to, że skutecznie pomnażam ciemność za pomocą tej techniki. Więc każdy dodany duszek powoduje zaciemnienie wszystkich pozostałych. Najwyraźniej podchodzę do tego problemu niepoprawnie.
Jakieś pomysły?
Kontynuacja wysiłków
W komentarzach pojawiła się dyskusja na temat opcji mieszania. Oto moje obecne myślenie. W powyższym przykładzie z jednym wyróżnieniem używam pliku obrazu, który wygląda mniej więcej tak: (Przezroczystość zastąpiłem kolorem zielonym, aby ułatwić zilustrowanie)
Jak omówiono powyżej, problem polega na tym, że alfa zmieszanie tego obrazu z innym obrazem nie da pożądanego efektu. Zamiast tego spowoduje to:
Nie wydaje mi się to problemem mieszania opcji. Wydaje mi się, że problem polega na tym, że ten rodzaj obrazu ma wbudowaną maskę przezroczystości i obraz (czarny kwadrat), kiedy należy je rozdzielić.
Więc zamiast czarnego obrazu z wbudowaną wycinaną przezroczystością, powinienem używać masek przezroczystości, które są używane w czasie wykonywania względem czarnego kwadratu. Robiąc to, nadal nie mogę użyć tradycyjnej biało-czarnej maski przezroczystości lub napotka na ten sam problem. Oto przykład, tym razem biel i czerń reprezentują biel i czerń:
Wydaje się, że rozwiązaniem byłoby zastosowanie maski przezroczystości, która sama wykorzystuje przezroczystość. Coś w tym stylu: (zielony = przezroczysty)
W ten sposób wiele masek przezroczystości można ze sobą mieszać, a NASTĘPNIE używać ich jako maski przezroczystości na czarnym kwadracie. Oto przykład dwóch połączonych razem masek przezroczystości alfa:
W każdym razie takie podejście wdrażam. Opublikuję wyniki, jeśli to zadziała. Nie wiem (obecnie), czy mogę użyć maski przezroczystości, która sama ma przezroczystość.