开学之后,深感压力,事情茫茫多,同时对于shader的学习也进入瓶颈。正在写一篇小论文,关于水流,石油流动效果的模拟。但是对贴图一章学得不好,对很多概念以及过程计算没有吃透。应该再好好看看,再查查资料,了解一下光照,法线等概念多努力。
下面是对于流动效果的处理之一,用Surface Shader写的,大概思路就是规定了两个偏移速度,x,y。速度乘以时间也就是偏移量,这两个变化量是随着时间变化的。在该处进行采样,获得该点的颜色值,然后赋给没有偏移之前的位置。就像是把(0,0)点的颜色值赋给(1,1)点,实现流动效果。我采用的是用这种方法模拟石油流动
Shader "Custom/UV" {
Properties {
_MainTex ("Base (RGB)", 2D) = "white" {}
//贴图
_MainTint ("Diffuse Tint", Color) = (1, 1, 1, 1)
_ScrollXSpeed ("XSpeed", Range (0, 100)) = 2 //X轴方向运动速度
_ScrollYSpeed ("XSpeed", Range (0, 100)) = 2 //y轴方向运动速度
}
SubShader {
Tags { "RenderType"="Opaque" }
//LOD 200
CGPROGRAM
#pragma surface surf Lambert
sampler2D _MainTex;