mcpField
C
crane-shot

crane-shot

github.com/kevinbadi创意与媒体210143 次安装30 周前更新
代码仓库

关于 crane-shot

crane-shot 是一项 Blender 技能,可制作从产品低角度逐渐升至俯视角度的相机动画。适用于需要戏剧性揭示效果的产品场景,并可调整运动、时长和帧率。

主要功能

  1. 01制作相机由低到高的动画
  2. 02相机升高时向后拉远
  3. 03设置时长和帧率
  4. 04调整起始和结束高度
  5. 05渲染 PNG 序列并用 ffmpeg 编码

适用场景

  1. 01制作戏剧性的产品揭示镜头
  2. 02从上方展示展台上的产品
  3. 03将上升镜头渲染为视频

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/kevinbadi/blender-skills --skill crane-shot

安装后在 Claude Code 中输入/crane-shot确认已加载。

详细介绍

摇臂镜头动画

镜头从低角度仰拍产品开始,随后平滑升高,从上方展现产品全貌,营造戏剧性的揭幕效果。

适用场景

  • 用户想要「揭晓」或「揭幕」镜头
  • 用户提到「摇臂」「升高」「由低到高」「戏剧性揭晓」
  • 产品位于基座或平台上

参数

参数默认值说明
duration5视频时长,单位为秒
fps24每秒帧数
start_height-0.2起始高度(低于产品平面)
end_height3.5结束高度(高于产品)
start_distance3.0起始距离
end_distance4.0结束距离(升高时向后拉远)

流程

步骤 1:设置摄像机
import bpy, math

bpy.ops.object.empty_add(type='PLAIN_AXES', location=(0, 0, 0.05))
tgt = bpy.context.active_object
tgt.name = 'CraneTarget'

bpy.ops.object.camera_add(location=(1.0, -START_DISTANCE, START_HEIGHT))
cam = bpy.context.active_object
cam.name = 'CraneCam'
cam.data.lens = 45

trk = cam.constraints.new(type='TRACK_TO')
trk.target = tgt
trk.track_axis = 'TRACK_NEGATIVE_Z'
trk.up_axis = 'UP_Y'

bpy.context.scene.camera = cam
步骤 2:制作摇臂运动动画
TOTAL_FRAMES = DURATION * FPS

scene = bpy.context.scene
scene.frame_start = 1
scene.frame_end = TOTAL_FRAMES
scene.render.fps = FPS

# Start low
cam.location = (1.0, -START_DISTANCE, START_HEIGHT)
cam.keyframe_insert(data_path='location', frame=1)
cam.data.lens = 45
cam.data.keyframe_insert(data_path='lens', frame=1)

# Rise up and pull back
cam.location = (1.5, -END_DISTANCE, END_HEIGHT)
cam.keyframe_insert(data_path='location', frame=TOTAL_FRAMES)
cam.data.lens = 35
cam.data.keyframe_insert(data_path='lens', frame=TOTAL_FRAMES)

# BEZIER for smooth crane motion
步骤 3:渲染并编码

使用相同的流程:Cycles、PNG 序列、ffmpeg ProRes 4444。

ffmpeg -y -framerate 24 \
  -i "~/Desktop/Blender Videos/crane_frames/%04d.png" \
  -c:v prores_ks -profile:v 4444 -pix_fmt yuva444p10le \
  "~/Desktop/Blender Videos/crane_shot.mov"

评论

支持 Markdown