Input.mousePosition点上的粒子

时间:2016-02-09 10:34:00

标签: unity3d

我正在尝试理解this链接,我相信它应该创建一个您左键单击鼠标的粒子。我是对的吗?

我已将脚本附加到空游戏对象,因此它在我运行Unity项目时运行。我添加了一个新的Particle System游戏对象并将其拖到检查器的公共字段上。这是正确的做法,还是应该为公共变量分配其他东西?

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

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

1 个答案:

答案 0 :(得分:1)

你应该关闭粒子系统中的循环,或者在脚本中的Awake()上停止()或暂停()它,单击开火按钮时播放()。

查看此页面:3

您提供的样本并没有采用粒子系统,但有些“射弹”也是如此。预制,当你点击鼠标按钮时,它基本上会产生预制实例。这只是一个非常基本的射击机制的例子。我相信在该脚本上命名可能会更好。 (我相信这个样本来自Unity的一个Merry Fragmas视频,他们以类似的方式使用某种粒子系统,你必须配置粒子系统来破坏一堆粒子和如果你想以这种方式使用它,那就不要循环了)