
U3D
文章平均质量分 85
NotMz
这个作者很懒,什么都没留下…
展开
-
[UNet]通过一个小测试了解Command和ClientRpc的功能
作者只是业余时间接触Unity 2个月的新人一枚,如有不对的地方,请各位大神指正!Unity 5.以后使用了新的网络模块UNet(其实我接触的晚压根没用过老的- -!),但是在使用过程中确实关于UNet的资料和讨论挺少的,于是自己做了个小项目测试了Command和ClientRpc两个命令。首先我们看看官方给出的定义:CommandsCommands are sen原创 2016-04-23 20:03:31 · 17089 阅读 · 4 评论 -
UnityShader——屏幕空间反射(一)
从Crytek提出SSR后,基本上成了各种大作标配,而自己不知道有意还是无意居然也一直没有自己写过SSR实现,优快云居然也没找到一篇靠谱的文章,正好最近有点时间,自己写了写,啃了啃别人的源码,写在这权当笔记了。...原创 2018-06-05 19:20:00 · 7212 阅读 · 0 评论 -
UnityShader——GPU GEM大气散射源码解析
这段时间磨磨蹭蹭的总算是把大气散射这块啃了下,没有去看论文原文了,主要参考的就是 GPU Gem2 里的这篇文章,要想更系统的了解大气散射相关发展的话可以看乐乐姐的这篇专栏如果对渲染方程没有概念的话最好先阅读我之前的这篇博客 如图所示,大气散射其实就是图中绿色线条部分的光传播过程首先简单的介绍下大气的两个散射模型:Rayleigh Scattering: 由大气中的小...原创 2018-05-14 00:35:29 · 2962 阅读 · 0 评论 -
UnityShader——基于CustomRenderTexture的战争迷雾
Unity 2017版本推出了CustomRenderTexture,个人觉得是个很棒的东西,很多效果不需要再一层一层去申请 RenderTexture 然后 Blit, 而且 CRT 还提供了 UpdateZone 用来更新某一个区域,虽然性能上来说到底有没有提高没测试过不清楚,不过用起来是真的很方便,Unity.jp 的某位大佬用 CRT 实现的水波效果就非常有意思说到战争迷雾,战争迷雾的...原创 2018-03-12 15:56:42 · 3443 阅读 · 0 评论 -
UnityDecal——贴花方法总结
Unity里贴花的实现方法比较多,商店里的插件也是各种各样,最近正好又在弄这个,趁机会给自己总结下:1、构造贴片网格 思想很简单,就是在当前表面构建一个与表面完全贴合的新Mesh,并重新计算纹理贴图,从而实现贴片效果。 假设 P 为当前表面上的一点, 当前表面在该点的法线为 N, 点 P 为贴片的中心, 贴片的单位切向量为 T根据给定的点 P , N , T,T 与 N 叉乘可得出的副法线 B,原创 2017-12-04 20:04:58 · 14978 阅读 · 1 评论 -
UnityShader——球谐光照
昨天翻 Unit Europe 2017 发现一篇很有意思的演讲,作者因为游戏的特殊性,彻底摒弃了 Unity 原本的烘培系统,通过只烘培 Light Probe 的形式自己读取数据建立全局光照,文章提到了 GDC 的一篇讲 Light Probe 插值的演讲,过去翻了翻,果然,LightProbe里存储的是烘培后用球谐函数编码的全局光照,正好趁机会把球谐光照这块梳理下:理论出自02年SIG的一篇论原创 2017-10-25 12:29:43 · 8176 阅读 · 1 评论 -
UnityShader——Wireframe
昨天无意中看到群里有个小伙伴发的一张截图中有个 VR/Wireframe 的 shader,晚上便抽空下载了5.6.3 的 bulit-in 看看源码,Unity 还是良心,直接把理论资料注释在了代码的开头,是NVIDIA的一篇文章,像DX11本身提供了FillMode = D3D11_FILL_WIREFRAME选项,可以直接渲染网格,但NVIDIA认为这样渲染有诸多问题,文章比较了该技术和以前...原创 2017-08-29 11:53:56 · 6346 阅读 · 3 评论 -
UnityShader——挺进体积光
原本是想找找体积雾的,无意中发现了 GPU Gems 3上的一篇屏幕特效实现体积光散射的文章,实现了一波发现文章里公式列的很高大上,结果具体实现却出乎意料的简单,只是通过像素的屏幕位置和光源的屏幕位置计算光线方向,然后在一个循环中沿光线方向将上一个像素的颜色衰减后叠加到下一个像素,具体可参考 GPU Gems 原文,在 Unity 中效果如下: 周末又在Github发现一个500多星星的体积光原创 2017-08-23 19:54:55 · 5150 阅读 · 2 评论 -
UnityShader——玩弄GlobalFog
Unity 自带的 GlobalFog 通过一个屏幕特效实现了全局雾效,之前一直没太留意,最近正好有时间就把它的代码看了一遍顺便自己改了改玩,嗯,所以取了这么个标题。1、代码分析 Camera cam = GetComponent<Camera>(); Transform camtr = cam.transform; float原创 2017-08-18 16:03:06 · 2619 阅读 · 0 评论 -
UnityShader——初探Compute Shader
Compute Shader是基于DX11(SM4.5+)的在GPU上运行的程序,通过Compute Shader我们可以将大量可以并行的计算放到GPU中计算从而节省CPU资源,Unity 5.6版本提供的 Graphics.DrawMeshInstancedIndirect 接口可以非常方便的配合ComputeShader做大规模渲染。先将一些Compute Shader中不同于普通Shader的原创 2017-07-20 16:43:38 · 2324 阅读 · 2 评论 -
UnityShader——阴影源码解析(一)
最近想着自己拿SRP写个能用的管线试试的,写到阴影的时候发现自己对Unity的阴影绘制流程并没有一个毕竟全面的了解,正好借此机会把Unity默认管线的阴影绘制过一遍一、非屏幕阴影 我们从最简单的入手,不要Cascade,不要 screen space shadowmap。在 Graphics setting 里关掉 Cascaded Shadow,场景只打一个 hard shadow 的平行...原创 2018-09-03 23:04:43 · 8657 阅读 · 0 评论