PbrMaterial

Inheritance: java.lang.Object, com.aspose.threed.A3DObject, com.aspose.threed.Material

public class PbrMaterial extends Material

基于反照率颜色/金属度/粗糙度的物理渲染材质

构造函数

构造函数描述
PbrMaterial()构造默认的 PBR 材质实例
PbrMaterial(Vector3 albedo)使用指定的反照率颜色值构造默认的 PBR 材质。

字段

字段描述
MAP_AMBIENTsetTexture 中用于分配环境纹理映射。
MAP_DIFFUSEsetTexture 中用于分配漫反射纹理映射。
MAP_EMISSIVEsetTexture 中用于分配自发光纹理映射。
MAP_NORMALsetTexture 中用于分配法线纹理映射。
MAP_SPECULARsetTexture 中用于分配高光纹理映射。

方法

方法描述
equals(Object arg0)
findProperty(String propertyName)查找属性。
fromMaterial(Material material)允许将其他材质转换为 PbrMaterial Example:
getAlbedo()获取材质的基础颜色
getAlbedoTexture()获取反照率纹理
getClass()
getEmissiveColor()获取自发光颜色
getEmissiveTexture()获取自发光纹理
getMetallicFactor()获取材质的金属度,值为 1 表示材质为金属,值为 0 表示材质为介电体。
getMetallicRoughness()获取金属度(R 通道)和粗糙度(G 通道)的纹理
getName()获取名称。
getNormalTexture()获取法线贴图纹理
getOcclusionFactor()获取环境遮蔽因子
getOcclusionTexture()获取环境遮蔽纹理
getProperties()获取所有属性的集合。
getProperty(String property)获取指定属性的值
getRoughnessFactor()获取材质的粗糙度,值为 1 表示材质完全粗糙,值为 0 表示材质完全光滑。
getSpecularTexture()获取高光颜色纹理
getTexture(String slotName)从指定槽获取纹理,它可以是材质的属性名称或着色器的参数名称。
getTransparency()获取透明度因子。
hashCode()
iterator()获取枚举器以遍历内部纹理槽。
notify()
notifyAll()
removeProperty(Property property)移除动态属性。
removeProperty(String property)移除通过名称标识的指定属性
setAlbedo(Vector3 value)设置材质的基础颜色
setAlbedoTexture(TextureBase value)设置 albedo 的纹理
setEmissiveColor(Vector3 value)设置自发光颜色
setEmissiveTexture(TextureBase value)设置自发光的纹理
setMetallicFactor(double value)设置材质的金属度,值为 1 表示材质是金属,值为 0 表示材质是介电体。
setMetallicRoughness(TextureBase value)设置 metallic(R 通道)和 roughness(G 通道)的纹理
setName(String value)设置名称。
setNormalTexture(TextureBase value)设置法线贴图的纹理
setOcclusionFactor(double value)设置环境遮蔽的因子
setOcclusionTexture(TextureBase value)设置环境遮蔽的纹理
setProperty(String property, Object value)设置指定属性的值
setRoughnessFactor(double value)设置材质的粗糙度,值为 1 表示材质完全粗糙,值为 0 表示材质完全光滑。
setSpecularTexture(TextureBase value)设置镜面颜色的纹理
setTexture(String slotName, TextureBase texture)将纹理设置到指定槽
setTransparency(double value)设置透明度因子。
toString()将对象格式化为字符串
wait()
wait(long arg0)
wait(long arg0, int arg1)

PbrMaterial()

public PbrMaterial()

构造默认的 PBR 材质实例

PbrMaterial(Vector3 albedo)

public PbrMaterial(Vector3 albedo)

使用指定的反照率颜色值构造默认的 PBR 材质。

Parameters:

参数类型描述
albedoVector3默认 albedo 颜色值

MAP_AMBIENT

public static final String MAP_AMBIENT

setTexture 中用于分配环境纹理映射。

MAP_DIFFUSE

public static final String MAP_DIFFUSE

setTexture 中用于分配漫反射纹理映射。

MAP_EMISSIVE

public static final String MAP_EMISSIVE

setTexture 中用于分配自发光纹理映射。

MAP_NORMAL

public static final String MAP_NORMAL

setTexture 中用于分配法线纹理映射。

MAP_SPECULAR

public static final String MAP_SPECULAR

setTexture 中用于分配高光纹理映射。

equals(Object arg0)

