Staring from UniVCI v0.21, multiple animations added to objects other than the root will be exported during the VCI export.
For the latest list of the methods, refer to “types.lua” file in “EmbeddedScriptWorkspace” folder.
Method | Description | |
---|---|---|
GetCount: fun(): number | Get the count of animations. | |
GetNames: fun(): usertype | Get the name of animations | |
HasClip: fun(name: string): bool | Indicates whether or not animations exist. (1.8.2a) | |
IsPlaying: fun(): bool | Indicates whether or not animations is playing. (1.8.2a) | |
Play: fun(isloop: bool) | Loop play when the argument is true. Play once when the argument is false. | |
PlayFromIndex: fun(index: number, isloop: bool) | Specify an animation with an index number and play. | |
PlayFromName: fun(name: string, isloop: bool) | Specify an animation with a file name and play. | |
PlayOneShot: fun() | Play an animation once. It is equivalent to Play(false). | |
PlayWithState: fun(name: string, states: string) | Specify a state and play. (1.8.2a) | |
Blend: fun(name: string, options: string) | Play blended animations. (1.8.2a) | |
CrossFade: fun(name: string, options: string) | Play cross-faded animations. (1.8.2a) | |
SetState: fun(name: string, states: string) | Specify a state for an animation. (1.8.2a) | |
Stop: fun() | Stop the playback of an animation. | |
Rewind: fun() | Rewinds the playing animation. (1.8.2a) |
The methods with _ALL_
are run on other clients as well.
Method | Description |
---|---|
_ALL_Play: fun(isloop: bool) | Loop play when the argument is true. Play once when the argument is false. |
_ALL_PlayFromIndex: fun(index: number, isloop: bool) | Specify an animation with an index number and play. |
_ALL_PlayFromName: fun(name: string, isloop: bool) | Specify an animation with a file name and play. |
_ALL_PlayOneShot: fun() | Play an animation once. |
_ALL_PlayWithState: fun(name: string, states: string) | Specify a state and play. (1.8.2a) |
_ALL_Blend: fun(name: string, options: string) | Play blended animations. (1.8.2a) |
_ALL_CrossFade: fun(name: string, options: string) | Play cross-faded animations. (1.8.2a) |
_ALL_SetState: fun(name: string, states: string) | Specify a state for an animation. (1.8.2a) |
_ALL_Stop: fun() | Stop the playback of an animation. |
_ALL_Rewind: fun() | Rewinds the playing animation. (1.8.2a) |
Name | Type | Description |
---|---|---|
speed | number | Specify the playback speed. The default value is 1. Specify a value higher than 0. |
weight | number | Specify the blend weight. The default value is 1. Specify a value between 0 and 1. |
wrap_mode | string |
Example
Convert a table into json and pass.
local table = { wrap_mode="loop", speed=0.2} local jsonString = json.serialize(table) anim.PlayWithState("AnimationName", jsonString)
Name | Type | Description |
---|---|---|
target_weight | number | Specify the blend weight. The default value is 1. Specify a value higher than 0. |
fade_length | number | Specify a fade time (seconds). The default value is 0.3 seconds. Specify a value higher than 0. |
Example
Convert a table into json and pass.
local table = { wrap_mode="loop", speed=1} local jsonString = json.serialize(table) anim.SetState("Playing animation", jsonString) anim.Blend("animation to blend", json.serialize({target_weight=2, fade_length=1}))
Name | Type | Description |
---|---|---|
fade_length | number | Specify a fade time (seconds). Default value is 0.3 seconds. Specify a value higher than 0. |
Example
Convert a table into json and pass.
anim.CrossFade("Animation name", json.serialize({fade_length=1}))
Pass an empty string when not specifying the option.
anim.CrossFade("Animation name", ""))
Example
local chan_1 = vci.assets.GetSubItem("SD_unitychan_generic_1") local chan_2 = vci.assets.GetSubItem("SD_unitychan_generic_2") local chan_3 = vci.assets.GetSubItem("SD_unitychan_generic_3") -- Get animations from ExportTransform local chanAnime_1 = chan_1.GetAnimation() local chanAnime_2 = chan_2.GetAnimation() local chanAnime_3 = chan_3.GetAnimation() -- Play chanAnime_1.Play(true) -- The same as PlayFromIndex(0, true) chanAnime_2.Play(true) -- The same as PlayFromIndex(0, false) chanAnime_3.PlayFromName("Damaged@loop", true) -- You can get the count and the names of animations print(chanAnime_3.GetCount()) local names = chanAnime_3.GetNames() for i,m in ipairs(names) do print(string.format("%d[%s]",i,m)) end
The result
(Three animations are played)
Explanation