获取方法如下:
gameObject.render.materials.GetFloat("propName");
gameObject.render.materials.SetFloat("propName", value);
gameObject.renderer.material.SetTexture("_propName", tex);
gameObject.renderer.material.GetTexture("_propName");通过tex的替换,可以减少Shader渲染的性能消耗,而做出如天空盒,昼夜替换,云层和夜空更替的效果。
另,自己感觉Sky Shader中 云层1和2的 RGB 之和会比点乘 表现的更自然,更真实。
除外,天空盒Sky Shader中的LightModel可以自定义,并直接return s.Albedo值,即直接返回自定义的反射光,不需其他的影响。
本文介绍如何在Unity中使用Shader调整材质属性,包括获取和设置浮点值及纹理,以此实现天空盒日夜切换等视觉效果。同时探讨了SkyShader中云层表现手法和自定义光照模型的方法。

4万+

被折叠的 条评论
为什么被折叠?



