【教程092】慢工出细活,埃洛石纳米管的绘制
今天的教程算是对晶体模型画法的一个小结,以前几日微信后台的一个问题为例——埃洛石(Halloysite)纳米管怎么画?
上面是一张平面的参考图,展示的是埃洛石管的横截面,画好之后可与之对照是否一致。这期教程的综合性比较强,有文件转化,有建模,有渲染,还有脚本知识。先看下最终的效果——
以下是具体教程(最后附有视频,建议先看完文字版再看视频):
1、首先,在网上下载埃洛石的cif文件,并用晶体软件打开,这里我用的是Mercury。
2、点击Print in 3D,设置好保存路径后点击Generate即可。
3、打开3dmax,导入刚刚保存的文件,准备工作就做好了。
如果你想糊弄了事,这一步给不同原子分别添加材质,然后克隆、弯曲就结束了。但最终得到的图片我是不忍直视的。所以,如果你想渲出一张像样的图,建议还是一步步往下看。
4、由于导入后的模型是可编辑网格形式,不方便修改,要先处理一下。选择对象,在编辑几何体卷展栏中点击炸开(数值为180)。
5、选择所有对象,点击层次面板的仅影响轴>>居中到对象,让所有对象的轴心居中,再次点击仅影响轴结束。
6、这里的球体都是可编辑网格对象,没有半径参数,不好进行直观的修改。所以最好重新创建球体,依次对齐到每一个原子的位置,替代这些可编辑网格对象。问题来了,这么多球,我要一个一个创建小球与之对齐,那得创建到猴年马月?如果你经常关注小编的教程,应该知道我的风格,这种事情通常我都会交给MAXScript去做。这里我就教大家怎么一次性创建好球体,并与已有的可编辑网格对象一一对齐。
以视图中红色显示的O原子为例,我们先选中这些原子
打开脚本编辑器(注意不再是侦听器了,侦听器只是测试简单语句用的),输入:
A = for i in $selection collect(i)
b = sphere()
for i = 1 to A.count do
instance b pos:[A(i).pos[1], A(i).pos[2], A(i).pos[3]]
这段脚本的意思是:将所选对象放到一个数组A内,创建球体b,对于数组A内所有对象,依次在每个对象的坐标位置处克隆b对象(即球体),instance意为以实例的方式克隆。
点击计算所有,即可看到每个原子的位置处都产生了一个新的小球,这些小球之间是实例关联的,可以同步修改半径等参数。
Si原子和Al原子也是同样操作,分别全选后运行以上脚本即可。最后删除原来的可编辑网格对象,剩下的都是新创建的球体。
7、原子替换好了,接下来是原子间的键。参照原有的可编辑网格对象,开启轴心捕捉,在原子之间连线。为操作方便,可将原来的键对象冻结。
8、删除原来的键,将新创建的线附加为一体。
9、到上面一步其实就可以进行周期性复制了,这里为了结果更好看,小编多加了几步。创建一个八面体,转为可编辑多边形。
10、开启顶点和轴心捕捉,将八面体的6个顶点依次捕捉到相应的原子轴心位置。
11、其他几个位置可通过对称和顶点捕捉移动得到。
12、创建四面体,类似操作。不会可以看后面的视频,Alt+X可以让视图中的对象半透明显示,以方便观察(如下)。
13、选择所有线段,拆分。
14、分别选择所有和Si原子、Al原子相连的线段,点击分离。
15、下一步就是克隆该重复单元,克隆之前先给相应的对象赋予不同材质。
16、沿x轴方向实例克隆。
17、添加弯曲修改器。
18、弯曲后的球体会发生变形,重新添加球形化修改器。同样,一个个添加太麻烦,整体添加效果又不对。这里我们再次用一句脚本来解决这个问题。全选所有球体,运行如下脚本,问题迎刃而解。
A = for i in $selection collect(i)
for i = 1 to A.count do
addmodifier A[i] (spherify percent: 100)
19、轴向克隆,得到管状。
20、后面就是渲染和导出了,方法和【教程070】(钙钛矿)类似,具体请见视频教程。
以下是视频录像,手机上看不清楚的可以点击“阅读原文”,在电脑上观看原视频。
https://v.qq.com/txp/iframe/player.html?vid=e0751gjlmjq&width=500&height=375&auto=0
https://v.qq.com/txp/iframe/player.html?vid=r0751gi31am&width=500&height=375&auto=0
本期教程到此结束,谢谢观看。如有更多问题,请在微信后台留言,或者加入我们QQ群(417591139)。
祝你绘图技术更上一层楼!