Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты
public static Camera.CameraCallback onPostRender;

Описание

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

Во встроенном конвейере рендеринга Unity вызывает onPostRender после завершения рендеринга любой камерой. Чтобы выполнить пользовательский код на этом этапе, создайте обратные вызовы, соответствующие сигнатуре CameraCallback, и добавьте их к этому делегату.

Похожие функции, применимые только к одной камере и требующие, чтобы ваш скрипт находился на том же игровом объекте, см. в разделе MonoBehaviour.OnPostRender. Аналогичные функции конвейера рендеринга с поддержкой сценариев см. в разделе RenderPipelineManager.

Чтобы выполнить код после того, как Unity отобразит все камеры и графический интерфейс, используйте 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, Extending the Built-in Render Pipeline using CommandBuffers, WaitForEndOfFrame.

Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
API скрипты 2021.3