我需要在第1帧开始并在第1147帧结束时围绕某个对象完全旋转相机。要自动插值,我需要使用关键帧。如何在第1帧和第1147帧插入关键帧并使用python脚本在这些关键帧之间旋转相机?任何帮助将不胜感激。
答案 0 :(得分:1)
围绕对象旋转相机的简单方法是在与注意对象相同的位置添加空白,将相机添加到空白,使用轨道约束以保持相机指向对象然后旋转空。
这可以在python中完成 -
import bpy
import math
scene = bpy.context.scene
cam = scene.camera
bpy.ops.object.empty_add()
target = bpy.context.active_object
target.name = 'focus point'
target.location = bpy.data.objects['focusObj'].location
cam.parent = target
tc = cam.constraints.new(type='TRACK_TO')
tc.target = target
tc.up_axis = 'UP_Y'
tc.track_axis = 'TRACK_NEGATIVE_Z'
scene.frame_current = 1
target.rotation_euler = (0,0,0)
target.keyframe_insert(data_path="rotation_euler")
scene.frame_current = 1147
target.rotation_euler = (0,0,math.radians(360))
target.keyframe_insert(data_path="rotation_euler")
for fc in target.animation_data.action.fcurves:
fc.extrapolation = 'LINEAR'
for kp in fc.keyframe_points:
kp.interpolation = 'LINEAR'
您需要调整名称“focusObj”。
通过将插值设置为线性,您将获得恒定的旋转速度,而不是在开始和结束时的轻松进出。将外推设置为线性意味着它将继续无限旋转。