最基本形式 (先不考虑Fog)

Shader "Nafio/TUnlit"{
Properties
{
_MainTex("TT",2D) = "white" {}
} SubShader
{
Tags{"RenderType" = "Opaque"}
LOD 150 Pass{ CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc" sampler2D _MainTex;
float4 _MainTex_ST; struct appdata{
float4 vertex:POSITION;//注意这里名称vertex是固定的不能乱改,float4,不是float3
float2 uv:TEXCOORD0;
}; struct v2f{
float4 vertex:SV_POSITION;
float2 uv:TEXCOORD0;
}; v2f vert(appdata v)
{
v2f o;
o.vertex = UnityObjectToClipPos(v.vertex);//低版本替换成mul(UNITY_MATRIX_MVP,v.vertex);
o.uv = TRANSFORM_TEX(v.uv,_MainTex);
return o;
} fixed4 frag(v2f i):SV_Target
{
fixed4 c = tex2D(_MainTex,i.uv);
return c;
} ENDCG
} }
}

_MainTex_ST 的说明,这个变量是后面TRANSFORM_TEX需要用到

TRANSFORM_TEX用于计算Texture uv偏移量(就是编辑器中设置的偏移量)

实现方式

#define TRANSFORM_TEX(tex,name) (tex.xy * name##_ST.xy + name##_ST.zw)

材质中

这里Tiling控制缩放

而Offset控制起始位置

从公式看name##_ST.xy对应Tiling,name##_ST.zw对应Offset

最新文章

  1. centOS6.5安装SUN-jdk7
  2. EndNote文献管理
  3. 弱弱的玩下Javascript
  4. js与asp.net后台交互
  5. P次方数 英雄会 csdn 高校俱乐部
  6. 导航条——flash导航条
  7. S2 深入.NET和C#编程 一: 深入C#.NET框架
  8. 只用120行Java代码写一个自己的区块链
  9. 【Android】自动测试工具 Monkey
  10. phpexcel 使用模板导出报表
  11. 简单有效:解决 Excel 打开 UTF-8 编码 CSV 文件乱码的 BUG
  12. 【java】详解native方法的使用
  13. VS Code折腾记 - (2) 快捷键大全,没有更全
  14. django403错误(转)
  15. vue 中下拉select怎样给后台传递用户选择的物品id
  16. [FMX]获取控件样式中的指定项目以便进行调节
  17. cloudstack网络部分知识点汇总
  18. Google Protocol Buffers介绍
  19. RxJava && Agera 从源码简要分析基本调用流程(2)
  20. 敏感词过滤的算法原理之 Aho-Corasick 算法

热门文章

  1. python网络爬虫之requests库 二
  2. 流畅python学习笔记:第二十章:属性描述符:
  3. Java基础教程:面向对象编程[2]
  4. okhttp 请求list数据实例
  5. UVA - 10305 【全排列】
  6. STM32 FSMC学习笔记+补充(LCD的FSMC配置)
  7. 深入理解JVM - Java内存模型与线程 - 第十二章
  8. tkinter之对话框
  9. html5--1.9 img元素嵌入图片
  10. redis压力测试详解