Language:

サイドバー

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

メニュー

Steam版

デバイス

アセット

配信

その他

リリース情報

デベロッパー向け


開発環境

GLB

vci:script:reference:effekseer

ExportEffekseer (エフェクト)

このページは過去の情報となります。
新しいスクリプトリファレンスはこちらになります。

VCIでエフェクトを再生するのに使用します。
コンポーネントの使用方法は Effekseer (VCI対応) を確認してください。

ExportAssets
名前 説明 バージョン
GetEffekseerEmitter VCI内のObjectのエフェクトを取得
ExportEffekseer
名前 説明 バージョン
EffectName エフェクト名を取得
Play ループ再生
PlayOneShot 1回だけ再生
Stop 即座に停止
StopImmediate(非推奨) 即座に停止(非推奨)
StopRoot 徐々に停止
SetAllColor エフェクトの色を変更
SetTargetLocation エフェクトの向かう位置を指定
SetPause 一時停止
SetShow エフェクトの表示・非表示を設定
SetSpeed エフェクトのスピードを変更
SetLoop エフェクトのループを設定

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

Play
_ALL_Play

基本的な使用方法

  1. EffekseerEmitterのコンポーネントをSubItemに対してアタッチします。
  2. vci.assets.GetEffekseerEmitter(“SubItem”) または
    vci.assets.GetEffekseerEmitters(“SubItem”)を実行してSubItemからeffectを変数へ格納します。引数はSubItemのgameobjectの名前をstringで指定します。
  3. エフェクトを格納した変数に対して、関数を実行してエフェクトの再生や停止などを行います。

※コンポーネントやセットアップについてはEffekseer (VCI対応)を確認してください。

サンプル

main.lua
-- エフェクトをアタッチしたゲームオブジェクト名を指定してエフェクトを格納します
-- Effect という名前のゲームオブジェクトにアタッチされたエフェクトを変数 effect に格納する
local effect = vci.assets.GetEffekseerEmitter("Effect")
 
-- エフェクト名の表示
print(effect.EffectName)
 
function onUse()
    -- 格納したエフェクトを1回再生する
    effect.PlayOneShot()
end

実行結果

(SubItemをUseした時に1回だけエフェクトが再生されます)

EffectName

EffectName string

EffekseerEmitterのEffectAssetに割り当てられているエフェクトのファイル名を取得します。

main.lua
-- GameObjectにアタッチされてるエフェクトを格納する
local _Effect = vci.assets.GetEffekseerEmitter("EffectItem")
 
-- コンソールに再生するエフェクト名を表示する
print("エフェクトを再生します : ".._Effect.EffectName)
 
-- エフェクトの再生を開始する
_Effect._ALL_Play()

実行結果

エフェクトを再生します : Effect
(_Effectに格納されたエフェクトの再生が開始されます)

Play

Play fun()
_ALL_Play fun()

  • Effectの再生を開始します。
  • Loop設定の場合、Stop()を実行するまで再生され続けます。
  • Loopが設定されてない場合、エフェクト全体の再生が終わった時点で終了します。
main.lua
-- GameObjectにアタッチされてるエフェクトを格納する
local _Effect = vci.assets.GetEffekseerEmitter("EffectItem")
 
function onUse()
    -- Useした時、エフェクトの再生を開始する
    _Effect._ALL_Play()
    print("エフェクトの再生を開始 : ".._Effect.EffectName)
end
 
function onUnuse()
    -- Unuseした時、エフェクトの再生を停止する
    _Effect._ALL_Stop()
    print("エフェクトの再生を停止 : ".._Effect.EffectName)
end

実行結果

(Useをするとエフェクトの再生が開始します)
(Unuseをするとエフェクトの再生が停止します)

PlayOneShot

PlayOneShot fun()
_ALL_PlayOneShot fun()

  • Loop設定になってるエフェクトの場合でも、エフェクトを1回だけ再生します。
  • エフェクトの再生中に実行すると、再生中のエフェクトを終了して再生しなおします。
main.lua
-- GameObjectにアタッチされてるエフェクトを格納する
local _Effect = vci.assets.GetEffekseerEmitter("EffectItemLoop")
 
function onUse()
    -- エフェクトを1回再生する。  
    _Effect._ALL_PlayOneShot()
end

実行結果

(エフェクトが1回だけ再生されます)

Stop

Stop fun()
_ALL_Stop fun()

  • Play()したエフェクトの再生を即座に停止します。
main.lua
-- GameObjectにアタッチされてるエフェクトを格納する
local _Effect = vci.assets.GetEffekseerEmitter("EffectItem")
 
function onUse()
    -- Useした時、エフェクトの再生を開始する
    _Effect._ALL_Play()
    print("エフェクトの再生を開始 : ".._Effect.EffectName)
end
 
function onUnuse()
    -- Unuseした時、エフェクトの再生を即座に停止する
    _Effect._ALL_Stop()
    print("エフェクトの再生を停止 : ".._Effect.EffectName)
end

実行結果

(Useをするとエフェクトの再生が開始します)
(Unuseをするとエフェクトの再生が即座に停止します)

StopImmediate(非推奨)

StopImmediate fun()
_ALL_StopImmediate fun()

  • 処理はStop()と同じく即座にエフェクトが停止されますが、Effekseerの公式では非推奨の処理になります。

StopRoot

StopRoot fun()
_ALL_StopRoot fun()

  • Play()したエフェクトの再生を徐々に停止します。処理としてはルートノードだけを停止して、子のノードが徐々に停止していきます。
main.lua
-- GameObjectにアタッチされてるエフェクトを格納する
local _Effect = vci.assets.GetEffekseerEmitter("EffectItem")
 
function onUse()
    -- Useした時、エフェクトの再生を開始する
    _Effect._ALL_Play()
    print("エフェクトの再生を開始 : ".._Effect.EffectName)
