我已经想过如何绘制形状-例如与SCNSHape围成一个圆圈。

现在,我想为该形状绘制轮廓,因此我在圆上添加了一个子节点,并尝试在奇偶文件规则的帮助下绘制轮廓。

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

创建代表我的圆轮廓的SCNShape的最佳方法是什么?

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];

最佳答案

SCNShape仅可用于绘制封闭的,非自相交的路径。它始终使用奇偶规则,并且不支持笔划。

关于ios - 用填充和轮廓绘制SCNShape,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28646492/

10-10 14:21