このページは過去の情報となります。
新しいスクリプトリファレンスはこちらになります。
ExportMaterialはExportAssetsの中にあるマテリアル制御系の関数の後に追加されました。
現在はこちらのページの関数が推奨です。
ExportAssets | ||
---|---|---|
名前 | 説明 | バージョン |
material | VCI内のObjectを取得 | |
ExportMaterial | ||
名前 | 説明 | バージョン |
GetNames | マテリアル名の一覧を取得 | |
GetColorFromIndex | 番号を指定してColorを取得 | |
GetColor | 名前を指定してColorを取得 | |
GetEmissionColorFromIndex | 番号を指定してEmissionColorを取得 | |
GetEmissionColor | 名前を指定してEmissionColorを取得 | |
GetTextureOffsetFromIndex | 番号を指定してTextureOffsetを取得 | |
GetTextureOffset | 名前を指定してTextureOffsetを取得 | |
SetColorFromIndex | 番号を指定してColorを設定 | |
SetColor | 名前を指定してColorを設定 | |
SetEmissionColorFromIndex | 番号を指定してEmissionColorを設定 | |
SetEmissionColor | 名前を指定してEmissionColorを設定 | |
SetTextureOffsetFromIndex | 番号を指定してTextureOffsetを設定 | |
SetTextureOffset | 名前を指定してTextureOffsetを設定 | |
SetTextureFromIndex | 番号を指定してTextureを設定 | |
SetTexture | 名前を指定してTextureを設定 | |
ResetFromIndex | 番号を指定して初期状態にリセット | |
Reset | 名前を指定して初期状態にリセット |
_ALL_
を含む関数は、他のクライアントでも実行され同期します。
全てのクライアントで同じ結果になってほしい場合は _ALL_
を含む関数を使用してください。
SetColor _ALL_SetColor
ExportAssets. material ExportMaterial
VCI内のObjectを取得します。
local Material = vci.assets.material function onUse(use) print(Material.GetColor("CubeColor")) end
RGBA(1.000, 1.000, 1.000, 1.000)
ExportMaterial.GetNames: fun(): usertype
マテリアル名の一覧を取得します。
function onUse(use) for key, value in pairs(vci.assets.material.GetNames()) do print(key.. ' = ' ..value) end end
"1 = Default-Material" "2 = Cube-Material" "3 = Test-Material"
GetColorFromIndex: fun(index: number): Color
番号を指定してColorを取得します。
function onUse(use) print(vci.assets.material.GetColorFromIndex(1)) end
RGBA(0.500, 0.500, 0.500, 1.000)
GetColor: fun(name: string): Color
名前を指定してColorを取得します。
function onUse(use) print(vci.assets.material.GetColor("Cube-Material")) end
RGBA(0.500, 0.500, 0.500, 1.000)
GetEmissionColorFromIndex: fun(index: number): Color
番号を指定してEmissionColorを取得します。
function onUse(use) print(vci.assets.material.GetEmissionColorFromIndex(1)) end
RGBA(0.000, 0.000, 0.000, 1.000)
GetEmissionColor: fun(name: string): Color
名前を指定してEmissionColorを取得します。
function onUse(use) print(vci.assets.material.GetEmissionColor("Cube-Material")) end
RGBA(0.000, 0.000, 0.000, 1.000)
GetTextureOffsetFromIndex: fun(index: number): Vector2
番号を指定してTextureOffsetを取得します。
function onUse(use) print(vci.assets.material.GetTextureOffsetFromIndex(1)) end
(0.0, 0.0)
GetTextureOffset: fun(name: string): Vector2
名前を指定してTextureOffsetを取得します。
function onUse(use) print(vci.assets.material.GetTextureOffset("Cube-Material")) end
(0.0, 0.0)
SetColorFromIndex: fun(index: number, color: Color)
_ALL_SetColorFromIndex: fun(index: number, color: Color)
番号を指定してColorを設定します。
function onUse(use) vci.assets.material.SetColorFromIndex(1, Color.red) end
index番号1番のマテリアルのColorを赤に設定します。
SetColor: fun(name: string, color: Color) fun(name: string): Vector2
_ALL_SetColor: fun(name: string, color: Color) fun(name: string): Vector2
名前を指定してColorを設定します。
function onUse(use) vci.assets.material.SetColor("Cube-Material", Color.blue) end
マテリアル名がCube-MaterialのColorを青に設定します。
SetEmissionColorFromIndex: fun(index: number, color: Color)
_ALL_SetEmissionColorFromIndex: fun(index: number, color: Color)
番号を指定してEmissionColorを設定します。
function onUse(use) vci.assets.material.SetEmissionColorFromIndex(1, Color.red) end
index番号1番のマテリアルのEmissionColorを赤に設定します。
SetEmissionColor: fun(name: string, color: Color)
_ALL_SetEmissionColor: fun(name: string, color: Color)
名前を指定してEmissionColorを設定します。
function onUse(use) vci.assets.material.SetEmissionColor("Cube-Material", Color.blue) end
マテリアル名がCube-MaterialのEmissionColorを青に設定します。
SetTextureOffsetFromIndex: fun(index: number, offset: Vector2)
_ALL_SetTextureOffsetFromIndex: fun(index: number, offset: Vector2)
番号を指定してTextureOffsetを設定します。
function onUse(use) if count == 9 then count = 0 else count = count + 1 end SetCounterOffset(count) end function SetCounterOffset(count) local offset = Vector2.zero -- y shift local Yshift = math.floor(count / 4) offset.y = -0.25 * Yshift -- x shift local Xshift = count % 4 offset.x = 0.25 * Xshift vci.assets.material.SetTextureOffsetFromIndex(1, offset) end
クリックするごとにTextureOffsetをずらします。サンプルでは4*4枚の画像まで使用できますが、10枚だけ使用しています。
SetTextureOffset: fun(name: string, offset: Vector2)
_ALL_SetTextureOffset: fun(name: string, offset: Vector2)
名前を指定してTextureOffsetを設定します。
function onUse(use) local offset = Vector2.zero offset.y = -0.25 offset.x = 0.25 * Xshift vci.assets.material.SetTextureOffset("PlaneMaterial", offset) end
マテリアル名が"PlaneMaterial"であるTextureのOffsetを(0.25, -0.25)に設定しています。
SetTextureFromIndex: fun(index: number, textureId: string)
_ALL_SetTextureFromIndex: fun(index: number, textureId: string)
番号 index
を指定したマテリアルに対して、指定のテクスチャ textureId
を適用します。
詳しい説明は SetTexture をご覧ください。
SetTexture: fun(name: string, textureId: string)
_ALL_SetTexture: fun(name: string, textureId: string)
名前 name
を指定したマテリアルに対して、指定のテクスチャ textureId
を適用します。
テクスチャ ID | 説明 |
---|---|
_SYS_NULL | テクスチャの指定が空の状態 |
_SYS_DEFAULT | このマテリアルのデフォルトのテクスチャ |
GetCameraPreviewTextureで得られるID | 写真撮影用カメラのプレビューテクスチャ |
SetOnTakePhotoCallbackで得られるID | 写真撮影用カメラの写真テクスチャ |
function onUse(use) -- Use するとテクスチャが無くなる vci.assets.material.SetTexture("PlaneMaterial", "_SYS_NULL") end function onUnuse(use) -- Unuse するとテクスチャがデフォルトに戻る vci.assets.material.SetTexture("PlaneMaterial", "_SYS_DEFAULT") end
ResetFromIndex: fun(index: number)
_ALL_ResetFromIndex: fun(index: number)
番号を指定して初期状態にリセットします。
function onUse(use) vci.assets.material.ResetFromIndex(1) end
index番号1番のマテリアルを初期状態にします。
Reset: fun(name: string)
_ALL_Reset: fun(name: string)
名前を指定して初期状態にリセットします。
function onUse(use) vci.assets.material.Reset("Cube-Material") end
マテリアル名が"Cube-Material"のマテリアルを初期状態にします。