【发布时间】:2016-07-04 09:48:12
【问题描述】:
我正在使用 Scene Kit 并创建了一个 SCNBox。在盒子的正面我想要它,所以如果点击正面的左侧,就会发生“A”,如果点击正面的右侧,就会发生“B”。我怎样才能做到这一点。我检查了堆栈,但大多数答案都涵盖了节点是否被触及,而不是节点的一部分。
【问题讨论】:
标签: objective-c 3d touch scenekit
我正在使用 Scene Kit 并创建了一个 SCNBox。在盒子的正面我想要它,所以如果点击正面的左侧,就会发生“A”,如果点击正面的右侧,就会发生“B”。我怎样才能做到这一点。我检查了堆栈,但大多数答案都涵盖了节点是否被触及,而不是节点的一部分。
【问题讨论】:
标签: objective-c 3d touch scenekit
SCNHitTestResult 有一个 geometryIndex,它将为您提供被击中的几何 元素 的索引(即立方体面)。它还有一个faceIndex 属性,可以为您提供该元素中基元的索引。
【讨论】:
SCNBox 使用localNormal 值是否也有效?
SCNGeometryElement 由几个primitives(三角形、四边形等)组成,faceIndex 为您提供被击中的基元的索引(在[0, primitiveCount-1] 范围内)