Когда-то мне дали один скрипт для замены фона на зеленый и обработки краев при рендере. То есть, чтобы края объекта/модели не смешивались с фоном.
Код:
plugin renderEffect SpriteRender
name:"SpriteRender"
classID:#(0xb7aa794c, 0xc3bd78ab)
(
parameters main rollout:params
(
)
rollout params "Anonimous"
(
)
on apply bmp do
(
for h=0 to (bmp.height-1) do
(
local sline = getPixels bmp [0,h] bmp.width
for i=1 to sline.count do
if sline[i].a > 0 then
( if sline[i].a <255.5 do
(
local F = (255.0 / sline[i].a) as float
sline[i].r = (sline[i].r * F)
sline[i].g = (sline[i].g * F)
sline[i].b = (sline[i].b * F)
)
)
else sline[i] = green
setPixels bmp [0,h] sline
)
)
)
Но мне не нравится, как скрипт преобразовывает края на мелких спрайтах. По сравнению с рендером при отключенном антиалиасинге ― края в модели намного "тоньше", чем при рендеринге с скриптом (как бы получается чёрная кайма/окаймление по контору спрайта).
Мне сказали, что можно отрегулировать скрипт, но не сказали как.
P.S. Надеюсь, я понятливо описал суть поставленного вопроса.