返回介绍

Camera.RenderWithShader 用Shader渲染

发布于 2019-12-18 15:37:28 字数 1888 浏览 1085 评论 0 收藏 0

JavaScript => RenderWithShader(shader: Shader, replacementTag: string): void;
C# => void RenderWithShader(Shader shader, string replacementTag);

Description 描述

Render the camera with shader replacement.

用shader替代渲染相机。

This will render the camera. It will use the camera's clear flags, target texture and all other settings.

这个将渲染相机,这将使用相机的清除标记,目标设置为其它所有设置。

The camera will not send OnPreCull, OnPreRender or OnPostRender to attached scripts. Image filters will not be rendered either.

这个相机不会发送OnPreCull, OnPreRender 或OnPostRender到附加的脚本,图像滤镜也不会被渲染

This is used for special effects, e.g. rendering screenspace normal buffer of the whole scene, heat vision and so on. To make use of this feature, usually you create a camera and disable it. Then call RenderWithShader on it.

这个可用于特效,例如整个场景屏幕空间缓冲,热效果等等。为了使用这个特性,创建一个相机并禁用它,然后在它上面调用RenderWithShader。

You are not able to call the Render function from a camera that is currently rendering. If you wish to do this create a copy of the camera, and make it match the original one using CopyFrom.

对一个正在渲染的相机调用Render函数是不允许的。如果你想这么做那么拷贝一个匹配的副本相机。

参见:Rendering with Replaced Shaders, SetReplacementShader, Render.

JavaScript:

	var heatVisionShader: Shader;	// Render tagged objects with a "heat vision" effect.
	camera.RenderWithShader(heatVisionShader, "VisibleWithHeatVision");

C#:

using UnityEngine;
using System.Collections;
 
public class ExampleClass : MonoBehaviour {
    public Shader heatVisionShader;
    void Example() {
        camera.RenderWithShader(heatVisionShader, "VisibleWithHeatVision");
    }
}

Camera

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文