Unity- Как добавить частицы на курсор
У меня есть курсор, как сделать так чтобы частицы следовали за ним (Примером может быть игра Ori and the blind forest)
Ответы (1 шт):
Как один из вариантов. Работает только когда у вас 3D частицы.
На пустом месте далеко за сценой создаете частицы, так чтобы их не было видно в камере ни при каких условиях. Возле частиц которые находятся очень далеко создаем еще камеру, в
Clear flagsставимSolid color, альфу цвета выкручиваем в 0, ну иprojectionставим orthographic.Sizeставим по усмотрению. Еще выключаем в нейaudiolistener
В окне файлов проекта создаем
Render Texture(Create -> Render Texture). Перетаскиваем текстурку в созданную камеру в полеTarget texture.
Поставил 3д материал для частиц т.к. с 2д не работает

В окне иерархии создаем
Canvasа в немRaw Image. Задаем ей желаемый размер. В полеTextureПеретаскиваем нашуRender Texture
После запуска можно увидеть что частицы уже на экране и анимированны.

Ну а далее нам нужно двигать
Raw Imageза курсором НО если у вас частицы тоже имеют эффект при передвижении (например у меня в системе частиц выставленоSimulation Space -> World), то нам еще прийдётся двигать созданную камеру и частицы. Чтобы было удобнее их двигать я помещу их в созданный пустой объект, который и буду двигать.
Пишем скрипт, который повесим на нашу
RawImageдля передвижения за курсором.public class MoveParticleRawImage: MonoBehaviour { private void Update() { transform.position = Input.mousePosition; } }Запустив игру можно увидеть что частицы следуют за курсором, Но эффектов вверх/вниз/вправо/влево нету.

Пишем скрипт для объекта в котором находятся камера и частицы и вешаем скрипт на него.
public class MoveParticles : MonoBehaviour { public float sensitivity = 4; // можно менять под себя для настройки //чувствительности движения партиклов private Camera _camera; private Vector3 _originalTransform; private void Awake() { _camera = Camera.main; _originalTransform = transform.position; } private void Update() { transform.position = Input.mousePosition / sensitivity + _originalTransform; } }
- Запускаем
Далее можно уже кастомизировать под себя и т.д.