end
 
function onUnuse()
    -- Unuseした時、エフェクトの再生を徐々に停止する
    _Effect._ALL_StopRoot()
    print("エフェクトの再生を停止 : ".._Effect.EffectName)
end

実行結果

(Useをするとエフェクトの再生が開始します)
(Unuseをするとエフェクトの再生が徐々に停止します)

SetAllColor

SetAllColor fun(color: Color)
_ALL_SetAllColor fun(color: Color)

第1引数:color (color)

  • SetAllColor()を使用する場合、テクスチャの色は白を使用してください。
  • 色はColor型を使って指定してください。
  • エフェクトの再生が終了すると、初期設定の色に戻ります。
main.lua
-- GameObjectにアタッチされてるエフェクトを格納する
local _Effect = vci.assets.GetEffekseerEmitter("EffectItem")
-- エフェクトの再生を開始する
_Effect._ALL_Play()
 
function onUse()
    -- ランダムで色を作成する
    local color = Color.__new(math.random(0,100) * 0.01, math.random(0,100) * 0.01, math.random(0,100) * 0.01, 1)
    _Effect.SetAllColor(color)
end

実行結果

(Useをするとエフェクトのカラーがランダムで変更されます)
main.lua
-- GameObjectにアタッチされてるエフェクトを格納する
local _Effect = vci.assets.GetEffekseerEmitter("EffectItem")
-- エフェクトの再生を開始する
_Effect._ALL_Play()
 
function onUse()
    -- エフェクトを青に変更する
    _Effect.SetAllColor(Color.blue)
end
 
function onUnuse()
    -- エフェクトを赤に変更する
    _Effect.SetAllColor(Color.red)
end

実行結果

(Useをするとエフェクトのカラーが青に変更します)
(Unuseをするとエフェクトのカラーが赤に変更します)

SetTargetLocation

SetTargetLocation fun(targetLocation: Vector3)
_ALL_SetTargetLocation fun(targetLocation: Vector3)

第1引数:targetLocation (Vector3)

  • tips1
  • tips2
main.lua
 

実行結果

 

SetPause

SetPause fun(paused: boolean)
_ALL_SetPause fun(paused: boolean)

第1引数:paused (bool)

  • trueでエフェクトを一時停止し、falseでエフェクトの一時停止を解除します。
main.lua
-- GameObjectにアタッチされてるエフェクトを格納する
local _Effect = vci.assets.GetEffekseerEmitter("EffectItemLoop")
-- エフェクトの再生を開始する
_Effect._ALL_Play()
 
function onUse()
    -- エフェクトを一時停止する
    _Effect._ALL_SetPause(true)
end
 
function onUnuse()
    -- エフェクトの一時停止を解除する
    _Effect._ALL_SetPause(false)
end

実行結果

(アイテムを出すとエフェクトの再生がはじまります)
(Useするとエフェクトが一時停止します)
(Unuseするとエフェクトの一時停止が解除されます)

SetShow

SetShow fun(shown: boolean)
_ALL_SetShow fun(shown: boolean)

第1引数:shown (bool)

  • trueでエフェクトを表示し、falseでエフェクトを非表示にします。
  • falseの状態でエフェクトが終了した場合、再度エフェクトを再生すると表示状態になります。
main.lua
-- GameObjectにアタッチされてるエフェクトを格納する
local _Effect = vci.assets.GetEffekseerEmitter("EffectItemLoop")
-- エフェクトの再生を開始する
_Effect._ALL_Play()
 
function onUse()
    -- エフェクトを非表示にする
    _Effect._ALL_SetShow(false)
 
end
 
function onUnuse()
    -- エフェクトを表示する
    _Effect._ALL_SetShow(true)
end

実行結果

(アイテムを出すとエフェクトの再生を開始します)
(Useをするとエフェクトを非表示にします)
(Unuseをするとエフェクトを表示します)

SetSpeed

SetSpeed fun(speed: number)
_ALL_SetSpeed fun(speed: number)

第1引数:Speed(number)

  • エフェクトの再生スピードを変更します。
main.lua
-- GameObjectにアタッチされてるエフェクトを格納する
local _Effect = vci.assets.GetEffekseerEmitter("EffectItem")
 
function onUse()
    -- 1.0 ~ 3.0 の間でランダムな値をspeedに代入する
    local speed = 0.1 * math.random(10, 30)
 
    -- エフェクトの再生スピードを変更する
    _Effect._ALL_SetSpeed(speed)
 
    -- エフェクトを1回だけ再生する
    _Effect.PlayOneShot()
end

実行結果

(Useした時、再生速度1倍~3倍のランダムな速度でエフェクトを1回再生します)

SetLoop

SetLoop fun(isLoop: boolean)
_ALL_SetLoop fun(isLoop: boolean)

第1引数:isLoop (bool)

  • trueの場合エフェクトをループ再生に設定し、falseの場合エフェクトのループ再生を解除します。
main.lua
-- GameObjectにアタッチされてるエフェクトを格納する
local _Effect = vci.assets.GetEffekseerEmitter("EffectItem")
 
function onGrab()
    -- エフェクトをループ再生に設定する
    _Effect._ALL_SetLoop(true)
    -- エフェクトの再生を開始する
    _Effect._ALL_Play()
end
 
function onUse()
    -- エフェクトのloop再生を解除する
    _Effect._ALL_SetLoop(false)
    -- エフェクトの再生を開始する
    _Effect._ALL_Play()
end

実行結果

(Grabをするとエフェクトがループ再生を開始します)
(Useをすると1回だけエフェクトを再生し終了します)
vci/script/reference/effekseer.txt · 最終更新: 2023/06/01 11:12 by pastatto

ページ用ツール