【技术实现步骤摘要】
一种生成静态网格模型的方法
[0001]本专利技术涉及计算机图形渲染领域,具体涉及一种生成静态网格模型的方法。
技术介绍
[0002]当前生成静态网格模型的方式有很多,例如:从外部导入模型、由其他组件转换生成等。但上述方式在生成静态网格模型之后,并不支持修改静态网格模型信息。
[0003]虚幻引擎UE4.25版本支持了在运行时更新静态网格模型,这为需要服务器传送模型顶点信息、到本地实时创建模型的实现成为可能。但虚幻引擎没有提供直接使用顶点相关信息运行时生成静态网格模型的方法。
技术实现思路
[0004]针对上述存在的拘束局限性,本专利技术提出了种生成静态网格模型的方法,。
[0005]为实现上述目的,本专利技术采用了以下技术方案:一种生成静态网格模型的方法,所述方法包括以下步骤:步骤1、获取输入模型数据;所述输入模型数据由顶点数组、UV数组、点序数组组成;步骤2、当所述输入模型数据有效时,初始化构建结构体FMeshDescription;步骤3、根据所述输入模型数据设置所述构建结构体;步骤4、创建空的静态网格对象;所述静态网格对象为虚幻引擎中的UStaticMesh类对象,用于保存静态网格模型数据与渲染数据;步骤5、生成空的碰撞数据;步骤6、设置构建参数;所述构建参数为虚幻引擎中的FBuildMeshDescriptionsParams结构体;步骤7、调用构建网格描述函数,传入构建结构体FMeshDescription数据与构建参数结构体,从而构建出静态网格对象模型数据。
[0 ...
【技术保护点】
【技术特征摘要】
1.一种生成静态网格模型的方法,其特征在于,所述方法包括以下步骤:步骤1、获取输入模型数据;所述输入模型数据由顶点数组、UV数组、点序数组组成;步骤2、当所述输入模型数据有效时,初始化构建结构体FMeshDescription;步骤3、根据所述输入模型数据设置所述构建结构体;步骤4、创建空的静态网格对象;所述静态网格对象为虚幻引擎中的UStaticMesh类对象,用于保存静态网格模型数据与渲染数据;步骤5、生成空的碰撞数据;步骤6、设置构建参数;所述构建参数为虚幻引擎中的FBuildMeshDescriptionsParams结构体;步骤7、调用构建网格描述函数,传入构建结构体FMeshDescription数据与构建参数结构体,从而构建出静态网格对象模型数据。2.根据权利要求1所述的方法,其特征在于,步骤3中,根据所述输入模型数据设置所述构建结构体的具体方法包括:步骤31、读取所述输入模型数据得到输入模型参数值,创建空的构建结构体FMeshDescriptin对象MeshDescription;所述输入模型参数值包括:顶点位置数组InVertexs、点序号数组InIndices、顶点UV数组InUVs;步骤32、通过FStaticMeshAttributes工具类提取MeshDescription中的属性;步骤33、创建多边形组并指定默认材质;步骤34、初始化MeshDescription的顶点、顶点实例、多边形、边与UV通道数;步骤35、将所述输入模型数据中的顶点位置数组数据复制到MeshDescription中;步骤36、根据所述输入模型数据中点序号数组为其中每个顶点序创建顶点实例;步骤37、为多边形组创建多边形;步骤38、重新生成所有顶点与多边形的法线、切线、副法线;此时的MeshDescription即为设置完成的构建结构体FMeshDescription。3.根据权利要求1所述的方法,其特征在于,步骤5的生成空的碰撞数据通过以下方式实现:调用步骤4中所创建的静态网格对象的CreateBodySetup函数,生成UBodySetup结构体;所述UBodySetup用于保存静态物理数据;步骤5生成空的碰撞数据后,还包括:调用步骤4中所创建的静态网格对象的CreatePhysicsMeshes方法,生成PhysicsMeshe。4.根据权利要求1所述的方法,其特征在于,步骤7具体包括以下步骤:步骤71、创建临时FMeshDescription数组,并调用Emplace函数将步骤3得到的构建结构体添加至所述临时FMeshDescription数组中;步骤72、将所述临时FMeshDescription数组与步骤6得到的所述构建参数传入BuildFromMeshDescriptions方法中,得到构建完成的静态网格对象模型数据。
5.根据权利要求2所述的方法,其特征在于,步骤33中,创建多边形组并指定默认材质具体方式为:调用MeshDescription的CreatePolygonGroup方法创建空的多边形组,并将该方法返回的组ID保存到NewPolygonGroup变量中;通过UMaterial::GetDefaultMaterial方法获得虚幻默认材质,并将所述虚幻默认材质的名称保存到PolygonGroupNames[NewPolygonGroup]中;其中PolygonGroupNames[NewPolygonGroup]表示PolygonGroupNames数组中下标为NewPolygonGroup的元素;PolygonGroupNames通过步骤32获得。6.根据权利要求2所述的方法,其特征在于,步骤34的具体实现方式为...
【专利技术属性】
技术研发人员:孙华庆,贾宏伟,郭建君,
申请(专利权)人:北京蔚领时代科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。