Version: 1.3
语言 : 中文
基于物理的渲染材质验证器
Material Variants

Using materials with C# scripts

All the parameters of a material asset that you see in the Inspector window are accessible via script, giving you the power to change or animate how a material works at runtime.

This allows you to modify numeric values on the material, change colours, and swap textures dynamically during gameplay. Some of the most commonly used methods to do this are:

Method Name 用途
SetColor 更改材质的颜色(例如反照率着色颜色)
SetFloat 设置浮点值(例如,法线贴图乘数)
SetInteger 在材质中设置整数值
SetTexture 为材质分配新纹理

The full set of methods available for manipulating materials via script can be found on the Material class scripting reference.

One important note is that these methods only set properties that are available for the current Shader objectAn instance of the Shader class, a Shader object is container for shader programs and GPU instructions, and information that tells Unity how to use them. Use them with materials to determine the appearance of your scene. More info
See in Glossary
on the material. This means that if you have a shader that doesn’t use any textures, or if you have no shader bound at all, calling SetTexture will have no effect. This is true even if you later set a shader that needs the texture. For this reason it is recommended to set the shader you want before setting any properties. However, after you have set the shader you can switch from one shader to another that use the same textures or properties and values will be preserved.

These methods work as you would expect for all simple shaders such as the legacy shaders, and the built-in shaders other than the Standard Shader (for example, the particle, sprite, UI and unlit shaders). For a material using the Standard Shader however, there are some further requirements which you must be aware of before being able to fully modify the material.

基于物理的渲染材质验证器
Material Variants