SetState#

ExportAnimation.SetState(name, stateJson)#

アニメーションの状態を設定します。

Parameters:
  • name (string) -- AnimationClipの名前

  • stateJson (string) -- 設定を記述したJSON文字列

説明#

引数の stateJson は以下のキーを持つJSON文字列です。

キー

説明

speed

数値

再生速度を指定します。デフォルト値は1です。0未満を指定した場合逆再生になります。

weight

数値

ブレンドウェイトを指定します。デフォルト値は1です。0以上1以下の値を設定してください。

wrap_mode

文字列

再生時間がキーフレーム範囲を超えた時の動作を指定します。指定できる値は後述します。

wrap_modeで指定できる値は以下の通りです。

説明

once

Timeがアニメーションの最後に達すると、クリップは自動的にプレイを停止し、Timeがクリップの始めにリセットされる

loop

Timeがアニメーションクリップの最後に達すると、Timeは最初に戻りループする

ping_pong

Timeがアニメーションクリップの最後に達すると、Timeは始めと終わりの間をピンポンのように行き来する

clamp_forever

通常の再生が行われた後、最後のフレームのアニメーションが再生され続けることになり停止することはありません

Sample#

-- AnimationをアタッチしたオブジェクトのExportAnimationを取得
local transform = vci.assets.GetTransform("AnimationObject")
local animation = transform.GetAnimation()

animation.PlayFromName("Anim1", true)

function update()
    -- ボタン入力でアニメーションの速度を変更
    if vci.me.GetButtonInput(1) then
        animation.SetState("Anim1", '{"speed":0.1}')
    end
    if vci.me.GetButtonInput(2) then
        animation.SetState("Anim1", '{"speed":1}')
    end
end