在Unity中实现屏幕空间阴影(1)】的更多相关文章

参考文章: https://www.imgtec.com/blog/implementing-fast-ray-traced-soft-shadows-in-a-game-engine/ 完成的工程: https://github.com/yangrc1234/ScreenSpaceShadow (一个例子,注意靠近立柱的部分的阴影较为锐利,远离的部分更加模糊) Penumbra 现实生活中,距离遮挡物越近的地方,其阴影会更加锐利:反之则更加模糊.这一片介于被照亮和阴影中间的区域被称为Penum…
接着上篇文章,我们实现了SSR效果. 其中的在屏幕空间进行光线追踪的方法是通用的.借此我们再实现一种屏幕空间的效果,即屏幕空间阴影. 文中的图片来自Catlike coding http://catlikecoding.com/unity/tutorials/rendering/part-7/ 完成的工程: https://github.com/yangrc1234/ScreenSpaceShadow 原生阴影 首先我们要了解一下原生的阴影是怎么实现的,这里我们只讨论Directional Li…
第四部分讲一下如何在2D屏幕空间步进光线. http://casual-effects.blogspot.com/2014/08/screen-space-ray-tracing.html 中的代码感觉不太好理解,这里的代码是按照我自己的理解去重新实现的简单版,在效率上可能不如这个网址中的代码. 3D空间的光线步进 原本的实现中,我们得到光线后,将其在3D空间中进行步进,再投影到2D空间上.在投影过后,3D空间中均匀的采样点在2D空间中就不是均匀分布的了. (图来自 http://casual-…
本篇文章我会介绍一下我自己在Unity中实现的SSR效果 出发点是理解SSR效果的原理,因此最终效果不是非常完美的(代码都是够用就行),但是从学习的角度来说足以学习到SSR中的核心算法. 如果对核心算法没有兴趣,可以直接使用Unity官方的PostProcessing库,其中包含了一个SSR效果.(其实现来自于casual effects) 参考资料: https://github.com/Unity-Technologies/PostProcessing http://www.kode80.c…
本篇讲一下相交检测的优化.有两个措施. 线段相交检测 之前的检测都是检测光线的终点是否在物体内.我们可以尝试检测光线的线段是否与物体相交. 比如说有一个非常薄的物体,光线差不多垂直于它的表面.如果用普通的方法的话,这个平面可能就会被光线跳过了. 我们将一个像素的厚度看做一维数轴上的一条线段,起点是其深度.同时将光线的起点.终点的深度值也用同样的方法看做一条线段.此时我们去检测这两条线段是否有重合.有的话则证明相交. 用这种方法可以解决薄的物体被跳过的问题. bool intersect(floa…
traceRay函数 在上一篇中,我们有如下签名的traceRay函数 bool traceRay(float3 start, float3 direction, out float2 hitPixel, out float3 debugCol ) { } 其中的参数意义都很明了.start和direction是相机空间下的光线起点,以及光线方向. traceRay的核心代码并不复杂,如下: #define RAY_LENGTH 2.0 #define STEP_COUNT 64 //maxim…
一.Game视图的屏幕分辨率可以先自定义添加,供以后选择,以下是手游经常用到的分辨率: 1.1136X640,iPhone5 2.1920X1080,横屏,主流游戏都是这个分辨率 3.1080X1920,竖屏 4.960X640,横屏iPhone4 5.640X960,竖屏iPhone 6.768X1024,ipad 7.800X480 8.480X800 Screen Space(Overlay)模式下的Canvas节点的Rect Transform组件的Width和Height是随着Game…
转载请标明出处:http://www.cnblogs.com/zblade/ 一.概述 很久没有写文章了,今天写一篇对gamma空间和线性空间的个人理解总结,在查阅和学习了各个资料后,算是一个个人笔记吧. 二.Gamma颜色空间和线性颜色空间 其实对于颜色空间的理解,我个人是这样理解的:所有的一切颜色空间,最终的目的,都是为了最终投入到人眼中,能够基本重现自然界的颜色. 记住这一个目的,对下面的一些理解就会更加的有依据了. 2.1 人眼的感知能力 既然目标是我们人自身,那么我们就需要对人自身的眼…
http://blog.csdn.net/candycat1992/article/details/42127811 写在前面 这一篇是在Digital Tutors的一个系列教程的基础上总结扩展而得的~Digital Tutors是一个非常棒的教程网站,包含了多媒体领域很多方面的资料,非常酷!除此之外,还参考了Unity Cookie中的一个教程.还有很多其他参考在下面的链接中. 这篇文章旨在简要地说明一下常见的各种优化策略.不过对每个基础有非常深入地讲解,需要的童鞋可以自行去相关资料. 还有…
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/candycat1992/article/details/42127811 写在前面 这一篇是在Digital Tutors的一个系列教程的基础上总结扩展而得的~Digital Tutors是一个非常棒的教程网站,包含了多媒体领域很多方面的资料,非常酷!除此之外,还参考了Unity Cookie中的一个教程.还有很多其他参考在下面的链接中.…