用于在 iOS 上的 SceneKit 应用程序中创建路径几何体的函数和类。主要用例是 ARKit。我希望在可以生成网格后添加 RealityKit 支持。(如果有人知道方法,请告诉我!)
对于制作 AR 应用的人来说,导航似乎是一个强项。所以这里有一个类,可以轻松地在 AR 中沿着一组中心点创建路径。这个类也可以用来画出赛道、动画角色跟随的道路,甚至在地板上画一个五角星!
查看 Medium 上的完整教程,了解我是如何使用这个 Pod 和大约 30 行非样板代码制作下面这些 GIF 示例的。
请随意使用和贡献这个库。我只要求您在这样做时告诉我一声,这样我就可以看到一些很酷的用途!
如果您在使用 Swift Package 依赖项时遇到问题,网上有一些很棒的资源:https://developer.apple.com/documentation/xcode/adding_package_dependencies_to_your_app
使用此路径作为几何体创建一个节点非常容易,如下所示:
let pathNode = SCNPathNode(path: [
SCNVector3(0, -1, 0),
SCNVector3(0, -1, -1),
SCNVector3(1, -1, -1)
])
或者,您可以直接获取几何体:
let pathGeometry = SCNGeometry.path(path: [
SCNVector3(0, -1, 0),
SCNVector3(0, -1, -1),
SCNVector3(1, -1, -1)
])
y 值设置为 -1 只是一个示例,假设您的场景图的原点在地面上方 1 米处。使用平面检测来正确地击中地面。
可以传递到 SCNPathNode 类和 SCNGeometry.path 函数的其他参数:
名称 | 描述 | 默认值 | 示例 |
---|---|---|---|
path(路径) | 构成路径的 SCNVector3 点的数组 | 无默认值 | [SCNVector3(0,-1,0), SCNVector3(0,-1,-1), SCNVector3(1,-1,-1)] |
width(宽度) | 路径的宽度,单位为米 | 0.5 | 0.1 |
curvePoints(曲线点) | 构成曲线外观的点数,当路径转向新方向时使用。 | 8 | 16 |
materials(材质) | 应用于几何体的材质。 | 一个蓝色的 SCNMaterial | [SCNMaterial()] |
curveDistance(曲线距离) | 从曲线中心到角半径的距离,是宽度的一半的倍数。最小值是 1。 | 1.5 | 2 |
以下是使用此软件包可以执行的一些基本示例: