【发布时间】:2021-12-30 14:09:38
【问题描述】:
给定一个 STL 文件,如何使用命令行 (bash) 将其转换为动画 gif?
我发现一些文章含糊地描述了如何通过 GUI 执行此操作。我已经能够生成以下内容,但是动画非常粗糙并且阴影会四处跳动。
for ((angle=0; angle <=360; angle+=5)); do
openscad /dev/null -o dump$angle.png -D "cube([2,3,4]);" --imgsize=250,250 --camera=0,0,0,45,0,$angle,25
done
# https://unix.stackexchange.com/a/489210/39263
ffmpeg \
-framerate 24 \
-pattern_type glob \
-i 'dump*.png' \
-r 8 \
-vf scale=512:-1 \
out.gif \
;
OpenScad 有一个内置的--animation X 参数,但是在将摄像机角度作为参数传递时使用它可能不起作用。
资源
https://github.com/openscad/openscad/issues/1632#issuecomment-219203658
https://blog.prusaprinters.org/how-to-animate-models-in-openscad_29523/
https://github.com/openscad/openscad/issues/1573
https://github.com/openscad/openscad/pull/1808
https://forum.openscad.org/Product-Video-produced-with-OpenSCAD-td15783.html
【问题讨论】:
-
我认为您需要手动调整每个对象。您可能会找到一种方法来计算对象的范围,将其分成两半,然后围绕该点旋转,但在视觉上大小不同或不平衡的对象中,它可能看起来不正确。如果您尝试为很多模型自动执行此操作,也许值得在 OpenSCAD 之外使用任何运行此操作的脚本进行居中计算?
标签: openscad