SetInfluence(int, ParticleSystemForceField)
Assigns the Force Field at the given index in the influencers list.
Read time 1 minuteLast updated 10 days ago
Definition
- Type: Method
- Namespace: UnityEngine
- Assembly: UnityEngine.ParticleSystemModule
public void SetInfluence(int index, ParticleSystemForceField field)
Parameters
Remarks
When _influenceFilter is set to ParticleSystemGameObjectFilter.List then only Force Fields in the influencers list affect the Particle System.
Examples
using UnityEngine;public class Example : MonoBehaviour{ public ParticleSystem system; public ParticleSystemForceField field1; public ParticleSystemForceField field2; ParticleSystem.ExternalForcesModule m_ExternalForcesModule; void Start() { if (system == null) { Debug.LogError("Please assign a Particle System to `system`."); enabled = false; return; } if (field1 == null || field2 == null) { Debug.LogError("Please assign a ParticleSystemForceField to `field1` and `field2`."); enabled = false; return; } m_ExternalForcesModule = system.externalForces; m_ExternalForcesModule.enabled = true; m_ExternalForcesModule.influenceFilter = ParticleSystemGameObjectFilter.List; m_ExternalForcesModule.AddInfluence(field1); } void OnGUI() { Debug.Assert(m_ExternalForcesModule.influenceCount == 1); var currentForceField = m_ExternalForcesModule.GetInfluence(0); GUILayout.BeginHorizontal(); GUILayout.Label("Influence: " + currentForceField.name); if (GUILayout.Button("Toggle")) { m_ExternalForcesModule.SetInfluence(0, currentForceField == field1 ? field2 : field1); } GUILayout.EndHorizontal(); }}