Blender 是什么
Blender 是一套开源的三维建模程序,因为之前为了在创作短片时使用数字绘景MattePainting技术,比如场景扩宽中的资产创建和2.5D合成,所以一直在学习这款程式,与之对应的商业建模程式有Maya,3DCoat,3dsMax,SideFx Houdini。比起商业的建模程式,Blender的优势是,第一,它是开源程式,第二,整套建模系统有自成体系的工作流,从建模,贴图,骨骼绑定,动画,合成,渲染输出,都可以在Blendr里面完成。学习的难度系数略高于Maya。目前Blender的版本一直在持续迭代中,整套系统开始使用越来越先进的技术,比如使用了EEVEE实时渲染引擎,在制作和渲染动画时,降低了制作成本。
在这篇文章中,我将介绍如何使用Blender 2.8 和 PyMol 制作蛋白质的三维结构图像艺术,上图为自己创作DNA螺旋三维结构的Blender截图。
创作过程解析
因为SARS-COV-2全球大流行,所以之前有一段时间研究过蛋白质的三维结构折叠。今天就拿SARS-COV-2的刺突蛋白(Spike Protein)来进行创作,其中的蛋白质编号为6M0J Crystal structure of SARS-CoV-2 spike receptor-binding domain bound with ACE2,与人类ACE2受体结合的的蛋白质。病毒是直接通过与ACE2结合这把钥匙,进入到人类细胞中,然后释放RNA从而合成和制造病毒自身的蛋白质。
首先我们下载蛋白质三维结构PDB文件,6M0J PDB,然后导入到PyMol分子三维结构预览程式中,如下图所示:
图中分别展示了6M0J蛋白质的卡通结构和表面结构。该蛋白质由两条肽链组成。
然后我们在Pymol中导出VRML2文件图像,路径为File->Export Image As->VRML 2。
接下来我们把VRML2依次导入到Blender程式中,导入完成之后,我们就可以对模型进行修饰,添加材质,打灯光,最后渲染输出。(注意需要对导入的模型执行一次 Mesh->Merge By Distance 将重复的顶点去掉,然后执行Mesh->Shade Smooth 使得模型表面被光滑处理)
下图是最终修饰处理完之后的截图,右下窗口就是导入的蛋白质三维结构模型。
关于Blender的材质构建,我后面会写一篇文章,详细介绍Blender的材质系统。
最后渲染输出的结构图如下:
总结
这是一次尝试在Blender结合Pymol来构建蛋白质三维结构图像艺术的尝试,蛋白质与我们人类息息相关,我们身体上的所有器官都是由蛋白质构成的,每当在科技杂志上看到精美的蛋白质三维结构图,都能让我们遐想在如此浩瀚的宇宙中,居然还有一个被巧妙设计好的微观世界在运行着,他的每一个零件运行都是那么的精准,如果稍有偏差,就会给生命体带来各种疾病。
目标
之前谈到过蛋白质的结构预测项目Rosetta@home,rosetta是一款开源程式,可以从头预测蛋白质的三维结构,接下来我就是学习rosetta的使用,自己已经在树莓派上编译了支持MPICH的Rosetta程式,然后我准备自己去设计蛋白质。用Rosetta来预测出给定蛋白质序列下的三维结构,最后在Blender中对该蛋白质进行修饰和图像合成,创作蛋白质的三维结构艺术。