一种基于UnrealEngine5开发分光计虚拟仿真实验的方法

专利2026-02-20  9

本发明涉及虚拟仿真、像素流送领域,尤其涉及一种基于unreal engine 5开发分光计虚拟仿真实验的方法。
背景技术
::1、传统线下实验的开展需要有相应的仪器设备、空间环境和安全措施。该虚拟仿真系统的光学物理实验在很多高校中已有线下实验,但由于实验时间固定、设备数量不足、原理抽象难懂、教学演示受限、实验现象不明显、操作复杂、调节步骤繁多、存在安全隐患、分光计仪器改造价格昂贵,实验难以推广等因素,导致大部分学生在做实验时处于懵懵懂懂的状态,直至完成实验后仍是一知半解,难以达到教学效果。2、研究结果表明,基于模拟技术的物理实验可以提高学生的学习效率,使其快速地掌握复杂概念,取得更好的成绩;利用虚拟仿真技术丰富实验教学方式和教学内容,有助于发挥学生的观察技能;这种方法既没有降低传统教学的学习效果,同时还能培养学生的动手实践能力。此外,虚拟仿真实验还能起到实验预习效果,帮助学生提前熟悉线下实验操作,从而实现更多元化的教学目标。3、但是大部分虚拟仿真平台为了缩短开发周期,降低开发成本,导致开发的仿真系统存在以下三个问题:4、(1)实验流程固定单一,学生只能机械的完成实验要求的操作,降低了学生自主探索实验的乐趣。5、(2)系统的沉浸感和体验感并不理想,实验环境和实验仪器为非3d模型,学生难以与实验仪器进行良好交互,更难理解仪器结构及原理。低覆盖率的ui界面和附加的操作介绍增加了学生的学习负担,导致学生产生厌烦情绪。6、(3)虚拟仿真程序的使用需要安装繁琐的辅助软件或插件,在跨平台使用时存在兼容性风险,限制了用户群体和系统推广。此外,系统的使用需要占用不少的计算机资源,当电脑后台还有其他程序正在运行时,对于低性能的电脑就难以流畅使用。7、最终导致了虚拟仿真实验难以满足现有的教学需求。技术实现思路1、针对上述缺陷,本发明提供了一种基于unreal engine 5开发分光计虚拟仿真实验的方法,使用unreal engine 5作为开发引擎,并通过成熟的像素流送和物理引擎等技术作为虚拟仿真系统的开发思路,设计并实现出写实风格的3d虚拟实验环境。2、本发明的技术方案如下:3、一种基于unreal engine 5开发分光计虚拟仿真实验的方法,应用于电子设备,包括如下步骤:4、s1、整合分光计的光栅衍射实验体系,包括分光计、双面镜、光栅、光源组件,所述光源组件产生入射光,入射光经所述光栅衍射于接收屏上,通过调节分光计器件改变衍射图像的参数;5、s2、基于lumen和nanite实现光栅衍射实验动态场景的实时渲染,具体的,将3d模型导入unreal engine 5时,确保静态几何体转换为nanite支持的格式,同时启用lumen全局光照,实现实时渲染,再将光栅衍射实验的工程参数存放于变量中,通过编写蓝图实现调节功能;6、s3、基于用户控件制作ui窗口,包括功能型ui以及视图型ui,功能型ui实现参数控制以及数据处理,视图型ui显示动态内容;7、s4、使用像素流送技术方案实现web端开发,以实现网页端访问。8、作为优选,步骤s1中整合实验体系的方法具体为:将分光计的光栅衍射实验体系整合在一起,以阶梯式的实验形式呈现,包括对非垂直入射光衍射现象的探究以及衍射图样变化的探究,以光栅刻线为轴,转动光栅,调整光的入射角度,直到衍射角出现最小值,衍射光谱呈非对称;将光栅刻线与接收屏垂直,随激光略射角度的增加,衍射光点形成虚拟圆环。9、作为优选,步骤s2中,通过调节游标盘以及载物台调平螺钉以调节参数,其中,调节游标盘时,需要载物台处于非物理模拟状态,调节载物台调平螺钉,需要载物台处于物理模拟状态;分别记录物理模拟状态的载物台和非物理状态的载物台的初始位置和旋转信息,当操作行为是调节载物台调平螺钉,则在调节完后关闭物理模拟状态,记录物理模拟状态的载物台的位置差量,设置非物理状态的载物台的新位置和新旋转信息,然后更新非物理状态及物理模拟状态的载物台位置信息;当操作行为是调节游标盘,则在调节完后开启物理模拟状态,计算非物理状态的载物台的位置差量,设置物理模拟状态的载物台的新位置和新旋转信息,然后更新非物理状态及物理模拟状态的载物台位置信息。10、作为优选,步骤s2中动态场景的实时渲染的方法具体为:以unreal engine 5作为开发引擎,在导入实验3d模型时选择nanite选项,将场景中的静态几何体转换为nanite支持的形式,即可使用nanite实时几何渲染;在项目设置中启用lumen全局光照,这样场景中的光照在运行时实时更新,调整lumen的间接光照强度等参数以适应实验的场景。11、作为优选,步骤s3中制作ui窗口的方法具体为:ui窗口主要分为两类,一类是功能型ui,一类是视图型ui。制作功能型ui需要在unreal engine 5辑器中,创建widgetblueprint,接着在widget blueprint添加按钮、文本框、滑块等。最后使用umg编辑器来设计ui布局。制作视图型ui:需要创建widget blueprint来制作视图型ui,并使用umg编辑器来设计ui布局,最后添加动态内容。12、作为优选,步骤s3中,视图型ui包括可视化拖放窗口,可拖放的设置方法为:首先创建一个blueprintclass,命名为widgetdrag_bp,接着创建三个widgetblueprint,分别命名为aim_ui、show_ui、dragwidget_ui;13、在widgetdrag_bp里,创建aim_ui对象和2d向量dragoffset,并勾选instanceeditable和expose on spawn用于存放在屏幕上被拖动的umg控件和开始拖放控件的位置偏移,作为传递拖放操作时传递信息的中间媒介;14、在aim_ui里,使用detectdragifpressed节点来判断是否通过鼠标左键进行拖拽,并检测何时按下了鼠标左键,再保存其按下时在屏幕空间中的位置;15、调用onmousebuttondown()函数获取按下鼠标左键的屏幕位置,将该位置信息存储为变量,用以确定操作者实际点击控件的位置以及放下控件的位置;并将aim_ui控件的绝对坐标转换为局部坐标,同时判断是否拖拽鼠标左键,当有拖拽行为时,调用ondragdetected()函数检查控件拖动时发生的状况;16、当发现拖动时,创建dragwidget_ui,引用现有的aim_ui控件,并创建虚拟拖拽控件为变量,通过blueprint class的widgetdrag_bp进行数据交互,在释放控件时从ui中将它移除;17、在show_ui里,实现显示aim_ui和dragwidget_ui的功能,松开鼠标左键时,将aim_ui存放于show_ui里,重写ondrop()函数以接收命中检测;18、在ondrop()函数中,通过函数形参“my geometry”和“pointer event”得到2d空间中松开鼠标左键放置控件的位置,用该位置值减去dragoffset,确定放下控件的位置;取消勾选set position in viewport()函数的布尔变量remove dpiscale,以移除现有的aim_ui,然后将其重新添加到新位置;19、在dragwidget_ui里,创建aim_ui对象,并勾选instance editable和expose onspawn,以存放在屏幕上被拖动的umg控件,最后通过自定义函数设置图像的大小。20、作为优选,步骤s4中web端开发和网页访问的方法具体为:在unreal engine 5辑器中,启用pixel streaming插件后,再采用“windows+shipping”的方式打包。打包完成后,复制一份“.exe”程序文件,并在该文件属性中的“目标”框末尾追加“-audiomixer-renderoffscreen-pixelstreamingip=localhost-pixelstreamingport=6666nvench264configlevel=nv_enc_level_h264_52”。接着执行文件“samples\pixelstreaming\webservers\signallingwebserver\platform_scripts\cmd\start_signallingserver.ps1”,开启信令服务器。第一次运行时会自动部署相关环境。环境部署好后,使用ddnsto的域名映射实现公网访问。21、本发明的有益效果是22、(1)实验内容创新。本发明包含自制的设计性实验,实验所用到的光栅等倾仪也是自制仪器,自主探索的创新型实验能更好的培养学生的实践能力和创新能力。23、(2)兼容性更高的跨平台使用。本发明包含本地端与web端。程序与网页的信息通过数据库实现实时同步,本地端通过下载软件包使用(软件大小约400mb),web端的使用无需安装任何软件或插件就能直接运行程序,避免了不同电脑系统的兼容性问题。24、(3)良好的沉浸感。本发明的沉浸感更强,模型质感和材质光泽质量更好,实验者在这种优质的虚拟实验室里可以极大的避免鼠标键盘操作带来的实验操作违和感,为用户提供更友好的交互技术和自适应力。25、(4)性能要求更低。本发明的网页端访问对电脑性能要求更低。通过深入使用知名度极高的phet和chem collective等虚拟仿真平台,从cpu占用率(amd ryzen 7 5800hwith radeon graphics)和gpu占用率(nvidia geforce rtx 3070laptop gpu)情况比较系统性能优越性,基于unreal engine 5的网页端cpu平均占用率仅0.4%,较其他三个平台的仿真系统节省cpu占用率90.24%~96.23%,平均节省cpu占用率94.76%;此外,该系统网络访问的gpu占用率为0%,较非网络访问的仿真系统更加节省gpu资源。26、27、性能、特点对比图28、(5)完整的评分系统。本发明能评估学生对操作流程的理解程度,通过比较测量结果与标准值之间的差异,提供测量准确性的信息,分析计算过程,检查计算的准确性,评估规范操作的能力等。当前第1页12当前第1页12
技术特征:

1.一种基于unreal engine 5开发分光计虚拟仿真实验的方法,其特征在于,应用于电子设备,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,步骤s1中,整合实验体系的方法具体为:将分光计的光栅衍射实验体系整合在一起,以阶梯式的实验形式呈现,包括对非垂直入射光衍射现象的探究以及衍射图样变化的探究,以光栅刻线为轴,转动光栅,调整光的入射角度,直到衍射角出现最小值,衍射光谱呈非对称;将光栅刻线与接收屏垂直,随激光略射角度的增加,衍射光点形成虚拟圆环。

3.根据权利要求1所述的方法,其特征在于,步骤s2中,通过调节游标盘以及载物台调平螺钉以调节参数,其中,调节游标盘时,需要载物台处于非物理模拟状态,调节载物台调平螺钉,需要载物台处于物理模拟状态;分别记录物理模拟状态的载物台和非物理状态的载物台的初始位置和旋转信息,当操作行为是调节载物台调平螺钉,则在调节完后关闭物理模拟状态,记录物理模拟状态的载物台的位置差量,设置非物理状态的载物台的新位置和新旋转信息,然后更新非物理状态及物理模拟状态的载物台位置信息;当操作行为是调节游标盘,则在调节完后开启物理模拟状态,计算非物理状态的载物台的位置差量,设置物理模拟状态的载物台的新位置和新旋转信息,然后更新非物理状态及物理模拟状态的载物台位置信息。

