我已经能够创建MDLMesh并转换为SCNGeometry以在SceneKit中渲染。但我无法在网格或几何体中获得折痕支撑。
我只是想验证我是否采取了正确的步骤来为我的网格添加折痕支持。
我不是在寻找具体的解决方案,只是想知道如何为网格添加折痕支撑。任何有这方面经验的人都会很棒。
答案 0 :(得分:2)
假设您已将数据准备为四字节整数的边对,并且折痕值为浮点数,则以下情况应该有效。
geometry.edgeCreasesSource = [SCNGeometrySource geometrySourceWithData:ecsData
semantic:SCNGeometrySourceSemanticEdgeCrease
vectorCount:creaseCount
floatComponents:YES
componentsPerVector:1
bytesPerComponent:4
dataOffset:0
dataStride:sizeof(float)];
geometry.edgeCreasesElement = [SCNGeometryElement geometryElementWithData:eceData
primitiveType:SCNGeometryPrimitiveTypeLine
primitiveCount:creaseCount
bytesPerIndex:4];
答案 1 :(得分:1)
SceneKit有edgeCreasesElement
和edgeCreasesSource
以及vertexCrease
语义。
您可以查看SCNGeometry.subdivisionLevel
的文档以获取更多信息。