Language:

サイドバー

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

メインメニュー

初心者向けガイド

VirtualCast

遊ぶ世界

THE SEED ONLINE

ニコニコ

SHOWROOM

配信

配信ツール

その他

wikiについて

デベロッパー向け


開発環境

VRM(アバター)

VCI(アイテム/背景)

VCI更新情報

更新日 - UniVCI バージョン
2021/03/17 v0.32
2.0.3b
2021/01/14 v0.31
2.0.1a
2020/12/03 v0.30
2.0.0b
2020/11/12 v0.30
2.0.0a
2020/10/22 v0.29
1.9.5b
2020/07/30 v0.29
1.9.3e
2020/06/25 v0.28
1.9.3c
2020/05/21 v0.27
1.9.2e

以前のアップデート履歴


GLB(背景)

vci:script:reference:exportassets:audio

assets.audio (ExportAudio) (オーディオ制御)

ExportAudioは ExportAssetsの中にあるオーディオ関係の関数の後に追加されました。
ExportAssetsのオーディオ関係の関数は後方互換の為に残されています。

メンバ変数・関数一覧

[EmbeddedScriptWorkspace]フォルダ内の[types.lua]を開くと一覧を確認できます。

名前 説明
Play ファイル名で指定したAudioClipを再生します。
音量とループの設定ができます。
PlayFromIndex インデックス番号で指定したAudioClipを再生します。
音量とループの設定ができます。
PlayOneShot ファイル名で指定したAudioClipを1回だけ再生します。
音量の指定のみでループはしません。
PlayOneShotFromIndex インデックス番号で指定したAudioClipを1回だけ再生します。
音量の指定のみでループはしません。
Stop ファイル名で指定したAudioClipの再生を停止します。
StopFromIndex インデックス番号で指定したAudioClipの再生を停止します。
Pause ファイル名で指定したAudioClipの再生を一時停止します。
PauseFromIndex インデックス番号で指定したAudioClipの再生を一時停止します。

_ALL_ を含む関数は、他のクライアントでも実行され同期します。
全てのクライアントで同じ結果になってほしい場合は _ALL_ を含む関数を使用してください。

名前 説明
_ALL_Play ファイル名で指定したAudioClipを再生します。
音量とループの設定ができます。
_ALL_PlayFromIndex インデックス番号で指定したAudioClipを再生します。
音量とループの設定ができます。
_ALL_PlayOneShot ファイル名で指定したAudioClipを1回だけ再生します。
音量の指定のみでループはしません。
_ALL_PlayOneShotFromIndex インデックス番号で指定したAudioClipを1回だけ再生します。
音量の指定のみでループはしません。
_ALL_Stop ファイル名で指定したAudioClipの再生を停止します。
_ALL_StopFromIndex インデックス番号で指定したAudioClipの再生を停止します。
_ALL_Pause ファイル名で指定したAudioClipの再生を一時停止します。
_ALL_PauseFromIndex インデックス番号で指定したAudioClipの再生を一時停止します。

VCIの同期について

ネットワーク越しに動くものを考える場合、同期を意識する必要があります。
バーチャルキャストのスタジオの中にAさん、Bさん、Cさんと居た時、Aさんが動かした結果をBさん、Cさんに反映させる事を「同期させる」といいます。
一方、動かした人のパソコンでしか動かないような設定は「ローカルのみで動作する」というような言い方になります。
VCIでは主に同期させる方法は以下の通りになります。

  • transformはバーチャルキャストの機能によって同期します。
  • _ALL_ のついた関数は同期して実行されます。
  • 共有変数を使用してVCIの状態を同期させます。

つまり vci.assets の関数は基本的に _ALL_ が付いたものを使用し、他のユーザーのVCIも動作するように作るという事です。
※音がなる程度のシンプルなVCIであれば、イベント関数で _ALL_ を呼びさえすれば問題ありません。
逆に、それぞれのユーザーでVCIの状態を変えたい時は同期しないようにローカルで動作するように作ります。

transformの同期については VCIアイテムとSubItemについて をご確認ください。

AudioIndex


  • オーディオはオーディオクリップのファイル名で指定する方法と、AudioIndexで指定する方法があります。
  • AudioIndexはhierarchyの上から順に登録されてゆきます。
  • Index番号は0から始まります。
  • 上記の画像ではAudioTest_1のアイテムの場合、index0を指定するとAudio1が再生され、
    AudioTest_2のアイテムの場合、index0を指定するとAudio5が再生されます。

Play()

第1引数:AudioClip名(String) 第2引数:音量(number) 第3引数:ループ設定(bool)

  • 引数は全て入れる必要があります。省略できません。
  • オーディオはAudioSourceのAudioClipに割り当てられたファイル名で指定します。
  • 音量は0から1の間で指定し、1を超えた値で指定された場合は1として使います。

サンプル

main.lua
function onUse()
    -- trueならオーディオをループ再生、falseなら1回だけ再生
    local audioLoop = true
 
    -- 0 から 1 の間で音量を指定
    local audioVolume = 0.5
 
    --"Audio1"をループ再生する
    vci.assets.audio._ALL_Play("Audio1", audioVolume, audioLoop)
end
 
function onUnuse()
    --"Audio1"オーディオを停止する
    vci.assets.audio._ALL_Stop("Audio1")
end

実行結果

(Useをした時に"Audio1"を音量0.5でループ再生します。)
(Unuseをした時に"Audio1"を停止します。)

PlayFromIndex()

