Class Material
The material appearance of a primitive.
Inherited Members
Namespace: Unity.Cloud.Gltfast.Objects
Assembly: Unity.Cloud.Gltfast.dll
Syntax
[MovedFrom(true, "GLTFast.Schema", "glTFast", null)]
public class Material : NamedObject
Properties
AdditionalProperties
Additional properties on glTF JSON objects. Those properties may have been added by a new, unsupported version of the glTF specification. For extending glTF, please use extensions or extras instead.
Declaration
[JsonIgnore]
public ReadOnlyProperties AdditionalProperties { get; }
Property Value
| Type | Description |
|---|---|
| ReadOnlyProperties |
AlphaCutoff
Specifies the cutoff threshold when in MASK mode. If the alpha value is greater than
or equal to this value then it is rendered as fully opaque, otherwise, it is rendered
as fully transparent. This value is ignored for other modes.
Declaration
[JsonIgnore]
public float AlphaCutoff { get; set; }
Property Value
| Type | Description |
|---|---|
| float |
AlphaMode
The material's alpha rendering mode enumeration specifying the interpretation of the
alpha value of the main factor and texture. In OPAQUE mode, the alpha value is
ignored and the rendered output is fully opaque. In MASK mode, the rendered output
is either fully opaque or fully transparent depending on the alpha value and the
specified alpha cutoff value. In BLEND mode, the alpha value is used to composite
the source and destination areas. The rendered output is combined with the background
using the normal painting operation (i.e. the Porter and Duff over operator).
Declaration
[JsonPropertyName("alphaMode")]
[JsonConverter(typeof(AlphaModeValueConverter))]
public EnumOrRawValue<AlphaMode> AlphaMode { get; set; }
Property Value
| Type | Description |
|---|---|
| EnumOrRawValue<AlphaMode> |
DoubleSided
Specifies whether the material is double sided. When this value is false, back-face culling is enabled. When this value is true, back-face culling is disabled and double sided lighting is enabled. The back-face must have its normals reversed before the lighting equation is evaluated.
Declaration
[JsonPropertyName("doubleSided")]
public bool DoubleSided { get; set; }
Property Value
| Type | Description |
|---|---|
| bool |
EmissiveFactor
The RGB components of the emissive color of the material. If an emissiveTexture is specified, this value is multiplied with the texel values.
Declaration
[JsonPropertyName("emissiveFactor")]
[JsonConverter(typeof(ColorConverter))]
public Color EmissiveFactor { get; set; }
Property Value
| Type | Description |
|---|---|
| Color |
EmissiveTexture
The emissive map controls the color and intensity of the light being emitted by the material. This texture contains RGB components in sRGB color space. If a fourth component (A) is present, it is ignored.
Declaration
[JsonPropertyName("emissiveTexture")]
public TextureInfo EmissiveTexture { get; set; }
Property Value
| Type | Description |
|---|---|
| TextureInfo |
Extensions
Material extensions.
Declaration
[JsonPropertyName("extensions")]
public MaterialExtensions Extensions { get; set; }
Property Value
| Type | Description |
|---|---|
| MaterialExtensions |
Extras
Application-specific data.
Declaration
[JsonPropertyName("extras")]
[JsonConverter(typeof(ExtrasConverter))]
public ExtrasContainer Extras { get; set; }
Property Value
| Type | Description |
|---|---|
| ExtrasContainer |
See Also
NormalTexture
A tangent space normal map. Each texel represents the XYZ components of a normal vector in tangent space.
Declaration
[JsonPropertyName("normalTexture")]
public NormalTextureInfo NormalTexture { get; set; }
Property Value
| Type | Description |
|---|---|
| NormalTextureInfo |
OcclusionTexture
The occlusion map is a greyscale texture, with white indicating areas that should receive full indirect lighting and black indicating no indirect lighting.
Declaration
[JsonPropertyName("occlusionTexture")]
public OcclusionTextureInfo OcclusionTexture { get; set; }
Property Value
| Type | Description |
|---|---|
| OcclusionTextureInfo |
PbrMetallicRoughness
A set of parameter values that are used to define the metallic-roughness material model from Physically-Based Rendering (PBR) methodology.
Declaration
[JsonPropertyName("pbrMetallicRoughness")]
public PbrMetallicRoughness PbrMetallicRoughness { get; set; }
Property Value
| Type | Description |
|---|---|
| PbrMetallicRoughness |
RequiresNormals
True if the material requires the mesh to have normals.
Declaration
[JsonIgnore]
public bool RequiresNormals { get; }
Property Value
| Type | Description |
|---|---|
| bool |
RequiresTangents
True if the material requires the mesh to have tangents.
Declaration
[JsonIgnore]
public bool RequiresTangents { get; }
Property Value
| Type | Description |
|---|---|
| bool |