SceneKit-在圆周围拉伸轮廓

时间:2018-10-30 11:00:31

标签: ios objective-c scenekit

我正在努力寻找有关沿贝塞尔曲线轮廓弯曲或拉伸的任何信息。

假设我有一些路径:

UIBezierPath *path = [UIBezierPath bezierPath];
[path moveToPoint:CGPointZero];
[path addLineToPoint:CGPointMake(5, 0)];
[path addLineToPoint:CGPointMake(5, 0.1)];
[path addLineToPoint:CGPointMake(0, 0.1)];
[path closePath];

(为简单起见,它是一个盒子,但该轮廓可能更复杂,例如3个圆角和一些曲线)

我可以使用SCNShape将其挤出到3d对象中,如下所示:

SCNShape *ringShape = [SCNShape shapeWithPath: path extrusionDepth: 1];
ringShape.firstMaterial.doubleSided = YES;
SCNNode *node = [SCNNode nodeWithGeometry: pieShape];

但是现在我想将这个“盒子”形状弯曲到360度以形成环形。在不加载外部几何图形的情况下,这是否有可能?

也许还有其他选择可以通过编程方式制作该几何,也可以是一些SCNTube然后使用路径轮廓对它的边缘进行倒角?还是一些着色器?

对于视觉助手,这就是我的意思,轮廓〜360拉伸=环形 path to ring

任何指针都会很可爱,因为我找不到有关SceneKit的很多信息。

0 个答案:

没有答案