Version: 2022.3
public void RemoveInfluence (int index);
public void RemoveInfluence (ParticleSystemForceField field);

参数

index 要删除所选力场的索引。
field 要从列表中删除的力场。

描述

删除影响因子列表中给定索引位置的力场。

influenceFilter 设置为 ParticleSystemGameObjectFilter.List 时,只有影响因子列表中的力场才会影响粒子系统。

using UnityEngine;

public class Example : MonoBehaviour { ParticleSystem.ExternalForcesModule externalForcesModule;

void Start() { // Create a default particle system var particleSystemGameObject = new GameObject("Particle System"); var system = particleSystemGameObject.AddComponent<ParticleSystem>();

// Create a force field to influence the particle system var forceFieldGameObject = new GameObject("Force Field"); var forceField = forceFieldGameObject.AddComponent<ParticleSystemForceField>(); forceField.endRange = 5; forceFieldGameObject.transform.position = new Vector3(0, 0, 10);

// Add the force to the particle systems external forces influencers. externalForcesModule = system.externalForces; externalForcesModule.enabled = true; externalForcesModule.influenceFilter = ParticleSystemGameObjectFilter.List; externalForcesModule.AddInfluence(forceField); }

void OnGUI() { GUILayout.Label("Particle System Influencers:"); for (int i = 0; i < externalForcesModule.influenceCount; ++i) { var influence = externalForcesModule.GetInfluence(i);

GUILayout.BeginHorizontal(); GUILayout.Label(i + ": " + influence.name); if (GUILayout.Button("Remove")) { externalForcesModule.RemoveInfluence(i); --i; } GUILayout.EndHorizontal(); } } }