バーチャルキャスト公式Wiki
メニュー
配信
その他
リリース情報
安定版
ベータ版
Quest版
- wiki編集者用ページ
-
安定版
ベータ版
Quest版
UniVCI v0.21 からRoot以外に追加された複数のアニメーションがVCIエクスポート時に出力されるようになります。
UniVCIのバージョンによって動かしたいSubItemにAnimationを追加してVCIエクスポートできない場合があります。その場合は、 Animationを組込んだEmptyの子に動かしたいObjectを置く方法をお試しください。
[EmbeddedScriptWorkspace]フォルダ内の[types.lua]を開くと一覧を確認できます。
名前 | 説明 |
---|---|
GetCount: fun(): number | アニメーションの数を取得します。 |
GetNames: fun(): usertype | アニメーションの名前を取得します。 |
HasClip: fun(name: string): bool | アニメーションが存在するかどうかを示します。 (1.8.2a) |
IsPlaying: fun(): bool | アニメーションが再生中かどうかを示します。 (1.8.2a) |
Play: fun(isloop: bool) | 引数に true を入れた場合ループ再生し、false の場合1回だけ再生されます。 |
PlayFromIndex: fun(index: number, isloop: bool) | アニメーションをインデックス番号で指定して再生します。 |
PlayFromName: fun(name: string, isloop: bool) | アニメーションをファイル名で指定して再生します。 |
PlayOneShot: fun() | アニメーションを1回だけ再生します。 Play(false)に相当します。 |
PlayWithState: fun(name: string, states: string) | 状態を指定して再生します。 (1.8.2a) |
Blend: fun(name: string, options: string) | アニメーションをブレンドして再生します。 (1.8.2a) |
CrossFade: fun(name: string, options: string) | アニメーションをクロスフェードして再生します。 (1.8.2a) |
SetState: fun(name: string, states: string) | アニメーションの状態を指定します。 (1.8.2a) |
Stop: fun() | アニメーションの再生を停止します。 |
Rewind: fun() | 再生中のアニメーションを巻き戻します。 (1.8.2a) |
_ALL_
を含むメソッド(他のクライアントでも実行されます)
名前 | 説明 |
---|---|
_ALL_Play: fun(isloop: bool) | 引数に true を入れた場合ループ再生し、false の場合1回だけ再生されます。 |
_ALL_PlayFromIndex: fun(index: number, isloop: bool) | アニメーションをインデックス番号で指定して再生します。 |
_ALL_PlayFromName: fun(name: string, isloop: bool) | アニメーションをファイル名で指定して再生します。 |
_ALL_PlayOneShot: fun() | アニメーションを1回だけ再生します。 |
_ALL_PlayWithState: fun(name: string, states: string) | 状態を指定して再生します。 (1.8.2a) |
_ALL_Blend: fun(name: string, options: string) | アニメーションをブレンドして再生します。 (1.8.2a) |
_ALL_CrossFade: fun(name: string, options: string) | アニメーションをクロスフェードして再生します。 (1.8.2a) |
_ALL_SetState: fun(name: string, states: string) | アニメーションの状態を指定します。 (1.8.2a) |
_ALL_Stop: fun() | アニメーションの再生を停止します。 |
_ALL_Rewind: fun() | 再生中のアニメーションを巻き戻します。 (1.8.2a) |
名前 | 型 | 説明 |
---|---|---|
speed | number | 再生速度を指定します。デフォルト値は1です。0以上の値を設定してください。 |
weight | number | ブレンドウェイトを指定します。デフォルト値は1です。0以上1以下の値を設定してください。 |
wrap_mode | string | ラップモードを指定します。デフォルト値はonceです。once, loop, ping_pongを指定できます。 |
設定例
tableをjsonに変換して渡します。
local table = { wrap_mode="loop", speed=0.2} local jsonString = json.serialize(table) anim.PlayWithState("アニメーション名", jsonString)
名前 | 型 | 説明 |
---|---|---|
target_weight | number | ブレンドウェイトを指定します。デフォルト値は1です。0以上の値を設定してください。 |
fade_length | number | フェード時間(秒)を指定します。デフォルト値は0.3秒です。0以上の値を指定してください。 |
UnityのAnimation.Blendに相当する機能です。 Animation.Blend
設定例
tableをjsonに変換して渡します。
local table = { wrap_mode="loop", speed=1} local jsonString = json.serialize(table) anim.SetState("再生中のアニメーション", jsonString) anim.Blend("ブレンドするアニメーション", json.serialize({target_weight=2, fade_length=1}))
名前 | 型 | 説明 |
---|---|---|
fade_length | number | フェード時間(秒)を指定します。デフォルト値は0.3秒です。0以上の値を指定してください。 |
UnityのAnimation.CrossFadeに相当する機能です。 Animation.CrossFade
設定例
tableをjsonに変換して渡します。
anim.CrossFade("アニメーション名", json.serialize({fade_length=1}))
オプションを指定しない場合は、空文字列を渡してください。
anim.CrossFade("アニメーション名", ""))
サンプル
local chan_1 = vci.assets.GetTransform("SD_unitychan_generic_1") local chan_2 = vci.assets.GetTransform("SD_unitychan_generic_2") local chan_3 = vci.assets.GetTransform("SD_unitychan_generic_3") -- ExportTransformからアニメーションを入手 local chanAnime_1 = chan_1.GetAnimation() local chanAnime_2 = chan_2.GetAnimation() local chanAnime_3 = chan_3.GetAnimation() -- 再生 chanAnime_1.Play(true) -- PlayFromIndex(0, true)と同じ chanAnime_2.PlayOneShot() -- PlayFromIndex(0, false)と同じ chanAnime_3.PlayFromName("Damaged@loop", true) -- アニメーションの数と名前を入手できます print(chanAnime_3.GetCount()) local names = chanAnime_3.GetNames() for i,m in ipairs(names) do print(string.format("%d[%s]",i,m)) end
実行結果
(3種類のアニメーションが再生されます)
GetCount: fun(): number
サンプル
local Anime = vci.assets.GetTransform("Anime") local SubitemAnime = Anime.GetAnimation() function onUse(use) print(SubitemAnime.GetCount()) end
実行結果
2
説明
アニメーションの数を取得します。
GetNames: fun(): usertype
サンプル
local Anime = vci.assets.GetTransform("Anime") local SubitemAnime = Anime.GetAnimation() function onUse(use) for key, value in pairs(SubitemAnime.GetNames()) do print(key.. ' = ' ..value) end end
実行結果
"1 = Anim1" "2 = Anim2"
説明
アニメーションの名前を取得します。。
HasClip: fun(name: string): bool
サンプル
local Anime = vci.assets.GetTransform("Anime") local SubitemAnime = Anime.GetAnimation() function onUse(use) print(SubitemAnime.HasClip("Anim1")) end
実行結果
true
説明
アニメーションが存在するかどうかを示します。 (1.8.2a)
IsPlaying: fun(): bool
サンプル
local Anime = vci.assets.GetTransform("Anime") local SubitemAnime = Anime.GetAnimation() function onUse(use) print(SubitemAnime.IsPlaying()) end
実行結果
false
説明
アニメーションが再生中かどうかを示します。 (1.8.2a)
Play: fun(isloop: bool)
サンプル
local Anime = vci.assets.GetTransform("Anime") local SubitemAnime = Anime.GetAnimation() function onUse(use) SubitemAnime.Play(false) end
実行結果
1回だけアニメーションが再生されます。
説明
引数に true を入れた場合ループ再生し、false の場合1回だけ再生されます。
PlayFromIndex: fun(index: number, isloop: bool)
サンプル
local Anime = vci.assets.GetTransform("Anime") local SubitemAnime = Anime.GetAnimation() function onUse(use) SubitemAnime.PlayFromIndex(0, true) end
実行結果
インデックス番号0のアニメーションがループ再生されます。
説明
アニメーションをインデックス番号で指定して再生します。
引数に true を入れた場合ループ再生し、false の場合1回だけ再生されます。
PlayFromName: fun(name: string, isloop: bool)
サンプル
local Anime = vci.assets.GetTransform("Anime") local SubitemAnime = Anime.GetAnimation() function onUse(use) SubitemAnime.PlayFromName('Anim1', true) end
実行結果
ファイル名'Anim1'のアニメーションがループ再生されます。
説明
アニメーションをファイル名で指定して再生します。
引数に true を入れた場合ループ再生し、false の場合1回だけ再生されます。
PlayOneShot: fun()
サンプル
local Anime = vci.assets.GetTransform("Anime") local SubitemAnime = Anime.GetAnimation() function onUse(use) SubitemAnime.PlayOneShot() end
実行結果
インデックス番号0のアニメーションを1回だけ再生します。
説明
アニメーションを1回だけ再生します。
Play(false)に相当します。
PlayWithState: fun(name: string, states: string)
サンプル
local Anime = vci.assets.GetTransform("Anime") local SubitemAnime = Anime.GetAnimation() local table = { wrap_mode="ping_pong", speed=0.8} local jsonString = json.serialize(table) function onUse(use) SubitemAnime.PlayWithState("Anim1", jsonString) end
実行結果
ファイル名"Anim1"のアニメーションがスピード0.8で再生と逆再生を繰り返します。
説明
状態を指定して再生します。 (1.8.2a)
名前 | 型 | 説明 |
---|---|---|
speed | number | 再生速度を指定します。デフォルト値は1です。0未満を指定した場合逆再生になります。 |
weight | number | ブレンドウェイトを指定します。デフォルト値は1です。0以上1以下の値を設定してください。 |
wrap_mode | string | ラップモードを指定します。デフォルト値はonceです。once, loop, ping_pongを指定できます。 |
Blend: fun(name: string, options: string)
サンプル
local Anime = vci.assets.GetTransform("Anime") local SubitemAnime = Anime.GetAnimation() local table = { wrap_mode="loop", speed=1} local jsonString = json.serialize(table) function onUse(use) SubitemAnime.PlayWithState("Anim1", jsonString) SubitemAnime.Blend("Anim2", json.serialize({target_weight=2, fade_length=1})) end
実行結果
"Anim1"と"Anim2"をブレンドして再生します。 (1.8.2a)
説明
アニメーションをブレンドして再生します。 (1.8.2a)
名前 | 型 | 説明 |
---|---|---|
target_weight | number | ブレンドウェイトを指定します。デフォルト値は1です。0以上の値を設定してください。 |
fade_length | number | フェード時間(秒)を指定します。デフォルト値は0.3秒です。0以上の値を指定してください。 |
UnityのAnimation.Blendに相当する機能です。 Animation.Blend
CrossFade: fun(name: string, options: string)
サンプル
local Anime = vci.assets.GetTransform("Anime") local SubitemAnime = Anime.GetAnimation() local table = { wrap_mode="loop", speed=1} local jsonString = json.serialize(table) function onUse(use) SubitemAnime.PlayWithState("Anim1", jsonString) SubitemAnime.CrossFade("Anim2", json.serialize({fade_length=1})) end
実行結果
"Anim1"から"Anim2"にクロスフェードして再生します。 (1.8.2a)
説明
アニメーションをクロスフェードして再生します。 (1.8.2a)
名前 | 型 | 説明 |
---|---|---|
fade_length | number | フェード時間(秒)を指定します。デフォルト値は0.3秒です。0以上の値を指定してください。 |
UnityのAnimation.CrossFadeに相当する機能です。 Animation.CrossFade
オプションを指定しない場合は、空文字列を渡してください。
SetState: fun(name: string, states: string)
サンプル
local Anime = vci.assets.GetTransform("Anime") local SubitemAnime = Anime.GetAnimation() local table = { wrap_mode="loop", speed=1} local jsonString = json.serialize(table) function onUse(use) SubitemAnime.PlayWithState("Anim1", jsonString) end
実行結果
"Anim1"の状態を速度1でループ再生に設定します。
説明
アニメーションの状態を指定します。 (1.8.2a)
名前 | 型 | 説明 |
---|---|---|
speed | number | 再生速度を指定します。デフォルト値は1です。0以上の値を設定してください。 |
weight | number | ブレンドウェイトを指定します。デフォルト値は1です。0以上1以下の値を設定してください。 |
wrap_mode | string | ラップモードを指定します。デフォルト値はonceです。once, loop, ping_pongを指定できます。 |
Stop: fun()
サンプル
local Anime = vci.assets.GetTransform("Anime") local SubitemAnime = Anime.GetAnimation() function onUse(use) SubitemAnime.Stop() end
実行結果
再生されているアニメーションが停止します。
説明
アニメーションの再生を停止します。
Rewind: fun()
サンプル
local Anime = vci.assets.GetTransform("Anime") local SubitemAnime = Anime.GetAnimation() function onUse(use) SubitemAnime.Rewind() end
実行結果
アニメーションを最初から再生し直します。
説明
再生中のアニメーションを巻き戻します。 (1.8.2a)