首页 > 解决方案 > 在 PyMOL 中创建具有相互独立移动的对象和摄像机的电影的步骤

问题描述

我在 Linux 操作系统下编译了开源 PyMOL v2.2.0a0。

阅读这个网页并看到这个视频,我尝试了选择的“复制到对象/新”命令,在“编辑模式”下用鼠标独立移动它们,每次编辑后保存场景的状态,但我不能插值它们之间。

换句话说,我仍然无法理解如何实现像那个网页中显示的视频。

感谢您的关注,

此致

标签: moviepymolposition-independent-code

解决方案


在此页面中找到了解决方案:物体运动——保持相机静止,但在场景中移动物体

有一个工作示例:

# setup PyMOL for movies
reinitialize set matrix_mode, 1
set movie_panel, 1
set scene_buttons, 1
set cache_frames, 1
config_mouse three_button_motions, 1

# download the complex and setup it up fetch 1te1, async=0
extract AA, c. A
extract BB, c. B
color marine, AA
color grey, BB
as surface, BB
as cartoon, AA

# intialize the movie
mset 1 x410

# orient the scene
set_view (\
0.423117876, 0.061672822, 0.903973043,\
0.789699256, -0.514252067, -0.334546506,\
0.444237947, 0.855418444, -0.266292989,\
0.000107866, -0.000027858, -196.784057617,\
28.171787262, 70.919288635, 52.095287323,\
155.143981934, 238.418914795, -20.000000000 )

# move the inhibitor off the screeen
translate [0,0,100], object=AA

# first movie scene
frame 1
wizard message, "Let's watch the binder float it, while the camera doesn't move."
mview store, object=AA
mview store, object=BB

# 2 second pause for the user to catch up frame 60
mview store, object=AA
mview store, object=BB

# slide the inhibitor in from over the camera. :-)
frame 300
translate [0,0,-100], object=AA
mview store, object=AA
mview interpolate, object=AA

# store & wait 2 seconds...
frame 360
mview store, object=AA
mview store, object=BB
mview reinterpolate, object=AA
mview reinterpolate, object=BB

# 'explode' apart
frame 380
translate [-70, 70, 70], object=AA
translate [70, -70, -70], object=BB
mview store, object=AA
mview store, object=BB
mview reinterpolate, object=AA
mview reinterpolate, object=BB

mplay

您可以将其保存在默认 PyMOL 路径中的 .pml 文件(例如script.pml)中,以便能够使用@script.pmlPyMOL 中的命令调用它。

这是我的演示


推荐阅读