Мне нужно, чтобы эффекты частиц-эмиттеров отображались в двух точках (для целей разделения экрана), мне интересно, сумел ли кто-нибудь найти способ сделать это. Моя цель - запустить это на iOS 10. Вот что я пробовал до сих пор.
- Назначение
targetNode
дляSKNode
, а затем копированиеSKNode
каждого кадра:targetNode
для меня не работает в iOS 10. - Назначение эмиттера частиц
SKNode
и использованиеview.textureFromNode
для создания текстуры для копирования каждого кадра: занимает 1/120-е кадров, что слишком медленно для меня. - Назначение пользовательского действия для частицы node, которая дублирует node в другой
SKNode
: действия не будут выполняться на iOS 10 - Копирование существующей частицы node в надежде, что семя не является случайным: семя случайное
- Пробное копирование эмиттера частиц при обновлении: Particle только порождает в начале
- Tried SKReferenceNode: только копия эмиттера, запускается самостоятельно
Единственный вариант, который я оставил для истинного испускания, - это написать собственный излучатель частиц, который я стараюсь избегать, поэтому мне интересно, есть ли у кого-нибудь еще эта проблема и знали о решении для достижения желаемого эффекта.
Другая вещь, которую я мог бы сделать, - предварительное излучение излучателей, но это займет много текстурной памяти, если я пойду по этому маршруту.
Изменить: Чтобы визуализировать изображение, я нарисовал изображение. Белая рамка показывает, где происходит сплит-экран. Черная рамка показывает, где происходит смена сцены.
Как сейчас, оба игрока 1 и игрок 2 находятся на исходной сцене.
Игрок 2 идет направо и собирается поразить мировой оберткой, чтобы переместить его в левую сторону мира, но он еще не ударил его. Поэтому мне нужно иметь копию сцены, чтобы она визуально выглядела как одна сцена. Поскольку игрок 1 все еще находится на исходной сцене, оригинальному эмиттеру нужно оставаться на месте. Игроку 2 нужно будет увидеть одно и то же изображение, происходящее в копии, иначе, как только он пройдет эту границу, произойдет "глючный" эффект, и иллюзия обертывания теперь исчезнет.
Итоговый результат:
Мы только что сказали, что F %%% it, Player 1 и Player 2 будут смотреть на разные узлы-эмиттеры, мы просто приложим излучатели к каждой игровой камере, когда это необходимо.