CN104537710A - 一种图像处理的方法 - Google Patents

一种图像处理的方法 Download PDF

Info

Publication number
CN104537710A
CN104537710A CN201410831753.7A CN201410831753A CN104537710A CN 104537710 A CN104537710 A CN 104537710A CN 201410831753 A CN201410831753 A CN 201410831753A CN 104537710 A CN104537710 A CN 104537710A
Authority
CN
China
Prior art keywords
model
leaf node
scene tree
max
merged
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.)
Granted
Application number
CN201410831753.7A
Other languages
English (en)
Other versions
CN104537710B (zh
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.)
Beijing Pixel Software Technology Co Ltd
Original Assignee
Beijing Pixel Software Technology 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 Beijing Pixel Software Technology Co Ltd filed Critical Beijing Pixel Software Technology Co Ltd
Priority to CN201410831753.7A priority Critical patent/CN104537710B/zh
Publication of CN104537710A publication Critical patent/CN104537710A/zh
Application granted granted Critical
Publication of CN104537710B publication Critical patent/CN104537710B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

一种图像处理的方法,所述方法包括:遍历实际场景,将遍历到的同一个物体含有关联UV的模型增加到场景树中的叶子节点;在场景树下同一物体对应的叶子节点合并为3ds max模型,并把所有叶子节点的第N层UV合并为3ds max模型的第零层UV;编辑第N层UV时,将合并后3ds max模型的第零层UV设置为3ds max的第零层UV。应用本发明实施例后,导出Autodesk FBX格式应用到3ds max中时保留完整的UV信息,进而保证Autodesk FBX格式与低版本3ds max的兼容。

Description

