官术网_书友最值得收藏!

How it works...

Every Unity shader has a built-in structure that it is looking for in its code. The Properties block is one of those functions that are expected by Unity. The reason behind this is to give you, the shader programmer, a means of quickly creating GUI elements that tie directly into your shader code. These properties (variables) that you declare in the Properties block can then be used in your shader code to change values, colors, and textures. The syntax to define a property is as follows:

Let's take a look at what is going on under the hood here. When you first start writing a new property, you will need to give it a Variable Name. The Variable Name is going to be the name that your shader code is going to use in order to get the value from the GUI element. This saves us a lot of time because we don't have to set up this system ourselves. The next elements of a property are the Inspector GUI Name and Type of the property, which is contained within parentheses. The Inspector GUI Name is the name that is going to appear in the material's Inspector tab when the user is interacting with and tweaking the shader. The Type is the type of data that this property is going to control. There are many types that we can define for properties inside of Unity shaders. The following table describes the types of variables that we can have in our shaders:

Finally, there is the Default Value. This simply sets the value of this property to the value that you place in the code. So, in the previous example diagram, the default value for the property named _AmbientColor, which is of the Color type, is set to a value of 1, 1, 1, 1. As this is a Color property expecting a color that is RGBA or float4 or r, g, b, a = x, y, z, w, this Color property, when first created, is set to white.

主站蜘蛛池模板: 芦溪县| 隆德县| 万全县| 铅山县| 正镶白旗| 安多县| 诸城市| 孟津县| 肇东市| 千阳县| 化德县| 洪江市| 林西县| 平江县| 织金县| 杭锦后旗| 佛教| 灌云县| 澄江县| 额济纳旗| 磐安县| 五莲县| 织金县| 尼玛县| 麻栗坡县| 双城市| 诸暨市| 南城县| 宣恩县| 涞水县| 扬州市| 阳原县| 临夏市| 丰顺县| 武宣县| 蒙自县| 唐河县| 沂南县| 怀安县| 黔西| 黄山市|