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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.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 粒子系统的位置为';附在物体上的_Unity3d - Fatal编程技术网

Unity3d 粒子系统的位置为';附在物体上的

Unity3d 粒子系统的位置为';附在物体上的,unity3d,Unity3d,我在我的unity项目中添加了一个粒子系统。但我不能让它附加到某个游戏对象或标签上。当玩家用这个立方体触发时,我如何使一个粒子系统坐在立方体的中心,同时播放一次 用于触发器工作的代码: using System.Collections; using System.Collections.Generic; using UnityEngine; public class Collision_Player_grower : MonoBehaviour { public GameObject

我在我的unity项目中添加了一个粒子系统。但我不能让它附加到某个游戏对象或标签上。当玩家用这个立方体触发时,我如何使一个
粒子系统坐在立方体的中心,同时播放一次

用于触发器工作的代码:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Collision_Player_grower : MonoBehaviour
{
    public GameObject Player_grower;
    public ParticleSystem CollisionGrower;

    // Start is called before the first frame update
    void Start()
    {
        times_player_grower = 0;
        CollisionGrower.transform.position = Player_grower.transform.position;
    }

    // Update is called once per frame
    void OnTriggerEnter(Collider collision)
    {
        if (collision.gameObject.tag == "Player")
        {
            print("we hit an playergrower");
            CollisionGrower.Play();
            Destroy(Player_grower);
        }
    }
}

注意:如果我手动将粒子系统放置在立方体的中心,它确实会起作用,但我认为这可以以更简单的方式完成。

据我所知,您希望粒子系统的位置位于另一个对象的中心

1)

您可以通过将粒子系统游戏对象作为您所谈论的立方体的子对象来实现这一点

2)

你可以用代码来代替。如果你想让粒子系统做一些额外的事情,你可以调整代码

使用系统集合;
使用System.Collections.Generic;
使用UnityEngine;
公共类碰撞\u玩家\u种植者:单一行为
{
公共游戏对象ParticleSystemObject;
公共游戏对象立方体;
公共游戏对象玩家\种植者;
公众参与系统冲突种植者;
//在第一帧更新之前调用Start
void Start()
{
次数\玩家\种植者=0;
CollisionGrower.transform.position=玩家\种植者.transform.position;
}
//每帧调用一次更新
无效更新()
{
ParticleSystemObject.transform.position=Cube.transform.position;
}
无效对撞机(对撞机碰撞)
{
如果(collision.gameObject.tag==“Player”)
{
打印(“我们撞到了一名运动员”);
碰撞种植者。Play();
摧毁(玩家和种植者);
}
}
}
我不完全理解其余的变量是什么,它们是什么,所以我可能做了一些不需要的事情

首先,我添加了两个GameObject变量。其中一个是希望粒子系统转到的立方体对象,另一个是作为游戏对象的粒子系统。我将粒子系统的位置设置为立方体的位置

重要提示:如果将此脚本附加到多维数据集,请删除
cube
变量

而不是使用

... = Cube.transform.position;
使用


为什么粒子系统不仅仅是玩家的孩子?
... = transform.position;