4.根据权利要求1所述的方法,其特征在于,步骤s3中,制作所述功能型ui的方法为:在unreal engine 5编辑器中创建widget blueprint,在widget blueprint添加按钮、文本框、滑块,最后使用umg编辑器来设计ui布局;制作视图型ui的方法为:在unreal engine5编辑器中创建widget blueprint,使用umg编辑器来设计ui布局,最后添加动态内容。

5.根据权利要求1所述的方法,其特征在于,步骤s3中,视图型ui包括可视化拖放窗口,可拖放的设置方法为:首先创建一个blueprintclass,命名为widgetdrag_bp,接着创建三个widgetblueprint,分别命名为aim_ui、show_ui、dragwidget_ui;

6.根据权利要求1所述的方法,其特征在于,步骤s4中,所述web端开发的方法具体为:基于unreal engine 5的pixel streaming插件将渲染的可视化3d图形内容和音频信息流送到浏览器和移动设备。

7.根据权利要求6所述的方法,其特征在于,启用pixel streaming插件并采用“windows+shipping”的方式打包;打包完成后,复制一份“.exe”程序文件,并在该文件属性中的“目标”框末尾追加声音指令、隐藏像素流送程序指令、像素流送的ip地址指令、像素流送端口指令以及高分辨率模式指令,然后开启信令服务器。

8.根据权利要求1所述的方法,其特征在于,步骤s4中网页端访问为:使用ddnsto的域名映射实现公网访问。


技术总结
本发明提供一种基于Unreal Engine 5开发分光计虚拟仿真实验的方法。本申请结合虚拟仿真、像素流送、光栅衍射技术,包括以下步骤,S1整合分光计的光栅衍射实验体系;S2采用LUMEN和NANITE技术方案实现动态场景的实时渲染;S3通过用户控件制作UI窗口;S4使用像素流送技术方案实现Web端开发和网页访问。相对于传统分光计虚拟仿真实验的实现技术,本发明通过像素流送技术实现Web端开发,极大提升了系统的兼容性,降低了使用设备的硬件要求,且网址访问的方式为用户提供了简便和友好的应用方式。

技术研发人员:辛易霖,葛桂萍,杜微,刘维,吴翰,赵宇
受保护的技术使用者:扬州大学
技术研发日:
技术公布日:2024/6/26
转载请注明原文地址:https://doc.8miu.com/read-1827887.html

最新回复(0)