SCNLine 1.3.0

SCNLine 1.3.0

Max CobbMax Cobb维护。



SCNLine 1.3.0

  • Max Cobb

SCNLine

用于在应用中使用SceneKit创建粗线几何形状的函数和类。

Actions Status Actions Status Swift 5.0

Line Drawing Hello 1

介绍

SCNLine是一个用于在3D空间中绘制给定厚度的线的类。在大多数3D项目中,通常会使用GL_LINES方法;这样做在SceneKit中使用这个原语类型是可行的。然而,glLineWidth现在已弃用,这就是我最初编写这个类的原因。

有关在OpenGL或其他情况下绘制原语类型的信息,请参阅此文档,或者如果您想了解它在SceneKit中的应用,请查看我的第一篇关于构建原语几何体的Medium文章

请随意使用和贡献这个库。我唯一的要求是,您让我知道您在使用;这样我可以看到一些关于它的酷用法!

安装

Swift包管理器

将此存储库的URL添加到您的Xcode 11+项目中。

https://github.com/maxxfrazer/SceneKit-SCNLine.git

CocoaPods

在Podfile中添加: pod 'SCNLine', '~> 1.0'

导入

在.swift文件中添加: import SCNLine

示例

要将线几何图形添加,就这么简单

let lineGeometry = SCNGeometry.line(points: [
	SCNVector3(0,-1,0),
	SCNVector3(0,-1,-1),
	SCNVector3(1,-1,-1)
], radius: 0.1).0

或直接使用节点 SCNLineNode

drawingNode = SCNLineNode(
	with: [SCNVector3(0,-1,0), SCNVector3(0,-1,-1), SCNVector3(1,-1,-1)],
	radius: 0.01,
	edges: 12,
	maxTurning: 12
)
drawingNode.add(point: SCNVector3(1,-2,-2))

如果您希望稍后通过向其添加点来更新线,请推荐后者。

这对于在ARKit设置中从原点下方开始,向前然后向右绘制半径为10厘米的线非常有用。y值设置为-1仅作为一个示例,假设您的场景图原点大约在地面上方1米处。

可传递给SCNGeometry.path的其它参数

名称 描述 默认 示例
由SCNVector3点构成线的数组 无默认 [SCNVector3(0,-1,0), SCNVector3(0,-1,-1), SCNVector3(1,-1,-1)]
半径 线条的半径(米) 无默认 0.1
边缘 用于围绕扩展到几何图形的管状线条的边缘的顶点数 12,最小为3 16
最大转向 定向转向新方向时组成弯曲外观的点数最大值 4 16

在下面的示例中,它显示了如何用于绘制应用程序,我不会推荐在当前状态下使用此类,因为当前的类将从线的开始到末端重新收集顶点,这非常低效,因为大多数将保持不变。

这里有一些基本示例,说明您可以使用此Pod做什么

Line Drawing Example 1 Line Drawing Hello 2