一种基于虚拟引擎的三维模型制作方法及系统与流程

文档序号:35345084发布日期:2023-09-07 18:42阅读:93来源:国知局
一种基于虚拟引擎的三维模型制作方法及系统与流程

本发明涉及虚幻引擎数字孪生,具体地说是一种基于虚拟引擎的三维模型制作方法及系统。


背景技术:

1、当前,我国数字经济正在进入快速发展新阶段,数字孪生是数字经济的重要组成部分,三维场景建模是数字孪生技术中的一个重要环节,通过三维建模技术,可以将实体物体的形态、结构和特征等信息数字化,构建出真实、精细的数字模型。而虚幻引擎是一种基于三维图形渲染的游戏引擎,可用于开发各种类型的游戏和应用程序,其提供了一个强大的开发环境,可以通过三维建模将数字模型导入到虚拟世界中,将城市的地形、道路、建筑等要素数字化。道路是常见的场景组成元素,而虚幻本身并不具备三维建模的能力,如何在虚幻内构建一道路模型成为一种继续解决的问题。

2、传统上,在虚幻引擎中构建虚拟场景的道路、管网等线条类的三维模型时,开发人员首先需要在专业的三维软件里手动创建整条道路模型,再将制作完成的模型导出到引擎中使用。然而,这种传统的制作方法存在一些问题,例如导入到虚幻中的道路模型无法在进行编辑,此外,道路、管网等模型作为一种规律性极高的物体,整体导入虚幻引擎中会占用太多的内存与cpu占用率。因此,需要一种新的方法来解决这些问题。


技术实现思路

1、本发明的技术任务是针对以上不足之处,提供一种基于虚拟引擎的三维模型制作方法及系统,可以使开发人员直接在虚幻引擎中进行三维模型的制作,制作完成的模型可通过改变spline线条的方向和形状来操控模型,操作更为直观,而且制作的三维模型不额外消耗内存和cpu的占用率;极大的简化了在制作城市道路、管道、栅栏等线条类三维模型时的工作流程,并提高开发效率。

2、本发明解决其技术问题所采用的技术方案是:

3、一种基于虚拟引擎的三维模型制作方法,基于虚幻引擎蓝图使用spline线生成三维模型的制作插件,通过虚幻引擎中蓝图构建出脚本函数,将构造完成的函数编译成uasset资产添加到项目工程中使用,通过增加控制点的方式调整spline线的形状,配置相应的staicmesh与参数生成三维模型,

4、该方法的实现包括基础源staicmesh制作,构建蓝图脚本和制作spline路径生成模型,构建蓝图脚本包括:

5、通过calculatesplinemeshinfolist函数获取样条线起始点到结束点的位置;

6、通过showpointdistance函数计算出spline样条点间的距离;

7、通过initmeshlength函数配置staticmesh的长度信息;

8、通过printmeshlengthinfo函数计算显示网格体的长度信息。

9、本方法基于虚幻蓝图构造函数脚本,使用spline样条组件通过添加控制点的方式绘制出道路与管线的路径,并通过配置对应源staticmesh的尺寸数据,生成与路径相匹配的一整条连续的道路或管线模型。采用该方法在虚幻引擎中制作城市道路模型相对于传统直接制作整条道路导入虚幻更加节省内存与cpu占用率,数据更加轻量化,且生成完成的道路模型依然可以通过调整控制点的方式编辑道路的形状。该方法更便于灵活的在虚幻引擎构建城市道路与管线的三维模型。

10、进一步的,所述通过calculatesplinemeshinfolist函数获取样条线起始点到结束点的位置,通过get tangen at distance along spine和get location at distancealong spline函数获取当前控制点的配置信息。

11、进一步的,所述通过showpointdistance函数计算出spline样条点间的距离:

12、通过get location at spline point和函数get number of spline point函数获取控制点的配置信息;

13、通过add text render component函数配置文字标注显示效果。

