VR动画渲染--提高效率,避免闪烁

修改
鏉ユ簮: janickguo 浏览 20968 日期 2011-09-22 0

VR动画渲染 提高效率  避免闪烁——发光贴图查看器(irradiance map viewer)的应用来自:水晶石数字教育学院--高级建筑动画讲师温元本

目的:提高质量与效率

问题1:

1、Irradiance map 光子图?Irradiance map 是一种间接照明算法,正确翻译:发光贴图采样。

2、发光贴图的质量跟 参数之间的关系

在使用vr渲染器渲染动画序列之前,我们基本上一定会隔桢渲染发光贴图,俗称“跑光”。这里我听到过几种分歧:

a.有人说渲染原尺寸,参数-4 -3足够。

b.有人说渲染一半尺寸足够,参数给高点-3 -2这样质量更高。

c.还有制作效果图的同事渲染得比例更小,六分之一,参数给到了-3 -1。

其实上述所有设置都能满足我们的工作需要,但是很混乱,因为我们对vr渲染的质量和参数之间的关系没有概念。于是我使用Irradiance map viewer做了下面几个试验。

1.对比 (720*404) [-4-3]   和    (360*202) [-3-2]

测试:(720*404)      [-4-3]

渲染时间:   发光贴图10s 帧缓存5s

Vr发光贴图采样采集到1283个采样点。

测试:(360*202)      [-3-2]

渲染时间:   发光贴图10s 帧缓存5s

Vr发光贴图采样采集到 1275个采样点。

结果:两种方式几乎一样,采样点分布及密度基本相同

结论:vr渲染发光贴图的质量是和最终渲染的画面分辨率有密切关联的,以上2种方式得到的发光贴图质量、渲染时间、最终画面质量基本一致。

2.对比  [-4-2]   和  [-3-3]

测试:(720*404)      [-4-2]

渲染时间:   发光贴图15s 帧缓存5s

Vr发光贴图采样采集到1958个采样点

测试:(720*404)      [-3-3]

渲染时间:  发光贴图19s 帧缓存5s

Vr发光贴图采样采集到2650个采样点

结果:数据(采样点数量、渲染时间)上来看【-3-3】的发光贴图质量好过【-4-2】。

但是分辨实际图像,发现一个有趣的现象。【-4-2】的图像在物体交接的地方变化更丰富。

通过Irradiance map viewer工具对以上两个发光贴图进行分析:【-3-3】采样点密度较高、基本均匀。

【-4-2】采样点密度不均匀,在平面上密度低,但是在物体交接处密度明显有提高,甚至高于上-3-3的密度。

结论:min rate设置的是一个最基本的发光采样质量,他决定物体大范围的平面的采样质量,max rate设置的是最高的发光采样质量,他决定的是物体交界处发光贴图采样质量。两者之间差值越大,画面中物体之间的互相影响越细腻,变化越多。(个人认为就是ao效果越明显。)

综上:

如何增加效率:可以视情况选择较差的参数渲染,后期渲染ao通道追加画面细节。

问题:

容易出现闪烁 黑斑。

二、避免闪烁、黑斑等渲染错误

下面我列出了我总结出来画面出现闪烁黑斑的原因,我只会重点说明个别几个。

渲染中出现闪烁、黑斑的原因

1.未隔帧渲染发光贴图

2.共面

3.画面中有会运动物体(包含灯光动画)

4.细小物体闪烁(代理树)

5.远景闪烁

1、未隔帧渲染发光贴图

闪烁原因:发光贴图采样的随即性,决定前后两张画面采样点必然存在区别,如果不计算好采样并且调用,单独看起来没问题的画面连起来播放必然出现闪烁。

解决方案:隔帧跑光,但是隔多少帧?

请大家使用Irradiance map viewer查看一下隔帧渲染出的发光贴图采样是什么样的,它并不是一个序列,而是空间整体的采样点信息。

隔多少帧渲染也是我们的一个问题,然而通过Irradiance map viewer的使用,我发现有些镜头即使隔上100帧渲染也不会出现问题,打破了跑光隔5-10帧的限制,更是直接的提高了我们工作的效率。

2、共面

错误原因:共面后发光贴图采样出错

解决方案: a.二次反弹偏移

b.彻底避免共面

3、画面中有会运动物体、灯光动画

错误原因:运动物体发光贴图采样错误

解决方案:

1、扫描线加ao的方式:隐藏运动物体以避免运动物体产生发光贴图采样。然后单独用其他渲染器渲染运动的物体,丢失的细节可以使用ao通道来添加。

2、vr1.5rc5新动画渲染模式

这种模式是基于incremental add to current map模式开发的适用于动画渲染的新模式,他保存出来的发光贴图采样不再是一个整体的3d世界,而是真真正正的发光贴图采样序列了。完全的满足了带有动画物体的渲染需求,但是这种模式不能隔帧渲染,耗时长。

以上两种方式都能基本解决我们的动画闪烁问题

扫描线加ao的优势是速度快 缺点是不能渲染代理模型。

Rc5的优势是完全支持代理 解决了闪烁 缺点是速度相对较慢 发光贴图采样只能单机渲染。

4、细小物体闪烁(代理树)

错误原因:

画面反走样(抗锯齿)参数过低

发光贴图采样严重不足

解决方案:

提高反走样参数

原因同远景闪烁

5、远景闪烁

错误原因:

发光贴图采样严重不足

解决方案:

1、add to current map 模式

2、irradiance map viewer 合并发光贴图

后记:irradiance map viewer   合并发光贴图

发光贴图网络渲染

1.本篇全文文本下载:

http://u.115.com/file/e6rofryp#vr渲染提高效率_避免闪烁_温元本-原.doc

2.光子图查看器:

http://u.115.com/file/bh0xltha#Vray_-_Irradiance_Map_Viewer.rar

3.Mr. Snail  提供的“VR抗锯齿插件”

linhuiqi41@gmail.com(QQ:409041077)

http://u.115.com/file/bh0xw1mr#抗锯齿插件.rar

4.顺便发一些VR联机渲染视频教程(作者不详,来自网络):

http://u.115.com/file/dijaso5s#网渲.(聯機渲染視頻教程)高清版.7z

,

评论

{{ username ? username.charAt(0).toUpperCase() : '?' }}
Ctrl+Enter 发布
{{ (c.username || c.author_name || '?').charAt(0).toUpperCase() }}
{{ c.username || c.author_name }} {{ Utils.formatDate(c.created_at) }}