CN101770655B - 一种大规模虚拟动态场景简化方法 - Google Patents
一种大规模虚拟动态场景简化方法 Download PDFInfo
- Publication number
- CN101770655B CN101770655B CN200910260144XA CN200910260144A CN101770655B CN 101770655 B CN101770655 B CN 101770655B CN 200910260144X A CN200910260144X A CN 200910260144XA CN 200910260144 A CN200910260144 A CN 200910260144A CN 101770655 B CN101770655 B CN 101770655B
- Authority
- CN
- China
- Prior art keywords
- sampled point
- tabulation
- file
- point
- triangle
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本发明所述一种大规模虚拟动态场景简化方法涉及虚拟现实技术领域的大规模动态场景的简化技术。为了提高大规模群体动画的渲染速度和渲染效果,本发明采用固定网格表面点采样并去除采样点冗余,减少信息存储量,提高了预处理速度,用保留在采样点列表和三角形列表的信息替换原始模型X文件中的顶点信息和面的信息,生成类X文件而非采用关键帧技术,简化了群体动画的处理的复杂性,同时根据不同的LOD级别建立不同的类X文件进行群体渲染,提高渲染速度和渲染效果,从而本发明能够有效地简化大规模虚拟动态群体场景。
Description
技术领域
本发明属于虚拟现实技术领域,尤其涉及一种大规模虚拟动态场景简化方法。
背景技术
大规模群体动画一直是虚拟现实技术研究的热点之一。随着计算机图形学的发展,建模技术已经越来越成熟,模型也越来越精细。而群体模拟中大量差异性的模型使用,使得渲染速度和仿真的逼真性成为群体模拟的关键性问题。对于这个问题,静态场景的简化技术已经有很多很成熟的方法。
大规模动态群体场景的显示主要是由场景的特性来决定的,包括个体的独立性、运动性、场景的规模、逼真度、实时性等要求。从不同的性能要求也产生了各种不同的显示方法。现有的大规模场景的显示技术主要可以分为以下三类:基于图像的显示方法、基于网格简化的LOD(Level of Detail)方法和基于采样点的多分辨率显示方法。
随着三维扫描技术的进步,利用采样点来表征复杂物体表面并进行交互绘制已成为计算机图形学发展的一个重要方向。点绘制方法采用离散化且与视点无关的点集来表征物体表面,这些点不仅记录着物体表面的几何信息(位置、法向量),而且还记录着如颜色、材质等其它信息。与传统的三角形面片绘制方法相比,点绘制方法不包含点与点之间的连接关系,绘制时不需要维护模型的拓扑一致性,便于重取样,可以建立灵活的层次结构来实现多分辨率绘制。由于大规模动态场景的复杂性,目前基于点采样模型的绘制速度和实现效果还不甚理想。
发明内容
为了提高大规模群体动画的渲染速度和渲染效果,本发明提供了一种大规模虚拟动态场景简化方法。本发明采用固定网格采样并去除采样点冗余,减少信息存储量,提高了预处理速度,采用类X文件而非采用关键帧技术,简化了群体动画的复杂性,同时根据不同的LOD级别建立不同的类X文件,进行群体渲染,提高渲染速度和渲染效果。
本发明一种大规模虚拟动态场景简化方法,该方法包括步骤:
步骤1,传统网格模型输入。
步骤2,计算网格模型的原始包围盒,根据原始包围盒建立新的正方体包围盒。
步骤3,根据新的正方体包围盒建立固定网格,保留基于坐标轴XYZ三个方向的射线列表。
步骤4,对输入模型根据射线列表中的所有射线和物体表面的交点,求得物体表面的点采样。
步骤5,过度采样点去冗余:首先设置充分采样点的采样最大距离为R,再对每个步骤4中求得的采样点,进行包围球计算,球心为采样点本身,半径为R/2,最后删除包围球中的其他采样点,只保留其中一个采样点。
步骤6,判断可保留三角形面片,若三角形面片中包含的采样点数大于确定的值,则保留当前三角形面片于三角形列表中。
步骤7,判断可保留采样点,若三角形列表中三角形索引和采样点的标识相同,则删除对应的采样点列表中的采样点,而将其余的采样点保留在采样点列表中。
步骤8,用采样点列表和三角形列表的信息替换原始模型X文件中的顶点信息和面的信息,生成类X文件,包括以下操作:
步骤8.1,读取原始模型信息;
步骤8.2,从顶点信息中分离出各个骨骼的顶点缓冲区和面索引缓冲区;
步骤8.3,判断各个采样点所属的骨骼区域;
步骤8.4,用采样点替换原始模型骨骼的顶点信息,生成新的顶点缓冲区;
步骤8.5,根据面的索引判断三角形所属的骨骼区域;
步骤8.6,用三角形顶点信息替换原始模型中的顶点信息,生成新的顶点缓冲区;
步骤8.7,绑定骨骼动画控制信息,生成类X文件,采样点和三角形分别生成两个文件。
步骤9,根据不同的LOD级别建立不同的类X文件。
步骤10,根据不同的距离选用不同的LOD级别模型进行群体渲染。
本发明的有益效果是:对不同的LOD级别分别进行数据存储,使用了比空间八叉树更为简化的数据结构,节省了存储空间和数据读取的时间,可以加快预处理和绘制的时间;使用固定网格进行采样,可以更好更快的控制采样点的密度,同时可以加快采样的速度,不需要使用多重采样,简化了模型表面的点采样过程,可以大大提高预处理速度;使用类X文件,而不使用基于关键帧的采样,去掉了采样点基于时间的前后联系,简化了关键帧之间采样点的对应设置过程,降低了动画驱动的复杂度,而且使用不同X文件LOD级别的技术已经相当成熟,渲染速度比使用关键帧的技术更快。
附图说明
图1为本发明一种大规模虚拟动态场景简化方法的流程图;
图2为本发明中模型的新包围盒的建立和固定网格的划分示意图;
图3为本发明中平面模型的基于某个密度的固定网格采样示意图;
图4为本发明中包围球中有两个采样点去冗余的规则示意图;
图5为本发明中包围球中有多个采样点去冗余的规则示意图;
图6为本发明中三角形面片和采样点的保留规则示意图。
具体实施方式
下面结合附图和实施例对本发明优选实施方式进一步说明:
图1所示的流程图给出了本发明整个实施的具体过程:
步骤1,传统网格模型的输入,在本实施例中选用了.X文件的模型作为输入。
步骤2,计算模型的原始包围盒,通过使用获取模型包围盒的函数计算出模型包围盒的左下角顶点坐标和右上角顶点坐标,分别计算出XYZ三个方向包围盒的边长,选取三个边长中最大值作为新正方体包围盒的边长,建立新的包围盒。
步骤3,根据新的包围盒边长L的固定比例值作为单位长度,划分固定网格,具体划分如图2所示,包围盒的固定比例值决定了采样点的密度和采样点级别,以固定网格在XOY面,XOZ面和YOZ面上的投影点作为射线顶点,以对应的坐标轴Z、Y和X作为射线方向建立射线,将射线保留在射线结构的列表中。
步骤4,遍历射线列表,计算每一条射线和物体的交点列表,通过使用获取射线和物体交点的函数得到每一个交点坐标,为每一个交点设置一个标识,用于表示该交点所属的面片,将交点信息保留在采样点列表中。图3显示了平面模型的固定网格采样,空间模型的采样与其类似。
步骤5,对上述步骤4采样点列表去冗余,遍历采样点列表,计算每一个采样点与其后的每一个采样点的距离,当距离小于某个值的时候,删除采样点列表中位置靠后的那个采样点,将其后的采样点均向前移动一个位置,遍历结束后保留的采样点列表将是经过化简和去冗余之后的采样点列表。具体操作如下:
步骤5.1设置充分采样点的采样最大距离为R,R为新的网格模型包围盒的边长L固定比值(一般情况下R=1/8L,1/16L,1/32L或1/64L等);
步骤5.2对每个步骤4中求得的采样点,进行包围球计算,球心为采样点本身,半径为R/2;
步骤5.3删除包围球中的其他采样点,如图4所示当采样点周围R/2范围内有其他采样点,则删除其他采样点,如图5所示当已删除的采样点R/2范围内有不止一个采样点,则只保留其中一个,删除其他采样点。
步骤6,计算模型每个面片中采样点的数量,判断可保留的三角形面片,如图6中保留的三角形面片3、4和5。将其保留在三角形列表中,具体包括如下操作:
步骤6.1根据采样点的标识(三角形面片的索引)计算出所有三角形面片中所包含的采 样点数目;
步骤6.2当前三角形面片中采样点数量大于某个值时(通常为1-3的某个整数值),保留当前三角形面片在三角形列表中。
步骤7,判断可保留采样点,若三角形列表中三角形索引和采样点的标识相同,则删除对应的采样点列表中的采样点,而将其余的采样点保留在采样点列表中;如图6中三角形面片1、2和6中采样点予以保留,而三角形面片3、4和5中采样点予以删除。
步骤8,用生成的三角形列表和采样点列表替代原始模型中的顶点数据和面片数据,动画控制驱动新的模型,生成类X文件。直接使用原始动画控制驱动新模型的具体流程如下:
步骤8.1读取原始模型信息,主要包括顶点缓冲区、面索引缓冲区和动画控制信息等;
步骤8.2从顶点信息中分离出各个骨骼的顶点缓冲区和面索引缓冲区;
步骤8.3读取采样点列表中的采样点,根据采样点的面索引标识,判断各个采样点所属的骨骼区域;
步骤8.4用采样点替换原始模型中该骨骼的顶点信息,生成新的顶点缓冲区;
步骤8.5读取三角形列表中每个三角形的面索引信息,根据面的索引判断三角形所属的骨骼区域;
步骤8.6用三角形列表的顶点信息替换原始模型中的顶点信息,生成新的顶点缓冲区;
步骤8.7绑定骨骼动画控制信息,生成类X文件,其中包含采样点和三角形分别生成的基于点和基于三角形的骨骼模型两个文件。
步骤9,根据不同的网格细分重复步骤3到步骤8,建立不同LOD级别的类X文件。建立每一次的类X文件时,选用原始模型正方体包围盒边长的不同比例值进行计算(一般有包围盒边长的1/8,1/16,1/32,1/64等),每一个级别生成一个类X文件,从而建立起原始模型的基于点采样的LOD级别模型。
步骤10,根据物体包围盒到视点的最小值,选取不同LOD级别的类X模型进行渲染。对每一个类X文件的绘制要经过采样点和三角形面片两个部分的绘制。
Claims (3)
1.一种大规模虚拟动态场景简化方法,其特征在于,该方法包括步骤:
步骤1,骨骼网格模型输入;
步骤2,计算骨骼网格模型的原始包围盒,通过使用获取模型包围盒的函数计算出模型包围盒的左下角顶点坐标和右上角顶点坐标,分别计算出XYZ三个方向包围盒的边长,选取三个边长中最大值作为新正方体包围盒的边长,建立新的包围盒;
步骤3,根据新的包围盒边长L的固定比例值作为单位长度,划分固定网格,包围盒的固定比例值决定了采样点的密度和采样点级别,以固定网格在XOY面,XOZ面和YOZ面上的投影点作为射线顶点,以对应的坐标轴Z、Y和X作为射线方向建立射线,将射线保留在射线结构的列表中;
步骤4,遍历射线列表,计算每一条射线和物体的交点列表,通过使用获取射线和物体交点的函数得到每一个交点坐标,为每一个交点设置一个标识,用于表示该交点所属的面片,将交点信息保留在采样点列表中;
步骤5,对上述步骤4采样点列表去冗余,遍历采样点列表,计算每一个采样点与其后的每一个采样点的距离,当距离小于某个值的时候,删除采样点列表中位置靠后的那个采样点,将其后的采样点均向前移动一个位置,遍历结束后保留的采样点列表将是经过化简和去冗余之后的采样点列表;
步骤6,计算模型每个面片中采样点的数量,判断可保留的三角形面片;所述的步骤6中若三角形面片中包含的采样点数大于确定的值,则保留当前三角形面片于三角形列表中;
步骤7,判断可保留采样点,若三角形列表中三角形索引和采样点的标识相同,则删除对应的采样点列表中的采样点,而将其余的采样点保留在采样点列表中;
步骤8,用生成的三角形列表和采样点列表替代原始模型中的顶点数据和面片数据,动画控制驱动新的模型,生成类X文件;
步骤9,根据不同的网格细分重复步骤3到步骤8,建立不同LOD级别的类X文件,建立每一次的类X文件时,选用原始模型正方体包围盒边长的不同比例值进行计算,每一个级别生成一个类X文件,从而建立起原始模型的基于点采样的LOD级别模型;
步骤10,根据物体包围盒到视点的最小值,选取不同LOD级别的类X模型进行渲染,对每一个类X文件的绘制要经过采样点和三角形面片两个部分的绘制。
2.根据权利要求1所述的一种大规模虚拟动态场景简化方法,其特征在于,所述的步骤5进一步包括:
步骤5.1,设置充分采样点的采样最大距离为R;
步骤5.2,对每个所述的步骤4中求得的采样点,进行包围球计算,球心为采样点本身,半径为R/2;
步骤5.3,删除包围球中的其他采样点,只保留其中一个采样点。
3.根据权利要求1所述的一种大规模虚拟动态场景简化方法,其特征在于,所述的步骤8中生成类X文件过程进一步包括:
步骤8.1,读取原始模型信息;
步骤8.2,从顶点信息中分离出各个骨骼的顶点缓冲区和面索引缓冲区;
步骤8.3,判断各个采样点所属的骨骼区域;
步骤8.4,用采样点替换原始模型骨骼的顶点信息,生成新的顶点缓冲区;
步骤8.5,根据面的索引判断三角形所属的骨骼区域;
步骤8.6,用三角形顶点信息替换原始模型中的顶点信息,生成新的顶点缓冲区;
步骤8.7,绑定骨骼动画控制信息,生成类X文件,其中包含采样点和三角形分别生成的基于点和基于三角形的骨骼模型两个文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910260144XA CN101770655B (zh) | 2009-12-25 | 2009-12-25 | 一种大规模虚拟动态场景简化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910260144XA CN101770655B (zh) | 2009-12-25 | 2009-12-25 | 一种大规模虚拟动态场景简化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101770655A CN101770655A (zh) | 2010-07-07 |
CN101770655B true CN101770655B (zh) | 2012-04-25 |
Family
ID=42503503
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910260144XA Expired - Fee Related CN101770655B (zh) | 2009-12-25 | 2009-12-25 | 一种大规模虚拟动态场景简化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101770655B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102332175A (zh) * | 2011-09-28 | 2012-01-25 | 中山大学 | 一种基于形状约束的Flock动画方法 |
CN103162659B (zh) * | 2013-03-22 | 2015-11-25 | 张振宇 | 一种构造车辆三维扫描台及生成货物随机采样点的方法 |
CN105225264B (zh) * | 2014-06-27 | 2020-11-10 | 三星电子株式会社 | 基于运动的自适应渲染 |
CN106296778B (zh) * | 2016-07-29 | 2019-11-15 | 网易(杭州)网络有限公司 | 虚拟对象运动控制方法与装置 |
CN106598683B (zh) * | 2016-12-23 | 2020-09-15 | 武大吉奥信息技术有限公司 | 一种在gis大场景下模型数据快速加载方法及装置 |
CN109448136B (zh) * | 2018-09-29 | 2023-03-28 | 北京航空航天大学 | 一种基于感兴趣区域的虚拟场景浏览方法 |
CN111598976B (zh) | 2019-02-01 | 2023-08-22 | 华为技术有限公司 | 场景识别方法及装置、终端、存储介质 |
CN112102452B (zh) * | 2020-09-27 | 2024-03-22 | 完美世界(北京)软件科技发展有限公司 | 一种动画模型处理方法、装置、电子设备及存储介质 |
-
2009
- 2009-12-25 CN CN200910260144XA patent/CN101770655B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101770655A (zh) | 2010-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101770655B (zh) | 一种大规模虚拟动态场景简化方法 | |
CN106600679B (zh) | 一种三维模型数据简化的方法 | |
Shade et al. | Hierarchical image caching for accelerated walkthroughs of complex environments | |
CN102157008B (zh) | 一种大规模虚拟人群实时绘制方法 | |
CN102147928B (zh) | 一种基于粒子系统的火焰模拟加速改进算法 | |
US6154215A (en) | Method and apparatus for maintaining multiple representations of a same scene in computer generated graphics | |
KR101148613B1 (ko) | 지형 생성 시스템, 지형 생성 방법 및 프로그램 저장 장치 | |
CN101241603B (zh) | 一种电磁场强度实时可视化方法 | |
CN105405166B (zh) | 一种基于线性四叉树的lod模型生成方法 | |
JP5005090B2 (ja) | 切削加工シミュレーション表示装置、切削加工シミュレーション表示方法、および切削加工シミュレーション表示プログラム | |
CN105389850A (zh) | 一种大规模三维场景的新型可见性生成方法 | |
WO2005119643A2 (en) | Resource management for rule-based procedural terrain generation | |
EP1763846A2 (en) | Rule-based procedural terrain generation | |
CN106570926B (zh) | 一种飞行视景仿真中高效的粒子云层绘制方法 | |
CN1936962A (zh) | 一种基于pc平台的三维游戏中大型地形生成方法 | |
KR20080018404A (ko) | 게임 제작을 위한 배경 제작 프로그램을 저장한 컴퓨터에서읽을 수 있는 기록매체 | |
CN111145356A (zh) | 一种基于Unity3D模型的切割方法 | |
CN109147050A (zh) | 基于Unity引擎地形系统的道路网格创建方法及装置 | |
CN114359500B (zh) | 一种面向滑坡危险范围预测的三维建模与可视化方法 | |
CN106408665A (zh) | 一种新的渐进网格生成方法 | |
Liu et al. | Real-time, dynamic level-of-detail management for three-axis NC milling simulation | |
CN110400366A (zh) | 一种基于OpenGL的实时洪水灾害可视化仿真方法 | |
KR20120001114A (ko) | 가상세계 실시간 3d 객체 제어와 이를 위한 인터페이스 및 입출력 방법 | |
KR20080018405A (ko) | 3차원 지형의 제작을 제공하는 지형 제작 프로그램을기록한 컴퓨터 판독가능 기록매체 | |
Bill et al. | Computer sculpting of polygonal models using virtual tools |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120425 Termination date: 20171225 |
|
CF01 | Termination of patent right due to non-payment of annual fee |