一种图像处理的方法
技术领域
本申请涉及图像技术领域,更具体地,涉及一种图像处理的方法。
背景技术
在大型网络游戏场景维护过程中,常常需要把游戏场景导入3ds max编辑(比如切割导航),在这种情况下就需要一种高效稳定的方法,避免因场景资源过多而导致系统崩溃,并且能在有限的时间和空间里完成场景的导入。
以Unity3D为例的一批游戏引擎,内部使用3ds max支持的格式,如标准AutodeskFBX格式,这样就可以在游戏引擎里和3ds max里编辑同一个模型文件。Autodesk FBX是Autodesk公司出品的一款用于跨平台的免费三维创作与交换格式的软件,通过FBX用户能访问大多数三维供应商的三维文件。
Autodesk FBX数据交换技术提供了新的类,可以帮助欧特克娱乐创作套件2012中的各个软件之间实现更紧密的集成,并且可以为专用工作流程中的数据迁移提供更好的支持。通过添加一系列的增强特性,Autodesk Maya 2012软件、Autodesk 3ds Max 2012软件、Autodesk Softimage 2012软件、Autodesk Mudbox 2012软件和AutodeskMotionBuilder 2012软件之间的互操作性得到了增强,美术人员将可以使用更高效的多应用工作流程。
Autodesk提供了基于C++(还有Python)的SDK来实现对FBX格式的各种读写、修改以及转换等操作,之所以如此是因为FBX的格式不是公开的。
Autodesk FBX格式与低版本3ds max并非完美兼容,美术人员导出Autodesk FBX格式,应用到3ds max中将会丢失除第零层以外的其他图层UV信息。
发明内容
本发明实施例提出一种图像处理的方法,导出Autodesk FBX格式应用到3ds max中时保留完整的UV信息,进而保证Autodesk FBX格式与低版本3ds max的兼容。
本发明实施例的技术方案如下:
一种图像处理的方法,所述方法包括:
遍历实际场景,将遍历到的同一个物体含有关联UV的模型增加到场景树中的叶子节点;
在场景树下同一物体对应的叶子节点合并为3ds max模型,并把所有叶子节点的第N层UV合并为3ds max模型的第零层UV;
编辑第N层UV时,将合并后3ds max模型的第零层UV设置为3ds max的第零层UV。
当N为1时,所述将遍历到的同一个物体含有关联UV的模型增加到场景树中的叶子节点包括:
以第一层节点为根节点,分成对应数量的叶子节点;
将遍历到的同一个物体含有关联UV的模型增加到场景树中的叶子节点;
所述将场景树下同一物体对应的叶子节点合并为3ds max模型包括:
将场景树下同一物体对应的每个叶子节点合并为一个3ds max模型。
当N大于1时,所述将遍历到的同一个物体含有关联UV的模型增加到场景树中的叶子节点包括:
将与同一个物体含有关联UV的模型作为子节点构造场景树,将所述场景树作为子树附加到根节点;
以第一层节点为根节点,分成对应数量的叶子节点;
将遍历到的同一个物体含有关联UV的模型增加到场景树中的叶子节点;
所述将场景树下同一物体对应的叶子节点合并为3ds max模型包括:
将场景树下同一物体对应的每个叶子节点合并为一个3ds max模型。
所述将遍历到的同一个物体含有关联UV的模型增加到场景树中的叶子节点:
将遍历到的同一个物体含有关联UV的模型增加到场景树中的叶子节点;
按照FBX的规则序列化场景树得到FBX模型。
所述将场景树下同一物体对应的叶子节点合并为3ds max模型包括:
导入FBX模型;
将场景树下同一物体对应的叶子节点合并为3ds max模型。
所述方法进一步包括:建立资源池缓冲区,所述缓冲区存储共享资源的I/O文件名和共享资源。
所述资源池包括模型资源池和图片资源池。
所述方法进一步包括:
将场景树下中同一物体对应的叶子节点合并为3ds max模型,当调用资源的I/O文件名不在缓冲区,且所述调用资源小于等于剩余缓冲区大小,则将所述调用资源调入缓冲区并提供调度接口。
所述方法进一步包括:
将场景树下中同一物体对应的叶子节点合并为3ds max模型,当所调用资源的I/O文件名不在缓冲区,且所述调用资源大于剩余缓冲区大小,则终止程序。
从上述技术方案中可以看出,在本发明实施例中遍历实际场景,将遍历到的同一个物体含有关联UV的模型增加到场景树中的叶子节点;然后,在场景树下同一物体对应的叶子节点合并为3ds max模型,并把所有叶子节点的第N层UV合并为3ds max模型的第零层UV;编辑3第N层UV时,将合并后3ds max模型的第零层UV设置为3ds max的第零层UV。由于模型的各部分信息都可以合并因此在导出Autodesk FBX格式应用到3ds max中时能够保留完整的UV信息,进而保证Autodesk FBX格式与低版本3ds max的兼容。
附图说明
图1为图像处理的方法流程示意图;
图2为场景树的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点表达得更加清楚明白,下面结合附图及具体实施例对本发明再作进一步详细的说明。
在本发明实施例中,首先遍历实际场景将遍历到的包括UV的模型增加到场景树中叶子节点,然后在场景树下同一物体对应的叶子节点合并为3ds max模型,并把所有叶子节点的第N层UV合并为3ds max模型的第零层UV;编辑第N层UV时,将合并后3ds max模型的第零层UV设置为3ds max的第零层UV。由于包括全部UV的模型都可以合并因此在导出Autodesk FBX格式应用到3ds max中时能够保留完整的UV信息,进而保证Autodesk FBX格式与低版本3ds max的兼容。
下面结合附图1详细说明书本发明的技术方案。
101、遍历实际场景,将遍历到的同一个物体含有关联UV的模型增加到场景树中的叶子节点。
纹理坐标通常具有U和V两个坐标轴,因此称之为UV坐标。在本发明中将UV坐标简称为UV。根据实际场景的需要,不同的物体对应不同层纹理的UV。例如,地形和植物对应一层纹理的UV,建筑物需要两层纹理的UV。而其他的物体需要大于三层纹理的UV。可以认为物体对应N层纹理的UV,其中N大于等于1。N的值根据具体的实际情况而确定。
下面以在游戏场景中的地形、植物和建筑物为例,具体说明。
在游戏场景中,首先遍历一遍所有地形以及游戏物体。遍历过程中,如果遍历到地形块则直接将地形加到场景树的叶子点,因为游戏中地形不需要光照贴图的UV层即第二层UV;如果遍历到建筑,则将同一个建筑上相同光照贴图的物体加到同一个空节点下,组成一棵新的场景树,并且把该场景树加到根节点下。组织好场景树后,按照FBX的规则序列化场景树得到FBX模型,将FBX模型存储到磁盘。
参见附图2是场景树的结构示意图,在根节点下包括多个节点即叶子节点。例如M个地形节点,M个植物节点,M个建筑节点。其中,根节点下的节点为子节点,地形1至地形M为子节点,同时也是叶子节点。植物1至植物M为子节点,同时也是叶子节点。建筑节点1至建筑节点M为子节点,建筑模型1至建筑模型M为叶子节点。
102、在场景树下同一物体对应的叶子节点合并为3ds max模型,并把所有叶子节点的第N层UV合并为3ds max模型的第零层UV;编辑第N层UV时,将合并后3dsmax模型的第零层UV设置为3ds max的第零层UV。
导入FBX模型选择需要编辑的UV层序号,3ds max将读取FBX模型数据,并且分析模型节点树。
首先,将遍历到的同一个物体含有关联UV的模型增加到场景树中的第一层节点;如果需要编辑第一层UV,则以第一层节点为根节点,分成对应数量的子树,即第一层节点有X个节点就分成X棵子树,每个子树即叶子节点,再把每棵子树合并为一个3ds max模型,然后将所有叶子节点的第零层UV合并为3ds max模型的第零层UV。将合并成的3ds max模型导入3ds max,并且可以将合并后3ds max模型的第零层UV设置为3ds max的第零层UV。此处的合并是指:分别从各个节点提取出位置、法线、UV等信息,分别组成新模型的对应信息。
如果需要编辑3ds max模型的第N层UV,其中,N大于1。则首先在构建场景树阶段,把含有关联UV(即模型的UV用来描述同一张贴图的坐标)的模型作为子节点构造成场景树。再将该场景树作为子树附加到根节点上。然后以第一层节点为根节点,分成对应数量的子树,即第一层节点有Y个节点就分成Y棵子树,再把每棵子树合并为一个3ds max模型,然后将所有叶子节点的第零层UV合并为3ds max模型的第零层UV。将合并成的3ds max模型导入3ds max。编辑3第N层UV时,将合并后3ds max模型的第零层UV设置为3ds max的第零层UV。此处的合并是指:分别从各个节点提取出位置、法线、UV等信息,分别组成新模型的对应信息。
编辑第N层UV时,将合并后3ds max模型的第零层UV设置为3ds max的第零层UV。这样做的目的在于,在3dsmax里每次导入模型只是为了编辑其中一层UV,不需要考虑其他层。设置为零层也就是3dsmax的默认层,这样编辑UV的时候不需要再在3dsmax里调取,直接在默认层上编辑就可以。
此外,考虑到3ds max导入场景是以模型为单位导入,势必会为每个模型的资源做一次I/O操作,对于大场景上述操作必然导致时间和空间的极大浪费,甚至会由于内存不够导致系统崩溃。
因此,可以将资源池分为模型资源池和图片资源池。资源池先开辟缓冲区,缓冲区存储共享资源的I/O文件名和共享资源。当调用资源的I/O文件名不在缓冲区,且调用资源小于等于剩余缓冲区大小,则将所调用资源调入缓冲区并提供调度接口;当所调用资源的I/O文件名不在缓冲区,且所调用资源大于剩余缓冲区大小,则终止程序,防止崩溃。
采用上述的技术方案可以从实际场景导出的模型包含完整UV信息,并且在3dsmax中可以访问并修改模型的各层UV信息。其次,由于I/O操作带来的压力以及内存大小的限制,通过缓冲区可以防止系统发生崩溃。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (9)

1.一种图像处理的方法,其特征在于,所述方法包括:
遍历实际场景,将遍历到的同一个物体含有关联UV的模型增加到场景树中的叶子节点;
在场景树下同一物体对应的叶子节点合并为3ds max模型,并把所有叶子节点的第N层UV合并为3ds max模型的第零层UV;
编辑第N层UV时,将合并后3ds max模型的第零层UV设置为3ds max的第零层UV。
2.根据权利要求1所述图像处理的方法,其特征在于,当N为1时,所述将遍历到的同一个物体含有关联UV的模型增加到场景树中的叶子节点包括:
以第一层节点为根节点,分成对应数量的叶子节点;
将遍历到的同一个物体含有关联UV的模型增加到场景树中的叶子节点;
所述将场景树下同一物体对应的叶子节点合并为3ds max模型包括:
将场景树下同一物体对应的每个叶子节点合并为一个3ds max模型。
3.根据权利要求1所述图像处理的方法,其特征在于,当N大于1时,所述将遍历到的同一个物体含有关联UV的模型增加到场景树中的叶子节点包括:
将与同一个物体含有关联UV的模型作为子节点构造场景树,将所述场景树作为子树附加到根节点;
以第一层节点为根节点,分成对应数量的叶子节点;
将遍历到的同一个物体含有关联UV的模型增加到场景树中的叶子节点;
所述将场景树下同一物体对应的叶子节点合并为3ds max模型包括:
将场景树下同一物体对应的每个叶子节点合并为一个3ds max模型。
4.根据权利要求1所述图像处理的方法,其特征在于,所述将遍历到的同一个物体含有关联UV的模型增加到场景树中的叶子节点:
将遍历到的同一个物体含有关联UV的模型增加到场景树中的叶子节点;
按照FBX的规则序列化场景树得到FBX模型。
5.根据权利要求4所述图像处理的方法,其特征在于,所述将场景树下同一物体对应的叶子节点合并为3ds max模型包括:
导入FBX模型;
将场景树下同一物体对应的叶子节点合并为3ds max模型。
6.根据权利要求1所述图像处理的方法,其特征在于,所述方法进一步包括:建立资源池缓冲区,所述缓冲区存储共享资源的I/O文件名和共享资源。
7.根据权利要求6所述图像处理的方法,其特征在于,所述资源池包括模型资源池和图片资源池。
8.根据权利要求6所述图像处理的方法,其特征在于,所述方法进一步包括:
将场景树下中同一物体对应的叶子节点合并为3ds max模型,当调用资源的I/O文件名不在缓冲区,且所述调用资源小于等于剩余缓冲区大小,则将所述调用资源调入缓冲区并提供调度接口。
9.根据权利要求6所述图像处理的方法,其特征在于,所述方法进一步包括:
将场景树下中同一物体对应的叶子节点合并为3ds max模型,当所调用资源的I/O文件名不在缓冲区,且所述调用资源大于剩余缓冲区大小,则终止程序。
CN201410831753.7A 2014-12-26 2014-12-26 一种图像处理的方法 Active CN104537710B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410831753.7A CN104537710B (zh) 2014-12-26 2014-12-26 一种图像处理的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410831753.7A CN104537710B (zh) 2014-12-26 2014-12-26 一种图像处理的方法

Publications (2)

Publication Number Publication Date
CN104537710A true CN104537710A (zh) 2015-04-22
CN104537710B CN104537710B (zh) 2017-08-08

Family

ID=52853229

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410831753.7A Active CN104537710B (zh) 2014-12-26 2014-12-26 一种图像处理的方法

Country Status (1)

Country Link
CN (1) CN104537710B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106600688A (zh) * 2016-12-12 2017-04-26 合肥华耀广告传媒有限公司 基于三维建模技术的虚拟现实系统
CN108924753A (zh) * 2017-04-05 2018-11-30 意法半导体(鲁塞)公司 用于场景的实时检测的方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070294270A1 (en) * 2006-06-09 2007-12-20 Eric Gregory Layering and Referencing of Scene Description
CN103353866A (zh) * 2013-05-13 2013-10-16 河南大学 一种支持xna技术的三维模型文件格式转换方法
CN104199659A (zh) * 2014-08-28 2014-12-10 无锡梵天信息技术股份有限公司 一种导出3dmax可识别的模型信息的方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070294270A1 (en) * 2006-06-09 2007-12-20 Eric Gregory Layering and Referencing of Scene Description
CN103353866A (zh) * 2013-05-13 2013-10-16 河南大学 一种支持xna技术的三维模型文件格式转换方法
CN104199659A (zh) * 2014-08-28 2014-12-10 无锡梵天信息技术股份有限公司 一种导出3dmax可识别的模型信息的方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
刘娜: "3ds Max中UV的展开方法", 《电脑知识与技术》 *
江能兴,周淦淼: "基于3DS MAX的三维模型的优化研究", 《计算机与数字工程》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106600688A (zh) * 2016-12-12 2017-04-26 合肥华耀广告传媒有限公司 基于三维建模技术的虚拟现实系统
CN108924753A (zh) * 2017-04-05 2018-11-30 意法半导体(鲁塞)公司 用于场景的实时检测的方法和装置
US10789477B2 (en) 2017-04-05 2020-09-29 Stmicroelectronics (Rousset) Sas Method and apparatus for real-time detection of a scene
CN108924753B (zh) * 2017-04-05 2020-10-27 意法半导体(鲁塞)公司 用于场景的实时检测的方法和装置

Also Published As

Publication number Publication date
CN104537710B (zh) 2017-08-08

Similar Documents

Publication Publication Date Title
CN106407408A (zh) 一种海量点云数据的空间索引构建方法及装置
CN110222445A (zh) 基于bim与设计信息的集成、协同设计和交付方法及系统
JP2022024065A (ja) マルチ解像度画像システム
CN104680320A (zh) 基于bim的工程管理系统和方法
CN109491735B (zh) 集成数据生成与校验的综合监控人机界面组态实现方法
CN102298795A (zh) Stl三角网格模型的三维分段方法
CN103353866A (zh) 一种支持xna技术的三维模型文件格式转换方法
CN104199659A (zh) 一种导出3dmax可识别的模型信息的方法及装置
CN112419498B (zh) 一种海量倾斜摄影数据的调度渲染方法
CN108647017A (zh) 一种参数化快速生成三维互动与仿真应用软件的集成平台
CN109754458A (zh) 三维场景的构建方法、装置及计算机可读存储介质
CN105005580B (zh) 一种用于显示水库地形的方法及其装置
CN111612686B (zh) 一种ebom到pbom的结构映射方法
CN110287508A (zh) 一种多源三维城市模型的可视化融合系统
CN104537710A (zh) 一种图像处理的方法
CN105320802A (zh) 一种基于AutoCAD通用图形对象实现辅助规划设计的方法
CN114648607B (zh) 基于cad平台的倾斜三维模型重建与动态调度方法
CN109190255B (zh) 一种面向城市三维产权空间立体重构方法
CN101359337B (zh) 用于交互式地编辑gis拓扑数据集的方法
CN106373192A (zh) 一种非拓扑一致性三维网格块体追踪算法
CN102142155A (zh) 面向网络交互可视化的地面三维模型数据组织方法
CN116152451A (zh) 多维参数化城市信息模型构建方法、系统及计算机设备
WO2022148075A1 (zh) 一种虚拟对象的分簇方法、装置、存储介质和电子装置
CN114863040A (zh) 纹理密集三维场景的lod树构建方法、装置和电子设备
CN114445574A (zh) 将GeoJSON数据格式转换为三维GLB格式的方法、装置和设备

Legal Events

Date Code Title Description
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant