Unity可编程渲染管道怎么用
发表于:2024-11-19 作者:千家信息网编辑
千家信息网最后更新 2024年11月19日,这篇文章给大家分享的是有关Unity可编程渲染管道怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。为什么需要SRPUnity内置的渲染管道只有Forward和Defer
千家信息网最后更新 2024年11月19日Unity可编程渲染管道怎么用
这篇文章给大家分享的是有关Unity可编程渲染管道怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
为什么需要SRP
Unity内置的渲染管道只有Forward和Deferred两种,如下图。
Unity内置的渲染管道
这两种内置的管道各有优缺点 ,而你都看不到源代码,如果为了表现某种特殊的视觉效果修改起来非常不便,所以就有了SRP的诞生。另外,根据项目的需求写合适的SRP,也可以降低DC,提高运行效率。
怎么使用SRP
安装
从这里下载Unity2018之后,就自带了SRP,无需另外安装。
使用
接下来我会一步一步地做一个只是把屏幕涂成绿色的SRP,可能你不太懂每一步的意义,但是请耐心地跟着做完,再回头看看每一步就懂了。
第一步:继承RenderPipeline,编写实际的渲染代码类。
public class BasicPipeInstance : RenderPipeline{ //要涂的颜色 private Color m_ClearColor = Color.black; public BasicPipeInstance(Color clearColor) { m_ClearColor = clearColor; } //渲染函数,其中ScriptableRenderContext是渲染的上下文, //用来执行CommandBuffer,而CommandBuffer就是渲染管线每一步的处理 //CommandBuffer是Unity之前的就有的东西,想详细了解请自行百度谷歌 public override void Render(ScriptableRenderContext context, Camera[] cameras) { // does not so much yet :() base.Render(context, cameras); // clear buffers to the configured color var cmd = new CommandBuffer(); cmd.ClearRenderTarget(true, true, m_ClearColor); context.ExecuteCommandBuffer(cmd); cmd.Release(); context.Submit(); }}
第二步:继承RenderPipelineAsset,编写生成SRP数据文件的类。
public class BasicAssetPipe : RenderPipelineAsset{ public Color clearColor = Color.green;#if UNITY_EDITOR [UnityEditor.MenuItem("SRP-Demo/01 - Create Basic Asset Pipeline")] static void CreateBasicAssetPipeline() { //生成ScriptableObject var instance = ScriptableObject.CreateInstance(); //将ScriptableObject保存为文件 UnityEditor.AssetDatabase.CreateAsset(instance, "Assets/BasicAssetPipe.asset"); }#endif protected override IRenderPipeline InternalCreatePipeline() { //应该是运行时被调用生成SRP return new BasicPipeInstance(clearColor); }}
第三步:创建SRP asset,如下图。
创建SRP asset
这时候Assets文件夹里会生成一个BasicAssetPipe.asset文件。
第四步:将BasicAssetPipe.asset设置为当前使用的SRP。
打开Editor->Project Settings->Graphics,然后将刚才的BasicAssetPipe.asset文件拖到Scriptable Render Pipeline Settings,如下图。
SRP设置
然后你就可以看到游戏变成一片绿了。
感谢各位的阅读!关于"Unity可编程渲染管道怎么用"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
管道
文件
生成
可编
可编程
内容
更多
篇文章
运行
不错
合适
实用
特殊
不便
接下来
上下
上下文
东西
代码
优缺点
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
联通和科技互联网有什么关系
mp3 服务器
网络安全突破
物资管理系统软件开发
昆明+软件开发+培训
星光灿烂313服务器
web 数据库 应用
工控软件开发定制费用
网络安全改考408
编写一个通用的数据库连接类
数据库 复杂度
r710服务器系统安装详解
不动产数据库zzdmj
广东省浩如海网络技术有限
python监控管理数据库
石材贴图软件开发
穿越火线安全服务器
问道手游服务器连接
linux 自带服务器
i3 4330 搭配服务器
sql语句查询全部数据库
红米3谷歌服务器
个人服务器搭建cns
亲家网络技术怎样
银川软件开发招聘信息
凉山网络技术服务
需要指向许可证服务器
磁盘分区后的数据库无法启动
uc软件开发
农村房地一体数据库建设论文