VisualEffectGraph를 스크립트에서 발화시킵니다.
준비
VisualEffectGraph를 스크립트에서 호출하기 위해,
①using UnityEngine.Experimental.VFX;
추가,
②public VisualEffect effect;
로 변수를 설정합니다.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Experimental.VFX;
//VFXを使えるよう定義
public class EffectFire : MonoBehaviour
{
public VisualEffect effect;
//VisualEffect変数を設定。
void Start()
{
}
void Update()
{
}
}
② Scene상의 「Visual Effect」오브젝트를, 스스로 작성한 스크립트에 첨부합니다.
Effect 발화
Effect의 발화는 ParticleSystem과 마찬가지로 Play()를 사용합니다.
이번에는 알기 쉽게 확인하기 위해 W 키를 눌렀을 때 발화하도록합니다.
void Update()
{
void OnTriggerEnter(Collider other)
{
effect.Play();
}
}
이제 Effect를 발화시킬 수 있습니다.
스크립트에서 발화시키는 경우에는 Play()만으로는 부족한 장면이 많을 수 있습니다.
예를 들어, Effect는 충돌 판정이 되었을 경우에 호출하는 경우가 많습니다. 그 때는 EventTrigger()를 사용합니다.
VisualEffectGraph에서 EventTrigger를 사용하려면 Node에서 Event Node/Name을 설정하십시오 (Event Name을 이번에는 초기 그대로의 "OnPlay"로 둡니다.) 그리고 Event Name 스크립트에서 Event Name을 임의의 타이밍에 호출해 줄 필요가 있습니다.
먼저 VisualEffectGraph의 Node를 설정합니다.
노드를 열고
①EnterKey에서 Node Box를 열고 Event Node를 추가.
② 임의의 Event Name을 설정.
③ Event Node의 「SpawnEvent」와 Spawn Node의 「Start」에 연결합니다.
이전 스크립트의 Update 함수에 SendEvent("OnPlay(Event의 이름은 임의)")()를 추가합니다.
void Update()
{
void OnTriggerEnter(Collider other)
{
effect.Play();
}
}
이것으로 충돌 판정을 실시했을 때에 Effect가 발화하게 되었습니다.
(또한 이러한 발화를 이해하기 위해 Spawn Node의 Constant Spawn Rate를 제거하고 Single Burst를 추가한 다음 Count(Min:0)을 5로 설정합니다. 에서 Event가 불리는 순간에만 Effect가 발화합니다.)
요약
이제 VisualEffectGraph 스크립트에서 쉽게 발화시킬 수있었습니다.
그 밖에도 스크립트에서 괴롭히는 것은 많기 때문에 편리한 것을 시도하는 대로 정리해 가려고 생각합니다.
Reference
이 문제에 관하여(VisualEffectGraph를 스크립트에서 발화시킵니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/taxi-taxi/items/b248b4d51e3b63234fa3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)