脚本与 Python API

MQMaterial · 材质

本页目录
  1. 属性
  2. 方法
  3. clone
  4. getTextureMapPath
  5. getAlphaMapPath
  6. getBumpMapPath
  7. allocUserData(userdata_id)
  8. freeUserData(userdata_id)
  9. getUserDataInt(userdata_id, offset)
  10. getUserDataFloat(userdata_id, offset)
  11. getUserDataString(userdata_id, offset, length)
  12. setUserDataInt(userdata_id, offset, value)
  13. setUserDataFloat(userdata_id, offset, value)
  14. setUserDataString(userdata_id, offset, length, value)

MQMaterial 保存着色、纹理映射等颜色信息。

属性#

读取(get) 写入(set) 类型 名称 说明
x x string name 材质名称
x long id 材质唯一 ID
x x MQColor color 基础颜色
x x float alpha Alpha 值
x x float diffuse diffuse
x x float ambient 环境光(单色)
x x MQColor ambientColor ambient
x x float emissive emissive
x x float specular 镜面反射(单色)
x x MQColor specularColor specular
x x float power 镜面反射指数
x x float reflection reflection
x x float refraction refraction
x x int shader 着色器类型
[0] Classic(经典)
[1] Constant(恒定色)
[2] Lambert
[3] Phong
[4] Blinn
[5] HLSL
x string shaderName 着色器名称
x x string shaderFilename 着色器文件名
x MQShaderNode shaderNode 着色器节点
[无(None)] 不是 HLSL,或 shaderFilename 无效
[MQShaderNode] 是 HLSL,且 shaderFilename 有效
x dictionary subshaderNodes 子着色器节点
[无(None)] 不是 HLSL,或 shaderFilename 无效
[dictionary{string : MQShaderNode}] 由“子着色器节点 ID”和“着色器节点”组成的字典
x x int vertexColor 顶点颜色
[0] 无(None)
[1] 启用
x x int doubleSided 以双面方式显示面
[0] 单面
[1] 双面
x x int mapType 映射类型
[0] UV 映射
[1] 平面映射
[2] 圆柱映射
[3] 球面映射
x x MQPoint mapScaling 映射缩放
x x MQAngle mapAngle 映射角度
x x MQPoint mapPosition 映射位置
x x string textureMap 纹理贴图文件名
x x string alphaMap 透明度贴图文件名
x x string bumpMap 凹凸贴图文件名
x x int textureUVChannel 纹理贴图的 UV 通道 ID
[0] 默认 UV 通道
[!= 0] 通过 MQDocument.getUVChannelID() 生成并获取的 ID
x x int alphaUVChannel 透明度贴图的 UV 通道 ID
x x int bumpUVChannel 凹凸贴图的 UV 通道 ID
x x int wrapU 贴图 U 坐标的边界环绕方式
[0] 重复
[1] 镜像
[2] 钳制(Clamp)
x x int wrapV 贴图 V 坐标的边界环绕方式
[0] 重复
[1] 镜像
[2] 钳制(Clamp)
x x int filter 贴图图像的过滤方式
[0] 最近邻插值
[1] 双线性插值

方法#

成员 说明
clone 复制材质。
getTextureMapPath 获取纹理贴图文件的路径。
getAlphaMapPath 获取透明度贴图文件的路径。
getBumpMapPath 获取凹凸贴图文件的路径。
allocUserData 为材质中的用户数据分配内存区域。
freeUserData 释放已为用户数据分配的内存区域。
getUserDataInt 从材质用户数据中获取整数值(4 字节)。
getUserDataFloat 从材质用户数据中获取浮点值(4 字节)。
getUserDataString 从材质用户数据中获取字符串。
setUserDataInt 向材质用户数据设置整数值(4 字节)。
setUserDataFloat 向材质用户数据设置浮点值(4 字节)。
setUserDataString 向材质用户数据设置字符串。

clone #

复制材质。

返回值:
MQMaterial - 复制得到的材质

getTextureMapPath #

获取纹理贴图文件的路径。

返回值:
string - 纹理贴图文件路径
[None] 路径无效
备注:
尚未添加到文档的材质始终返回 None。

getAlphaMapPath #

获取透明度贴图文件的路径。

返回值:
string - 透明度贴图文件路径
[None] 路径无效
备注:
尚未添加到文档的材质始终返回 None。

getBumpMapPath #

获取凹凸贴图文件的路径。

返回值:
string - 凹凸贴图文件路径
[None] 路径无效
备注:
尚未添加到文档的材质始终返回 None。

allocUserData(userdata_id)#

为材质中的用户数据分配内存区域。

参数:
int userdata_id - 材质用户数据
返回值:
int - 结果
[0] 失败
[1] 成功

freeUserData(userdata_id)#

释放已为用户数据分配的内存区域。

参数:
int userdata_id - 材质用户数据

getUserDataInt(userdata_id, offset)#

从材质用户数据中获取整数值(4 字节)。

参数:
int userdata_id - 材质用户数据
int offset - 相对于用户数据起始位置的偏移量
返回值:
int - value
[None] 失败

getUserDataFloat(userdata_id, offset)#

从材质用户数据中获取浮点值(4 字节)。

参数:
int userdata_id - 材质用户数据
int offset - 相对于用户数据起始位置的偏移量
返回值:
float - value
[None] 失败

getUserDataString(userdata_id, offset, length)#

从材质用户数据中获取字符串。

参数:
int userdata_id - 材质用户数据
int offset - 相对于用户数据起始位置的偏移量
int length - 数据长度(字符串的最大字节长度)
返回值:
string - value
[None] 失败

setUserDataInt(userdata_id, offset, value)#

向材质用户数据设置整数值(4 字节)。

参数:
int userdata_id - 材质用户数据
int offset - 相对于用户数据起始位置的偏移量
int value - 值

setUserDataFloat(userdata_id, offset, value)#

向材质用户数据设置浮点值(4 字节)。

参数:
int userdata_id - 材质用户数据
int offset - 相对于用户数据起始位置的偏移量
float value - 值

setUserDataString(userdata_id, offset, length, value)#

向材质用户数据设置字符串。

参数:
int userdata_id - 材质用户数据
int offset - 相对于用户数据起始位置的偏移量
int length - 数据长度(字符串的最大字节长度)
string value - 值
输入关键词,查找手册中的内容。