版本: Unity 6 (6000.0)
语言English
  • C#

Material

UnityEngine 中的类

/

继承自:Object

/

实现于:UnityEngine.CoreModule

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交,但我们确实阅读了用户提出的每个建议更改,并在适用的情况下进行更新。

关闭

提交失败

由于某些原因,您的建议更改无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

切换到手册

描述

材质类。

此类公开材质的所有属性,允许您对其进行动画处理。您还可以使用它来设置无法通过检查器访问的自定义着色器属性(例如矩阵)。

要获取对象使用的材质,请使用 Renderer.material 属性。

其他资源:材质着色器

属性

color材质的主颜色。
doubleSidedGI获取和设置是否为此材质启用了双面全局照明设置。
enabledKeywords一个包含当前为此材质启用的本地着色器关键字的数组。
enableInstancing获取和设置是否为此材质启用了 GPU 实例化。
globalIlluminationFlags定义材质应如何与光照贴图和光探针交互。
isVariant如果此材质是材质变体,则返回 true。
mainTexture主纹理。
mainTextureOffset主纹理的偏移量。
mainTextureScale主纹理的缩放比例。
parent此材质的父级。
passCount此材质中有多少个通道(只读)。
rawRenderQueue此材质的原始渲染队列。
renderQueue此材质的渲染队列。
shader材质使用的着色器。
shaderKeywords一个包含当前为此材质启用的本地着色器关键字名称的数组。

构造函数

Material

公共方法

ApplyPropertyOverride将与材质变体关联的覆盖应用于目标。
ComputeCRC根据材质内容计算 CRC 哈希值。
CopyMatchingPropertiesFromMaterial将属性、关键字状态和设置从 mat 复制到此材质,但前提是这两个材质中都存在这些属性。
CopyPropertiesFromMaterial将属性从其他材质复制到此材质。
DisableKeyword禁用此材质的本地着色器关键字。
EnableKeyword启用此材质的本地着色器关键字。
FindPass返回通道 passName 的索引。
GetBuffer获取命名图形缓冲区值。
GetColor获取命名颜色值。
GetColorArray获取命名颜色数组。
GetConstantBuffer获取命名常量缓冲区值。
GetFloat获取命名浮点值。
GetFloatArray获取命名浮点数组。
GetInt此方法已弃用。请改用 GetFloat 或 GetInteger。
GetInteger获取命名整数。
GetMatrix从着色器获取命名矩阵值。
GetMatrixArray获取命名矩阵数组。
GetPassName返回索引为 pass 的着色器通道的名称。
GetPropertyNames检索与输入属性类型匹配的材质中命名属性的列表。
GetShaderPassEnabled检查此材质上是否启用了给定的着色器通道。
GetTag获取材质着色器标记的值。
GetTexture获取命名纹理。
GetTextureOffset获取纹理 propertyName 的放置偏移量。
GetTexturePropertyNameIDs返回在此材质上公开的所有纹理属性的名称 ID。
GetTexturePropertyNames返回在此材质上公开的所有纹理属性的名称。
GetTextureScale获取纹理 propertyName 的放置缩放比例。
GetVector获取命名向量值。
GetVectorArray获取命名向量数组。
HasBuffer检查分配给材质的 ShaderLab 文件是否具有具有给定名称的 ComputeBuffer 属性。
HasColor检查分配给材质的 ShaderLab 文件是否具有具有给定名称的 Color 属性。
HasConstantBuffer检查分配给材质的 ShaderLab 文件是否具有具有给定名称的 ConstantBuffer 属性。
HasFloat检查分配给材质的 ShaderLab 文件是否具有具有给定名称的 Float 属性。这也适用于 Float Array 属性。
HasInt此方法已弃用。请改用 HasFloat 或 HasInteger。
HasInteger检查分配给材质的 ShaderLab 文件是否具有具有给定名称的 Integer 属性。
HasMatrix检查分配给材质的 ShaderLab 文件是否具有具有给定名称的 Matrix 属性。这也适用于 Matrix Array 属性。
HasProperty检查分配给材质的 ShaderLab 文件是否具有具有给定名称的属性。
HasTexture检查分配给材质的 ShaderLab 文件是否具有具有给定名称的 Texture 属性。
HasVector检查分配给材质的 ShaderLab 文件是否具有具有给定名称的 Vector 属性。这也适用于 Vector Array 属性。
IsChildOf如果给定材质是此材质的祖先,则返回 True。
IsKeywordEnabled检查是否为此材质启用了本地着色器关键字。
IsPropertyLocked检查属性是否被此材质锁定。
IsPropertyLockedByAncestor检查属性是否被此材质的任何祖先锁定。
IsPropertyOverriden检查属性是否被此材质覆盖。
Lerp在两个材质之间插值属性。
RevertAllPropertyOverrides删除此材质上的所有属性覆盖。
RevertPropertyOverride删除属性上的覆盖。
SetBuffer设置命名缓冲区值。
SetColor设置颜色值。
SetColorArray设置颜色数组属性。
SetConstantBuffer将 ComputeBuffer 或 GraphicsBuffer 作为命名常量缓冲区设置为材质。
SetFloat设置命名浮点值。
SetFloatArray设置浮点数组属性。
SetInt此方法已弃用。请改用 SetFloat 或 SetInteger。
SetInteger设置命名整数。
SetKeyword设置此材质的本地着色器关键字的状态。
SetMatrix为着色器设置命名矩阵。
SetMatrixArray设置矩阵数组属性。
SetOverrideTag在材质上设置覆盖标记/值。
SetPass激活给定通道进行渲染。
SetPropertyLock设置此材质的属性锁定状态。
SetShaderPassEnabled在每个材质级别启用或禁用着色器通道。
SetTexture设置命名纹理。
SetTextureOffset设置给定纹理的放置偏移量。name 参数在着色器中定义。此方法创建新的材质实例。
SetTextureScale设置纹理 propertyName 的放置缩放比例。
SetVector设置命名向量值。
SetVectorArray设置向量数组属性。

继承的成员

属性

hideFlags对象是否应隐藏、随场景一起保存或用户可修改?
name对象名称。

公共方法

GetInstanceID获取对象的实例 ID。
ToString返回对象的名称。

静态方法

Destroy删除游戏对象、组件或资源。
DestroyImmediate立即销毁对象 obj。强烈建议您改用 Destroy。
DontDestroyOnLoad加载新场景时不要销毁目标对象。
FindAnyObjectByType检索类型为 type 的任何活动加载的对象。
FindFirstObjectByType检索类型为 type 的第一个活动加载的对象。
FindObjectsByType检索类型为 type 的所有加载对象的列表。
Instantiate克隆对象 original 并返回克隆。
InstantiateAsync捕获原始对象(必须与某个游戏对象相关)的快照并返回 AsyncInstantiateOperation。

运算符

bool对象是否存在?
operator !=比较两个对象是否引用不同的对象。
operator ==比较两个对象引用以查看它们是否引用同一个对象。