SRP 学习(srp创建)

纲要

  • 前言
  • SRP预备
  • SRP环境搭建

前言

这个系列是本人学习的笔记!因为习惯了做笔记,就顺便分享了!

先说明一下要看懂这个文章的前提条件:

  • 对Unity有一定了解
  • 对管线有一定的了解
  • 基本的shader知识
  • 最重要的:能手动按照这个系列写一遍的!

SRP预备

  • SRP的基本定义
  • 管线的基本的回顾

SRP的基本定义

srpScriptable Rendering Pipeline的缩写,后面的都直接使用srp代替。

在这里不要误会,这里并不像写opengl那样子定义,只是在unity开放的有限api下进行一定程度的定制。

管线的基本的回顾

这里就不多说了,直接一张图带过吧!

png

SRP环境搭建

  • RenderPipelineAsset创建
  • 工程配置

RenderPipelineAsset创建

这个章节就先不说整个流程吧,先说说srp的创建和基本使用吧;

srp需要在Graphic界面中使用,那么就必然需一个Asset

Unity提供了RenderPipelineAsset的类型

[CreateAssetMenu(menuName = "CustomTool/Create CustomRP")]
public class CustomRenderPipeLineAsset : RenderPipelineAsset
{
}

其中CreateAssetMenu是为我们构建srp资源准备的;建立完成CustomRenderPipeLineAsset后,需要重载CreatePipeline

protected override RenderPipeline CreatePipeline()
{
	return default;
}

到此,我们也仅仅只是构建了一个资源创建器,本身并不是srp

public sealed partial class CustomRenderPipeLine : RenderPipeline
{
}

Project中我们就可以创建srp资源了

png

工程配置

创建完成后,只需要在Editor->Project Setting……->Graphics中指定刚刚创建的资源就可以了!

png

接下来就是配置Color Space了。 在Editor->Project Setting……->Player中将Gamma改成Linear

png

LinearGamma的区别在其他文章中会说


但是到这里的时候,我们看到现在Game视图还是黑的,什么都没有,不要急,后面会说到。