Система частиц не играет - PullRequest
0 голосов
/ 02 марта 2020

РЕДАКТИРОВАТЬ

Таким образом, получается, что если я поставлю частицы как дочерний элемент готового оружейного объекта, который я создал, это сработает, чем. Я просто не могу просто ссылаться на префаб из папки, в которой я хранил префабы. Имеет ли это смысл. Я чувствую, что должен иметь возможность просто ссылаться на них, чтобы они не находились на объекте.

Привет, поэтому у меня есть следующий код, который принимает то, что ударил в Raycast. Затем я получаю тег этого объекта и использую его, чтобы найти систему частиц, которую я хочу отобразить.

Это для пулевого удара по поверхности, такой как металл, грязь или вода.

У меня есть эти эффекты частиц в виде префабов, которые хранятся внутри этого префаба, который я создал. Все частицы хранятся внутри массива. Я вращаюсь через этот массив, сравнивая тег объектов с именем системы частиц. Если я найду один, я положу его в положение raycast и воспроизведу.

 if (Physics.Raycast(cam.transform.position, forwardVector, out hit, range))
        {
            string impactName = hit.transform.tag;
            //Debug.Log("This is the impact tag: " + impactName);
            foreach (ParticleSystem ps in impactParticles)
            {
                //Debug.Log("Is " + ps.transform.name.ToLower() + " equal to " + impactName.ToLower() + " == " + ps.transform.name.ToLower().Contains(impactName.ToLower()));
                if (ps.transform.name.ToLower().Contains(impactName.ToLower()))
                {
                    // This than transforms the position of the particle effect to that of the area that is shot.
                    ps.transform.position = hit.point + (hit.normal * 0.002f);
                    ps.transform.forward = hit.transform.forward;
                    ps.transform.up = hit.normal;
                    ps.Play();
                }
            }

Этот код не дает мне никаких ошибок, он просто не отображает эффекты частиц. Я не знаю, пропустил ли это то, о чем я не знаю. Тем не менее, я новичок в Unity.

Прежде, чем я сделал его сборным, я просто перетащил его на сценарий с системой частиц, находящейся на сцене, и она работала бы так:

...