3d ARKit绘制带圆角的三维纸平面
我试图在ARKit中绘制带有圆角的3D纸平面,但我做不到 我用bazier path做的:3d ARKit绘制带圆角的三维纸平面,3d,augmented-reality,scenekit,arkit,uibezierpath,3d,Augmented Reality,Scenekit,Arkit,Uibezierpath,我试图在ARKit中绘制带有圆角的3D纸平面,但我做不到 我用bazier path做的: // create bezeir path let path = UIBezierPath() // A bezier path path.move(to: CGPoint(x: 0, y: 0.025)) path.addLine(to: CGPoint(x: 0.02, y: -0.005)) path.addLine(to: CGPoint(
// create bezeir path
let path = UIBezierPath()
// A bezier path
path.move(to: CGPoint(x: 0, y: 0.025))
path.addLine(to: CGPoint(x: 0.02, y: -0.005))
path.addLine(to: CGPoint(x: 0, y: 0))
path.addLine(to: CGPoint(x: -0.02, y: -0.005))
path.close()
// create arrow shape
let arrowShape = SCNShape(path: path, extrusionDepth: 0.001)
arrowShape.chamferRadius = 50
// create new node
arrownode = SCNNode(geometry: arrowShape);
// set arrow color
arrownode!.geometry?.firstMaterial?.diffuse.contents = UIColor.yellow
结果是:
我需要像这样精确,但具有圆角。实例属性
chamferRadius
为拉伸zDepth而不是XY路径创建倒角
let arrowShape = SCNShape(path: path, extrusionDepth: 0.005)
arrowShape.chamferRadius = 20
如果要创建圆角,请对路径使用以下方法:
path.addQuadCurve(to: CGPoint, controlPoint: CGPoint)
或
path.addCurve(to: CGPoint, controlPoint1: CGPoint, controlPoint2: CGPoint)