Ich habe eine ausgewählte Mesh (kreativ ‚ausgewählt‘ genannt), die ich mit in seinem lokalen Raum arbeiten möchten, so dass ich die folgende verwenden:Wie man eine Umwandlung durch Matrix in Blender umkehrt?
tmesh = NMesh.GetRawFromObject(selected.name)
tmesh.transform(selected.matrix)
ich dann eine Reihe von Berechnungen auf seiner verticies und entfernen Sie sie per Index, das funktioniert super.
Was nicht so gut funktioniert, ist, wenn ich versuche, sie später aus einer Liste von vert.co-Objekten hinzuzufügen. Sie werden am Ende korrekt zueinander positioniert, aber nicht in der Nähe der ursprünglichen Vertices.
for v in tmesh.verts: toAdd.append(v.co) mesh = selected.getData(mesh=1) mesh.verts.extend(toAdd)
Ich erkannte dies liegt daran, dass sich das Objekt in einem anderen Raum. Also ich denke was ich tun muss, ist die neue Verticies zurück in den alten Raum zu übersetzen ... aber mein Verständnis, was genau hier vorgeht, ist bestenfalls unscharf. Wie kann ich den Befehl tmesh.transform (selected.matrix) rückgängig machen? http://www.kellbot.com/2010/11/lego-plans-now-with-better-rendering/ mit Blender
Können Sie die 'tmesh.transform (selected.matrix) 'auslassen, bevor Sie Ihren" Haufen von Berechnungen auf ihren Scheitelpunkten "ausführen? h. Arbeiten Sie im Objektbereich und vermeiden Sie das Problem. – martineau