Alors voilà, j'aimerais activer mes particules quelques secondes après le lancement de l'application. C'est tout bête mais je ne comprends pas pourquoi ça ne fonctionne pas !
Voici mon script (je suis en RA donc j'ai mêlé le script de détection de l'objet pour l'activation des particules) :
Code : Tout sélectionner
using System.Collections;
using System.Collections.Generic;
using Vuforia;
using UnityEngine;
public class Particules_Activation : MonoBehaviour, ITrackableEventHandler
{
private TrackableBehaviour mTrackableBehaviour;
public ParticleSystem Particules;
void Start()
{
Particules.Stop();
mTrackableBehaviour = GetComponent<TrackableBehaviour>();
if (mTrackableBehaviour)
{
mTrackableBehaviour.RegisterTrackableEventHandler(this);
}
}
public void OnTrackableStateChanged(
TrackableBehaviour.Status previousStatus,
TrackableBehaviour.Status newStatus)
{
if (newStatus == TrackableBehaviour.Status.DETECTED ||
newStatus == TrackableBehaviour.Status.TRACKED ||
newStatus == TrackableBehaviour.Status.EXTENDED_TRACKED)
{
// Play when target is found
Invoke("StartEmitter", 4);
}
else
{
// Stop when target is lost
}
}
void StartEmitter()
{
Particules.Play();
}
}
D'ailleurs c'est possible de faire Particules.Pause()? Comme ça si je perds mon tracking je pourrai reprendre au même endroit !
A la base j'avais utilisé le système d'Animation Clip mais malheureusement le Culling Mode : Cull Completely ne fonctionne pas /:. Sinon je n'aurai pas eu besoin de scripter tout ça.
Merci bien !