PlayWithState#

ExportAnimation.PlayWithState(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()

-- 指定した状態でアニメーションを再生
local stateTable = {speed=2, weight=1, wrap_mode="ping_pong"}
local stateJson = json.serialize(stateTable)
animation.PlayWithState("Anim1", stateJson)