System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及计算机三维可视化,尤其涉及一种基于模型动态变化的映射贴图处理方法、系统及设备。
技术介绍
1、在三维引擎软件传统流程中如果想要给三维模型表面赋予贴图,计算机会把模型裁切开,通过分析模型的点数面生成一张2d的uv纹理,计算机通过软件外部导入贴图(此贴图跟正常电脑中的图片类似)的方式,把贴图赋予到2d纹理uv上,从而使模型表面产生正确的贴图。
2、随着市场对于三维模型日益需求,在一些广告、地形勘探、建筑、制造领域模型不再局限于固定的点数面,更多要求模型每帧变化。比如当动画模拟过程涉及到模型内部结构的变化时(如演示某个工业模型的生产过程),此时由于模型每一帧点数面是变化的,相应uv也会产生变化从而影响模型表面的贴图,模型表面贴图就会产生错误的闪烁信息。
3、因此,如何让模型变化的过程中uv和贴图不产生变化是目前行业内无法解决此类问题。
技术实现思路
1、本专利技术的目的在于提供一种基于模型动态变化的映射贴图处理方法、系统及设备,以解决现有模型在动画模拟过程中,因模型内部结构变化而导致的贴图闪烁问题。
2、第一方面,本专利技术提供一种基于模型动态变化的映射贴图处理方法,包括以下步骤:
3、步骤1:导入模型到三维引擎中;
4、步骤2:系统获取所述模型的结构数据,通过动画帧的形式将模型从无到有的生成过程进行动态演示,在此过程中,通过一种uv处理方法对模型表面uv贴图进行固定,以避免模型动态生成过程中出现的uv贴图闪烁问题
5、步骤21:基于模型的动态化变过程,通过distance函数获取模型上每个点的uv距离数据;
6、步骤22:从步骤21中获取模型上每个点在最后一帧的uv距离数据,并将其作为最终模型点uv数据进行固定;
7、步骤23:将步骤22中获取的最终模型点uv数据,通过uv属性传递的方法赋值给该点在其他所有动画帧中的对应点。
8、所述步骤23中,所述uv属性传递的方法,包括如下步骤:
9、步骤43.1:定义数组
10、通过变量传递函数def printwellcome(num1,num2,fuhao)进行数组定义和数组传递;其中,def为传递函数printwellcome为定义函数,num1是定义最后一帧画面上模型点的uv数据,num2表示定义每一帧画面上模型点的uv数据,int fuhao == "uv"代表传递组数的数据类型为uv数据;
11、步骤43.2:导入和关联
12、导入函数userinput1 = int(input,num1("1:"))和userinput2 = int(input,num2("2:")),其中userinput1为导入最后一帧画面上模型点的uv数据,userinput2是导入每一帧画面上模型点的uv数据,然后通过input函数关联之前定义的num1 和num2数组。
13、另一方面,本专利技术还提供一种基于模型动态变化的映射贴图处理系统,包括:
14、模型导入模块,用以导入模型到三维引擎中;
15、方法执行模块,用以获取所述模型的结构数据,通过动画帧的形式将模型从无到有的生成过程进行动态演示,在此过程中,通过一种uv处理方法对模型表面uv贴图进行固定,以避免模型动态生成过程中出现的uv贴图闪烁问题。
16、所述方法执行模块,进一步包括以下子模块:
17、第一uv数据获取子模块,用以基于模型的动态化变过程,通过distance函数获取模型上每个点的uv距离数据;
18、第二uv数据获取子模块,用以获取模型上每个点在最后一帧的uv距离数据,并将其作为最终模型点uv数据进行固定;
19、uv属性传递子模块,用以将获取的最终模型点uv数据,通过uv属性传递的方法赋值给该点在其他所有动画帧中的对应点。
20、进一步地,uv属性传递子模块包括以下功能单元:
21、数组定义单元,用以通过变量传递函数def printwellcome(num1,num2,fuhao)进行数组定义和数组传递;其中,def为传递函数printwellcome为定义函数,num1是定义最后一帧画面上模型点的uv数据,num2表示定义每一帧画面上模型点的uv数据,int fuhao =="uv"代表传递组数的数据类型为uv数据;
22、导入关联单元,用以导入函数userinput1 = int(input,num1("1:"))和userinput2 = int(input,num2("2:")),其中userinput1为导入最后一帧画面上模型点的uv数据,userinput2是导入每一帧画面上模型点的uv数据,然后通过input函数关联之前定义的num1 和num2数组。
23、第三方面,本专利技术提出一种电子设备,包括:存储器,用于保存计算机程序;处理器,用于执行所述计算机程序,以实现以上所述的一种基于模型动态变化的映射贴图处理方法。
24、本专利技术能够有效突破传统三维流程形变模型uv闪烁的技术难题壁垒,通过获取模型动态变化过程中最后一帧模型点的uv数据,将其固定并赋值给模型动态变化过程中所有动画帧与其对应的模型点,从而使模型在动态生成过程中每一帧模型点的uv数据都是固定的,不会因为模型变化而产生uv贴图闪烁问题,实现效果快,灵活方便,扩展性强。
本文档来自技高网...【技术保护点】
1.一种基于模型动态变化的映射贴图处理方法,其特征在于,包括以下步骤:
2.如权利要求1所述的一种基于模型动态变化的映射贴图处理方法,其特征在于,所述步骤23中,所述UV属性传递的方法,包括如下步骤:
3.一种基于模型动态变化的映射贴图处理系统,用以实施权利要求1至2任一项所述的一种基于模型动态变化的映射贴图处理方法,其特征在于,包括:
4.一种电子设备,其特征在于,包括:存储器,用于保存计算机程序;处理器,用于执行所述计算机程序,以实现如权利要求1-2任一项所述的一种基于模型动态变化的映射贴图处理方法。
【技术特征摘要】
1.一种基于模型动态变化的映射贴图处理方法,其特征在于,包括以下步骤:
2.如权利要求1所述的一种基于模型动态变化的映射贴图处理方法,其特征在于,所述步骤23中,所述uv属性传递的方法,包括如下步骤:
3.一种基于模型动态变化的映射贴图处理系统,用以...
【专利技术属性】
技术研发人员:王涛,刘冠成,谢锋,王洪耀,
申请(专利权)人:山东捷瑞数字科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。