醉阳逐月 发表于 2017-2-5 18:25

关于在手机上实现PBR材质效果的个人分享

          Unity5刚出来的时候觉得 “看上去很吊的样纸”,然后就想着说我来看看官方的Standard材质在手机上是不是也这么牛逼,然后就GG了。
即使现在到了5.5版本(个人目前最高5.4,因为公司项目5.4,家里面也只到5.4.0),想要在手机上跑PBR不是不可以,但是如果说你用肾6甚至肾7来跟我说 “你看,效果在手机上不错嘛!” ,考虑到你卖了肾我不跟你计较了{:6_199:}。
         于是想着,当年(2015年2月出了U5,那个时候我刚毕业半年)实在菜得抠脚,看着这么好的效果手机上完全用不起(你再卖肾试试?千元机什么的老夫当年都还买不起),现在嘛虽然照样菜如狗,不过出来上了两年班总还是有点卵用,自己尝试着将BRDF效果移植到手机上,经过不懈努力总算有了一定进展。
         主要移植了基于cook-torrance的brdf光照模型(位于Unity的standard头文件内部),是unity针对standard Shader的三个档次中的中档,再加上自己的一些优化和处理,基本实现了standard的主要部分,包括光照计算和天空盒反射,不过由于GI部分移植起来很麻烦(对我这种菜鸡而言)所以暂时放弃了反射探头和自发光gi的移植。至于光探头部分,由于unity在烘焙图和光探头之间互斥性,最后我选择这次先不用光探(懒得在场景摆点光源我不会让你知道的)。

主要实现:光照 反射天空盒 支持光照贴图 单独对菲涅尔反射加了个权重开关
截个图证明一下自己真的没骗人

http://www.cgjoy.com/forum.php?mod=image&aid=556935&size=300x300&key=7ccee557d5a9b54e&nocache=yes&type=fixnone

于是把上面这个场景所有材质换成自己这个shader然后拿到手机上,效果差异还是有的,不过我还是很满意,主要我的手机是这个
http://www.cgjoy.com/forum.php?mod=image&aid=556936&size=300x300&key=7795f3b5fc12aac7&nocache=yes&type=fixnone

现在只卖750了,而且华为的手机显卡绝逼有问题,很多效果他妈的所有手机都行就华为(和小米?)要出事。
最后上一些手机截屏的图

http://www.cgjoy.com/forum.php?mod=image&aid=556937&size=300x300&key=9237813d24a34000&nocache=yes&type=fixnone                  http://www.cgjoy.com/forum.php?mod=image&aid=556938&size=300x300&key=dcaca2e6999257de&nocache=yes&type=fixnone左边没有反射天空 右边反射天空

http://www.cgjoy.com/forum.php?mod=image&aid=556939&size=300x300&key=37048a41572659ab&nocache=yes&type=fixnone                  http://www.cgjoy.com/forum.php?mod=image&aid=556940&size=300x300&key=560b8715a90aa76c&nocache=yes&type=fixnone
左边都没有 右边反射+泛光

总体而言帧率不开泛光40-60 开了基本20-40 反射基本不影响帧率(只是我的手机啊 750块钱的渣渣)
最后给个apk 想看看手机实际情况的自己弄来玩
链接:https://pan.baidu.com/s/1bpdeqlx 密码:3qnz





avi9111 发表于 2020-9-19 17:46

实在厉害哦。。。。。。真实。。。。就是很多美术和部分程序,还是糊里糊涂的

afx1235 发表于 2018-5-17 19:51

求Shader代码分享啊,谢谢楼主那个百度云过期了

zhangsw_good 发表于 2018-5-17 18:42

本帖最后由 zhangsw_good 于 2018-5-17 19:34 编辑

作者不要太吝啬,是不是分享下shader呢

┄‘风の彼岸 发表于 2017-12-3 10:37

求Shader代码分享啊,谢谢楼主那个百度云过期了

┄‘风の彼岸 发表于 2017-12-3 10:37

求Shader代码分享啊,谢谢楼主那个百度云过期了

┄‘风の彼岸 发表于 2017-12-3 10:32


求Shader代码分享啊,谢谢楼主那个百度云过期了

JudgementAngel 发表于 2017-7-11 07:56

求Shader代码分享啊,谢谢楼主

JudgementAngel 发表于 2017-7-11 07:56

求Shader代码分享,感谢楼主

JudgementAngel 发表于 2017-7-11 07:55

求Shader代码分享
页: [1]
查看完整版本: 关于在手机上实现PBR材质效果的个人分享