随笔分类 - Unity
摘要:half value = 5*saturate((i.uv.x*i.uv.y*(1-i.uv.x)*(1-i.uv.y))); 留作记录,哪天会用到。
阅读全文
摘要:Unity的Texture Streaming功能有助于我们控制纹理占用内存,然而在实验过程中遇到了很多坑,最后看到了UWA这个教程,避免走了很多弯路,链接如下:https://edu.uwa4d.com/course-intro/1/91 直接跳到《主流资源的内存管理》那个目录下的后半部分。
阅读全文
摘要:lua热重载就是运行时修改代码不需要重新运行就可以生效的一种方案。首先先上方案链接: https://github.com/asqbtcupid/lua_hotupdate git上已经有人做出了现成的方案,拿来即用。 如果在Unity中使用需要检测lua文件的修改,通过以下代码进行: using
阅读全文
摘要:前几天打包一个Compute shader到真机发现一直有问题,ComputeShader好像没有执行一样。手机也是支持Vulkan的,结果最后发现在PlayerSetting的设置里面的Graphics Api中第一个是OpenGL ES3 第二个是Vulkan,如果把两个顺序反一下,打出来的包竟
阅读全文
摘要:关于URP的Postprocess我们需要有个了解,以前在内置管线,对于后处理我们一般自己写或者用PostprocessStack,现在URP已经将postprocess集成到URP中,我们一起来学习下吧~ 首先需要创建一个Volume,然后创建VolumeProfile,点击AddOverride
阅读全文
摘要:Unity的URP给了我们扩展渲染Pass的接口--RenderFeature,我们之前在讲URP-ForwardRenderer的时候提到过RenderFeature,这个东西是可以用来扩展Pass的。RenderFeature是依附于ForwardRenderer的,如下图所示: 现在我们会看到
阅读全文
摘要:上节我们学习了LitShader大致是怎样的起作用的,留下了PBR相关的疑问,这节我们来解答一下URP下的PBR究竟做了什么优化。 要知道做了什么优化,就必须知道原来的PBR是什么样子。 Unity原来的Standard是这样写的: half4 BRDF1_Unity_PBS (half3 diff
阅读全文
摘要:这节我们来看一下URP下的LitShader。LitShader也是基于物理渲染的,很多方法和属性看过默认管线PBR代码的应该都会很熟悉,我们现在再过一遍,加深一下印象,同时疏通一下以前可能没有掌握的地方。 先看Shader的Properties: // Specular vs Metallic w
阅读全文
摘要:上次我们了解了URP大致的框架,接下来看看每个Pass都是做什么的,先看DrawObjectPass: 从截图中我们可以看到这个Pass主要用于渲染不透明物体和半透明物体(ForwardPath)。 首先我们看一下这个Pass的构造: public DrawObjectsPass( string p
阅读全文
摘要:上一章讲到了URP的RenderSingleCamera函数的Renderer之前,这次我们继续,开始了解Unity封装的ForwardRenderer是个什么神秘物体。 为了方便,先把上次讲到的方法贴在这里: 1 public static void RenderSingleCamera(Scri
阅读全文
摘要:上一节我们知道了SRP的作用和基本用法,现在来看一下我们的主角--URP是个怎样的管线把! Unity2019.3及之后的版本才能看到URP这个package,前身是LWRP,可以创建默认管线项目然后手动导入,或者直接创建URP项目。导入之后我们开始分析URP的代码: 回到我们最开始学习SRP时的感
阅读全文
摘要:学习URP之前首先要知道SRP是什么。 SRP(Scriptable Render Pipeline)是Unity向开发者提供的用来组织渲染数据和自定义提交渲染方案的接口,用户可以灵活的根据需求选择自己的渲染信息组织和提交方案。 而URP就是Unity官方在SRP的基础上实现好的一套方案。 我们先来
阅读全文

浙公网安备 33010602011771号