このデータは「バーチャルキャスト1.5.1a以降」で動作します。
SetTextureOffset を利用したマテリアル操作のサンプルVCIです。
アイテムを使ったときに絵柄が切り替わります。
使用しているテクスチャは以下のように3×3の画像をタイリングしたものを
「vci.assets.material._ALL_SetTextureOffsetFromIndex」でUVのOffset移動を行っています。
Material名を指定する「vci.assets.material._ALL_SetTextureOffset」でも変更可能です。
本サンプルでは「board_5tai7」というMaterial名で指定できます。
看板が表示される面のUVは3×3の1マス分を指定しています。
(UVの設定はblender、Mayaなどの3Dツールをご使用ください)
local assets = vci.assets local count = 0 if vci.state.Get("COUNT") then count = vci.state.Get("COUNT") end local TOTAL = 6 function SetTextureOffset( count ) local offset = Vector2.zero -- y shift local Yshift = math.floor(count / 3) offset.y = -(1/3) * Yshift -- x shift local Xshift = count % 3 offset.x = (1/3) * Xshift assets.material._ALL_SetTextureOffsetFromIndex(0, offset) end SetTextureOffset(count) function onUse(use) if count >= TOTAL-1 then count = 0 else count = count + 1 end vci.state.Set("COUNT", count) SetTextureOffset(count) end