Unity 6.3
0 онлайн 17 гостей 3 в системе
Вход

MonoBehaviour.OnRenderImage(RenderTexture,RenderTexture)

Параметры

Параметр Описание
источник RenderTexture, содержащий исходное изображение.
место назначения RenderTexture для обновления с измененным образом.

Описание

Функция события, которую Unity вызывает после того, как Camera закончил рендеринг, которая позволяет изменить окончательное изображение Camera.

В течение Built-in Render Pipeline, Unity звонки OnRenderImage на MonoBehaviours которые прикреплены к одному и тому же GameObject в качестве инвалида Camera компонент, после Camera Вы можете воспользоваться OnRenderImage Эти эффекты работают путем чтения пикселей из исходного изображения, с помощью специального программного обеспечения, которое Unity для изменения внешнего вида пикселей, а затем отображение результата в конечном изображении. Вы обычно используете Graphics.Blit для выполнения этих шагов.

Если несколько скриптов на одном Camera осуществление OnRenderImage, Unity называет их в том порядке, в каком они фигурируют в Camera Inspector окна, начиная с верхней части. destination одной операции source следующего; внутренне, Unity создает одну или несколько временных RenderTextures для хранения этих промежуточных результатов.

Он Android, чтобы избежать полосы или использовать альфа в полноэкранных эффектов, установить PlayerSettings.use32BitDisplayBuffer до true.

OnRenderImage не поддерживается в Scriptable Render Pipeline. Чтобы создать пользовательские эффекты полноэкранного режима в Universal Render Pipeline (URP), используйте ScriptableRenderPass API. Чтобы создать настраиваемые полноэкранные эффекты в High Definition Render Pipeline (HDRP), используйте a Полноэкранный пользовательский пропуск.

Информация об использовании Unity's предварительно построенные последующие эффекты обработки, см. Последующая обработка.

using UnityEngine;

public class ExampleClass : MonoBehaviour { // A Material with the Unity shader you want to process the image with public Material mat;

void OnRenderImage(RenderTexture src, RenderTexture dest) { // Read pixels from the source RenderTexture, apply the material, copy the updated results to the destination RenderTexture Graphics.Blit(src, dest, mat); } }