MQMaterial class

ポリゴン表面に色付けを行うための材質情報を保持します。

Property

get set Type Name Description
o o string name マテリアル名
o x long id マテリアルを識別するユニークID
o o MQColor color 基本色
o o float alpha 不透明度
o o float diffuse 拡散光
o o float ambient 環境光(モノクロ)
o o MQColor ambientColor 環境光
o o float emissive 発光
o o float specular 反射光(モノクロ)
o o MQColor specularColor 反射光
o o float power 反射強度
o o float reflection 鏡面反射率
o o float refraction 屈折率
o o int shader シェーダの種類
[0] Classic
[1] Constant
[2] Lambert
[3] Phong
[4] Blinn
[5] HLSL
o x string shaderName シェーダ名(shaderを文字列として取得)
o o string shaderFilename シェーダ用ファイル名
o x MQShaderNode shaderNode シェーダノード
[None] HLSLでないかシェーダファイル名が無効
[MQShaderNode] HLSLかつ有効なシェーダファイル名
o x dictionary subshaderNodes サブシェーダノード
[None] HLSLでないかシェーダファイル名が無効
[dictionary{string : MQShaderNode}] サブシェーダノードIDとシェーダノードの辞書
o o int vertexColor 頂点カラー
[0] なし
[1] 基本色に適用
o o int doubleSided 両面表示
[0] 片面
[1] 両面
o o int mapType マッピングの投影方式
[0] UVマッピング
[1] 平面マッピング
[2] 円筒マッピング
[3] 球マッピング
o o MQPoint mapScaling マッピングの投影スケーリング
o o MQAngle mapAngle マッピングの投影角度
o o MQPoint mapPosition マッピングの投影位置
o o string textureMap テクスチャマッピングのファイル名
o o string alphaMap アルファマッピングのファイル名
o o string bumpMap バンプマッピングのファイル名
o o int textureUVChannel テクスチャマッピングのUVチャンネルID
[0] 標準UVチャンネル
[!= 0] MQDocument.getUVChannelID()で生成・取得するID
o o int alphaUVChannel アルファマッピングのUVチャンネルID
o o int bumpUVChannel バンプマッピングのUVチャンネルID
o o int wrapU マッピングのU方向の境界のラッピング処理
[0] 繰り返し
[1] ミラー
[2] クランプ
o o int wrapV マッピングのV方向の境界のラッピング処理
[0] 繰り返し
[1] ミラー
[2] クランプ
o o int filter マッピング画像のフィルタリング
[0] 最近点補間
[1] バイリニア補間

Method

Member Description
clone 材質を複製します。
getTextureMapPath テクスチャマッピングのファイル名を絶対パスとして取得します。
getAlphaMapPath アルファマッピングのファイル名を絶対パスとして取得します。
getBumpMapPath バンプマッピングのファイル名を絶対パスとして取得します。
allocUserData 材質にユーザーデータ用の領域を確保します。
freeUserData ユーザーデータ用領域を解放します。
getUserDataInt 材質ユーザーデータからint型(4バイト)の値を取得します。
getUserDataFloat 材質ユーザーデータからfloat型(4 bytes) の値を取得します。
getUserDataString 材質ユーザーデータからstring型の文字列を取得します。
setUserDataInt 材質ユーザーデータにint型(4バイト)の値を設定します。
setUserDataFloat 材質ユーザーデータにfloat型(4バイト)の値を設定します。
setUserDataString 材質ユーザーデータにstring型の文字列を設定します。

clone

材質を複製します。

戻り値:
MQMaterial - 複製された材質

getTextureMapPath

テクスチャマッピングのファイル名を絶対パスとして取得します。

戻り値:
string - テクスチャマッピングのファイルパス
[None] 有効なファイルパスでない
注意点:
ドキュメントに登録されていないマテリアルは常にNoneを返します。

getAlphaMapPath

アルファマッピングのファイル名を絶対パスとして取得します。

戻り値:
string - アルファマッピングのファイルパス
[None] 有効なファイルパスでない
注意点:
ドキュメントに登録されていないマテリアルは常にNoneを返します。

getBumpMapPath

バンプマッピングのファイル名を絶対パスとして取得します。

戻り値:
string - バンプマッピングのファイルパス
[None] 有効なファイルパスでない
注意点:
ドキュメントに登録されていないマテリアルは常にNoneを返します。

allocUserData(userdata_id)

材質にユーザーデータ用の領域を確保します。

引数:
int userdata_id - 材質ユーザーデータID
戻り値:
int - 結果
[0] 失敗
[1] 成功

freeUserData(userdata_id)

ユーザーデータ用領域を解放します。

引数:
int userdata_id - 材質ユーザーデータID

getUserDataInt(userdata_id, offset)

材質ユーザーデータからint型(4バイト)の値を取得します。

引数:
int userdata_id - 材質ユーザーデータID
int offset - データの先頭からのオフセット
戻り値:
int -
[None] 取得失敗

getUserDataFloat(userdata_id, offset)

材質ユーザーデータからfloat型(4 bytes) の値を取得します。

引数:
int userdata_id - 材質ユーザーデータID
int offset - データの先頭からのオフセット
戻り値:
float -
[None] 取得失敗

getUserDataString(userdata_id, offset, length)

材質ユーザーデータからstring型の文字列を取得します。

引数:
int userdata_id - 材質ユーザーデータID
int offset - データの先頭からのオフセット
int length - データ長(バイト単位での文字列の最大長)
戻り値:
string -
[None] 取得失敗

setUserDataInt(userdata_id, offset, value)

材質ユーザーデータにint型(4バイト)の値を設定します。

引数:
int userdata_id - 材質ユーザーデータID
int offset - データの先頭からのオフセット
int value -

setUserDataFloat(userdata_id, offset, value)

材質ユーザーデータにfloat型(4バイト)の値を設定します。

引数:
int userdata_id - 材質ユーザーデータID
int offset - データの先頭からのオフセット
float value -

setUserDataString(userdata_id, offset, length, value)

材質ユーザーデータにstring型の文字列を設定します。

引数:
int userdata_id - 材質ユーザーデータID
int offset - データの先頭からのオフセット
int length - データ長(バイト単位での文字列の最大長)
string value -