Assimp также предлагает флаг aiProcess_PreTransformVertices
для выравнивания иерархии преобразования. Конечно, вы также можете сделать это вручную, используя матрицы aiNode::mTransformation
и умножая их в правильном порядке.
Потенциальная проблема с этими подходами (особенно с флагом) может заключаться в том, что свойства материала подсетки могут быть потеряны. Assimp не заботится о том, имеют ли подсетки разные свойства материала, а просто объединяет их, но свойства материала могут быть потеряны для некоторой подэлемента sh. Это также относится к другим свойствам, таким как имена sub-me sh. Если подсетки будут объединены, останется только одно (произвольно выбранное?) Имя sub-me sh.
Т.е. вы захотите предотвратить выравнивание иерархии узлов, если хотите использовать указанные c свойства (имена, свойства материала) подсетей.
Если вас интересует только их преобразование в мировое пространство: если вы никогда не собираетесь что-то делать с узлами в объектном пространстве (например, преобразование подузел по отношению к родительскому узлу), то я не вижу причины не превращать их в мировое пространство.