逯燕乐,贺金鑫,罗文宝,李晓波,陈德博
(1.吉林大学 地球科学学院,长春 130061;2.中化地质矿山总局 黑龙江地质勘查院,哈尔滨 150040)
“数字地质科学”是吉林大学地球科学学院自主设立的二级学科,隶属于“地质学”一级学科;该学科是为适应传统地质科学的发展趋势,以及国家资源环境战略对以信息技术为代表的高新科技的需求而建立的,是一门具有广阔发展前景的新型交叉学科。其中三维地质建模及四维地质过程模拟是数字地质科学中的重要研究方向。但地质演化过程历经上亿年,影响因素错综复杂,如地壳运动表示着地球表面物质在地质作用下的演化过程,火山活动则是地球深部熔岩受到外力作用影响地表的过程,要实现这些地质现象在时间尺度上的动态模拟,还原各个历史时期地质现象的形成规律,是比较困难的。同时,熟练地掌握地质建模、模拟与可视化技术对数字地质科学方向本科生的人才培养具有十分重要的意义[1]。因此,笔者将三维地质建模以及动态模拟软件Blender应用于数字地质科学本科生科研训练中,利用Blender能对地学信息进行有效整合,建立相互之间的空间组合关系以及时间演化顺序[2-6]。考虑到地质演化过程在时间与空间尺度信息上的特殊性,使学生亲自动手操作,完成从模型建立到属性赋予,以及动态模拟全过程,对提升数字地质科学方向本科生的专业素养具有很大帮助。
Blender是一款跨平台的轻量级三维动画制作软件,支持各种多边形建模,提供从建模、材质、渲染、到音视频处理等一系列动画制作的全部技术支持[7]。Blender因为本身足够小巧,具有很高的便捷性,同时还可以做到多平台支持。因为其开放源码,所以有许多功能强大且足够便捷的插件可供选择。Blender完整集成的创作套件提供了全面的3D 创作工具,包括建模(Modeling)、贴图(Texturing)、UV 映射(UV-Mapping)和其他系统的物理学模拟(Physics)、脚本控制(Scripting)、渲染(Rendering)和后期处理(Post-production)等一系列功能[7-8]。Blender软件的主要特点包括[9]:
1) 跨平台支持,基于OpenGL的图形界面,可运行在几乎所有主流的操作系统上;
2) 内置Python脚本,可通过编程自定义控制;
3) 开放源码,拓展性强,包含众多使用插件;
4) 高质量的3D渲染引擎,提高成品质量;
5) 软件体积小巧,便于分发。
地壳运动引起地壳结构改变和内部物质位移,进而导致岩石圈的演变[10],促使大陆、洋底的增生和消亡,并形成海沟和山脉等现象,是地壳抬升演化的主要原因[11-12]。对地质知识的学习,掌握地壳运动的规律是学生了解地球演化过程的关键步骤;但由于传统教学方式无法使学生直观体会地壳运动过程[13-14],因而让学生亲自动手利用三维建模技术模拟地壳运动过程对教学具有很大帮助。对地质体的三维建模和地质演化过程的动态模拟分为建模、材质、灯光与渲染4个步骤。这些对视频效果的呈现同样是非常重要的流程,而Blender软件可对整套流程提供全部的技术支持。基于Blender的山体建模采用传统多边形建模,并使用到True-Terrain、Landscape等插件,具体过程如下:
1) 首先建立山体,生成网格中选择Landscape,然后调整噪波类型选择Hetero Terrain叠加New Perlin,并适量调整深度和偏移量;
2) 修改模型坐标为0,高度为50 m,尺寸为200×200 m2;
3) 进入物体编辑模式,为模型添加实体,适当调整模型各部分形状及相互空间关系;
4) 利用右侧工具栏为模型添加粒子系统模拟岩体;
5) 利用材质工具栏为模型添加材质,并使用着色器编辑器对模型材质进行调整修改,如图1所示;
图1 基于Blender的山体建模Fig.1 Mountain modeling based on Blender
6) 按照上述步骤建立5个山体模型,单独修改各模型的噪波属性与高度,依次按照高山、丘陵、平原和盆地等地形为山体模型赋予不同属性及高度,并按照地层顺序为各自命名;
7) 修改每个模型坐标,x=y=0,以5 m间距将模型依次沿z轴负方向分布;
8) 按照各地层岩性为每个模型单独赋予材质及属性,此处为高山模型赋予高大乔木林以及岩石山地材质,丘陵为灌木林材质、平原为草地材质。
在地球亿万年的演化历程中,岩浆活动扮演着极其重要的作用。由于地球内部物质成分的不均匀,导致局部温度压力的累积,从而在地幔内部形成地幔对流或地幔柱,当上覆地层的压力过大时,岩浆就会沿着断层裂隙或地层薄弱的地方冲破地壳,形成火山活动。火山喷发的方式大致可分为裂隙式、中心式和熔透式3种形态[15-18],利用Blender软件建立的三维模型模拟火山喷发过程可使学生清楚掌握岩浆活动的全过程。由于模拟火山喷发所涉及的细节部分比较多,因而对学生的实际动手能力同样是一个挑战,其具体操作步骤如下:
1) 打开Blender后新建一个简单四边形平面,放大至合适位置并细分50次;
2) 打开编辑模式后选中平面中心的点,启用比例编辑功能(O键),沿z轴拉伸火山主体外形以及火山通道;
3) 简单修饰模型外表,为使其更加接近实际效果,可启用噪波修改器,拖动参数条至适当位置;
4) 添加表面细分修改器以及置换修改器,表面细分参数不宜过大,选2即可;置换修改器纹理选择云絮,简单调试纹理的尺寸深度以及强度数值即可为模型添加山体的逼真效果;
5) 为山体赋予材质以及加载环境高分辨率环境贴图,在火山口部位和通道内部设置自发光属性模拟岩浆溢流时的效果;
6) 使用Blender自带的粒子系统模拟火山喷发时的喷出物,分别使用直径为3~5 m、0.1~1 m和0~0.1 m的3种不同尺寸的粒子效果模拟火山喷出物中的火山集块,火山角砾与火山灰,如图2所示。
图2 基于Blender的火山活动建模Fig.2 Volcanic modeling based on Blender
采用关键帧法制作动画,在右侧渲染设置中调整视频格式为24帧/s,画幅为720×480像素。在主窗口下方拖出时间线窗口,选择要调整的模型轨道,添加相机和日光并调整适当的角度,为环境光影、材质属性和粒子系统在不同位置插入关键帧,模拟演示真实过程。调整模型的旋转缩放与坐标,插入关键帧后调整关键帧属性,使动画变得流畅自然。按照同样方法对每个模型进行操作。在主窗口键入“i”,选择“位置+旋转+缩放”,右键“创建关键帧”。
用鼠标将时间线移动到20帧,重复上述步骤,先移动时间轴位置,然后调节物体的移动旋转或缩放到需要的状态,最后键入“i”创建关键帧。以此类推,每隔一定帧数创建关键帧并做调整,就可制作需要的模型动画效果,最后通过“Alt+a”播放查看动画效果。
使用Blender自带的渲染引擎Cycles,为平衡动画的输出效果与消耗的时间,经过多次试验后发现,在开启试验特性并选择GPU(Graphics Processing Unit)计算时,调整为128位渲染采样,32位视图时,4次最小光线反弹,光照阈值为0.01时效果最好。
完成动画所有关键帧的插入后,在右边的属性中选中“渲染”。在下面的“输出”中可以选择渲染输出的保存路径位置。选择渲染输出的类型,默认是PNG(Portable Network Graphias),选择以视频格式输出。完成设置后,点击顶部菜单中的“渲染”----“渲染动画”,也可“Ctrl+F12”快捷键进行渲染输出,效果如图3所示。
图3 Blender模型渲染效果展示Fig.3 Rendering output based on Blender
基于Blender软件的数字地质科学专业本科生科研训练方式具有很大优势:既培养了学生进行三维地质建模、四维地质过程动态模拟等实际操作能力;同时又在一定程度上解决了传统地质教学过程中的概念模型难以展示,野外教学又受天气、场地和经费等问题[19-20]限制。Blender作为一款开源的动画设计软件,在设计行业有着较为成熟的表现,但在地质领域尚未发挥出其出色的能力,因而需要更多的教师和学生们的共同努力,利用软件的强大功能开发出适合地学领域的应用。根据实际的教学结果统计表明,经过Blender实践教学训练的学生能更快掌握地质现象及其内在规律,在辅助教学方面有很大帮助。在未来的工作中,仍需进一步考虑如何将更多的信息技术手段融入到数字地质科学专业本科生科研训练方法中。