gpt4 book ai didi

c# - 检测玩家何时与粒子碰撞 - Unity

转载 作者:行者123 更新时间:2023-12-04 01:36:11 25 4
gpt4 key购买 nike

我刚刚制作了一个 粒子系统 ,它每 1 秒产生一个 “熔岩” 粒子( 有各种大小的 颜色 等)。我需要玩家在与这些熔岩粒子 之一碰撞时重生 (respawn() 函数已经存在并且可以工作,现在只需要在正确的时间调用它)。我对 Unity 答案和其他网站以及 StackOverflow 进行了大量研究,但不明白如何做到这一点。

这是 的截图,粒子系统现在是 。我启用了 触发器 复选框并尝试更改一些内容但没有成功:

enter image description here

当玩家触摸熔岩粒子
时,应调用此代码 :

private void OnParticleCollision(GameObject collision)
{
if (collision.CompareTag("Lava"))
{
StartCoroutine(TouchedLava());
}
}

我在控制台中没有收到任何 错误(即使在运行时)。

提前致谢!

最佳答案

您必须检查粒子系统的碰撞部分,就在触发器上方,然后将碰撞类型设置为世界。

我认为本教程可能对您有所帮助:

https://www.youtube.com/watch?v=JRa2g3vgzBo&list=PLX2vGYjWbI0QJJfR-jSqxonYuCHrUhAvN

enter image description here

编辑:

这是我的工作脚本:

public class ParticleTest : MonoBehaviour
{
public ParticleSystem part;

void Start()
{
part = GetComponent<ParticleSystem>();
}

void OnParticleCollision(GameObject other)
{
if(other.tag == "Player")
Debug.Log(other.tag);
}
}

enter image description here

关于c# - 检测玩家何时与粒子碰撞 - Unity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59482291/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com