gpt4 book ai didi

ios - 无法使用 UIBezierPath 和 SCNShape 创建圆圈

转载 作者:可可西里 更新时间:2023-10-31 23:59:34 26 4
gpt4 key购买 nike

有人熟悉使用弯曲的 UIBezierPaths 在 ARKit 中创建 SCNShape 吗?我正在创建一个封闭的圆形路径,但我在 ARKit 场景中得到了一个菱形。

这是我用来创建贝塞尔曲线路径和 SCNShape 的代码:

let radius : CGFloat = 1.0
let outerPath = UIBezierPath(ovalIn: CGRect(x: -radius, y: -radius, width: 2* radius, height: 2* radius))

let material = SCNMaterial()
material.diffuse.contents = UIColor.blue
material.isDoubleSided = true
material.ambient.contents = UIColor.black
material.lightingModel = .constant
material.emission.contents = UIColor.blue

let shape = SCNShape(path: outerPath, extrusionDepth: 0.01)
shape.materials = [material]

let shapeNode = SCNNode(geometry: shape)
positioningNode.addChildNode(shapeNode)

我已经成功测试了矩形贝塞尔曲线路径,但即使是圆角矩形贝塞尔曲线路径(使用 UIBezierPath(roundedRect:)也有问题。对于圆角矩形贝塞尔曲线路径,ARKit 显示了弯曲的角有 45 度线。

提前致谢!

更新:

左边是 UIBezierPath 平坦度设置为 0.6 的初始 SCNShape。右侧是平坦度设置为 0.001 的相同 SCNShape。

enter image description here

最佳答案

我找到了解决方案。基本上 UIBezierPath 的平坦度变量用于控制曲率。 0.6 的默认值对我来说太大了。我最终使用了 0.001 的平坦度

https://developer.apple.com/documentation/scenekit/scnshape/1523432-init

关于ios - 无法使用 UIBezierPath 和 SCNShape 创建圆圈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52730486/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com