【问题标题】:playing particle system in Unity在 Unity 中播放粒子系统
【发布时间】:2018-10-22 20:39:16
【问题描述】:

我正在使用 Unity3D 为使用 SteamVR 的 HTV Vive 进行开发。我从资产商店下载了一个具有使用粒子系统创建的爆炸效果的资产。我想在物体被破坏时播放粒子动画。这是我正在使用的代码,但未成功。

private void OnDestroy() {
    explosion.GetComponent<ParticleSystem>().Play();
}

Explosion 是从检查器设置的 GameObject 类型的公共变量。我把粒子系统对象放在那里。

为什么它不起作用?有人推荐一个简短的教程来学习使用(而不是创建)粒子效果吗?

谢谢


层次结构视图

我已经将 PS 作为目标的子对象和独立对象进行了尝试。

检查员(目标)的视图

检查器视图(粒子系统)

编辑:由于某种原因,粒子效果在场景开始后立即被破坏。

【问题讨论】:

  • 我们可以看到GameObject 层次结构,其中包含此脚本的对象和ParticleSystem 附加到的对象?另外,检查器的视图以及如何设置explosion?
  • 我已经用图片更新了之前的帖子
  • 我是否正确地说 target 是您在销毁时调用 play 函数的对象?如果是这样,由于粒子系统是那个GameObject 的子系统,所以当目标被摧毁时它也会被摧毁。如果粒子系统不是子系统会发生什么?
  • 您是否尝试禁用Play On Awake *?
  • @Ryolu 除非它是帖子的 OP 或作者(答案);)这些用户将始终收到通知

标签: unity3d particle-system steamvr


【解决方案1】:

尝试将爆炸效果制作成预制件,并在销毁时将其实例化。

GameObject explosion; // Prefab asset
private void OnDestroy() {
    Instantiate(explosion, transform.position, Quaternion.identity);
}

另外,不要忘记 Destroy 的停止动作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多