wordpress+主题+引入js,西安网站快速优化,新建网站推广,wordpress文章推广插件1.基本贴图shader#xff1a; 基础贴图实现#xff1a;主贴图、自发光贴图、光滑度贴图、自发光贴图#xff08;自发光还加入了颜色影响和按 钮开关#xff09;.
步骤#xff1a;最左侧操作组——新建texture2D——新建sample texture 2D承… 1.基本贴图shader 基础贴图实现主贴图、自发光贴图、光滑度贴图、自发光贴图自发光还加入了颜色影响和按 钮开关.
步骤最左侧操作组——新建texture2D——新建sample texture 2D承接图片转接到fragment片元着色器
颜色的rgb的每个值都是[0,1]的颜色值相乘必然会使颜色值减小物体更暗相加必然会使颜色值增加更加接近1物体更亮自发光贴图大部分区域都是小于1的值所以和颜色相加输出。
注意此时未用到金属度贴图金属度贴图记得是把透明通道输出接给metallic而不是all 将复杂的相关节点打组生成单独的部分减少混乱度。 2.外轮廓光fresnel effect节点 创建float控制外发光程度创建颜色用作外发光颜色调节将菲涅尔和发光颜色通过Mutiply乘起来菲涅尔数据比较大通过颜色相乘得到的数值比较合理。 3.溶解 clipfloat是控制消融程度的数值如果需要自动消融可以用time节点的sin或者cos结合reamp节点实现。
代码控制溶解 public float DissloveTime 3f;private SkinnedMeshRenderer[] _renders;private void Start(){//获得所有的蒙皮网格渲染器_renders transform.GetComponentsInChildrenSkinnedMeshRenderer();StartCoroutine(Dissolve());}private IEnumerator Dissolve(){//调用获取shader参数SetDissolveRate(0);float time 0f;while (time DissloveTime){time Time.deltaTime;//根据时间给shader对应参数赋值SetDissolveRate(time / DissloveTime);yield return null;}}private void SetDissolveRate(float value){//获取控制溶解的float参数值int shaderid Shader.PropertyToID(_clipfloat);foreach (SkinnedMeshRenderer meshrender in _renders){foreach (Material materia in meshrender.materials){//给控制溶解程度的参数动态赋值控制所有skin数据变化materia.SetFloat(shaderid, value);}}} //获取控制溶解的float参数值 int shaderid Shader.PropertyToID(_clipfloat);
这一步需要去shadergraph里查看设置的节点id名是什么