第1引数:インデックス番号(number) 第2引数:音量(number) 第3引数:ループ設定(bool)

  • 引数は全て入れる必要があります。省略できません。
  • オーディオはAudioIndexのnumberで指定します。
    Indexの割り当てルールは こちらを確認してください。
  • 音量は0から1の間で指定し、1を超えた値で指定された場合は1として使います。

サンプル

main.lua
function onUse()
    -- trueならオーディオをループ再生、falseなら1回だけ再生
    local audioLoop = true
 
    -- 0 から 1 の間で音量を指定
    local audioVolume = 0.5
 
    -- AudioIndex0 をループ再生する
    vci.assets.audio._ALL_PlayFromIndex(0, audioVolume, audioLoop)
end
 
function onUnuse()
    -- AudioIndex0 のオーディオを停止する
    vci.assets.audio._ALL_StopFromIndex(0)
end

実行結果

(Useをした時に AudioIndex0 を音量0.5でループ再生します。)
(Unuseをした時に AudioIndex0 を停止します。)

PlayOneShot()

第1引数:AudioClip名(String) 第2引数:音量(number)

  • オーディオはAudioSourceのAudioClipに割り当てられたファイル名で指定します。
  • 音量は0から1の間で指定し、1を超えた値で指定された場合は1として使います。

サンプル

main.lua
function onUse()
    -- 0 から 1 の間で音量を指定
    local audioVolume = 0.5
 
    -- "Audio1" をループ再生する
    vci.assets.audio._ALL_PlayOneShot("Audio1", audioVolume)
end

実行結果

(Useをした時に"Audio1"を音量0.5で1回だけ再生します。)

PlayOneShotFromIndex()

第1引数:インデックス番号(number) 第2引数:音量(number)

  • オーディオはAudioIndexのnumberで指定します。
    Indexの割り当てルールは こちらを確認してください。
  • 音量は0から1の間で指定し、1を超えた値で指定された場合は1として使います。

サンプル

main.lua
function onUse()
    -- 0 から 1 の間で音量を指定
    local audioVolume = 0.5
 
    -- AudioIndex0 をループ再生する
    vci.assets.audio._ALL_PlayOneShotFromIndex(0, audioVolume)
end

実行結果

(Useをした時に AudioIndex0 を音量0.5で1回だけ再生します。)

Stop()

第1引数:AudioClip名(String)

  • オーディオはAudioSourceのAudioClipに割り当てられたファイル名で指定します。

サンプル

main.lua
function onUse()
    --"Audio1"をループ再生する
    vci.assets.audio._ALL_Play("Audio1", 0.5, true)
end
 
function onUnuse()
    --"Audio1"オーディオを停止する
    vci.assets.audio._ALL_Stop("Audio1")
end

実行結果

(Useをした時に"Audio1"を音量0.5でループ再生します。)
(Unuseをした時に"Audio1"を停止します。)

StopFromIndex()

第1引数:インデックス番号(number)

  • オーディオはAudioIndexのnumberで指定します。
    Indexの割り当てルールは こちらを確認してください。

サンプル

main.lua
function onUse()
    -- AudioIndex0 をループ再生する
    vci.assets.audio._ALL_PlayFromIndex(0, 0.5, true)
end
 
function onUnuse()
    -- AudioIndex0 のオーディオを停止する
    vci.assets.audio._ALL_StopFromIndex(0)
end

実行結果

(Useをした時に AudioIndex0 を音量0.5でループ再生します。)
(Unuseをした時に AudioIndex0 を停止します。)

Pause()

第1引数:AudioClip名(String) 第2引数:停止/再生の設定(bool)

  • オーディオはAudioSourceのAudioClipに割り当てられたファイル名で指定します。
  • trueの場合、オーディオの再生を一時停止します。
    falseの場合、一時停止しているオーディオの再生を再開します。

サンプル

main.lua
-- "Audio1" をループ再生する
vci.assets.audio._ALL_Play("Audio1", 0.5, true)
 
 
function onUse()
    -- "Audio1" の再生をポーズする
    vci.assets.audio._ALL_Pause("Audio1", true)
end
 
function onUnuse()
    -- "Audio1" のポーズを解除して再生を再開する
    vci.assets.audio._ALL_Pause("Audio1", false)
end

実行結果

(VCIを出した時に"Audio1"の再生がループ有で開始します。)
(Useをした時に"Audio1"を一時停止します。)
(Unuseをした時に"Audio1"を一時停止した時点から再生を行います。)

PauseFromIndex()

第1引数:インデックス番号(number) 第2引数:停止/再生の設定(bool)

  • オーディオはAudioIndexのnumberで指定します。
    Indexの割り当てルールは こちらを確認してください。
  • trueの場合、オーディオの再生を一時停止します。
    falseの場合、一時停止しているオーディオの再生を再開します。

サンプル

main.lua
-- AudioIndex0 をループ再生する
vci.assets.audio._ALL_PlayFromIndex(0, 0.5, true)
 
 
function onUse()
    -- AudioIndex0 の再生をポーズする
    vci.assets.audio._ALL_PauseFromIndex(0, true)
end
 
function onUnuse()
    -- AudioIndex0 のポーズを解除して再生を再開する
    vci.assets.audio._ALL_PauseFromIndex(0, false)
end

実行結果

(VCIを出した時に AudioIndex0 の再生がループ有で開始します。)
(Useをした時に AudioIndex0 を一時停止します。)
(Unuseをした時に AudioIndex0 を一時停止した時点から再生を行います。)
vci/script/reference/exportassets/audio.txt · 最終更新: 2021/06/17 19:54 by t-daihisa

ページ用ツール