Wenn ich dieses Skript ausführen:Blender Skalenwert nicht aktualisiert
import bpy
import math
s = bpy.context.scene.frame_start
e = bpy.context.scene.frame_end
values = []
print(s)
print(e)
for i in range(s,e):
bpy.context.scene.frame_current = i
print(i)
v = (bpy.context.object.scale[1])
bpy.context.object.scale[0] = i
print('At frame ',str(i), ' value ' ,str(v))
values.extend([bpy.context.object.scale[1]])
Es gibt mir die richtige Anzahl von Frames, aber der Wert ist immer die gleiche, auch wenn der Maßstab [1] das Objekt gebacken zu einem Sound, so dass es immer zwischen den Frames wechselt.
Es sieht so aus, als ob Blender den Wert nicht aktualisiert und immer den Wert des Rahmens annimmt, während dessen der Text ausgeführt wird.
Gibt es eine Möglichkeit, den Wert während der Ausführung des Codes in Echtzeit zu aktualisieren?
Ich setze bpy.context.object.scale [0], um zu versuchen, de scale [1] -Wert zu aktualisieren, der sich immer ändert, weil ich es zu einem Sound gebacken habe, aber auch wenn sich die Skala [1] immer ändert , es druckt immer den gleichen Wert –
Verwenden von 'frame_set()' sollte geben Sie die Werte aus dem gebackenen Sound. Andernfalls könnten Sie versuchen, ['fcurve.evaluate (frame)'] (https://www.blender.org/api/blender_python_api_current/bpy.types.FCurve.html#bpy.types.FCurve.evaluate) – sambler
fcurve.evaluate zu verwenden (Rahmen) gearbeitet, Werte stimmen jetzt –