Генерация MDLMesh с поддержкой складок?

Мне удалось создать MDLMesh и преобразовать в SCNGeometry для рендеринга в SceneKit. Но я не смог получить поддержку складки в своих сетках или геометрии.

Я просто хотел убедиться, что я делаю правильные шаги, чтобы добавить поддержку складок для моей сетки.

  1. Создать MDLSubmeshTopology
  2. Для нового объекта топологии назначьте MDLMeshBuffers для свойств edgeCreaseIndices, edgeCreases и Int для свойств edgeCreaseCount.
  3. Создайте MDLSubmesh с объектом топологии.

Я не ищу конкретные решения, просто общее представление о том, как можно было бы добавить поддержку складки в сетку. Любой, кто имеет опыт в этом, был бы великолепен.

2 ответа

Решение

SceneKit имеет edgeCreasesElement а также edgeCreasesSource так же хорошо как vertexCrease семантический.

Вы можете взглянуть на документацию для SCNGeometry.subdivisionLevel для дополнительной информации.

Следующее должно работать, предполагая, что вы подготовили данные в виде пар ребер из четырехбайтовых целых чисел, а значения сгиба в виде чисел с плавающей запятой.

    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];
Другие вопросы по тегам