public boolean equals(Object arg0)

Parameters:

参数类型描述
arg0java.lang.Object

Returns: 布尔

findProperty(String propertyName)

public Property findProperty(String propertyName)

查找属性。它可以是动态属性(由 CreateDynamicProperty/SetProperty 创建)或本机属性(通过其名称标识)

Parameters:

参数类型描述
propertyNamejava.lang.String属性名称。

Returns: Property - The property.

fromMaterial(Material material)

public static PbrMaterial fromMaterial(Material material)

允许将其他材质转换为 PbrMaterial Example:

var mat = new LambertMaterial();
     var tex = new Texture();
     tex.setFileName("diffuse.png");
     mat.setTexture(Material.MAP_DIFFUSE, tex);
     mat.setDiffuseColor(new Vector3(0.3, 0.9, 0.4));
     PbrMaterial pbr = PbrMaterial.fromMaterial(mat);

Parameters:

参数类型描述
materialMaterial

Returns: PbrMaterial

getAlbedo()

public Vector3 getAlbedo()

获取材质的基础颜色

Returns: Vector3 - the base color of the material

getAlbedoTexture()

public TextureBase getAlbedoTexture()

获取反照率纹理

Returns: TextureBase - the texture for albedo

getClass()

public final native Class<?> getClass()

Returns: java.lang.Class

getEmissiveColor()

public Vector3 getEmissiveColor()

获取自发光颜色

Returns: Vector3 - the emissive color

getEmissiveTexture()

public TextureBase getEmissiveTexture()

获取自发光纹理

Returns: TextureBase - the texture for emissive

getMetallicFactor()

public double getMetallicFactor()

获取材质的金属度,值为 1 表示材质为金属,值为 0 表示材质为介电体。

Returns: double - 材质的金属度,值为 1 表示材质是金属,值为 0 表示材质是介电体。

getMetallicRoughness()

public TextureBase getMetallicRoughness()

获取金属度(R 通道)和粗糙度(G 通道)的纹理

Returns: TextureBase - the texture for metallic(in R channel) and roughness(in G channel)

getName()

public String getName()

获取名称。

Returns: java.lang.String - 名称。

getNormalTexture()

public TextureBase getNormalTexture()

获取法线贴图纹理

Returns: TextureBase - the texture of normal mapping

getOcclusionFactor()

public double getOcclusionFactor()

获取环境遮蔽因子

Returns: double - 环境遮蔽的因子

getOcclusionTexture()

public TextureBase getOcclusionTexture()

获取环境遮蔽纹理

Returns: TextureBase - the texture for ambient occlusion

getProperties()

public PropertyCollection getProperties()

获取所有属性的集合。

Returns: PropertyCollection - the collection of all properties.

getProperty(String property)

public Object getProperty(String property)

获取指定属性的值

Parameters:

参数类型描述
属性java.lang.String属性名称

Returns: java.lang.Object - 找到的属性的值

getRoughnessFactor()

public double getRoughnessFactor()

获取材质的粗糙度,值为 1 表示材质完全粗糙,值为 0 表示材质完全光滑。

Returns: double - 材质的粗糙度,值为 1 表示材质完全粗糙,值为 0 表示材质完全光滑。

getSpecularTexture()

public TextureBase getSpecularTexture()

获取高光颜色纹理

Returns: TextureBase - the texture for specular color

getTexture(String slotName)

public TextureBase getTexture(String slotName)

从指定槽获取纹理,它可以是材质的属性名称或着色器的参数名称。

Parameters:

参数类型描述
slotNamejava.lang.String槽名称。

Returns: TextureBase - The texture. Example:

var mat = new LambertMaterial();
     var tex = new Texture();
     tex.setFileName("diffuse.png");
     mat.setTexture(Material.MAP_DIFFUSE, tex);
     tex = (Texture)mat.getTexture(Material.MAP_DIFFUSE);

getTransparency()

public double getTransparency()

获取透明度因子。该因子的取值范围应在 0(0%,完全不透明)到 1(100%,完全透明)之间。任何无效的因子值都会被限制在范围内。

Returns: double - 透明度因子。该因子的取值范围应在 0(0%,完全不透明)到 1(100%,完全透明)之间。任何无效的因子值都会被限制在范围内。

hashCode()

public native int hashCode()

Returns: int

iterator()

public Iterator<TextureSlot> iterator()

