CN102104584B - 下发3d模型数据的方法、装置和3d模型数据传输*** - Google Patents
下发3d模型数据的方法、装置和3d模型数据传输*** Download PDFInfo
- Publication number
- CN102104584B CN102104584B CN 200910243426 CN200910243426A CN102104584B CN 102104584 B CN102104584 B CN 102104584B CN 200910243426 CN200910243426 CN 200910243426 CN 200910243426 A CN200910243426 A CN 200910243426A CN 102104584 B CN102104584 B CN 102104584B
- Authority
- CN
- China
- Prior art keywords
- model
- combination
- data
- hidden
- request
- 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.)
- Active
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种下发3D模型数据的方法、装置和3D模型数据传输***。该方法包括:服务器判断组合3D模型的各个元素的表面在组合后是否被隐藏,利用未被隐藏的表面数据以及各个元素的组合信息生成独立3D模型,下发所述独立3D模型;所述组合3D模型由二个以上独立的3D模型组成,所述两个以上独立的3D模型是该组合3D模型的元素。应用本发明能够节约传输3D模型数据的网络资源。
Description
技术领域
本发明涉及数据传输技术领域,尤其涉及一种下发3D模型数据的方法、装置和3D模型数据传输***。
背景技术
随着3维(3D)技术的发展,出现了很多典型的3D算法,例如,用于生成3D模型的算法和用于显示3D模型的算法。
用于生成3D模型的典型算法之一是,通过距离扫描器在不同视角获取一个物体部分表面到某一指定平面的距离图像(range image),然后对准这些距离图像,将所有的距离值统一在同一个坐标系下,然后使用三角形网格集成算法构造出一个物体的完整3D网格。
zippered算法是一种典型的三角形网格集成算法,zippered算法主要由以下几步构成:a)构造每一个距离图像的原始三角形网格。b)删除相邻原始三角形网格的重叠三角形。c)连通性检查。d)缝合相邻三角形网格的边缘。
其中,“缝合相邻三角形网格的边缘”算法是一种三角形拼接技术,当集成多个三角形网格数据时,需要对拼接处进行缝合。缝合相邻三角形网格的边缘的方法具体请参见文献Computer Graphics Proceedings,AnnualConference Series,1994,ACM SIGGRAPH,第311-318页。
用于显示3D模型的算法之一是隐藏面确定算法,其从一个固定视角,判断3D物体的可视面与隐藏面,将可视面传送给显卡硬件,以减少***硬件显示3D图像的负荷。例如,采用Z-buffering算法为物件进行着色时,执行“隐藏面消除”动作,使得隐藏物件背后的部分就不会被显示出来。再例如,二分空间(Binary Space Partition,BSP)算法:即空间中的任何平面都将整个空间分割成两个半空间,所有位于该平面某一侧的点定义了一个半空间,位于另一侧的点定义了另一个半空间,根据这种对空间剖分的方法,就可以建立起整个虚拟场景的描述以及场景中各种对象的描述。
随着3D技术的完善,3D模型的应用越来越多,已经不仅仅局限于静态的物体模型,开始逐渐向动态更新方向发展,典型的例子如3D虚拟形象。玩家通过客户端登录网络游戏和3D虚拟社区时,可以随时更改自己的3D虚拟形象,如更换不同的着装、发型等等。
通常情况下,客户端可以通过如下两种方法获取3D模型并予以显示:
方法一,在服务器端存储所有的3D模型数据,客户端将需要获取的3D模型的标识发给服务器,服务器根据该标识查找相应的3D模型数据,将查找到的3D模型数据发给客户端,客户端显示接收的3D模型数据。
方法二,服务器将其存储的所有3D模型数据分发到所有的客户端,客户端根据需要显示的3D模型数据的标识,显示相应的3D模型数据。
其中,3D模型可以分为独立3D模型和组合3D模型,所述组合3D模型由多个独立3D模型组合而成,其中的每个独立3D模型可以称为该组合3D模型的元素。服务器端在存储组合3D模型时,需要存储该组合3D模型的所有元素的所有数据,以及表示各个元素的位置关系的数据。
现有的客户端获取3D模型的两种方法中,对于独立3D模型和组合3D模型采用相同的传输方法,即根据客户端请求获取的3D模型的ID将相应3D模型的所有数据下发给客户端,换言之,将组合3D模型的各个元素的所有数据以及表示各个元素的位置关系的数据全部下发给相应的客户端。
由于组合3D模型数据既包括多个独立3D模型数据,也包括这些独立3D模型之间的位置关系数据,因此用于传输组合3D模型数据的网络资源耗费较大。
发明内容
有鉴于此,本发明实施例的目的在于提供一种下发3D模型数据的方法、装置和3D模型数据传输***,以节约传输3D模型数据的网络资源。
为达到上述目的,本发明实施例的技术方案具体是这样实现的:
一种下发3D模型数据的方法,该方法包括:
服务器接收获取3D模型数据的请求,根据该请求中携带的3D模型的身份标识ID判断请求获取的3D模型数据是否是组合3D模型数据,如果是,服务器判断组合3D模型的各个元素的表面在组合后是否被隐藏,利用未被隐藏的表面数据以及各个元素的组合信息生成独立3D模型,下发所述独立3D模型;
所述组合3D模型由二个以上独立的3D模型组成,所述两个以上独立的3D模型是该组合3D模型的元素。
一种下发3D模型数据的方法,该方法包括:
服务器接收获取3D模型数据的请求,根据该请求中携带的3D模型的身份标识ID判断请求获取的3D模型数据是否是组合3D模型数据,如果是,服务器判断组合3D模型的各个元素的表面在组合后是否被隐藏,将未被隐藏的表面数据以及各个元素的组合信息发给客户端;
所述组合3D模型由二个以上独立的3D模型组成,该独立的3D模型是该组合3D模型的元素。
一种下发3D模型数据的装置,该装置包括判断启动模块、隐藏表面判断模块、3D模型生成模块和数据下发模块;
所述判断启动模块,接收获取3D模型数据的请求,根据该请求中携带的3D模型的身份标识ID判断出请求获取的3D模型数据是通过组合得到的独立3D模型数据时,向所述隐藏表面判断模块发送启动指示;
所述隐藏表面判断模块,接到所述启动指示后,判断组合3D模型的各个元素的表面在组合后是否被隐藏;
所述3D模型生成模块,利用未被隐藏的表面数据以及各个元素的组合信息生成独立3D模型;
所述数据下发模块,将所述3D模型生成模块生成的3D模型下发给客户端。
一种3D模型数据传输***,该***包括服务器和客户端;
所述服务器,接收获取3D模型数据的请求,根据该请求中携带的3D模型的身份标识ID判断请求获取的3D模型数据是否是组合3D模型数据,如果是,判断组合3D模型的各个元素的表面在组合后是否被隐藏,将未被隐藏的表面数据和各个元素的组合信息下发给客户端;
所述客户端,接收所述未被隐藏的表面数据和各个元素的组合信息,根据未被隐藏的表面数据以及各个元素的组合信息生成独立3D模型。
通过分析组合3D模型的特点可知,3D组合模型的各个组成元素在组合成独立3D模型时,会有部分表面被遮挡,现有技术不对隐藏的表面和未被隐藏的表面进行区分,而是将各个元素的所有数据均予以下发,显然对于被隐藏的表面数据的传输浪费了网络传输资源,对此,本发明在下发组合3D模型数据之前,先判断组合3D模型的各个元素的表面在组合后是否被隐藏,在下发组合3D模型数据时,将未被隐藏的表面数据下发给客户端,从而减少数据下发量,因此节约了网络传输资源。
其中,可以在每次下发组合3D模型数据前,均执行所述判断的动作,也可以在首次下发所述组合3D模型数据前执行所述判断的动作并记录判断结果,在以后的下发过程中,直接利用所述判断结果,从而节约计算资源。
附图说明
图1是本发明提供的下发3D模型数据的方法流程图。
图2是本发明提供的传输3D模型数据的方法流程图。
图3是本发明提供的下发3D模型数据的装置结构示意图。
图4是本发明提供的3D模型数据传输***组成示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。
图1是本发明提供的下发3D模型数据的方法流程图。
如图1所示,该方法包括:
步骤101,服务器判断组合3D模型的各个元素的表面在组合后是否被隐藏。
本步骤可以在每次下发组合3D模型数据前均执行,也可以在首次下发所述组合3D模型数据前执行并记录判断结果,在以后的下发过程中,直接利用所述判断结果,从而节约计算资源。
步骤102,服务器下发未被隐藏的表面数据,对于隐藏的表面数据不予下发。
其中,所述组合3D模型由二个以上独立的3D模型组成,该独立的3D模型是该组合3D模型的元素。
本步骤中,服务器可以利用未被隐藏的表面数据以及各个元素的组合信息生成独立3D模型,通过下发所述独立3D模型实现仅下发未被隐藏的表面数据,对于隐藏的表面数据不予下发,服务器也可以下发未被隐藏的表面数据和各个元素的组合信息,由客户端根据所述未被隐藏的表面数据和各个元素的组合信息生成独立3D模型。
本发明的原理是,当多个3D物体(即独立的3D模型)进行组合时,可能有些物体的表面或者部分表面在组合后,在组合后的物体的外部视角下是不可见的,即是隐藏的。以3Davatar的着装为例,avatar在不穿衣服的情况下,自身会有一层外表皮肤,穿上衣服后,被遮挡住的皮肤从外部的任何视角都是不可见的。本发明在传送组合的3D物体数据时,将被遮挡住的部分的数据不进行传输,从而节约网络传输资源。换言之,对于组合3D模型,在组合后的3D模型外部的任何视角下都无法看到的表面是该组合3D模型的内部三角形网格,对该内部三角形网格不进行传输也不会影响3D模型的显示效果,还可以节约网络传输资源。
其中,可以在不同的视角下采用隐藏表面判断算法判断所述组合3D模型的各个元素的各个表面是否被隐藏。
服务器接收获取3D模型数据的请求,可以根据该请求中携带的3D模型的身份标识ID判断请求获取的3D模型数据是否是组合3D模型数据。
当服务器接收到获取3D模型数据的请求消息后,判断出该请求获取的是组合3D模型,且该组合3D模型是首次被请求的,则服务器生成该3D模型的身份标识(ID),以便于客户端在以后的请求消息中直接携带该ID来请求相应的组合3D模型。
在下发3D模型数据时,可以由服务器利用未被隐藏的表面数据以及各个元素的位置关系数据生成独立3D模型,然后将该生成的独立3D模型发给客户端,也可以是服务器将未被隐藏的表面数据以及各个元素的位置关系数据等组合信息发给客户端后,由客户端生成3D模型。
下面结合附图对本发明传输首次被请求的组合3D模型数据的详细方法进行示例性说明,具体请参见图2。
图2是本发明提供的传输3D模型数据的方法流程图。
如图2所示,该方法包括:
步骤201,服务器接收客户端发来的获取3D模型数据的请求。
步骤202,服务器判断请求的3D模型是否为组合3D模型,如果是,执行步骤204,否则执行步骤203。
步骤203,采用现有方法下发3D模型数据,结束本流程。
步骤204,服务器生成该组合3D模型的身份标识(ID),并存储该组合3D模型的各个元素的相对位置关系等组合信息。
本步骤中,对于每一个通过组合生成的新的独立3D模型,会有一个统一的ID,而这个统一ID会关联所有组成这个组合得到的3D模型的各个独立3D模型的ID及其相对坐标地址。
步骤205,将该组合3D模型的所有组成元素的三角形网格放入集合A。
步骤206,从经典视角集合C中取出一个视点v。
步骤207,在视点v使用隐藏表面判断算法找出没有被隐藏的三角形网格集合B。
步骤208,将集合B移出集合A。
通过步骤207~208,可以使用“隐藏面确定算法”来判断并找出所有的可视三角形网格。之后将这些分辨出来的可视的三角形网格进行统一标记,并归纳在一个集合中,使其与那些任何角度不可视的三角形网格区分开来。
步骤209,判断经典视角集合C是否为空,如果是,执行步骤210,否则返回步骤206。
步骤210,将集合A中的三角形网格删除。
步骤211,服务器将该3D模型中没有被删除的三角形网格的相邻边缘进行缝合,从而构造完整的3D模型。
本步骤可以采用zippered算法中缝合相邻三角形网格边缘算法。通过这种算法将组合物品进行缝合处理,并将组合物品构建成完整的组合3D模型。组合后的3D模型在传输的过程中,内部三角形网格将不会被传输,能够节省网络资源。
步骤212,服务器将完整的3D模型发给客户端。
图3是本发明提供的下发3D模型数据的装置结构示意图。
如图3所示,该装置包括隐藏表面判断模块301、3D模型生成模块302和和数据下发模块303。
隐藏表面判断模块301,判断组合3D模型的各个元素的表面在组合后是否被隐藏。
3D模型生成模块302,利用未被隐藏的表面数据以及各个元素的组合信息生成独立3D模型。
数据下发模块303,将3D模型生成模块302生成的3D模型下发给客户端。
图3所示装置还可以进一步包括判断启动模块;
所述判断启动模块,接收获取3D模型数据的请求,根据该请求中携带的3D模型的身份标识ID判断出请求获取的3D模型数据是通过组合得到的独立3D模型数据时,向所述隐藏表面判断模块发送启动指示;
所述隐藏表面判断模块,接到所述启动指示后,判断组合3D模型的各个元素的表面在组合后是否被隐藏。
本发明还提供了另一种下发3D模型数据的装置,该装置包括隐藏表面判断模块和数据下发模块。
所述隐藏表面判断模块,判断组合3D模型的各个元素的表面在组合后是否被隐藏。
所述数据下发模块,根据隐藏表面判断模块的判断结果下发未被隐藏的表面数据和各个元素的组合信息。
图4是本发明提供的3D模型数据传输***组成示意图。
如图4所示,该***包括服务器401和客户端402。
服务器401,判断组合3D模型的各个元素的表面在组合后是否被隐藏,将未被隐藏的表面数据和各个元素的组合信息下发给客户端402。
客户端402,接收所述未被隐藏的表面数据和各个元素的组合信息,根据未被隐藏的表面数据以及各个元素的组合信息生成独立3D模型。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种下发3D模型数据的方法,其特征在于,该方法包括:
服务器接收获取3D模型数据的请求,根据该请求中携带的3D模型的身份标识ID判断请求获取的3D模型数据是否是组合3D模型数据,如果是,服务器判断组合3D模型的各个元素的表面在组合后是否被隐藏,利用未被隐藏的表面数据以及各个元素的组合信息生成独立3D模型,下发所述独立3D模型;
所述组合3D模型由两个以上独立的3D模型组成,所述两个以上独立的3D模型是该组合3D模型的元素。
2.根据权利要求1所述的方法,其特征在于,所述判断组合3D模型的各个元素的表面在组合后是否被隐藏包括:
在不同的视角下分别采用隐藏表面判断算法判断所述组合3D模型的各个元素的各个表面是否被隐藏。
3.一种下发3D模型数据的方法,其特征在于,该方法包括:
服务器接收获取3D模型数据的请求,根据该请求中携带的3D模型的身份标识ID判断请求获取的3D模型数据是否是组合3D模型数据,如果是,服务器判断组合3D模型的各个元素的表面在组合后是否被隐藏,将未被隐藏的表面数据以及各个元素的组合信息发给客户端;
所述组合3D模型由二个以上独立的3D模型组成,该独立的3D模型是该组合3D模型的元素。
4.根据权利要求3所述的方法,其特征在于,该方法还包括:
客户端利用未被隐藏的表面数据以及各个元素的组合信息生成独立3D模型。
5.根据权利要求3所述的方法,其特征在于,所述判断组合3D模型的各个元素的表面在组合后是否被隐藏包括:
在不同的视角下分别采用隐藏表面判断算法判断所述组合3D模型的各个元素的各个表面是否被隐藏。
6.一种下发3D模型数据的装置,其特征在于,该装置包括判断启动模块、隐藏表面判断模块、3D模型生成模块和数据下发模块;
所述判断启动模块,接收获取3D模型数据的请求,根据该请求中携带的3D模型的身份标识ID判断出请求获取的3D模型数据是通过组合得到的独立3D模型数据时,向所述隐藏表面判断模块发送启动指示;
所述隐藏表面判断模块,接到所述启动指示后,判断组合3D模型的各个元素的表面在组合后是否被隐藏;
所述3D模型生成模块,利用未被隐藏的表面数据以及各个元素的组合信息生成独立3D模型;
所述数据下发模块,将所述3D模型生成模块生成的3D模型下发给客户端。
7.一种3D模型数据传输***,其特征在于,该***包括服务器和客户端;
所述服务器,接收获取3D模型数据的请求,根据该请求中携带的3D模型的身份标识ID判断请求获取的3D模型数据是否是组合3D模型数据,如果是,判断组合3D模型的各个元素的表面在组合后是否被隐藏,将未被隐藏的表面数据和各个元素的组合信息下发给客户端;
所述客户端,接收所述未被隐藏的表面数据和各个元素的组合信息,根据未被隐藏的表面数据以及各个元素的组合信息生成独立3D模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910243426 CN102104584B (zh) | 2009-12-21 | 2009-12-21 | 下发3d模型数据的方法、装置和3d模型数据传输*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910243426 CN102104584B (zh) | 2009-12-21 | 2009-12-21 | 下发3d模型数据的方法、装置和3d模型数据传输*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102104584A CN102104584A (zh) | 2011-06-22 |
CN102104584B true CN102104584B (zh) | 2013-09-04 |
Family
ID=44157117
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200910243426 Active CN102104584B (zh) | 2009-12-21 | 2009-12-21 | 下发3d模型数据的方法、装置和3d模型数据传输*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102104584B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116563449A (zh) * | 2022-01-27 | 2023-08-08 | 华为技术有限公司 | 3d模型生成方法及相关装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005101324A1 (en) * | 2004-04-14 | 2005-10-27 | Koninklijke Philips Electronics N.V. | Ghost artifact reduction for rendering 2.5d graphics |
CN1932885A (zh) * | 2002-10-15 | 2007-03-21 | 诺基亚公司 | 三维图像处理 |
CN101048996A (zh) * | 2004-10-22 | 2007-10-03 | 慧达企业有限公司 | 用于移动三维图形消息传送的***和方法 |
CN101046880A (zh) * | 2006-03-27 | 2007-10-03 | 腾讯科技(深圳)有限公司 | 一种在三维模型中显示人物图像的方法及装置 |
CN101430792A (zh) * | 2008-12-04 | 2009-05-13 | 中山大学 | 面向交互式移动三维图形的渐进式显示方法 |
-
2009
- 2009-12-21 CN CN 200910243426 patent/CN102104584B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1932885A (zh) * | 2002-10-15 | 2007-03-21 | 诺基亚公司 | 三维图像处理 |
WO2005101324A1 (en) * | 2004-04-14 | 2005-10-27 | Koninklijke Philips Electronics N.V. | Ghost artifact reduction for rendering 2.5d graphics |
CN101048996A (zh) * | 2004-10-22 | 2007-10-03 | 慧达企业有限公司 | 用于移动三维图形消息传送的***和方法 |
CN101046880A (zh) * | 2006-03-27 | 2007-10-03 | 腾讯科技(深圳)有限公司 | 一种在三维模型中显示人物图像的方法及装置 |
CN101430792A (zh) * | 2008-12-04 | 2009-05-13 | 中山大学 | 面向交互式移动三维图形的渐进式显示方法 |
Non-Patent Citations (1)
Title |
---|
杨小辉,方宗德,杨青.一种三维有限元网格的快速消隐算法.《机械科学与技术》.2004,第23卷(第11期), * |
Also Published As
Publication number | Publication date |
---|---|
CN102104584A (zh) | 2011-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022116759A1 (zh) | 图像渲染方法、装置、计算机设备和存储介质 | |
US6538651B1 (en) | Parametric geometric element definition and generation system and method | |
CN107358649B (zh) | 地形文件的处理方法和装置 | |
EP3657327A1 (en) | Method for rendering game, and method, apparatus and device for generating game resource file | |
CN110211218B (zh) | 画面渲染方法和装置、存储介质及电子装置 | |
CN101414383B (zh) | 图像处理设备和图像处理方法 | |
CN112933597B (zh) | 图像处理方法、装置、计算机设备及存储介质 | |
CN101183339B (zh) | 使存储器高速缓存中数据无效的方法与*** | |
CN105393282A (zh) | 图形元素的有效合成和渲染 | |
CN111400024B (zh) | 渲染过程中的资源调用方法、装置和渲染引擎 | |
CN110503718B (zh) | 三维工程模型轻量化显示方法 | |
KR20080018404A (ko) | 게임 제작을 위한 배경 제작 프로그램을 저장한 컴퓨터에서읽을 수 있는 기록매체 | |
Tasse et al. | Enhanced texture‐based terrain synthesis on graphics hardware | |
CN111710020B (zh) | 动画渲染方法和装置及存储介质 | |
US10846908B2 (en) | Graphics processing apparatus based on hybrid GPU architecture | |
CN111583379A (zh) | 虚拟模型的渲染方法、装置、存储介质与电子设备 | |
US9019268B1 (en) | Modification of a three-dimensional (3D) object data model based on a comparison of images and statistical information | |
EP1922700B1 (en) | 2d/3d combined rendering | |
CN115496845A (zh) | 图像渲染方法、装置、电子设备及存储介质 | |
CN116485973A (zh) | 虚拟对象的材质生成方法、电子设备和存储介质 | |
CN112614210B (zh) | 工程图纸显示方法、***及相关装置 | |
Yuan et al. | Simplified and tessellated mesh for realtime high quality rendering | |
KR100989080B1 (ko) | 시공간 정보가 결합된 체험형 지식 제공 방법 및 시스템 | |
CN102104584B (zh) | 下发3d模型数据的方法、装置和3d模型数据传输*** | |
CN107247785A (zh) | 一种静态只读地图文件生成方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |