CN109933868A - SketchUp模型材质贴图自动匹配方法及系统 - Google Patents

SketchUp模型材质贴图自动匹配方法及系统 Download PDF

Info

Publication number
CN109933868A
CN109933868A CN201910145574.0A CN201910145574A CN109933868A CN 109933868 A CN109933868 A CN 109933868A CN 201910145574 A CN201910145574 A CN 201910145574A CN 109933868 A CN109933868 A CN 109933868A
Authority
CN
China
Prior art keywords
textures
sketchup
module
model
screening
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201910145574.0A
Other languages
English (en)
Inventor
张子涛
汪帮顶
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
One-One-One-Year Network Technology (beijing) Co Ltd
Original Assignee
One-One-One-Year Network Technology (beijing) Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by One-One-One-Year Network Technology (beijing) Co Ltd filed Critical One-One-One-Year Network Technology (beijing) Co Ltd
Priority to CN201910145574.0A priority Critical patent/CN109933868A/zh
Publication of CN109933868A publication Critical patent/CN109933868A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

本发明公开了一种SketchUp模型材质贴图自动匹配方法及系统,包括以下步骤:S1遍历所有SketchUp模型中的材质,其中,SketchUp模型从ArchiCAD导出;S2根据遍历后的所述材质,将不符合的所述材质进行筛选;S3利用筛选后的所述材质,将不符合标准的材质进行调整;S4将调整后材质的贴图进行匹配;S5所述步骤S1、步骤S2、步骤S3和步骤S4均在自动化脚本中运行。本发明有益效果:一键调整好所有的材质贴图,避免贴图纹理出现错误;将所有材质符合标准;减小模型的体积、建模更加快速和缩短渲染时间。

Description

SketchUp模型材质贴图自动匹配方法及系统
技术领域
本发明涉及SketchUp建模的技术领域,具体来说,涉及一种SketchUp模型材质贴图自动匹配方法及系统。
背景技术
SketchUp是一套面向建筑师、城市规划专家、制片人、游戏开发者以及相关专业人员的3D建模程序。
ArchiCAD是一个理想的3D建筑设计软件,它同时具备了成熟的2D绘图与布图功能,自ArchiCAD问世就以3D建模和设计为特色,并提出虚拟建筑的概念。
ArchiCAD支持导出模型为SketchUp的文件格式,但是ArchiCAD导出SketchUp模型后,贴图纹理出现错误,导致渲染出现问题。
针对相关技术中的问题,目前尚未提出有效的解决方案。
发明内容
针对相关技术中的上述技术问题,本发明提出一种SketchUp模型材质贴图自动匹配方法及系统,不仅能够一键调整好所有的材质贴图,避免贴图纹理出现错误,而且将所有材质符合标准,同时减小模型的体积、建模更加快速和缩短渲染时间。
为实现上述技术目的,本发明的技术方案是这样实现的:
一种SketchUp模型材质贴图自动匹配方法,包括以下步骤:
S1遍历所有SketchUp模型中的材质,其中,SketchUp模型从ArchiCAD导出;
S2根据遍历后的所述材质,将不符合的所述材质进行筛选;
S3利用筛选后的所述材质,将不符合标准的材质进行调整;
S4将调整后材质的贴图进行匹配;
S5 所述步骤S1、步骤S2、步骤S3和步骤S4均在自动化脚本中运行。
进一步地,所述步骤S4中将调整后材质的贴图进行匹配包括:
S41遍历所有的面获取贴图坐标;
S42将所述贴图坐标进行读取;
S43针对每个面读取的贴图坐标与当前的贴图坐标进行等值判断;
S44将等值判断后的所述贴图坐标进行清理。
进一步地,所述步骤S1中遍历所有SketchUp模型中的材质,其中,SketchUp模型从ArchiCAD导出包括:
S11利用SketchUp API遍历所有在模型中的材质;
S12将遍历后的所述材质存储为数组。
进一步地,所述步骤S2中将不符合的所述材质进行筛选包括:
S21确定筛选标准,其中,筛选标准为所述材质的名称为英文名称且使用ASCII码常用字符;贴图地址正确且名称和文件路径中均不存在除ASCII码以外的字符;
S22将存储的所述数组进行过滤。
进一步地,所述步骤S3中将不符合标准的材质进行调整包括:将材质的名称、材质的贴图地址和材质的贴图分别进行调整。
本发明的另一方面,提供一种SketchUp模型材质贴图自动匹配系统,包括:
第一遍历模块,用于遍历所有SketchUp模型中的材质,其中,SketchUp模型从ArchiCAD导出;
筛选模块,用于根据遍历后的所述材质,将不符合的所述材质进行筛选;
第一调整模块,用于利用筛选后的所述材质,将不符合标准的材质进行调整;
匹配模块,用于将调整后材质的贴图进行匹配;
脚本运行模块,用于将第一遍历模块、筛选模块、第一调整模块和匹配模块均在自动化脚本中运行。
进一步地,所述匹配模块包括:
获取模块,用于遍历所有的面获取贴图坐标;
读取模块,用于将所述贴图坐标进行读取;
判断模块,用于针对每个面读取的贴图坐标与当前的贴图坐标进行等值判断;
清理模块,用于将等值判断后的所述贴图坐标进行清理。
进一步地,所述第一遍历模块包括:
第二遍历模块,用于利用SketchUp API遍历所有在模型中的材质;
存储模块,用于将遍历后的所述材质存储为数组。
进一步地,所述筛选模块包括:
确定模块,用于确定筛选标准,其中,筛选标准为所述材质的名称为英文名称且使用ASCII码常用字符;贴图地址正确且名称和文件路径中均不存在除ASCII码以外的字符;
过滤模块,用于将存储的所述数组进行过滤。
进一步地,所述第一调整模块包括:第二调整模块,用于将材质的名称、材质的贴图地址和材质的贴图分别进行调整。
本发明的有益效果:
一键调整好所有的材质贴图,避免贴图纹理出现错误;
将所有材质符合标准;
减小模型的体积、建模更加快速和缩短渲染时间。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例所述的SketchUp模型材质贴图自动匹配方法的流程图;
图2是根据本发明实施例所述的阿拉丁室内设计工具的框图;
图3是根据本发明实施例所述的SketchUp模型材质贴图自动匹配方法的效果图之一;
图4是根据本发明实施例所述的SketchUp模型材质贴图自动匹配方法的效果图之二;
图5是根据本发明实施例所述的SketchUp模型材质贴图自动匹配系统的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供一种使用SketchUp API二次开发技术,编写Ruby语言脚本,图元是指模型最基本单元,以下所有步骤均为自动化脚本自动处理过程,无需手动操作。
如图1-4所示,根据本发明实施例所述的一种SketchUp模型材质贴图自动匹配方法,包括以下步骤:
S1遍历所有SketchUp模型中的材质,其中,SketchUp模型从ArchiCAD导出;
S2根据遍历后的所述材质,将不符合的所述材质进行筛选;
S3利用筛选后的所述材质,将不符合标准的材质进行调整;
S4将调整后材质的贴图进行匹配;
S5 所述步骤S1、步骤S2、步骤S3和步骤S4均在自动化脚本中运行。
以上步骤完成后,贴图自动匹配完成,保存当前模型,即可保存所有的数据。
遍历所有SketchUp模型中的材质之前保存面的贴图坐标:其中,保存面的贴图坐标包括:
遍历所有的面获取贴图坐标
递归所有的组和组件,获取所有的面,使用SketchUp API,对当前面的正面反面,执行获取贴图坐标操作,得到每个面的贴图三维原点坐标和uv坐标。
将贴图坐标进行记录,并保存在面图元内
获取贴图的三维原点坐标[x,y,z]和uv[x,y,0]坐标后,形成哈希表(正面、反面),保存在当前面的属性中,以备恢复步骤时使用。
在本发明的一个具体实施例中,所述步骤S4中将调整后材质的贴图进行匹配包括:
S41遍历所有的面获取贴图坐标;
具体的,递归所有的组和组件,获取所有的面,使用SketchUp API,对当前面的正面反面,执行获取贴图坐标操作,得到每个面的贴图三维原点坐标和uv坐标。
S42将所述贴图坐标进行读取;
具体的,读取每个面已经保存过的贴图坐标,保存为哈希表以备下一步骤使用。
S43针对每个面读取的贴图坐标与当前的贴图坐标进行等值判断;
具体的,对每个面读取的贴图坐标与当前的贴图坐标做等值判断,如果相等则不进行任何操作;如果不相等,则当前贴图的坐标调整为读取的坐标。
S44将等值判断后的所述贴图坐标进行清理。
具体的,删除面保存的贴图坐标,以减小文件体积,使建模渲染过程更加流畅。
在本发明的一个具体实施例中,所述步骤S1中遍历所有SketchUp模型中的材质,其中,SketchUp模型从ArchiCAD导出包括:
S11利用SketchUp API遍历所有在模型中的材质;
具体的,使用SketchUp的materials API,获取SketchUp模型中所有的材质,在其中用SketchUp API筛选出哪些材质是在模型中正在使用的,具体方法如下:一、对所有的图元执行递归,得到所有边、面或组件正在使用的材质;二、使用SketchUp API清理未使用的材质,则剩下的材质就是当前使用的。
S12将遍历后的所述材质存储为数组。
建立一个空的数组,将上一步遍历出的材质加入到数组中,以备下一步使用。
在本发明的一个具体实施例中,所述步骤S2中将不符合的所述材质进行筛选包括:
S21确定筛选标准,其中,筛选标准为所述材质的名称为英文名称且使用ASCII码常用字符;贴图地址正确且名称和文件路径中均不存在除ASCII码以外的字符;
具体的,针对市面上常见的渲染器,做出最广泛的要求标准:即材质的名称应该是英文名称且使用ASCII码常用字符;贴图地址正确且名称、文件路径中均不存在除ASCII码以外的字符。
另外,在筛选标准的基础上,增加其他筛选标准:增加贴图轻量化标准,超过1024KB大小的贴图文件,都应进行轻量化处理。
S22将存储的所述数组进行过滤。
具体的,遍历后保存的数组,判断每一个材质的名称和贴图是否满足标准,如果满足,此材质剔除数组,如果不满足,保留在数组中。
在本发明的一个具体实施例中,所述步骤S3中将不符合标准的材质进行调整包括:将材质的名称、材质的贴图地址和材质的贴图分别进行调整。
将材质的名称进行调整
对筛选出的数组遍历,判断每一个材质,名称是否是英文名称且使用ASCII码,如果不满足要求,则使用ASCII字符替换不规则字符,如果出现中文文字等,使用拼音转换,如果字符还是无法替换,则使用UUID直接生成一个UUID作为材质名称。
材质的贴图地址进行调整
对筛选出的数组遍历,判断每一个材质的贴图地址及名称是否是英文名称且使用ASCII码,如果不满足要求,则使用ASCII字符替换不规则字符,如果出现中文文字等,使用拼音转换,如果字符还是无法替换,则使用UUID直接生成一个UUID作为材质名称,替换后将原来贴图复制到新的地址,并赋予刚才生成的名称,这样即使材质贴图地址变换,也不会导致贴图丢失。
材质的贴图进行调整
采用外部处理程序(如ImageMagick开源软件)对贴图进行轻量化处理,在保证贴图质量的情况下,尽可能压缩贴图的体积,这样做不仅能够使三维软件更加流畅,而且在渲染器执行渲染进程时,能够节省内存,提高渲染效率,节约渲染时间,处理过程中,贴图的尺寸(像素)值应保持原来的状态,从而避免因尺寸发生变化导致贴图纹理错乱。
如图5所示,本发明的另一方面,提供一种SketchUp模型材质贴图自动匹配系统,包括:
第一遍历模块,用于遍历所有SketchUp模型中的材质,其中,SketchUp模型从ArchiCAD导出;
筛选模块,用于根据遍历后的所述材质,将不符合的所述材质进行筛选;
第一调整模块,用于利用筛选后的所述材质,将不符合标准的材质进行调整;
匹配模块,用于将调整后材质的贴图进行匹配;
脚本运行模块,用于将第一遍历模块、筛选模块、第一调整模块和匹配模块均在自动化脚本中运行。
在本发明的一个具体实施例中,所述匹配模块包括:
获取模块,用于遍历所有的面获取贴图坐标;
读取模块,用于将所述贴图坐标进行读取;
判断模块,用于针对每个面读取的贴图坐标与当前的贴图坐标进行等值判断;
清理模块,用于将等值判断后的所述贴图坐标进行清理。
在本发明的一个具体实施例中,所述第一遍历模块包括:
第二遍历模块,用于利用SketchUp API遍历所有在模型中的材质;
存储模块,用于将遍历后的所述材质存储为数组。
在本发明的一个具体实施例中,所述筛选模块包括:
确定模块,用于确定筛选标准,其中,筛选标准为所述材质的名称为英文名称且使用ASCII码常用字符;贴图地址正确且名称和文件路径中均不存在除ASCII码以外的字符;
过滤模块,用于将存储的所述数组进行过滤。
在本发明的一个具体实施例中,所述第一调整模块包括:第二调整模块,用于将材质的名称、材质的贴图地址和材质的贴图分别进行调整。
为了方便理解本发明的上述技术方案,以下通过具体使用方式上对本发明的上述技术方案进行详细说明。
在具体使用时,根据本发明所述的SketchUp模型材质贴图自动匹配方法,加载到SketchUp软件中,在使用SketchUp打开由ArchiCAD导出的skp模型后,使用阿拉丁设计工具中贴图自动修复的功能,如图2,单击按钮即可修复所有的不符合标准的材质,再进行渲染,贴图不会产生任何错误,图3和图4是两种渲染器渲染后的结果。
综上所述,借助于本发明的上述技术方案,一键调整好所有的材质贴图,避免贴图纹理出现错误;将所有材质符合标准;减小模型的体积、建模更加快速和缩短渲染时间。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种SketchUp模型材质贴图自动匹配方法,其特征在于,包括以下步骤:
S1遍历所有SketchUp模型中的材质,其中,SketchUp模型从ArchiCAD导出;
S2根据遍历后的所述材质,将不符合的所述材质进行筛选;
S3利用筛选后的所述材质,将不符合标准的材质进行调整;
S4将调整后材质的贴图进行匹配;
S5 所述步骤S1、步骤S2、步骤S3和步骤S4均在自动化脚本中运行。
2.根据权利要求1所述的SketchUp模型材质贴图自动匹配方法,其特征在于,所述步骤S4中将调整后材质的贴图进行匹配包括:
S41遍历所有的面获取贴图坐标;
S42将所述贴图坐标进行读取;
S43针对每个面读取的贴图坐标与当前的贴图坐标进行等值判断;
S44将等值判断后的所述贴图坐标进行清理。
3.根据权利要求1所述的SketchUp模型材质贴图自动匹配方法,其特征在于,所述步骤S1中遍历所有SketchUp模型中的材质,其中,SketchUp模型从ArchiCAD导出包括:
S11利用SketchUp API遍历所有在模型中的材质;
S12将遍历后的所述材质存储为数组。
4.根据权利要求3所述的SketchUp模型材质贴图自动匹配方法,其特征在于,所述步骤S2中将不符合的所述材质进行筛选包括:
S21确定筛选标准,其中,筛选标准为所述材质的名称为英文名称且使用ASCII码常用字符;贴图地址正确且名称和文件路径中均不存在除ASCII码以外的字符;
S22将存储的所述数组进行过滤。
5.根据权利要求1-4任一项所述的SketchUp模型材质贴图自动匹配方法,其特征在于,所述步骤S3中将不符合标准的材质进行调整包括:将材质的名称、材质的贴图地址和材质的贴图分别进行调整。
6.一种SketchUp模型材质贴图自动匹配系统,其特征在于,包括:
第一遍历模块,用于遍历所有SketchUp模型中的材质,其中,SketchUp模型从ArchiCAD导出;
筛选模块,用于根据遍历后的所述材质,将不符合的所述材质进行筛选;
第一调整模块,用于利用筛选后的所述材质,将不符合标准的材质进行调整;
匹配模块,用于将调整后材质的贴图进行匹配;
脚本运行模块,用于将第一遍历模块、筛选模块、第一调整模块和匹配模块均在自动化脚本中运行。
7.根据权利要求6所述的SketchUp模型材质贴图自动匹配系统,其特征在于,所述匹配模块包括:
获取模块,用于遍历所有的面获取贴图坐标;
读取模块,用于将所述贴图坐标进行读取;
判断模块,用于针对每个面读取的贴图坐标与当前的贴图坐标进行等值判断;
清理模块,用于将等值判断后的所述贴图坐标进行清理。
8.根据权利要求6所述的SketchUp模型材质贴图自动匹配系统,其特征在于,所述第一遍历模块包括:
第二遍历模块,用于利用SketchUp API遍历所有在模型中的材质;
存储模块,用于将遍历后的所述材质存储为数组。
9.根据权利要求8所述的SketchUp模型材质贴图自动匹配系统,其特征在于,所述筛选模块包括:
确定模块,用于确定筛选标准,其中,筛选标准为所述材质的名称为英文名称且使用ASCII码常用字符;贴图地址正确且名称和文件路径中均不存在除ASCII码以外的字符;
过滤模块,用于将存储的所述数组进行过滤。
10.根据权利要求6-9任一项所述的SketchUp模型材质贴图自动匹配系统,其特征在于,所述第一调整模块包括:第二调整模块,用于将材质的名称、材质的贴图地址和材质的贴图分别进行调整。
CN201910145574.0A 2019-02-27 2019-02-27 SketchUp模型材质贴图自动匹配方法及系统 Pending CN109933868A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910145574.0A CN109933868A (zh) 2019-02-27 2019-02-27 SketchUp模型材质贴图自动匹配方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910145574.0A CN109933868A (zh) 2019-02-27 2019-02-27 SketchUp模型材质贴图自动匹配方法及系统

Publications (1)

Publication Number Publication Date
CN109933868A true CN109933868A (zh) 2019-06-25

Family

ID=66986035

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910145574.0A Pending CN109933868A (zh) 2019-02-27 2019-02-27 SketchUp模型材质贴图自动匹配方法及系统

Country Status (1)

Country Link
CN (1) CN109933868A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112258616A (zh) * 2020-10-23 2021-01-22 南京维伍网络科技有限公司 一种SketchUp到D5渲染器实时渲染的数据转换方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104750913A (zh) * 2015-03-05 2015-07-01 中国电建集团昆明勘测设计研究院有限公司 一种实现dwg三维模型自动转换为x三维模型的方法
CN107092354A (zh) * 2017-04-01 2017-08-25 宁强 Sketchup模型虚拟现实转化技术的方法
CN107680153A (zh) * 2017-09-14 2018-02-09 深圳市彬讯科技有限公司 一种基于三维模型替换指定部位材质的渲染出图方法
CN108628945A (zh) * 2018-03-29 2018-10-09 成都明镜视觉科技有限公司 一种将fbx模型文件自动转换为fbs模型文件的方法
CN109189725A (zh) * 2018-07-23 2019-01-11 广州都市圈网络科技有限公司 面向规则建筑物的obj文件无损压缩方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104750913A (zh) * 2015-03-05 2015-07-01 中国电建集团昆明勘测设计研究院有限公司 一种实现dwg三维模型自动转换为x三维模型的方法
CN107092354A (zh) * 2017-04-01 2017-08-25 宁强 Sketchup模型虚拟现实转化技术的方法
CN107680153A (zh) * 2017-09-14 2018-02-09 深圳市彬讯科技有限公司 一种基于三维模型替换指定部位材质的渲染出图方法
CN108628945A (zh) * 2018-03-29 2018-10-09 成都明镜视觉科技有限公司 一种将fbx模型文件自动转换为fbs模型文件的方法
CN109189725A (zh) * 2018-07-23 2019-01-11 广州都市圈网络科技有限公司 面向规则建筑物的obj文件无损压缩方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112258616A (zh) * 2020-10-23 2021-01-22 南京维伍网络科技有限公司 一种SketchUp到D5渲染器实时渲染的数据转换方法
CN112258616B (zh) * 2020-10-23 2023-10-03 南京维伍网络科技有限公司 一种SketchUp到D5渲染器实时渲染的数据转换方法

Similar Documents

Publication Publication Date Title
CN108537861B (zh) 贴图生成方法、装置、设备和存储介质
US11344806B2 (en) Method for rendering game, and method, apparatus and device for generating game resource file
CN111105491B (zh) 场景渲染方法、装置、计算机可读存储介质和计算机设备
US10062203B2 (en) Voxelization of mesh representations
WO2018099125A1 (zh) 重叠窗口中显示内容的处理方法和系统
US20150070378A1 (en) User Interface with Color Themes based on Input Image Data
CN110675508B (zh) 一种bim模型几何图形化简方法
US20090033660A1 (en) Apparatus and methods for texture mapping
CN103970518B (zh) 一种逻辑窗口的3d渲染方法和装置
CN106855797A (zh) 一种界面元素颜色的设置方法及装置
CN112991377A (zh) 一种基于opencv和shader融合技术的抠像算法
CN110223372A (zh) 模型渲染的方法、装置、设备及存储介质
WO2006034422A2 (en) Flexible antialiasing in embedded devices
CN105450986B (zh) 一种Linux下视频处理方法
CN105096364B (zh) 一种动画数据生成方法、装置及电子设备
CN115600307A (zh) 一种从城市场景的Mesh模型中生成单体化建筑的方法
CN113781642A (zh) 一种基于减面算法的三维模型多层级lod的生成方法
CN114210054A (zh) 一种将3d模型嵌入ugui中显示的方法
CN116503577A (zh) 一种虚拟仿真场景三维模型快速采集方法及系统
CN109933868A (zh) SketchUp模型材质贴图自动匹配方法及系统
CN112561785A (zh) 基于风格迁移的丝绸文物图像数据扩充方法
CN108038900A (zh) 倾斜摄影模型单体化方法、系统及计算机可读存储介质
CN106934845B (zh) 对象拾取方法及装置
CN104134201B (zh) 纹理图像拼接的方法和装置
CN108280887B (zh) 一种阴影图确定方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20190625