- Unity 2018 Shaders and Effects Cookbook
- John P. Doran Alan Zucconi
- 345字
- 2021-06-18 19:04:14
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.
- Unity Virtual Reality Projects
- C語言程序設計立體化案例教程
- INSTANT CakePHP Starter
- Learning Unity 2D Game Development by Example
- PHP+Ajax+jQuery網站開發項目式教程
- JSP程序設計與案例實戰(慕課版)
- Sails.js Essentials
- 數據分析與挖掘算法:Python實戰
- ABAQUS6.14中文版有限元分析與實例詳解
- Learning TypeScript
- SaaS攻略:入門、實戰與進階
- Docker on Windows
- Unity 3D UI Essentials
- 大話程序員:從入門到優秀全攻略
- Learning GraphQL and Relay