Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


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

index

Index to assign the Force Field.

Force Field that to assign.

Remarks

When ParticleSystem.ExternalForcesModule.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(); }}