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()

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()

main.lua
-- GameObjectにアタッチされてるエフェクトを格納する
local _Effect = vci.assets.GetEffekseerEmitter("EffectItemLoop")
 
function onUse()
    -- エフェクトを1回再生する。  
    _Effect._ALL_PlayOneShot()
end

実行結果

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

Stop

Stop fun()
_ALL_Stop fun()

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()

StopRoot

StopRoot fun()
_ALL_StopRoot fun()

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)

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)

main.lua
 

実行結果

 

SetPause

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

第1引数:paused (bool)

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)

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)

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回だけエフェクトを再生し終了します)