APP下载

基于Quest3D的《土木工程材料》课程学习系统开发

2020-09-18吴世勇张劲松

四川建筑 2020年4期
关键词:土木工程材料虚拟现实装饰

吴世勇,汪 洋,杨 睿,张劲松

(1.合肥学院建管处,安徽合肥 230601;2.合肥学院城建学院,安徽合肥 230601)

在现代教育技术的发展史上,教学手段的革新从未停止。经历了基于广播电视的远程学习 D-Learning、基于电脑和互联网的电子学习 E-Learning,以及利用手机等进行移动学习的 M-Learning 阶段。而基于虚拟现实技术的 V-Learning 必将带来教育界新革命[1],虚拟教学使得教学手段获得了飞跃式发展。

虚拟现实技术具有较强的研究意义,经过多年的发展,近年来已经进入了一个新的阶段,在较多领域得到了应用。如用于能源动力工程分析,水资源处理,军事训练模拟[2],等等。在教育培训领域行业同样应用广泛,其中的土木工程教育对虚拟仿真的应用也变得越来越充分,如城市规划、工程实验[3]等。但是国内外主流期刊信息中,目前未见有关于建筑工程模块化虚拟仿真资源的研究。

《土木工程材料》在建筑教学体系中占有重要地位,但传统教学方式具有颇多缺陷。如内容体系单一,课程的能力输出效果差,实验和理论课内容不连贯,理论和应用联系不紧密。等等。而模块化教学有效克服了这些弊端,其核心是界定任务模块。

本文以《土木工程材料》模块化课程为例,通过其中的核心任务模块,尝试如何有针对性地构建符合模块化特色的虚拟现实资源,将桌面式-沉浸式虚拟技术融入现代课堂和课后实验实践,对现有教学媒体和方法进行补充,提供更加个性化的学习资源和空间。

1 需求分析与资源构建

这里选择了任务模块“装饰装修材料应用设计和效果分析”,本模块要求熟悉仓储式建材市场各类琳琅满目的装饰装修材料,通过合理选择应用到家庭装饰工程中,主场景是建材大市场和住宅内部装修。

交互功能的实现。在每个场景中,系统不仅很好地展示了各种琳琅满目的产品,而且提供了良好的交互性,学生可以自由选择虚拟场景、自由选择中意的装饰材料,全方位观察和对比实际应用效果,漫游于虚拟场景中,在这部分模块内容上,交互功能的实现是整个系统的核心和亮点所在。

交互功能入手角度,可以是从低档和高档材料所对应的不同技术经济性能,也可以是不同的装饰设计风格,等等。学生在素材数据库中选择材料不同的技术性能指标,获得不同的材质,检验对应的装饰效果。比如可调用的素材库中所用到的地面装饰材料,有地板、地砖、地毯等,而其中的地板,又可细分为实木地板、强化地板、复合地板、塑料地板、地板革等不同品种(图1)。

图1 系统交互功能需求模块

2 选择工具软件

丰富的交互性被作为虚拟现实开发平台的首要标准。三维引擎软件Quest3d支持VR大多数虚拟外设,提供了图形化的模块开发功能;支持多层次贴图,还可以收集项目的所有贴图;拥有对大规模场景的渲染能力,结合光照贴图实现细致的场景渲染效果;支持高效的碰撞检测,能精确地进行物体约束;支持 GUI 界面,通过可视化设计丰富交互功能;支持场景导航,通过平面图的链接,进而跳转到三维场景的任意位置;可实现网络发布,方便多人在线互动,分享体验,共享资源。本项目主要是利用了Quest3D这些优势实现技术开发。

本系统的前期三维制作主要使用 3DS MAX。此软件常用来配合游戏引擎制作三维场景和角色,在教育教学领域,一般被用来设计三维教学动画和虚拟现实场景。

此外还需要用到图像处理软件Fireworks和Photo shop,动画制作软件Flash,WEB开发脚本语言C#和Javascript,数据库MySQL,矢量绘图软件AutoCAD,三维建模软件 3D Coat。

3 系统设计与实施

3.1 数字化模型的素材准备

项目的首要任务是需要详尽的素材收集。因为本任务虚拟现实需要展示的内容是重现在真实世界中存在的场景或物品,并不是表现在真实世界中并不存在的场景或物品。所以在动手进行三维建模之前应当尽可能地收集第一手资料。通常需要收集的素材包括:设计图纸或测绘图纸、参考照片、纹理照片、视频资料等。

资源素材数据库建设包括:技术标准、工程案例等文本素材;仓储式建材装饰市场全景图、局部图;各种装饰装修材料及其不同的颜色质感等图片素材,等等。

3.2 虚拟场景的构建和数据导入

构建虚拟场景总体任务,首先要对整个场景的布局安排进行设计,接着画出指导建模的草图并建立出初步模型,然后给建模出的物体赋上材质和贴图,再将这部分模型整合到主体建筑的场景中,最后给场景布置灯光,从而完成整个场景的设计。

模块中装饰材料品种很多,但是VR 场景的模型个数过多也会直接影响到场景的导出和打开速度,这里采用的是实时渲染,即更改品种后无须任何等待时间即可看到结果,所以只需要事先设置好材料的颜色、外形模型和键盘模型,就可以“所见即所得”地尝试各种不同组合方案,哪怕品种数量再多也可从容应对。模块中主场景是装饰大市场全景和住宅建筑室内装饰效果(图2、图3)。

图2 3D Coat 对装饰材料大市场建模 图3 Ds Max对室内装修效果渲染

