Language:

サイドバー

バーチャルキャスト公式Wiki

メニュー

Steam版

デバイス

アセット

配信

その他

リリース情報

デベロッパー向け


開発環境

GLB

vci:sample:material:uvanimation

パラパラ漫画アニメーション

このサンプルは「切り替えポスター」の応用になります。

SetTextureOffset を利用して、タイリングされたテクスチャを自動で切り替えてパラパラ漫画のようなアニメーションをさせることができます。

サンプルデータ

画像作成

モデルに割り当てるUVは4×4の1マス分を指定しています。
(UVの設定はblender、Mayaなどの3Dツールをご使用ください)

使用しているテクスチャは以下のように4×4に画像をタイリングしたものを
vci.assets._ALL_SetMaterialTextureOffsetFromIndex」でUVのOffset移動を行っています。

Material名を指定する「vci.assets._ALL_SetMaterialTextureOffsetFromName」でも変更可能です。
本サンプルでは「v」というMaterial名で指定できます。


左から右、上から下の順番でカウントされていきます

VCIスクリプト

main.lua
local assets = vci.assets
local count = 0
 
local timecount=0
 
--共通変数による同期管理部分
if vci.state.Get("COUNT") then
    count = vci.state.Get("COUNT")
end
 
 
--全体の切り替え枚数  今回は4X4
local TOTAL = 16
 
--縦と横の分割数 4 
function SetTextureOffset( count )
    local offset = Vector2.zero
 
    -- y shift
    local Yshift = math.floor(count / 4)
    offset.y = -(1/4) * Yshift
 
    -- x shift
    local Xshift = count % 4
    offset.x = (1/4) * Xshift
 
    assets.material._ALL_SetTextureOffsetFromIndex(0, offset)
end
 
SetTextureOffset(count)
 
function update()
    timecount=timecount+1
    --何フレームごとに画像を切り替えるか
    if timecount>3 then
        anim()
        timecount=0
    end
end
 
--自作関数
function anim()
    if count >= TOTAL then
        count = 0
    else
        count = count + 1
    end
    vci.state.Set("COUNT", count)
    SetTextureOffset(count)
end
vci/sample/material/uvanimation.txt · 最終更新: 2023/10/02 20:52 by pastatto

ページ用ツール