版本:Unity 6 (6000.0)
语言English
  • C#

Camera.Render

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交,但我们确实会阅读用户提出的每个建议更改,并在适用的情况下进行更新。

关闭

提交失败

由于某些原因,您的建议更改无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

切换到手册

声明

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; } }