Как получить доступ к пикселям визуализированного экрана и управлять ими в unity? (3 GIF-файла)


Я делаю пулевой адский шутер, и мне нужно добавить эффекты разных типов, и я хотел бы иметь доступ к пикселям экрана, чтобы я мог ими манипулировать, я смог сделать уникальные эффекты в текстуре 2D, сдвигая пиксели и заменяя их, но пиксели камеры сами по себе не редактируются,

Тип 1- effect2 effect1 effect3

Тип 2- и возможность рисовать на экране линии между объектами как это но в игре не в редакторе, а сделать линии зигзагообразными заг, волнистый или пунктирный и т. д... линии

Какие-нибудь намеки ?

1 2

1 ответ:

Как вы утверждаете, пиксели, которые отображаются в камере, доступны только для чтения, что вы можете сделать следующее.

0) создайте RenderTexture в ваших активах с помощью команды Create>RenderTexture.

1) рендеринг от камеры к Рендертекстуре, для этого перейдите к камере, которая в данный момент просматривает то, что вы хотите отредактировать, и выберите вашу Рендертекстуру в качестве целевой текстуры.

2) Вы не можете редактировать RenderedTexture непосредственно во время выполнения, но вы можете прочитать его и скопировать как новый Texture2D, здесь вы можете отредактировать остается текстура Texture2D, как обычно.

3) Добавьте недавно созданный / обновленный Texture2D в gameObject на вашей сцене и просмотрите его с камеры (обычно я использую основную камеру для этой цели, на новом слое).

Вот официальное руководство unity для соответствующих терминов,

Текстура Рендеринга:

Https://docs.unity3d.com/Manual/class-RenderTexture.html

Руководство по эксплуатации камеры (включая текстуру цели):

Https://docs.unity3d.com/Manual/class-Camera.html