提问人:user3765506 提问时间:2/22/2017 最后编辑:naideuser3765506 更新时间:7/2/2020 访问量:358
将 SKSpriteNode 添加到 SKEffectNode 时出现 Metal 崩溃
Metal crash upon adding SKSpriteNode to SKEffectNode
问:
> -[MTLDebugRenderCommandEncoder setScissorRect:]:2028: failed assertion (rect.x(0) + rect.width(1080))(1080) must be <= 240
使用以下代码将简单添加到 a 时,我遇到了此崩溃SKSpriteNode
SKEffectNode
SKSpriteNode *warpSprite = [SKSpriteNode spriteNodeWithImageNamed:@"art.scnassets/symbol.png"];
SKEffectNode *entryEffectsNode = [[SKEffectNode alloc] init];
[entryEffectsNode addChild:warpSprite];
[self addChild:entryEffectsNode];
我没有在我的项目中的其他任何地方触及这些节点,当我更改精灵时,(必须是 <=value)中的值在错误中发生变化。
编辑:我用一个简单的图像替换了精灵图像,并且(<=value)始终是精灵大小的两倍。此外,还应该注意的是,SKScene 被用作 SceneKit 场景中的叠加层。spriteNodeWithColor:Size:
我使用以下代码创建了一个单独的 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: 我使用 swift 重现了这一点。 Bug 报告已提交给 Apple。
答: 暂无答案
评论