~~NOTOC~~
====== ExportEffekseer (エフェクト) ======
このページは過去の情報となります。\\
新しいスクリプトリファレンスは**[[https://developer.virtualcast.jp/vci-docs/api/|こちら]]**になります。
VCIでエフェクトを再生するのに使用します。\\
コンポーネントの使用方法は [[vci:component:sdk:effekseer| Effekseer (VCI対応)]] を確認してください。
^ ExportAssets ^^^
^ 名前 ^ 説明 ^ バージョン ^
| [[ vci/script/reference/effekseer#基本的な使用方法|GetEffekseerEmitter]] | VCI内のObjectのエフェクトを取得 | |
^ ExportEffekseer ^^^
^ 名前 ^ 説明 ^ バージョン ^
| [[ vci/script/reference/effekseer#EffectName]] | エフェクト名を取得 | |
| [[ vci/script/reference/effekseer#Play]] | ループ再生 | |
| [[ vci/script/reference/effekseer#PlayOneShot]] | 1回だけ再生 | |
| [[ vci/script/reference/effekseer#Stop]] | 即座に停止 | |
| [[ vci/script/reference/effekseer#StopImmediate(非推奨)]] | 即座に停止(非推奨)| |
| [[ vci/script/reference/effekseer#StopRoot]] | 徐々に停止 | |
| [[ vci/script/reference/effekseer#SetAllColor]] | エフェクトの色を変更 | |
| [[ vci/script/reference/effekseer#SetTargetLocation]] | エフェクトの向かう位置を指定 | |
| [[ vci/script/reference/effekseer#SetPause]] | 一時停止 | |
| [[ vci/script/reference/effekseer#SetShow]] | エフェクトの表示・非表示を設定 | |
| [[ vci/script/reference/effekseer#SetSpeed]] | エフェクトのスピードを変更 | |
| [[ vci/script/reference/effekseer#SetLoop]] | エフェクトのループを設定 | |
''_ALL_'' を含む関数は、他のクライアントでも実行され同期します。\\
全てのクライアントで同じ結果になってほしい場合は ''_ALL_'' を含む関数を使用してください。\\
Play
_ALL_Play
===== 基本的な使用方法 =====
- EffekseerEmitterのコンポーネントをSubItemに対してアタッチします。
- ''vci.assets.GetEffekseerEmitter("SubItem")'' または\\ ''vci.assets.GetEffekseerEmitters("SubItem")''を実行してSubItemからeffectを変数へ格納します。引数はSubItemのgameobjectの名前をstringで指定します。\\
- エフェクトを格納した変数に対して、関数を実行してエフェクトの再生や停止などを行います。\\
**※コンポーネントやセットアップ**については[[vci:component:sdk:effekseer|Effekseer (VCI対応)]]を確認してください。\\
サンプル\\
-- エフェクトをアタッチしたゲームオブジェクト名を指定してエフェクトを格納します
-- 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に割り当てられているエフェクトのファイル名を取得します。
-- 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が設定されてない場合、エフェクト全体の再生が終わった時点で終了します。
-- 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回だけ再生します。
* エフェクトの再生中に実行すると、再生中のエフェクトを終了して再生しなおします。
-- GameObjectにアタッチされてるエフェクトを格納する
local _Effect = vci.assets.GetEffekseerEmitter("EffectItemLoop")
function onUse()
-- エフェクトを1回再生する。
_Effect._ALL_PlayOneShot()
end
実行結果\\
(エフェクトが1回だけ再生されます)
===== Stop =====
**Stop fun()**\\
**_ALL_Stop fun()**
* Play()したエフェクトの再生を即座に停止します。
-- 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()したエフェクトの再生を徐々に停止します。処理としてはルートノードだけを停止して、子のノードが徐々に停止していきます。
-- 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()を使用する場合、テクスチャの色は白を使用してください。
* 色は[[vci:script:reference:color|Color]]型を使って指定してください。
* エフェクトの再生が終了すると、初期設定の色に戻ります。
-- 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をするとエフェクトのカラーがランダムで変更されます)
-- 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
実行結果\\
===== SetPause =====
**SetPause fun(paused: boolean)**\\
**_ALL_SetPause fun(paused: boolean)**
**第1引数:paused (bool)**
* trueでエフェクトを一時停止し、falseでエフェクトの一時停止を解除します。
-- 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の状態でエフェクトが終了した場合、再度エフェクトを再生すると表示状態になります。
-- 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)**
* エフェクトの再生スピードを変更します。
-- 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の場合エフェクトのループ再生を解除します。
-- 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回だけエフェクトを再生し終了します)