0
を更新しませんサウンドに変換するので、フレーム間では常に変化します。ブレンダースケール値は、私はこのスクリプトを実行すると
Blenderは値を更新しないように見え、テキストが実行されている間は常にフレームの値を取得します。
リアルタイムでコードを実行中に値を更新する方法はありますか?
を更新しませんサウンドに変換するので、フレーム間では常に変化します。ブレンダースケール値は、私はこのスクリプトを実行すると
Blenderは値を更新しないように見え、テキストが実行されている間は常にフレームの値を取得します。
リアルタイムでコードを実行中に値を更新する方法はありますか?
あなたは間違った値を見ています。
あなたはv = scale[1]
その後scale[0] = i
を設定し、print(v)
ので、あなたの読書scale.yをし、それのpython経由してフレームを変更するscene.frame_set()
を使用することをお勧めしscale.y
を見て、その後scale.xを変更しています。
鍵付きの値を取得するための別のアプローチは、fcurve.evaluate(frame)
import bpy
s = bpy.context.scene.frame_start
e = bpy.context.scene.frame_end
values = []
f = bpy.context.object.animation_data.action.fcurves.find('scale', index=1)
for i in range(s,e):
v = f.evaluate(i)
print('At frame ',str(i), ' value ' ,str(v))
values.extend([v])
を使用することですそして、あなたが値をキーフレームに計画している場合は、keyframe_insert(data_path, frame=f)
obj.keyframe_insert('scale', frame=2)
obj.keyframe_insert('scale', index=1, frame=5) # key only scale.y
私はbake.context.object.scale [0]を音に焼き付けたので常に変化するde scale [1]値を更新しようとしましたが、scale [1]が常に変化しても、それは常に同じ値を出力します –
'frame_set()'を使って焼いた音から値を出してください。それ以外の場合は、['fcurve.evaluate(frame)'](https://www.blender.org/api/blender_python_api_current/bpy.types.FCurve.html#bpy.types.FCurve.evaluate)を試してみてください – sambler
fcurve.evaluate (フレーム)が機能し、値が正しくなった –