Unity 6.3
0 онлайн 87 гостей 3 в системе
Вход

ParticleSystem.ExternalForcesModule.SetInfluence

Declaration

public void SetInfluence(int index, ParticleSystemForceField field);

Параметры

Параметр Описание
индекс Индекс для назначения поля силы.
поле Поле силы, которое нужно назначить.

Описание

Назначает Силовое Поле на указанный индекс в списке влияющих.

Когда influenceFilter установлено на ParticleSystemGameObjectFilter.List, то только Силовые Поля в списке влияющих влияют на Particle System.

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(); } }