版本: Unity 6 (6000.0)
语言英语
  • C#

ParticleSystem.ExternalForcesModule.SetInfluence

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交内容,但我们确实会阅读用户提出的每个建议,并在适用情况下进行更新。

关闭

提交失败

由于某些原因,您的建议更改无法提交。请<a>重试</a>几分钟后。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

切换到手册

声明

public void SetInfluence(int index, ParticleSystemForceField field);

参数

index 分配力场的索引。
field 要分配的力场。

描述

在影响者列表中给定索引处分配力场。

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

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