基于三维引擎快速便捷搭建三维场景的方法、装置及设备制造方法及图纸

技术编号:37399201 阅读:15 留言:0更新日期:2023-04-30 09:27
本发明专利技术涉及三维引擎模型渲染领域,具体是一种基于三维引擎快速便捷搭建三维场景的方法、装置及设备,方法包括以下步骤:1、将模型导入三维场景中;2、创建笔刷模式;3、在场景中添加用于批量创建实例的层,并在场景大纲列表创建所述层对应的空节点;4、选择模型并将其添加至层,将所述模型添加到层对应的空节点下作为子物体;5、在三维场景中,基于所述子物体自定义批量创建该子物体的静态实例,并将所有静态实例动态处理为一个模型;6、创建实例控制杆,对选中的实例进行自定义变换操作;7、完成笔刷模式对批量实例在三维场景中的创建。本发明专利技术的方法使三维场景的搭建更加便捷高效。方法使三维场景的搭建更加便捷高效。方法使三维场景的搭建更加便捷高效。

【技术实现步骤摘要】
基于三维引擎快速便捷搭建三维场景的方法、装置及设备


[0001]本专利技术涉及三维引擎模型渲染领域,尤其涉及一种基于三维引擎快速便捷搭建三维场景的方法、装置及设备。

技术介绍

[0002]伴随着数字孪生行业的兴起,传统二维载体越来越无法满足其拟实化趋势,三维可视化技术被大量应用于数字孪生,在近几年仍然呈爆发式增长,而三维引擎的应用也逐步普及至各个行业,为满足更多行业应用场景下的三维可视化需求,三维引擎普遍朝向零代码、低门槛、轻量化的方向发展。
[0003]在传统场景搭建方法中,模型的修改、优化依赖于三维建模技术,设计人员仅在导入场景的模型布局基础上对于美术效果进行微调,对于专业技术人员依赖性强。而三维引擎面向的主要群体是设计人员,大量模型资源和组件的内置减少了对于建模的依赖,设计人员独立完成场景搭建成为趋势。
[0004]市面上有多种搭建场景的方式,第一种方法是通过克隆、阵列等批量复制的方式处理大量重复模型的搭建,但此方法通常需要耗费大量人工去调整,其中也存在规则排布带来的布局灵活性不高的问题。第二种方法为通过点击在模型面上放置模型的方法,此方式可便捷放置大量模型,但每个模型为独立对象,性能负担的问题仍没有解决。第三种方式为通过点击在模型面上放置模型实例的方式,此方式主要应用于植被,虽然能通过批处理解决性能负担,但很难单个实例做变换,且仅支持单个实例层的管理方式,除植被外适用性不广,管理不便。
[0005]模型实例化是使用硬件加速渲染绘制大量相同网格的一种常用技术,常见于各类建模软件、三维引擎中的模型复制、克隆、阵列等功能应用。用户通过现有功能完成静态渲染的模型动画或实时渲染中有限的模型规律分布,但无法实现更灵活的自定义模型布局,及针对独立实例的调整,难以满足当下实时三维渲染多样化、个性化的场景搭建需求。

技术实现思路

[0006]本专利技术的目的在于提供一种基于三维引擎快速便捷搭建三维场景的方法、装置及设备,以解决现有三维场景搭建方法中,难以使用低性能损耗的实例进行场景便捷搭建,并对实例进行独立编辑,快速创建、管理实例层的问题。
[0007]为解决上述技术问题,本专利技术所采用的技术方案是:基于三维引擎快速便捷搭建三维场景的方法,步骤如下:步骤1:将模型导入三维场景中;步骤2:创建笔刷模式;步骤3:在场景中添加用于批量创建实例的层,并在场景大纲列表创建所述层对应的空节点;步骤4:选择模型并将其添加至步骤3中所述用于批量创建实例的层,将所述模型
添加到场景大纲列表实例层对应的空节点下作为子物体;步骤5:在三维场景中,基于步骤4中的所述子物体自定义批量创建该子物体的静态实例,并将所有静态实例动态处理为一个模型;步骤6:创建实例控制杆,对选中的实例进行自定义变换操作;步骤7:完成笔刷模式对批量实例在三维场景中的创建。
[0008]进一步地,所述步骤1中:模型导入后,在三维场景中添加基础平面地形。
[0009]进一步地,所述步骤2中:所述笔刷模式是支持便捷生成实例模型的可视化管理和编辑的工具模式,其可视化管理面板用于用户通过自主创建、选择、删除来管理模型实例层,编辑工具用于用户完成选择实例、为选中实例创建变换控制杆、删除。
[0010]在笔刷模式下,自动禁用向三维场景中添加组件及场景模型的选中、复制、删除、变换及场景大纲列表操作等相关功能,避免对于实例的干扰。
[0011]进一步地,所述步骤3中:所述层通过创建编辑面板对笔刷模式下的特定内容进行管理和编辑,层数据被加入笔刷层的代码并在界面中显示其默认命名;所述空节点为根据选取的单个或多个模型自动生成的具有相应内容的笔刷节点。
[0012]进一步地,所述步骤4中:对选中的模型进行复制并自动选择层对应的空节点为父层级,以便于对同一层下的所有实例在笔刷模式外进行整体变换和删除操作。
[0013]进一步地,所述步骤5的具体步骤包括:步骤5.1:获取鼠标射线在三维场景的拾取点坐标;步骤5.2:判断拾取点是否与三维场景中网格体模型的面碰撞,无碰撞时,不生成实例模型;碰撞时,判断当前层是否有模型或它的实例存在,如果有,获取拾取点的世界坐标,根据拾取点世界坐标创建一个实例模型并实时渲染显示;如果无,则根据拾取点世界坐标位置放置并渲染此模型;所述模型的放置位置和实例模型的创建位置计算过程为:先将模型或实例模型的局部坐标转换为世界坐标系,然后将拾取点的世界坐标值赋予模型或实例的世界坐标,再根据模型或实例的新世界坐标值转换为本地坐标;步骤5.3:重复步骤5.1