获取枚举器以遍历内部纹理槽。

Returns: java.util.Iterator<com.aspose.threed.TextureSlot>

notify()

public final native void notify()

notifyAll()

public final native void notifyAll()

removeProperty(Property property)

public boolean removeProperty(Property property)

移除动态属性。

Parameters:

参数类型描述
propertyProperty要删除哪个属性

Returns: boolean - 如果属性成功删除则为 true

removeProperty(String property)

public boolean removeProperty(String property)

移除通过名称标识的指定属性

Parameters:

参数类型描述
属性java.lang.String要删除哪个属性

Returns: boolean - 如果属性成功删除则为 true

setAlbedo(Vector3 value)

public void setAlbedo(Vector3 value)

设置材质的基础颜色

Parameters:

参数类型描述
valueVector3新值

setAlbedoTexture(TextureBase value)

public void setAlbedoTexture(TextureBase value)

设置 albedo 的纹理

Parameters:

参数类型描述
valueTextureBase新值

setEmissiveColor(Vector3 value)

public void setEmissiveColor(Vector3 value)

设置自发光颜色

Parameters:

参数类型描述
valueVector3新值

setEmissiveTexture(TextureBase value)

public void setEmissiveTexture(TextureBase value)

设置自发光的纹理

Parameters:

参数类型描述
valueTextureBase新值

setMetallicFactor(double value)

public void setMetallicFactor(double value)

设置材质的金属度,值为 1 表示材质是金属,值为 0 表示材质是介电体。

Parameters:

参数类型描述
double新值

setMetallicRoughness(TextureBase value)

public void setMetallicRoughness(TextureBase value)

设置 metallic(R 通道)和 roughness(G 通道)的纹理

Parameters:

参数类型描述
valueTextureBase新值

setName(String value)

public void setName(String value)

设置名称。

Parameters:

参数类型描述
java.lang.String新值

setNormalTexture(TextureBase value)

public void setNormalTexture(TextureBase value)

设置法线贴图的纹理

Parameters:

参数类型描述
valueTextureBase新值

setOcclusionFactor(double value)

public void setOcclusionFactor(double value)

设置环境遮蔽的因子

Parameters:

参数类型描述
double新值

setOcclusionTexture(TextureBase value)

public void setOcclusionTexture(TextureBase value)

设置环境遮蔽的纹理

Parameters:

参数类型描述
valueTextureBase新值

setProperty(String property, Object value)

public void setProperty(String property, Object value)

设置指定属性的值

Parameters:

参数类型描述
属性java.lang.String属性名称
java.lang.Object属性的值

setRoughnessFactor(double value)

public void setRoughnessFactor(double value)

设置材质的粗糙度,值为 1 表示材质完全粗糙,值为 0 表示材质完全光滑。

Parameters:

参数类型描述
double新值

setSpecularTexture(TextureBase value)

public void setSpecularTexture(TextureBase value)

设置镜面颜色的纹理

Parameters:

参数类型描述
valueTextureBase新值

setTexture(String slotName, TextureBase texture)

public void setTexture(String slotName, TextureBase texture)

将纹理设置到指定槽

Parameters:

参数类型描述
slotNamejava.lang.String槽名称。
textureTextureBase
var mat = new LambertMaterial();
     var tex = new Texture();
     tex.setFileName("diffuse.png");
     mat.setTexture(Material.MAP_NORMAL, tex);
``` |

### setTransparency(double value) {#setTransparency-double-}

public void setTransparency(double value)



设置透明度因子。该因子的取值范围应在 0(0%,完全不透明)到 1(100%,完全透明)之间。任何无效的因子值都会被限制在范围内。

**Parameters:**
| 参数 | 类型 | 描述 |
| --- | --- | --- |
| 值 | double | 新值 |

### toString() {#toString--}

public String toString()



将对象格式化为字符串

**Returns:**
java.lang.String - 对象字符串
### wait() {#wait--}

public final void wait()





### wait(long arg0) {#wait-long-}

public final void wait(long arg0)





**Parameters:**
| 参数 | 类型 | 描述 |
| --- | --- | --- |
| arg0 | long |  |

### wait(long arg0, int arg1) {#wait-long-int-}

public final void wait(long arg0, int arg1)





**Parameters:**
| 参数 | 类型 | 描述 |
| --- | --- | --- |
| arg0 | long |  |
| arg1 | int |  |