Version: 2022.3
public void Render ();

描述

手动渲染摄像机。

该函数用于渲染摄像机。它将使用摄像机的清除标记、目标纹理和所有其他设置。

摄像机会将 OnPreCullOnPreRenderOnPostRender 发送到附加的任何脚本,并渲染任何最终的图像过滤器。

这用于精确控制渲染顺序。要使用该功能,请创建一个 摄像机并禁用它。然后对其调用 Render。

您无法从当前正在渲染的摄像机调用 Render 函数。如果您希望 这样做,请创建该摄像机的一个副本,并使用 CopyFrom 让其与原始摄像机相匹配。

另请参阅:RenderWithShader

using UnityEngine;

public class Example : MonoBehaviour { // Take a "screenshot" of a camera's Render Texture. Texture2D RTImage(Camera camera) { // The Render Texture in RenderTexture.active is the one // that will be read by ReadPixels. var currentRT = RenderTexture.active; RenderTexture.active = camera.targetTexture;

// Render the camera's view. camera.Render();

// Make a new texture and read the active Render Texture into it. 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();

// Replace the original active Render Texture. RenderTexture.active = currentRT; return image; } }