5.2的操作,在拾取点与模型表面碰撞处创建多个静态实例,并将所有创建的静态实例动态处理为一个模型。
[0014]进一步地,所述步骤5.3中:每个实例创建时为其生成独立、唯一的id,支持所述实例被单独选中、编辑或删除实例模型数据。
[0015]进一步地,所述步骤6中:创建实例编辑工具,在选择实例模式下点击三维场景中的实例,为选中的实例创建控制杆进行平移、旋转、缩放等自定义变换,并可删除选中实例的所有数据,以此完成场景布局调整。
[0016]进一步地,所述步骤7中:
完成笔刷模式并切回三维引擎原有界面并解除笔刷模式禁用功能,通过在世界大纲列表处单击选中层对应的空节点或在场景中单击模型将整个层选中,层中包含的所有模型及实例共用作为父节点的空节点的包围盒、控制杆和变换数据,此时可以通过创建空节点包围盒及本地坐标系控制杆对于整个层进行平移、旋转、缩放、删除等操作,以此实现整个实例层的全局变换调整。
[0017]基于上述方法,本专利技术还提供了一种基于三维引擎快速便捷搭建三维场景的装置,包括:模型导入模块,用以将模型导入三维场景中并在三维场景中添加基础平面地形;笔刷模式创建模块,用以创建笔刷模式,调取笔刷模式的可视化管理面板及方法;层添加模块,用以在场景中添加用于批量创建实例的层,并在场景大纲列表创建所述层对应的空节点;模型添加模块,用以选择模型并将其添加至层,并将所述模型添加到场景大纲列表实例层对应的空节点下作为子物体;实例创建模块,用以在三维场景中,基于所述子物体自定义批量创建该子物体的静态实例,并将所有静态实例动态处理为一个模型;操作模块,用以创建实例控制杆,并通过所述实例控制杆对选中的实例进行自定义变换操作;笔刷模式退出模块,用以完成笔刷模式对批量实例在三维场景中的创建,从笔刷模式切回至三维引擎原有界面并解除笔刷模式禁用功能。
[0018]此外,本专利技术还提供一种计算机设备,包括处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当所述计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述处理器执行所述机器可读指令,以执行如上所述的基于三维引擎快速便捷搭建三维场景的方法步骤。
[0019]采用本专利技术的方法加速渲染实例时,会批量处理单个模型的全部实例,无需单独处理每个实例,因而实例层中选择了几个模型就处理几次,大量减少普通复制模型时产生的指令增加问题,保证整个方法性能更优地搭建场景。
...

【技术保护点】

【技术特征摘要】
1.基于三维引擎快速便捷搭建三维场景的方法,其特征在于,步骤如下:步骤1:将模型导入三维场景中;步骤2:创建笔刷模式;步骤3:在场景中添加用于批量创建实例的层,并在场景大纲列表创建所述层对应的空节点;步骤4:选择模型并将其添加至步骤3中所述用于批量创建实例的层,将所述模型添加到场景大纲列表实例层对应的空节点下作为子物体;步骤5:在三维场景中,基于步骤4中的所述子物体自定义批量创建该子物体的静态实例,并将所有静态实例动态处理为一个模型;步骤6:创建实例控制杆,对选中的实例进行自定义变换操作;步骤7:完成笔刷模式对批量实例在三维场景中的创建。2.如权利要求1所述的基于三维引擎快速便捷搭建三维场景的方法,其特征在于,所述步骤2中:所述笔刷模式是支持便捷生成实例模型的可视化管理和编辑的工具模式,其可视化管理面板用于用户通过自主创建、选择、删除来管理模型实例层,编辑工具用于用户完成选择实例、为选中实例创建变换控制杆、删除。3.如权利要求1所述的基于三维引擎快速便捷搭建三维场景的方法,其特征在于,所述步骤3中:所述层通过创建编辑面板对笔刷模式下的内容进行管理和编辑,层数据被加入笔刷层的代码并在界面中显示其默认命名;所述空节点为根据选取的单个或多个模型自动生成的具有相应内容的笔刷节点。4.如权利要求1所述的基于三维引擎快速便捷搭建三维场景的方法,其特征在于,所述步骤4中:对选中的模型进行复制并自动选择层对应的空节点为父层级,以便于对同一层下的所有实例在笔刷模式外进行整体变换和删除操作。5.如权利要求1所述的基于三维引擎快速便捷搭建三维场景的方法,其特征在于,所述步骤5的具体步骤包括:步骤5.1:获取鼠标射线在三维场景的拾取点坐标;步骤5.2:判断拾取点是否与三维场景中网格体模型的面碰撞,无碰撞时,不生成实例模型;碰撞时,判断当前层是否有模型或它的实例存在,如果有,获取拾取点的世界坐标,根据拾取点世界坐标创建一个实例模型并实时渲染显示;如果无,则根据拾取点世界坐标位置放置并渲染此模型;所述模型的放置位置和实例模型的创建位置计算过程为:先将模型或实例模型的局部坐标转换为世界坐标系,然后将拾取点的世界...

【专利技术属性】
技术研发人员:王涛吕彦莹吕雪琴王彩宇
申请(专利权)人:山东捷瑞数字科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1