Blender: как экспортировать ключи формы с помощью Python? - PullRequest
2 голосов
/ 26 сентября 2011

Я хочу экспортировать ключи формы для некоторого объекта. Как я могу получить доступ к сетке ключа формы? Я использую блендер 2.59. Спасибо

1 Ответ

7 голосов
/ 26 сентября 2011

я сделал это. Вот сценарий. может быть, кому-то это будет полезно:

import bpy
import xml.dom.minidom

path = "/Users/x/Documents/y/game_projects/test.xml"

dom = xml.dom.minidom.getDOMImplementation()
tree = dom.createDocument(None, "document", None)

root = tree.documentElement
root.setAttribute("version", "0.1")

for object in bpy.data.objects:
    if object.type == 'MESH' and object.data.shape_keys:

        objectElement = tree.createElement("object")
        objectElement.setAttribute("name", object.name)
        root.appendChild(objectElement)

        keysElement = tree.createElement("shape_keys")
        objectElement.appendChild(keysElement)

        keyBlocks = object.data.shape_keys.key_blocks
        for block in keyBlocks:
            keyElement = tree.createElement("key")
            keyElement.setAttribute("name", block.name)
            keysElement.appendChild(keyElement)

            for data in block.data:
                vertex = data.co
                element = tree.createElement("vertex")
                element.setAttribute("x", str(vertex.x))
                element.setAttribute("y", str(vertex.y))
                element.setAttribute("z", str(vertex.z))
                keyElement.appendChild(element)


file = open(path, "w", encoding="utf8")
tree.writexml(file, encoding = "UTF-8", indent = "\n", addindent = "\t")
file.close()
...