SceneKit - выдавливать профиль вокруг круга - PullRequest
0 голосов
/ 30 октября 2018

Я изо всех сил пытаюсь найти какую-либо информацию об изгибе или выдавливании вдоль пути какого-то более безобразного профиля.

Допустим, у меня есть какой-то путь:

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 закругленных угла и некоторая кривая)

и я могу выдавить его на 3D-объект с помощью SCNShape, например:

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

но теперь я хотел бы согнуть эту форму "коробки" до 360 градусов, чтобы сформировать форму кольца. Возможно ли это даже без загрузки внешней геометрии?

Может быть, есть какой-то другой вариант, чтобы сделать эту геометрию программным способом, может быть, какой-нибудь SCNTube, а затем закруглить его края профилем пути? Или какой-нибудь шейдер?

Для визуального помощника я имею в виду профиль ~ 360 extrude = ring path to ring

Любые указатели были бы хороши, так как я не могу найти много информации о SceneKit.

...