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

Camera.onPostRender

Declaration

public static Camera.CameraCallback onPostRender;

Описание

Делегирование, которое можно использовать для выполнения пользовательского кода после рендеринга сцены Camera.

В течение Built-in Render Pipeline, Unity звонки onPostRender после любого Camera Чтобы выполнить пользовательский код в этот момент, создайте обратные вызова, которые соответствуют подписи CameraCallback, и добавить их к этому делегату.

Для аналогичной функциональности, которая применяется только к одному Camera и требует, чтобы ваш скрипт был на том же GameObject, см. MonoBehaviour.OnPostRender.

Если вы используете Scriptable Render Pipeline, например Universal Render Pipeline, использование RenderPipelineManager вместо этого.

Выполнить код после Unity делает все камеры и GUI, использование WaitForEndOfFrame или а CommandBuffer.

using UnityEngine;

public class CameraCallbackExample : MonoBehaviour { // Add your callback to the delegate's invocation list void Start() { Camera.onPostRender += OnPostRenderCallback; }

// Unity calls the methods in this delegate's invocation list before rendering any camera void OnPostRenderCallback(Camera cam) { Debug.Log("Camera callback: Camera name is " + cam.name);

// Unity calls this for every active Camera. // If you're only interested in a particular Camera, // check whether the Camera is the one you're interested in if (cam == Camera.main) { // Put your custom code here } }

// Remove your callback from the delegate's invocation list void OnDestroy() { Camera.onPostRender -= OnPostRenderCallback; } }

Дополнительные ресурсы: CameraCallback, Camera.onPreRender, Camera.onPreCull, MonoBehaviour.OnPostRender, CommandBuffer, Расширение Built-in Render Pipeline с использованием CommandBuffers, WaitForEndOfFrame.