unity post processing stack v2——正式入坑第一弹

https://blog.csdn.net/poem_qianmo/article/details/106753402
https://www.youtube.com/watch?v=5cjhNjtkpVE

在这里插入图片描述

install之后,就可以将代码移动到assets下,以方便在vs工程中进行查看了。
在这里插入图片描述
这样vs项目中就可以查看了:
在这里插入图片描述

知识点1:参考:https://blog.csdn.net/qq_39097425/article/details/105786757

在脚本中的public并且是可序列化的类,或者是标记为serializedfiled的变量,则可以在脚本的属性面板直接赋值:
举例:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Student : ScriptableObject
{
    public string name;
}

使用代码:

using UnityEngine;

public class StudentDemo : MonoBehaviour
{
    public Student student;
}

创建一个资源类:

using UnityEditor;
using UnityEngine;

class StudentEditor
{
    [MenuItem("Tools/CreateStudent")]
    public static void CreateStudent()
    {
        var asset = ScriptableObject.CreateInstance<Student>();
        AssetDatabase.CreateAsset(asset, "Assets/Student.asset");
        AssetDatabase.SaveAssets();
        AssetDatabase.Refresh();
    }
}

选中脚本,然后将资源拖拽到序列化的变量上去即可。
在这里插入图片描述
此时unity会编译,之后点开StudentDemo.cs.meta文件和Student.asset.meta的文件看看:
在这里插入图片描述
你会发现StudentDemo.cs.meta文件的有一个变量引用了一个Student.asset.meta文件。
这样你在gameobject添加StudentDemo的时候,就会有一个默认值了:
在这里插入图片描述

我为啥要将这个知识点呢?
因为在看后处理文件:PostProcessLayer的时候,其成员变量:m_Resources
不知何时赋值:
在这里插入图片描述
虽然在其Init方法中有赋值:
在这里插入图片描述
但是,其调用传入的参数是null,这让我很纳闷了。那这个资源是哪个呢?我将PostProcessingEditor类去除,发现其m_Resources正好指向的是,其默认资源:
在这里插入图片描述
虽然你可以创建自己的PostProcessResources,但是由于其meta文件改变了。所以要想自定义资源,则要这里重新赋值:
在这里插入图片描述

在这里重新赋值你自定义的资源即可。

知识点2:全屏三角形

static Mesh s_FullscreenTriangle;
public static Mesh fullscreenTriangle
{
    get
    {
        if (s_FullscreenTriangle != null)
            return s_FullscreenTriangle;

        s_FullscreenTriangle = new Mesh { name = "Fullscreen Triangle" };

        // Because we have to support older platforms (GLES2/3, DX9 etc) we can't do all of
        // this directly in the vertex shader using vertex ids :(
        s_FullscreenTriangle.SetVertices(new List<Vector3>
        {
            new Vector3(-1f, -1f, 0f),
            new Vector3(-1f,  3f, 0f),
            new Vector3( 3f, -1f, 0f)
        });
        s_FullscreenTriangle.SetIndices(new [] { 0, 1, 2 }, MeshTopology.Triangles, 0, false);
        s_FullscreenTriangle.UploadMeshData(false);

        return s_FullscreenTriangle;
    }
}

在这里插入图片描述
3、这个标题是怎么绘制
在这里插入图片描述在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
postprocessing stack v2Unity 引擎中的一个功能强大的后处理效果工具。通过使用 postprocessing stack v2,你可以为你的游戏添加各种视觉上的增强效果,如颜色校正、模糊、抗锯齿,以及其他的图像效果。 在使用 postprocessing stack v2 之前,你首先需要将其导入到你的项目中。你可以在 Unity 的 Asset Store 或 Unity Package Manager 中找到并下载它。安装完成后,你可以在 Unity 的菜单栏中找到 "Window" -> "Package Manager",然后在打开的窗口中找到 "Postprocessing",点击导入按钮即可将其添加到你的项目中。 导入完成后,你可以在 Unity 的 "Hierarchy" 面板中创建一个空的游戏对象,并将 "Post Process Volume" 组件添加到该对象上。这个组件将决定哪些相机将受到后处理的影响。在"Post Process Volume"的属性面板中,你可以选择所需的配置文件。配置文件中包含了各种后处理效果的设置,如颜色校正、曝光度、对比度和抗锯齿等。 在配置文件中,你可以为不同的相机创建不同的配置文件。这样,你可以为不同的相机定制不同的后处理效果,并且你可以在运行时切换不同的配置文件。 如果你想为整个场景应用一个全局的后处理效果,你可以在场景中添加一个全局的 "Post Process Layer" 组件。这个组件将为场景中的所有相机应用相同的后处理效果。 postprocessing stack v2 还提供了一些其他的功能,如在屏幕上显示调试信息、自定义效果,并且还支持自定义脚本来创建独特的效果。 总的来说,postprocessing stack v2 是一个非常方便的工具,通过它可以轻松为你的游戏添加各种视觉上的增强效果,提升游戏的质量和吸引力,使其更加引人注目。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值