基本原理是给定平面上的几个点的位置和该点的温度信息,然后通过距离比的关系来算出平面上任意点的温度数值,再通过颜色反映出来。
1.Shader "Custom/TemperatureField" {
2.Properties {
3._MainT ex ("Base (RGB)", 2D) = "white" {}
4._Point1("Temperature1",Range(0,100)) = 50
5._Point2("Temperature2",Range(0,100)) = 50
6._Point3("Temperature3",Range(0,100)) = 50
7._Point4("Temperature4",Range(0,100)) = 50
8.}
9.SubShader {
10.AlphaTest Greater 0.1
11.pass
12.{
13.CGPROGRAM
14.// Upgrade NOTE: excluded shader from DX11, Xbox360, OpenGL ES 2.0
because it uses unsized arrays
15.#pragma exclude_renderers d3d11 xbox360 gles
16.#pragma target 3.0
17.#pragma vertex vert
18.#pragma fragment frag
19.#include "UnityCG.cginc"
20.