- [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];
Run Code Online (Sandbox Code Playgroud)
我没有在我的项目中的任何其他位置触摸这些节点,当我更改精灵时,值(必须<=值)在错误内发生变化.
编辑:我用一个简单的spriteNodeWithColor替换了精灵图像:Size:并且(<= value)总是精灵的两倍大小.另外需要注意的是,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
Run Code Online (Sandbox Code Playgroud)
编辑2:我刚刚测试了上面的场景作为默认SceneKit项目的叠加层,它崩溃了同样的错误.
编辑3:我使用swift重现了这一点.Bug报告登陆Apple.
我正在尝试使用大约6个图像的数组将场景的背景内容设置为天空盒效果.
我已经按照正确的顺序创建了图像数组,我知道我需要使用它
+ (instancetype) materialPropertyWithContents:(id)contents
Run Code Online (Sandbox Code Playgroud)
但是我正在努力弄清楚我是如何以及在何处使用该类方法来返回包含多维数据集映射的属性.
我正在使用搅拌机为使用scenekit构建的游戏创建景观.
由于它只是一个风景,我不会使用任何动画所以我想知道在我深入搅拌器之前,我应该使用搅拌器来创建几何体然后在scenekit中创建我自己的材料吗?
我仍然可以在搅拌机中创建阴影,发射,高光等地图,但是这样做会有性能优势或惩罚吗?
另外如果这是我可以采取的路径,那么我应该导出为.dae还是有办法导出到xcode会满意的法线贴图?
我对如何在Scenekit中处理节点空间坐标和旋转感到迷惑。
如何获得节点旋转后面向的方向,以便可以在该方向上施加力。
我假设沿-z轴施加到该节点的力将始终使它相对于该节点向前移动,但是事实并非如此。
ios ×4
scenekit ×3
blender ×1
game-physics ×1
objective-c ×1
skeffectnode ×1
skybox ×1
sprite-kit ×1
swift3 ×1