14、进一步的,所述通过initmeshlength函数配置staticmesh的长度信息:

15、使用add spline mesh conmponent函数配置样条模型的组件;

16、使用get socket location获取插槽的位置信息;

17、使用mesh length函数配置网格长度信息。

18、进一步的,所述通过printmeshlengthinfo函数计算显示网格体的长度信息,

19、基于get spline length函数获取样条线的长度信息;

20、使用get number of spline point函数获取样条线的控制点信息;

21、其网格体长度显示计算公式为:get spline length-(get number of splinepoints-1)*mesh length。

22、优选的,所述基础源staicmesh制作的过程如下:

23、s101、staicmesh制作:首先在三维建模软件中完成所需生成连续模型的一段部分,用来作为所生成路径模型的源素材模型形状使用;

24、s102、三维模型导出:将准备完成的三维模型通过虚幻包括fbx或obj所支持的格式导出,且导出模型的中心点放置在模型路径生成的原点位置,分配完成模型的uv及材质插槽;

25、s103、三维模型导入至虚幻引擎生成staicmesh:在内容浏览器中添加要导入的三维模型,导入选项为默认,法线导入方式为导入法线;

26、可自定义加载staticmesh资源,包括自定义staticmesh体的长度。

27、优选的,构建蓝图脚本的具体过程如下:

28、s201、创建actor类型蓝图:在虚幻引擎的内容浏览器中新建一个蓝图类资产,类型为actor,双击建立完成的actor进入蓝图编辑窗口,组件窗口中加入spline组件变量;

29、s202、制作calculatesplinemeshinfolist函数:基于spline变量与“getdistance along spline at spline point”、“get location at distance along splie”节点计算出蓝图计算出样条曲线的起始点距离和每一个网格体的长度,将计算完成的数值,与“get tangent at distance along spline”节点像计算,return value值输入给“normalize”函数与变量mesh length相乘计算出样条点的信息数据;

30、s203、制作showpointdistance函数:通过节点函数“get spline length-(getnumber of spline points-1)*mesh length”计算出两点距离;

31、s204、制作initmeshlength函数:基于“add splinemesh component”函数获取模型组件信息,使用“get socket location”函数计算出staticmesh体的长度信息;

32、s205、构造脚本函数:通过(get distance along spline at spline point-getdistance along spline at spline point)/mesh length及通过两点距离/模型长度计算出两点之间的模型数量;

33、s206、生成蓝图资产:编译构建连接的函数节点,保存编译完成的蓝图为bp_spline虚幻资产工具使用。

34、优选的,所述制作spline路径生成模型,

35、将制作完成的bp_spline蓝图添加入场景,在details面板中添加staticmesh,并且长度参数;通过鼠标加alt键拖拽样条线生成新的控制点,通过调整控制点来调整路径的形状和长度,模型会根据路径的长度,自动生成对应数量相连模型。

36、本发明还要求保护一种基于虚拟引擎的三维模型制作系统,包括基础源staicmesh制作模块,构建蓝图脚本模块和制作spline路径生成模型模块,

37、该系统通过上述的基于虚拟引擎的三维模型制作方法实现基于虚拟引擎的三维模型制作。

38、本发明还要求保护计算机可读介质,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行上述的基于虚拟引擎的三维模型制作方法。

39、本发明的一种基于虚拟引擎的三维模型制作方法及系统与现有技术相比,具有以下有益效果:

40、本方法省去了在传统三维软件中建模的流程,可以在虚幻引擎中直接构建样路径类型的模型,如道路、管网等部件,操作更为灵活且直观,极大的简化场景构建的流程,且通过spline线生成的模型都为关联复制类模型,复制出的模型并不增加额外资源消耗,相对于传统的建模方式,这种方式更加直观、易于理解和维护,同时也提高了开发效率。

41、本方法生成的模型亦可以导出fbx格式文件到其他软件中使用,为开发人员提供了一种新的路径建模方式。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1