Сбой металла при добавлении SKSpriteNode в SKEffectNode
-[MTLDebugRenderCommandEncoder setScissorRect:]:2028: ошибочное утверждение `(rect.x(0) + rect.width(1080))(1080) должно быть <= 240'
Я получаю этот сбой при добавлении простого SKSpriteNode в SKEffectNode с помощью следующего кода
SKSpriteNode *warpSprite = [SKSpriteNode spriteNodeWithImageNamed:@"art.scnassets/symbol.png"];
SKEffectNode *entryEffectsNode = [[SKEffectNode alloc] init];
[entryEffectsNode addChild:warpSprite];
[self addChild:entryEffectsNode];
Я не касался этих узлов нигде в моем проекте, когда я изменяю спрайт, значение в (должно быть <= значение) изменяется в пределах ошибки.
Изменить: я заменил изображение спрайта на простой spriteNodeWithColor:Size: и (<= значение) всегда в два раза больше размера спрайта. Также следует отметить, что SKScene используется в качестве наложения в сцене SceneKit.
Я создал отдельную сцену SKS со следующим кодом, который по-прежнему приводит к той же ошибке.
@implementation testScene
-(id)initWithSize:(CGSize)size {
if (self = [super initWithSize:size]) {
SKSpriteNode *testSprite = [SKSpriteNode spriteNodeWithColor:[SKColor purpleColor] size:CGSizeMake(100, 100)];
SKEffectNode *testEffect = [[SKEffectNode alloc] init];
[testEffect addChild:testSprite];
[self addChild:testEffect];
}
return self;
}
@end
Редактировать 2: Я только что протестировал вышеописанную сцену как наложение на SceneKit Project по умолчанию, и она вылетает с той же ошибкой.
Редактировать 3: я воспроизвел это с помощью swift. Сообщение об ошибке покорило Apple.