Объявление
public void Render();Описание
Рендеринг камеры вручную.
Это отрендерит камеру. Он будет использовать четкие флаги камеры, целевую текстуру и все другие настройки.
Камера отправит сообщения OnPreCull, OnPreRender и OnPostRender. к любым прикрепленным сценариям и отображать любые возможные фильтры изображений.
Это используется для точного управления порядком рендеринга. Чтобы использовать эту функцию, создайте камеру и отключите ее. Затем вызовите Render для него.
Вы не можете вызвать функцию рендеринга с камеры, которая в данный момент выполняет рендеринг. Если вы хотите сделать это, создайте копию камеры и приведите ее в соответствие с исходной, используя CopyFrom.
Смотрите так же: RenderWithShader.
using UnityEngine;
public class Example : MonoBehaviour
{
// Сделайте «скриншот» рендеринга текстуры камеры.
Texture2D RTImage(Camera camera)
{
// Визуализация Texture в RenderTexture.active
// который будет прочитан ReadPixels.
var currentRT = RenderTexture.active;
RenderTexture.active = camera.targetTexture;
// Рендерим вид камеры.
camera.Render();
// Создаем новую текстуру и считываем в нее активную текстуру.
Texture2D image = new Texture2D(camera.targetTexture.width, camera.targetTexture.height);
image.ReadPixels(new Rect(0, 0, camera.targetTexture.width, camera.targetTexture.height), 0, 0);
image.Apply();
// Заменить исходный активный Render Texture.
RenderTexture.active = currentRT;
return image;
}
}