使用“填充”和“轮廓”绘制SCNS形状

时间:2015-02-21 13:43:57

标签: ios objective-c scenekit

我已经想过如何画一个形状 - 例如SCNSHape圈。

现在我想为该形状绘制一个轮廓,所以我在我的圆圈中添加了一个子节点,并尝试在偶数文件规则的帮助下绘制轮廓。

这不起作用,并在控制台中创建了许多类型为“SceneKit:error,C3DSourceAccessorCopyDataToAccessor failed”的错误消息。

创建一个代表我圈子轮廓的SCNS形状的最佳方法是什么?

UIBezierPath *strokePath = [UIBezierPath bezierPath];
strokePath.usesEvenOddFillRule = YES;
strokePath.lineWidth = 10.0;
[strokePath addArcWithCenter: CGPointZero radius:  5.0 startAngle: 0.0 endAngle: M_PI * 2.0f clockwise: NO];
[strokePath addArcWithCenter: CGPointZero radius: 10.0 startAngle: 0.0 endAngle: M_PI * 2.0f clockwise: NO];

SCNShape *strokeShape = [SCNShape shapeWithPath: strokePath extrusionDepth: 0];
strokeShape.firstMaterial.diffuse.contents = [UIColor blueColor];
strokeShape.firstMaterial.doubleSided = YES;

SCNNode *strokeNode = [SCNNode nodeWithGeometry: strokeShape];

1 个答案:

答案 0 :(得分:3)

SCNShape只能用于绘制闭合的非自相交路径。它总是使用奇偶规则,它不支持笔画。