Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unity3d 粒子位于Input.mousePosition点_Unity3d - Fatal编程技术网

Unity3d 粒子位于Input.mousePosition点

Unity3d 粒子位于Input.mousePosition点,unity3d,Unity3d,我正在试图理解这个链接,我相信,它应该会在鼠标左键点击的地方产生一个粒子。我说得对吗 我已将脚本附加到一个空的游戏对象,因此它在我运行Unity项目时运行。我添加了一个新的粒子系统游戏对象,并将其拖到inspector的公共区域。这是正确的方法,还是应该为公共变量指定其他内容 粒子系统在我运行项目时就开始启动,那么我如何停止它,然后在我单击鼠标光标的时间和地点使它开始呢 public GameObject particle; if ( Input.GetButtonDown("Fire1")

我正在试图理解这个链接,我相信,它应该会在鼠标左键点击的地方产生一个粒子。我说得对吗

我已将脚本附加到一个空的游戏对象,因此它在我运行Unity项目时运行。我添加了一个新的
粒子系统
游戏对象,并将其拖到inspector的公共区域。这是正确的方法,还是应该为公共变量指定其他内容

粒子系统在我运行项目时就开始启动,那么我如何停止它,然后在我单击鼠标光标的时间和地点使它开始呢

public GameObject particle;

if ( Input.GetButtonDown("Fire1") )
{
    Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);

    if ( Physics.Raycast(ray) )
        Instantiate(particle, transform.position, transform.rotation);

        Debug.Log(Input.mousePosition.x);
}

单击“点火”按钮时,应在脚本中关闭粒子系统中的循环,或在“唤醒”时停止()或暂停(),然后播放()

查看此页:


您提供的示例并不采用粒子系统,而是一些“投射物”预制,当您单击鼠标按钮时,它基本上会生成预制实例。这只是一个非常基本的射击技巧的例子。我相信在剧本上命名会更好。(我相信这个样本取自Unity的一个Merry Fragmas视频,他们以类似的方式使用了某种粒子系统,如果你想以这种方式使用,你必须将粒子系统配置为爆发一束粒子,而不是在此之后循环)

非常感谢你的详细回答。