VR漫游

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

VR指南]漫游动画的渲染
概述
在这个指南中,我们将渲染一个静态场景的漫游动画,里面只有相机在移动而已.我们将使用全局光照(GI,global illumination)来照亮场景,但会使得任务稍微复杂点.GI通常在计算草稿和动画中足够质量的单帧会时会缓慢一点.为使这个最优化和节省渲染时间,我们可以使用场景静态且只有相机在移动的方法.大部分在VRay中使用的GI处理(发光贴图,光子贴图,光缓存)所依赖的不是视图的全部就是实图的局部,我们可以使用这个方法来减少渲染时间.
在这个指南中,我们将使用发光贴图(irradance map)作为主GI引擎,光缓存(light ca che)作为次GI引擎.为使简单的理解这个方法,我们将分三步来渲染这场景.
第一步,先计算整个场景的光缓存.第二步,计算发光贴图.第三步,渲染最终场景.
注意你不一定需要使用这个方法来渲染漫游动画.你也可以使用一个较慢但更有力的方法,避免处理各种GI解决方案的预计算所产生的问题.但是,将付出更多的渲染时间.1.2 指派VRay为当前渲染器
1.3 在3dsmax的Environment中将Background color和Effects window设为RGB 252,25 2,252
1.4 在渲染对话框中,打开Global illumination,设主GI引擎(Primary GI engine)和次G I引擎(Secondary GI engine)为Light cache
1.5 将Image sampler type设为Fixed,以便更快的预览
1.6 在Light cache卷展栏中打开Show calc. phase
1.7 在Environment卷展栏中勾取skylight的Override MAX's
1.8 将天光颜色设为RGB 252,253,255 HSV(156,3,255)
1.9 将天光颜色的Multiplier设为4.0
1.10 在Global switch卷展栏取消Default lights的勾取.这会移去场景中默认的MAX灯光,场景就仅由天光来照亮了.
1.11 在Camera卷展栏中,将Camera type改为Fish eye
1.12 取消Auto-fit的勾取,将Dist设为1.0,Curve设为0.35.我们将相机设置为鱼眼模式,做些有趣的特效.
1.13 渲染帧0和帧360来参考一下
此主题相关图片如下:
此主题相关图片如下:
光缓存(light cache)看起来还不坏,但我们需要计算整个漫游动画的光缓存,而不仅仅是静帧而已.注意这不是确实的需要计算每一帧的光缓存来渲染动画;但是,仅计算一次光缓存可以节省渲染时间,特别是对长的动画来说.
1.14 将Light cache的Mode设为Fly-through.确保当前动画范围是你想要渲染的范围.这个很重要,因为在计算fly-through缓存时,光缓存是看当前动画范围的时间线来进行的.
既然所有的光缓存采样将分布在整个动画帧之中,我们将需要增加light cache的Sub divs值.确切值是依赖于你想达到的质量及你的场景.若相机移动得较慢,或者路线相对较短(如只是一间屋里的一个房间),你可以使用较低Subdivs值,因为大部分的采样将放在同一个地方.若相机快速移动或者覆盖场景的较大范围的话,需要更多的采样来覆盖各处.
1.15 将light cache的Subdivs设为2000
1.16 渲染帧360作为样本.注意虽然这里仅渲染一帧,但Fly-through模式会使light cach e计算整个动画
此主题相关图片如下:
在fly-through模式期间,光缓存的预览显示并不十分有用,因为它显示出整个相机路线的采样.下面的图就是光缓存在计算时所显示的预览图
此主题相关图片如下:
现在计算了光缓存,我们需要看看是否够我们所用.我们可以用同一个光缓存来渲染几个不同的帧来看看.
1.17 将光缓存保存到硬盘里,例如lightcache.vrlmap
1.18 将light cache的Mode改为From file并选择刚刚保存的文件
1.19 在Light cache卷展栏中,将Filter从Nearest改为None.现在我们可以看更好的采样的尺寸
1.20 渲染帧435:
此主题相关图片如下:
你会注意到场景中相机靠近墙的位置上,光缓存采样较小且杂点较多.这是因为默认光缓存Scale是设为Screen.这是对静帧来说是很好,但是对于动画,我们要更多的平滑采样分布.为达到目的,我们将需要使用World选项.
1.21 将光缓存Scale设为World
现在我们要检查对场景来说,一个好的Sample size是多少.可以这样做,例如,直接在相机视图做一个圈子或者一个Tape物体,用它来考虑采样尺寸.对这个场景,大约2.0的采样尺寸似乎足够了(场景用通用单位).通常,你要足够大的采样尺寸来避免产生一个像文物的东西(漏光等等).甚至有一点漏光时,可以减少Interp. samples值来消除.
1.22 将light cache的Sample size设为
2.0
紧记当你使用World scale时,必须确保场景不是太大(例如带有一个很大的地平面)或者光缓存采样不够小,否则你会因为光缓存的缘故而用完内存.这不仅是因为Screen模式的问题,而且远离相机的表面会得到较少的采样.对室外场景,同样推荐Screen模式.
1.23 将light cache的Mode改回Single frame并将Subdivs改为500,只是为了检查采样的尺寸是否足够.这是帧435的图:
此主题相关图片如下:
每处的采样在尺寸上是均等的,它们足够大了而且不会漏光.
1.24 再次将光缓存的Mode设回Fly-through
1.25 平滑一下光缓存,增加Subdivs值到3300
1.26 将Filter设回Neatest
1.27 渲染帧360
此主题相关图片如下:
增加了采样数量,计算时间增加了.
1.28 保存光缓存,将mode设到From file
你会注意到光缓存文件体积变得更大了.这是因为光缓存里有更多的采样,部分是因为World模式 - 同样数量的采样在场景的每个地方(在Screen模式,采样的采样尺寸跟远离相机的采样一样增大,导致更少的采样).
现在我们可以渲染几个不同的单帧来确认光缓存是否够动画使用
1.29 渲染一些帧
看起来光缓存已足够了,现在可以到下一部分了 - 计算发光贴图
PART II:计算发光贴图
对比于光缓存,发光贴图更值得花时间来计算.因为光缓存提供非常粗糙且无细节的光照处理.另一方面,发光贴图会留心于场景中的细小GI阴影.
注意发光贴图不能通过backburner来计算.它只能在单机上来计算.这是因为我们将使用Multiframe incremental模式
2.1 将主引擎设为Irradiance map
2.2 将发光贴图的Mode设为Multiframe incremental
2.3 勾选Show calc. phase
因为相机移动得很慢,就不需要渲染动画的每个单帧.可以每10帧渲染一次来得到足够的发光贴图.若相机移动得很快,需要渲染更多的帧,如每5帧
2.4 在Render scene对话框的Common下设置3dsmax每隔5帧渲染一次
2.5 在Global switches卷展栏下打开Don't render final image,因为我们现在不需要渲染最终动画也不需要最终帧
2.6 按动画次序渲染
2.7 保存发光贴图,如irmap.vrmap
2.8 发光贴图的Mode设为From file,选择刚保存的文件
现在有整个动画次序的发光贴图.我们可以渲染一些帧来看是否OK
2.9 关闭Don't render final image选项
2.10 渲染帧0和帧360
此主题相关图片如下:
此主题相关图片如下:
PART III:渲染最终动画
对于最终动画,可以使用backburner,在每一台PC上使用用保存好的发光贴图或者局域网内几台机来做.在任何情况下,要确保每台机都可以在本地指定的发光贴图里From fil e参数找到相应的文件.
3.1 设置Image sampler方式为Adaptive subdivision,Min/Max为0/3,这样有更好的抗锯齿质量.你也可以勾取Normals来避免场景中小细节的闪烁问题
3.2 确保发光贴图的Interpolation type为Density-based.这允许发光贴图从缓冲处理中拾取最接近的采样
3.3 设置3dsmax渲染每个单独帧
3.4 渲染最终动画
注意
场景里不使用模糊反射,但若使用且同时不使用Use light cache for glossy rays选项,可以将次GI引擎设为None来渲染最终动画.这是因为不再需要光缓存,关掉可以节省内存,。

相关文档
最新文档