Quest3D中一个逼真的三维场景需包含相机、灯光和模型三要素。相机用来定义观察场景的视角,装饰设计需要设置不同的相机模式;装饰效果设计是室内场景,需要定义灯光在不同角度观察下的明暗程度;除了相机和灯光,还可以通过对模型表面的发光处理来使模型呈现更自然的效果,如果虚拟场景中只有模型则会显得单调,因此需要通过贴图的制作来实现系统背景的生成和处理,同时贴图技术还可以对模型的材质进行处理,使其更加逼真[4]。本系统中涉及到大量需要具备良好装饰效果的瓷砖涂料等部件,需要用到贴图,因此需要 Photoshop 对这些图片进行处理,以使其有更好的视觉效果。

3.3 交互控制逻辑

为了实现素材的扩充和更新功能,支持数据扩展,数据库是最好的选择。利用数据库管理系统素材库中的各种装饰装修材料图片,连接数据库的虚拟现实场景可以进行信息定位,Quest3D中可以通过ODBC创建数据库连接,丰富了装饰材料素材库内容。

可以实现素材数据库查询。My SQL 对应的是 DB Driver My SQL 模块,数据库连接成功后,DB Query 模块的属性面板中输入查询代码,例如,在装饰材料品种表格里查找黑色大理石地砖代码是:SELECT stone FROM table1 WHERE name=marble AND color=black。

易于扩展而将视图与逻辑控制分离是开发过程中的重要且必须要做的工作[5]。在开发过程中,如果需求变更频繁,有时面临大规模的内容删改,此时开发人员可将内容抽象、分离为功能单一的模块,降低系统的耦合性,使系统灵活性提高。

通过上述几点关键技术使用,基本实现了系统中交互性需求。

3.4 碰撞检测和平移旋转操作算法设计

根据本系统关于三维封闭式室内装饰效果的虚拟仿真,采用效率最髙的适用于立方体对象之间的碰撞器Box Collider,基于 OBB方向包围盒技术[6],关键在于确定一个最佳方向,来建立该方向上的最小包围盒尺寸。

模块中室内装饰空间移步等,需要位移矩阵在键盘的作用下实现变化,进而形成平移和旋转动作,平移旋转矩阵为四维变换矩阵,是以矩阵相加的方式实现的[7]。设模型空间的齐次坐标为[x0,y0,z0,1],坐标平移变换后的空间坐标[x1,y1,z1,1],各坐标轴的平移量vx,vy,vz,可得平移算法的变量计算表达式见式(1)。

(1)

设物体绕x轴旋转θ角度从坐标(x0,y0,z0)旋转至(x1,y1,z1),则坐标变换表达式见式(2)。

(2)

4.5 脚本语言功能开发

Quest3D支持C#、javascript 或Lua等脚本语言的功能开发,本系统相关需求通过编程实现,如场景连接,材料品种名称显示,结构构件鼠标拖动等。

(1)装饰市场各场景的连接通过点击按钮触发功能实现[8],也可用 public 声明一个 Button 按钮,点击实现场景切换,C#语言脚本代码如下:

public class Connect Mode :Mono Behaviour {

public void On Button (string scene Name)

{Application.Load Level(scene Name);}}

(2)改变装饰材料(内墙涂料、壁纸、窗帘、内墙砖等)的颜色。

if(is Change)

{ for(int i=0;i

change Color painting[i].positon= painting[i].position;

painting[i].game Object.Set Active(false);

change Color painting[i].game Object.Set Active(true);} }

else

{ for(int i=0;i

{ change Color painting[i].positon= painting[i].position;

painting[i].game Object.Set Active(true);

change Color painting[i].game Object.Set Active(false);} }

(3)装饰材料品种打包文件“Create Asset Bundles”实现在线更新。

public class Create Asses Bundles {

[Menu Item("Assets/Build Asset Bundles")]

static void Build All Asset Bundles() {

string dir = "Asset Bundles";

if (Directory.Exists(dir)==false)

{Directory.Create Directory(dir);}

Build Pipeline.Build Asset Bundles(dir,Build Asset Bundle Options.None,Build Target.Standalone Windows64);}}

4 系统实施

该模块只是实现对装饰材料的应用认知,则只需要展示操作设备或仪器的三维立体全景图。可以以不同的角度对该物体进行 360 °观察,观察可以通过鼠标来操作虚拟对象的角度转动即可,这对虚拟现实系统的沉浸性要求不高,通过桌面虚拟现实系统就可以实现(当然也可以在虚拟仿真实验室做沉浸式体验);同时适合用于大屏幕投影,使用于课堂上,用于装饰材料内容教学;也可实现桌面式互动交互,选配材料。重点适用于建筑学专业,可扩展各种绿色建材的内容。既能在普通计算机上独立运行,也可以在课堂上通过投影播放,可戴上VR眼镜或不戴,具有较强的可操作性。

5 结 论

以Quest3D作为主要工具软件,可以有效构建“装饰装修材料设计与应用”教学模块的虚拟仿真资源,实现了装饰材料任意替换的实时性和可视化,具有很强的实际应用仿真效果,符合模块化教学的指导思路。

猜你喜欢

土木工程材料虚拟现实装饰
鲤鱼旗装饰坠
虚拟现实技术在中学校园中的应用
“贵州木纹石”装饰之美——以几座建筑装饰为例
装饰或空间/堆砌或创造
土木工程材料课程考试改革的探索与实践
风口上的虚拟现实
应用型本科院校土木工程材料教学分层次教学方法探讨
虚拟现实技术向科幻小说借灵感
基于应用型转型的《土木工程材料》实验教学改革
浅谈土木工程材料设计性实验教学实践