没有看到需要的3D模型吗?搜索试试: 
lightscape阴影锯齿与阴影漏探讨
发表评论 来源: 编辑:cj 日期:2011-10-10
更多
  

和初学朋友探讨探讨阴影锯齿与阴影漏以及建模中的问题,同时了解一下产生阴影锯齿与阴影漏的原因, 从原理上了解一些, 就不用瞎子摸象了。

模型开始传递时。
系统侦测光源在网格单元的各个顶点的光强度,计算出一个平均值 来定义这个单元, 当这个平均值不足以体现光在面上的变化时, 系统以网格变量来细化这个面, 有时我们看到灯光边缘呈锯齿状,就是网格划分不足以体现光在面上的变 化造成的 由于LS细化网格时是以每个单元边的中心点来插入新的顶点把单元分成 4 个部分。这样就不免会造成阴影或光束无法与网格相对齐。这就是我们看到的有锯齿的阴影边界,通常用下面几种解决方法:

1、最简单的办法是减小最小网格间距来解决这个问题,由于只是减小最小网格间距,所以只是在灯光变化大的(如阴影边缘,高亮区等)区域增加了网格,避免了对其它不必要区域网格的细分,是一种比较经济的细分方法,象阳光或是射灯的明显的阴影边界效果,对网格要求细分较高, 它是以消耗内存和时间为代价的。它的每次变量是以四倍变量递增的, 会增加大量的网格面, 所以应该适度。

2、利用光影追踪,这种方法是对产生该阴影的灯源使用光影跟踪直接光照选项, 它能在网格相对粗糙的情况下, 通过间接光照的相互反射,在渲染时产生好的视觉效果。不过光影跟踪在渲染时会相对化费很多的时间,所以一般都在最终渲染时才打开该灯源的光影跟踪直接光照选项, 其实省了细分,累了渲染,这也是LS中没办法的事
3、利用表面处理对面进行增加细化,来增强边缘的清晰度, 这种方法对于个别受光面,象光域网和日光很有效,但网格的增量不能一味求高, 它也是以消耗内存和时间为代价的。

4、利用不同的灯光设置产生不同的阴影边界线光源边缘在面细分小时柔和,面光源边缘在面细分大时柔和 。 与线光源相比, 面光源在不调整面的细分时柔和得多,点光源可用灯光属性中的光束角和区域角来调节它的锐度和柔和度, 它在柔和时对网格细分的要求不高,而光影追踪是这种效果的很好辅助下面是点光几种设置产生光影边界的示图(使用较粗的网格,启用了光影追踪) 当光束与区域角相等时,边界最清晰当区域角调大时,边界变得柔和起来, 变得更自然当光束角调小时,光的聚光范围变小了
5、不要刻意为追求灯光产生的效果而不惜工本,它能起到画龙点睛的作用,但不能把它看作产生好的效果的唯一途径,阴影泄漏阴影漏就是一个对象因边界和顶点没有与相接触的表面边界和顶点相对齐, 在光的作用下产生向表面周围泄漏的黑暗区域, 合理的建模能有效抑制阴影漏。3DMAX教程网:/index.html
漏光,能节时与增效避免很多麻烦,从下面中图来看: 由于园柱是无法与地面网格顶点对齐的,园柱盖住地面的不受光部位是地面网格的部分顶点,而光是根据网格面的顶点颜色取一个中间值来决定这个网格面的受光强度的,所以这几个面就与其它面有差异并向外渗透,这个差异就在视觉上产生了阴影漏解决方法之一是取消园柱封闭面",使光能穿过园柱而不投射阴影在地面上(见下右图)。

但它会失去该物体的所有阴影一般这个处理方法都用于如嵌灯的灯罩,墙上的开关板,墙体等无须体现阴影的地方建模中产生阴影漏常见的几个因素及通常处理方法:

1、模型的相交和重叠
LS中很在乎边界和顶点对齐, 模型的相交和重叠,边界顶点没有对齐就都会产生阴影漏,在MAX和VIZ建模中能做到边界对齐,但是要做到顶点对齐却要化费些心思了, 必要时,可以根据细分增量的规律,通过计 算,合理安排相邻面的尺寸比来达到。

2、不规则的三角面
复杂的模型生成往往会产生不规则的三角面,导入LS后不规则的三角面也是造成网格顶点对不齐的而影响阴影漏的因素, 这是在建模时就要考虑的因素, 尽量减少不规则的三角面特别是狭长的三角面, 由于不等边差距太大,往往会造成计算错误,如果实在无法避免,(特别是带园角布尔的面) 可以用二种方法解决:
A, 带园角布尔的面可以在MAX中先细分后再布尔, 虽然牺牲了一个整面但效率是显见的。

更多
返回到顶部你应该还会关注的
无相关信息
  • 版权所有 2007-2010 道扬素材网(at3d.com) 蜀ICP备08106739号