Я добавил фона SKSpriteNode в качестве своего ребенка в свой SKScene. У этого узла есть несколько дочерних узлов. У каждого ребенка есть цветные пиксели, а также полностью прозрачные пиксели. Узлы детей перемещаются по экрану и иногда пересекаются друг с другом.Как я могу сделать пересечение двух SKSpriteNodes прозрачными
Я хочу, чтобы пересекающиеся цветные области детей были полностью прозрачными, когда они двигались так, чтобы фон спрайт показывался. Для непересекающихся областей каждого ребенка узел должен выглядеть как обычно. Я пробовал играть с blendmode, но не смог добиться желаемого эффекта. Есть идеи, как это сделать? Или, есть ли способ сделать это за пределами SpriteKit?
Благодаря
Копаясь, похоже, что это возможно, если назначить SKShader моему дочернему узлу и передать в фоновом текстуре шейдеру как униформу. Чтобы имитировать прозрачный эффект, я бы нашел соответствующий пиксель в фоновой текстуре. Однако мне кажется, что мне нужно знать положение дочернего узла относительно фонового узла для этого. Это можно сделать, изменив единый кадр, но я уверен, что это приведет к низкой производительности. Однако нужно будет попробовать это позже. – rimsky