unity-修改shader的默认值,纹理
发布日期:2021-05-07 17:59:07
浏览次数:12
分类:技术文章
本文共 1084 字,大约阅读时间需要 3 分钟。
在子着色器中的通道里面命名一个相同变量名的对应类型,然后如果修改的是坐标等顶点着色器中的属性,就在顶点着色器的编程中返回,如果是颜色等像素着色器中的属性就在片元着色器中返回相应的值。
例如Shader "Custom/My_shader2"{ Properties { _Color ("Color", Color) = (1,1,1,1) _MainTex ("Albedo (RGB)", 2D) = "white" { } _Glossiness("Smoothness", Range(0,1)) = 0.5 _Metallic("Metallic", Range(0,1)) = 0.0 } SubShader { Pass{ CGPROGRAM//开始插入Cg代码 #pragma fragment my_frag fixed4 my_frag():COLOR { return fixed4(1.0,0.0,0.0,1.0); } } ENDCG } FallBack "Diffuse"}
动态修改shader的颜色
新创建一个c#脚本文件public class My_shader : MonoBehaviour{ public Material my_shader;//声明着色器 // Start is called before the first frame update void Start() { my_shader.SetColor("_Color", new Color(0.5f, 0.6f, 0.7f, 1.0f)); } // Update is called once per frame void Update() { }}
可以在开始函数中修改也可以在更新函数中修改。
修改纹理
fixed4 my_frag(float2 uv:TEXCOORD0) :COLOR//第一套纹理也可以是第二套第三套,只需要将最后面的0修改成1-3即可 { return tex2D(_MainTex,uv);//前面是需要修改的纹理,后面是查找的像素坐标颜色 }
先获取纹理坐标然后通过tex2D函数修改即可。
基本知识可去转载地址:https://blog.csdn.net/lfanyize/article/details/104087606 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
逛到本站,mark一下
[***.202.152.39]2024年04月06日 23时46分38秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
L2-004 这是二叉搜索树吗? (25 分)
2019-04-26
L2-011 玩转二叉树 (25 分)
2019-04-26
L2-006 树的遍历 (25 分)
2019-04-26
L3-010 是否完全二叉搜索树 (30 分)
2019-04-26
6-10 阶乘计算升级版 (20 分)
2019-04-26
7-78 阅览室 (20 分)
2019-04-26
7-21 查验身份证 (15 分)
2019-04-26
实验4-1-5 韩信点兵 (10 分)
2019-04-26
1016 部分A+B (15 分)
2019-04-26
1023 组个最小数 (20 分)
2019-04-26
1036 跟奥巴马一起编程 (15 分)
2019-04-26
1002 写出这个数 (20 分)
2019-04-26
1010 一元多项式求导 (25 分)
2019-04-26
1013 数素数 (20 分)
2019-04-26
1026 程序运行时间 (15 分)
2019-04-26
以太坊智能合约开发-《精通以太坊智能合约开发》学习总结实践
2019-04-26
Parabolic SAR(抛物线转向指标)
2019-04-26
java 通用内存分页(List分页)
2019-04-26
什么是WebAuthn、FIDO 是什么?
2019-04-26