- [MTLDebugRenderCommandEncoder setScissorRect:]: 2028: failed assertion `(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];
Я не касался этих узлов нигде в моем проекте, когда я изменяю спрайт, значение в (должно быть <= значение) изменяется внутри ошибки.
Изменить: я заменил образ спрайта простым спрайтомNodeWithColor: Size: и (< = значение) всегда вдвое больше спрайта. Также следует отметить, что SKScene используется в качестве наложения в сцене SceneKit.
Я создал отдельный SKScene со следующим кодом, который по-прежнему вызывает ту же ошибку.
@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 по умолчанию, и он сбой с той же ошибкой.
Изменить 3: Я воспроизвел это быстро. Сообщение об ошибке, отправленное в Apple.