T4M 地形在Assetbundle中 LightMap无效果的解决方法

来源:互联网 发布:linux查询端口号命令 编辑:程序博客网 时间:2024/05/16 07:45

建模的同事在制作场景的时候使用了T4M来刷地形,一开始出现的问题是打Assetbundle之后,会找不到Shader 变为红色。

这个问题之前碰到过,通过在设置中添加 T4M的Shader 的方式可以解决。


在 Always Included Shaders 中添加 T4M 的Shader


后续同事开始做LightMap,在编辑器状态下一切都OK,LightMap 效果很赞。

然后我前些天开始整理 Assetbundle之后,就发现 使用 T4M 的场景,LightMap 没有了效果!

可以看到 LightMap数据都在 转自http://blog.csdn.net/huutu http://www.thisisgame.com.cn

MeshRender 的 LightMapIndex 和 LightMapScaleOffset 数据也是正确的。


一开始是想重新设置下Shader就有用了,但是还是折腾了几天想查下为什么只有T4M 的场景会出现这个问题。

但是没有折腾出来,游戏里一直没去修改,同事也说过几次,所以还是先重新设置下Shader ,先弄好这个效果。

转自http://blog.csdn.net/huutu http://www.thisisgame.com.cn

找到MeshRender,然后重新设置Shader。

Renderer tmpRenderer = tmpTran.GetComponent<MeshRenderer>();if (tmpRenderer == null){continue;}//重新设置T4MMaterial[] tmpMaterialArray = tmpRenderer.materials;for (int j = 0; j < tmpMaterialArray.Length; j++){if (tmpMaterialArray[j].shader.name.Contains("T4M 3 Textures")){Shader tmpShader = Shader.Find("T4MShaders/ShaderModel2/Diffuse/T4M 3 Textures");tmpMaterialArray[j].shader = tmpShader;}}


正确的效果




0 0