Notifications
bg
d
decajes
0
Likes
2
Followers
1
Connection
All
Articles0
Games0
Showcases0
Column0
Jobs0
问题描述:场景分块prefab打包之后,烘焙的shadowmask关联不上。
https://connect-cdn-prd-cn.unitychina.cn/20191115/p/images/5863fd2a-e97e-4794-b98f-8cdf7e3975dd_1000.png
https://connect-cdn-prd-cn.unitychina.cn/20191115/p/images/c985ab1b-c556-46dd-8247-de9a4167424d_1001.png

尝试确认的点:
1、确认光照图是否有依赖问题。加载场景的时候Global maps里面可以看到shadowmask。而且lightmapSetting中的lightmap的shadowmask的贴图数据是有的。应该不是这个问题。
2、确认了是不是宏的问题,在graphics的inspector中设置lightmap 的shader stripping,防止打包丢失宏。但是在framedebug中依然没有出现这个宏。尝试在用到的shader中强制打开shadows_shadowmask的宏,在framedebug一栏中发现unity_shadowmask的采样是unityWhite。
3、场景单独打包,不拆分prefab。打包后运行场景正常,shadowmask正常应用。

个人推断的是shadowmask的关联和shader应该都是没有问题的,因为解bundle出来看的时候,可以看到编译的shader里面确实有shadows_shadowmask的变体。但是目前的情况应该是unity没有对这个shadowmask的贴图做类似bindTexture的操作,或者内部有变量控制管线流程。查看文档没有找到可以设置的地方。之前分块打包有遇到过lightmap丢失的问题。论坛上的做法是打包的时候记录每个meshrender的lightmapindex和scale的数据,然后加载的时候赋值回去,这样可以解决lightmap丢失的。不过这种方法对于shadowmask并不适用。请问大伙有没有遇到同样的问题?或者提供一些可行的思路,谢谢。。

d
a month ago
补充一下:unity使用版本是2017.4.32c2
About Me
No description
See more
Skills
No skills added yet
Certifications (0)
Import
See all
decajes's liked projects (0)
No likes yet
Following (2)
Followers (2)
Following Companies (0)
Not following anyone yet