【问题标题】:Can I union multiple transparent SCNShape objects?我可以合并多个透明 SCNShape 对象吗?
【发布时间】:2018-01-28 16:52:41
【问题描述】:

我正在向 ARSCNSceneView 场景添加多个透明 SCNShape 对象。

  • 这些形状基于用户输入并且应该重叠。
  • 它们都是在同一平面上使用 UIBezierPath 制作的扁平形状
  • 形状必须是透明的,这样用户才能看到后面的相机输入

问题是重叠的形状非常明显,我希望它显示为单个形状 - 所有形状的联合。

失败的方法:

  • 将其放在同一节点下并使用父级不透明度。
  • 合并 UIBezier 路径。
  • 混合模式
  • 透明模式
  • 使用原始三角形而不是 UIBezierPath 进行绘图

【问题讨论】:

标签: ios swift scenekit uibezierpath arkit


【解决方案1】:

您可以查看VectorBoolean,它是一个快速库,用于处理您正在寻找的联合等布尔运算。我自己没有尝试过,但听说过一些关于它的好消息。

【讨论】:

  • 太棒了。 Union 可以按预期工作,并且非常易于使用。您只需调用path.fb_union(other) 即可将它们合并而不会重叠。与原生 path.append(other) 行为不同。我将请求该 repo 以添加 podspec。
  • 在拉取请求获得批准之前,您可以使用我 fork 中的 pod pod 'VectorBoolean', :git => 'https://github.com/avishic/Swift-VectorBoolean.git'
  • VectorBoolean 存在一些问题 - 在某些情况下,它会删除整个路径/在联合中创建不需要的孔。
猜你喜欢
  • 1970-01-01
  • 2016-11-05
  • 1970-01-01
  • 2012-05-04
  • 2016-10-03
  • 2011-11-08
  • 1970-01-01
  • 2022-07-03
  • 2011-06-02
相关资源
最近更新 更多