vr使用光子贴图渲染的方法与技巧
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
vr使用光子贴图渲染的方法与技巧(速度质量平衡的关键)
2010-7-6 17:55:33
光子图的品质是由这里总管全局的
如果这里的值设置的不合理就谈不上光子图的质量了
以下的言论取决于以上合理的设置。。。。
如何才是合理的设置?这里不是本帖的讨论范围
请在网上寻找相关的教程或查阅vr手册。。。。
本帖所致的光子贴图取决于发光贴图而非其他
打算使用“发光贴图渲染场景的时候,我以为有以下几个要点:
1、首先不要去考虑最终效果图的大小尺寸。比如说你最终想渲染成一张3200*2400的大图或800*600的小图,这个不在你收要考虑之列;
2、首先要考虑的是光子图满不满足成图的需要(不会出现漏光等错误现象)
3、光子图OK,成图就OK。
为什么首先不考虑最终成图的大小?
一般来说,无论谁一上来都不可能直接就设置好参数,看都不用看草稿效果,直接渲染图吧?至少都搞个小图多次尝试设置参数,找到最佳的数值来决定最终的效果吧?
比如说有人喜欢用300*240的小图设置参数,有的人喜欢用400*300,也有的灰用800*600.。。。总之最后都要进行参数设置看一下效果才行,如果行了最后才去跑成图。
我建议大家使用400*300的小图来设置参数,经过多次试验的来的结果,当然也可以采用其他的尺寸。
假如我现在采用的400*300的设置参数跑小图看样,那么设置出来的参数是不是决定一个特定的光子图大小(至于如何计算在后面再说),如果现在看这个小图一点问题也没有的话,那么你用这个光子图去渲染任何尺寸的成图也没有问题,他们的效果是相同的。
很多朋友对这段话不是很理解,再讲简单点就是假设用400*3000渲染出来的光子图大小是80*60(如何算先不要去考虑),在看草稿图400*300大小时没有问题,那么用它去渲染40000*30000也没有问题,他们的效果是一样的,不会因为后面的分辨率增加了,而效果会更好。
这就是光子图OK,成图就OK。
光子图与成图之间没有倍数关系,比如说用80*60的光子图去渲染800*600和8000*6000的图,不会因为前者是光子图的10倍,而后者是光子图的100倍,那么前者的效果就没有后者的好了,再次说他们的效果是一样的。
如何计算光子图的大小?
光子图的大小主要取决于以下两个数值
第一个,场景的大小设置
第二个,最大比率值
最大比率值为0时,与场景大小设置相同
最大比率值为1时,是场景大小设置的一倍
最大比率值为2时,是一倍的一倍
最大比率值为-1时,是场景大小设置的一般
最大比率值为-2时,是场景大小设置一半的一半
不要把这里的看成正
负数值,而是一种机制,就如二进制十进制一个道理
值为正就是用场景的大小去乘,值为负就用场景的大小去除
最傻的做法就是最大值的数是多少就去乘或除以几个2,比如说是-4,那么就去除以4个2,科学的做法就是2的N次方。
利用现在设置的场景大小为800*600,最大值为-3,那么就是一个
800/2/2/2=1000 600/2/2/2=75 大小为100*75的光子图
用一个200*150最大值为2就是一个800*600的光子图。
用400*300值为0就是400*3000的光子图。
最小比率值的最用是什么?
决定首次才养的大小,主要用来优化场景。
例如使用-3,0渲染800*600的图 算4次
第一次800/2/2/2=100 600/2/2/2=75 也就是100*75
第二次为800/2/2=200 600/2/2=150 也就是200*150
第三次为800/2=400 600/2=300 也就是400*300
第四次为800*600
最大值与最小值还决定跑光子的次数
他们之差的绝对值+1就是跑的次数
如果VR自带的材质使用了差值,另算。
昨天800*600的图,设最大值为-2,也就是200*150的光子图直接跑的
知道光子图大小的作用是什么?
其实这是一个根本的问题。光子图越大效果会越好这是不可置疑的事情。但是问题所在就是光子图太大,速度也越慢,这就是所谓速度与质量的平衡。
正如在3ds max中反射的效果一般都设为5级就够了,如果飞扬设置100级,效果当然会更好,但不会太明显。因此我们在使用光子图的时候,就正如去找反射的5级一样。
这主要还是用于电脑硬件的原因决定的,如果你有一台性能很好的电脑,这可以看做是多余的。
如何合理的去设置自己需要的光子图?
一张图,光子图有一个分水岭的值,超过就没有问题(如漏光),低于就会有问题,我们可以看见这个值是一个临界点。
关于找临界点的问题,我只能举个例子:
比如我在做图的时候,第一次搞个认为还行的光子图如200的,渲染如果没问题,可以再设置地点的如160,一看如果不行,那么找个180再试试,如果行就用180,如果不行就用200.
同样我先搞个200的一渲染,不行,那么再搞个260的看行不行,如果不行,就搞个300的,行了就行了。
再如。。。。。。。。。
怎么渲染小光子图。
直接设最大值为0,设置成你想要的光子图大小不就行了吗?
不过建议使用最大值为-1,去渲染这种小于300的光子图时,将值乘以2,也就是 也就是说比如像渲染180的光子图,那就用360的图,这样是因为可以直接用360的图看效果,180的图太小。效果不行重新设置光子图,效果好就保存光子出大图,出大图的时候调用光子了,这里的什么最大值最小值都不用设置了,设了也没用。
关于多大的光子图能满足
?我说是400*300的光子图,这是一个保守说法,能满足很多图了,我想使用200*150的光子图在质量上还过得去,自己看着办,不行就去找临界点。
有朋友问我关于比例的问题,我想做如下说明:
不要去考虑光子图与成图之间的比例问题,比如说100的光子能跑800的图,那么就能跑8000的图,他们的质量是一样的,都是用这个100的光子去跑的,冰不能说8000是100的80倍,而800只是100的8倍,大图的质量就比小图的质量好。
我们要明白一个是光子贴图的分辨率大小,一个是最终渲染尺寸的大小,在渲染最终成图时,我们要明白究竟要使用多大的光子贴图去渲染成图
在大多数情况下,可以使用如400*300分辨率的小光子贴图去渲染成图,速度快,效果也很好。在这里我想举例再说明一下:
例如我想使用400*300的光子贴图去渲染一个1600*1200的成图,那么可以使用以下两种方法。
1、设置渲染尺寸为400*300,设置最大值为0,这样就渲染出一个400*300的光子图,然后保存光子,再设置渲染尺寸为1600*1200,利用保存光子渲染成图。
2、直接使用1600*1200渲染,设置最大比率值为-2,这样也不用保存光子,渲染出来的效果与第一种方法一样。
当然保存光子贴图也很有必要,毕竟有时候还要更改材质等,这样就不用再跑光子了,跑光子总是要花很长时间的。
加入想使用320*240的光子图去渲染1600*1200的成图又该如何做呢?很显然用第二种方法是行不通的 自己推敲一下吧!
用多大分辨率的光子贴图去渲染多大的侧和那个图,作答心知肚明,什么事都迎刃而解了。
直接跑光子渲染图不会比保存光子调用出图慢多少,我试过,8000直接跑只比800调用慢2分多钟。
有网友问我320*240的光子图到底能渲染多大的图? 我真没办法回答,这个要根据场景来顶,还是那句话,光子图OK,成图就OK。
用光子图调用再渲染成图的话,如果这时候去更改最大或最小比率值,一点作用也没有,还是用光子图去决定品质的,就是将最大值改为10000,也不起任何作用。
使用保存光子图渲染大图的初学者要注意,渲染光子图分以下几步:
1、设置场景大小
2、设置相关参数
3、渲染
4、保存光子图
5、设置最终渲染场景的大小
6、调用光子图
7、渲染成图
初学者有时候会搞错步骤,在制作光子图的时候是渲染了保存光子图,而不是保存光子图了渲染,也就是有时候会把第3、4步搞反了,最后渲染一看小图有效果,大图反而没效果了
比如你一上来就保存,什么都没有渲染,哪里有光子图啊,最后你调用的光子图也没有光子。
出图时勾选此项可以解决如金属爆出一些
光斑等不正确的现象
如果你设置的最大比率值与最小比率值不是相等的,而你跑光子的次数又只有1次的话,你就要注意看这里是不是勾选了。
使用1.5r3的朋友仔使用vr 材质时,千万不要在材质的父级中使用这个显示贴图,否则为错误退出
但是你可以进入子级中使用这个显示贴图
发图自己我鼓励
这张的光子图是200*150渲染的640*480
下面一张是640*480的光子图直接出的图,两张相比效果,看起来不是太明显,而第二张主要多了算光子的时间,比第一张多了将近5分钟。
我使用180的光子时有漏光现象,所以说200差不多就是这张图的临界点了。
所以找出临界点才是速度的关键。
比如说这张图要渲染成图4000*3000的大图,如果直接渲染的话,设置最大值为-4,则光子图为250*184,显然要比200时速度慢,如果设置为-5的话又只有125了,比180还小,显然又不行了,因此我们需要设置一个400*300的图,设置最大值为-1进行渲染保存光子调用刨土。为什么不直接用200*150,最大值为0呢?原因前面有讲到。
注意上面两张图,一个是200*150跑的800*600的图
一个是800*600跑的800*600的图,也就是直接出图时设置的最大比率值为0
我们习惯使用比了之为1.333来渲染图,所以在渲染光子图时,可以根据自己的需要设置光子图的大小去查看最终效果行不行。
因为是锁定的,所以我们只要填入Width的值就行了,比如我想试试120大小分辨率行不行,只要填入480回车就行了,然后设置最大值为-2。