Maya教程DepthMap基础.docx
《Maya教程DepthMap基础.docx》由会员分享,可在线阅读,更多相关《Maya教程DepthMap基础.docx(9页珍藏版)》请在冰点文库上搜索。
Maya教程DepthMap基础
Maya教程-Depth-Map-基础
DepthMap(深度图)阴影计算的工作原理
DepthMap是对于某盏灯可见(照明)的各物体表面到该灯的距离数据纪录。
它相当于在某盏灯的位置摆放一个灯光主方向一致的相机,通过此相机进行渲染而得到的画面,画面上各点的数值即为对应物体表面某点到相机的距离(与渲染Z-depth通道意义相近)。
DepthMap纪录数值的精度是浮点,较一般渲染彩色RGB通道的每通道8位(即256级)灰度精确得多。
判断空间某一点是否在某盏灯的阴影中(或者说未受该灯照明),可用它到该灯的距离,与同一直线上对应的DepthMap值做比较。
若前者大于后者,则该点处于阴影中。
用DmapBias(偏移)纠正自投阴影
为克服自投阴影的问题,实用中采取的一种方法,是DmapBias。
DmapBias的工作原理,即是将DepthMap中各采样的距离值加上一个小数值(等价于将要计算的表面点到某灯的距离减去一个小数值)。
注意DmapBias不可太大,否则离产生阴影处较近的区域会出现明显的丢失阴影的问题。
利用MidDistance(中距)纠正自投阴影
MidDist类似DmapBias。
开启MidDist,其实会计算两张图,一是一般意义的Dmap,另一图则是计算对于某盏灯“第二层可见”的物体表面的距离值与第一层值的平均值为Dmap。
如果光径只经过一层面,则会取灯光的farclippingplane远切面距离值。
在渲染中判断某点是否在阴影中时,拿该点与光径经过的第二张Dmap值做比较。
同时使用DmapBias和MidDist
UseMidDistDmap可以避免一些自投阴影的问题。
但是,由于物体表面细节和灯光等情况变化很大,适当的小值DmapBias通常还是需要的。
DepthMapResolution分辨率
Dmap的采样,类似一般颜色通道的相机取景渲染,其数据存储也是一种类似一般图片的矩形点阵。
例如,当其分辨率设置为512时,就相当于512X512个象素点的“深度”采样。
显然,DmapResolution值越大,计算获得的阴影就越清晰,错误的自投阴影问题也更为改善。
但计算Dmap的过程仍是相当消耗时间的。
DepthMapFilterSize过滤尺寸
FilterSize帮助柔化Dmap阴影的边缘。
注意提升FilterSize值时,渲染消耗时间也会增加。
故因谨慎地限制该值的大小
ShadowColor阴影颜色
现实中阴影是无光照的区域。
在此,可用阴影颜色模拟间接光照下的阴影区域等效果。