【发布时间】:2013-06-19 11:39:23
【问题描述】:
我在理解场景套件几何时遇到了问题。
我有 Blender 的默认立方体,我导出为 collada (DAE),并且可以将它带入 scenekit.... 一切都很好。
现在我想查看立方体的顶点。在 DAE 中,我可以看到“Cube-mesh-positions-array”的以下内容,
“1 1 -1 1 -1 -1 -1 -0.9999998 -1 -0.9999997 1 -1 1 0.9999995 1 0.9999994 -1.000001 1 -1 -0.9999997 1 -1 1 1”
现在我想在 scenekit 中做的是取回顶点,使用类似以下内容:
SCNGeometrySource *vertexBuffer = [[cubeNode.geometry geometrySourcesForSemantic:SCNGeometrySourceSemanticVertex] objectAtIndex:0];
如果我处理 vertexBuffer(我尝试了多种查看数据的方法),它似乎不正确。
有人能解释一下“SCNGeometrySourceSemanticVertex”给了我什么,以及如何正确提取顶点数据吗?我想看到的是:
X = "float"
Y = "float"
Z = "float"
我还在研究以下类/方法,看起来很有希望(这里有一些很好的数据值),但是来自 gmpe 的数据显示为空,有人能解释“SCNGeometryElement”的数据属性包含什么吗?
SCNGeometryElement *gmpe = [theCurrentNode.geometry geometryElementAtIndex:0];
谢谢,非常感谢您的帮助,
D
【问题讨论】:
-
嗨,Darren,我想知道你是否有最终代码,也许是在 Swift 中,它只是获取几何的点位置,没有额外的数据等。也许在 Swift 中?我目前需要能够为 Face AR Geometry 缓冲区执行此操作。我希望我知道更多的代码知识,但想法是每秒 60 次获取 iPhone X 的 Face geo,并将其保存到一个高效的大缓存数据中。在 3D 中它会是 Alembic,但不确定应用程序。但无论如何,如果你有获取几何点位置的功能,我可以从那里继续。干杯。