本发明涉及视频图像处理技术,尤其涉及一种模拟真实星球生态分布的方法。
背景技术:
模拟真实星球生态分布是指按照自然界存在星球的真实生物与环境的分布关系来组织各种三维仿真模型构建游戏体验需要的星球场景。目前游戏行业内常用的模拟真实星球生态分布方法主要有借助建模软件模拟星球生态分布、借助全景图片重构模拟星球生态分布以及借助数学模型模拟星球生态分布等,其中借助数学模型模拟星球生态分布的方法是效率最高的工作方式。
目前借助数学模型模拟星球生态分布的方法主要使用中点位移法、分形、diamond-square算法、布林噪声等噪声函数,生成各种随机的地形高度分布图,再根据高度分布图信息生成游戏星球场景,全人工或简单的随机布置游戏星球场景中山脉、海洋、河流,道路等基本地貌环境因素以及确定树木、花草、动物的种类和位置。全人工布置游戏星球场景,摆放游戏物件,会导致游戏星球场景开发效率低下;而简单地随机布置游戏星球场景,摆放游戏物件,会影响游戏星球场景的真实性。
技术实现要素:
为了解决现有技术存在的不足,本发明的目的在于提供模拟真实星球生态分布的方法,首先利用拓扑网格分形的特性确定地形高程、道路、河流等基本环境信息,再利用自然学科研究成果来构建模拟真实星球生态分布的数学模型,用此数学模型确定各个拓扑网格单位面积上的生态特征属性,从而确定各个拓扑网格单位上的树木、花草、怪物的种类数量。
为实现上述目的,本发明提供的模拟真实星球生态分布的方法,包括以下步骤:
1)在指定的平面上生成多个随机点,得到拓扑网格链表;
2)随机标记拓扑网格链表中每一个网格为陆地或海水,并计算出海拔高度;
3)根据地貌分布数学模型,构建地貌细节的材质球库;
4)构建地貌资源的三维资源模型,组建模型库;
5)构建包含三维资源模型的生态系统,指定资源模型类型索引。
进一步地,所述步骤1)进一步包括以下步骤:
利用三维柏林噪声算法,在指定的平面上生成多个随机点;
利用bowyer-watson算法,基于随机点生成delaunay三角形链表;
计算所述delaunay三角形链表中的第一个delaunay三角形的外接圆圆心c0;寻找该delaunay三角形三边相邻的三角形并计算出他们的圆心c1、c2、c3;生成新边c0c1、c0c2、c0c3存入拓扑网格边链表中;
对其他delaunay三角形重复上一步骤,得到拓扑网格链表。
进一步地,所述步骤2)进一步包括以下步骤:
利用柏林噪声算法,随机标记拓扑网格链表中每一个网格为陆地或海水;
计算拓扑网格链表中每一个网格的海拔高度值,所述海拔高度值为该网格到指定平面四边的距离。
进一步地,步骤3)所述构建地貌细节的材质球库,包括,构建雪地类材质、苔原类材质、岩石类材质、焦土类材质、植被类材质、沙漠材质、沼泽类材质、海洋类材质。
进一步地,所述步骤3),进一步包括:根据地貌分布数学模型的湿度和海拔,指定拓扑网格链表中每一个网格的材质球索引。
进一步地,步骤4)所述构建地貌资源的三维资源模型,包括,构建高山草原类植物、高山灌木类植物、针叶林类植物、常绿宽叶类植物、爬行类、哺乳类、石灰类岩石、花岗类岩石、沉积类岩石、火成类岩石、大理类岩石、玉类岩石模型。
进一步地,所述步骤4),进一步包括:指定拓扑网格链表中每一个网格的资源模型类型索引。
进一步地,步骤5)所述构建包含三维资源模型的生态系统,包括构建热带亚热带山地生态系统、热带亚热带平原生态系统、热带沙漠系统、温带山地生态系统、温带平原生态系统、寒温带高山生态系统、干旱区山地生态系统、高原冰川生态系统。
更进一步地,步骤5)所述指定资源模型类型索引,是按照温度变化、降水量和海拔高度变化关系,指定拓扑网格链表中每一个网格的资源模型类型索引。
本发明的模拟真实星球生态分布的方法,提高了构建游戏体验星球场景的效率,有助于开发大规模的、物件复杂的游戏体验星球场景,且可以保证体验游戏体验星球场景的真实性。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,并与本发明的实施例一起,用于解释本发明,并不构成对本发明的限制。在附图中:
图1为根据本发明的模拟真实星球生态分布的方法流程图;
图2为根据本发明的地貌分布数学模型示例图;
图3为根据本发明的地貌资源对应表示例图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
图1为根据本发明的模拟真实星球生态分布的方法流程图,下面将参考图1,对本发明的模拟真实星球生态分布的方法进行详细描述。
首先,在步骤101,利用三维柏林噪声算法,在指定nxn的平面p上生成n个随机点n0、n1、…nn。
在步骤102,使用bowyer-watson算法,基于生成的随机点n0、n1、…nn,生成delaunay三角形链表d[0]、d[1]、…d[n]。
在步骤103,计算上一步所有生成的delaunay三角形链表中的第一个delaunay三角形d[0]的外接圆圆心c0,然后寻找这个delaunay三角形d[0]三边相邻的三角形并计算出他们的圆心c1、c2、c3,生成新边c0c1、c0c2、c0c3存入拓扑网格边链表v中。
在步骤104,对delaunay三角形d[1]、d[2]。。。d[n]重复执行上一步步骤,得到拓扑网格链表v0。
在步骤105,使用柏林噪声算法,随机标记拓扑网格链表v0中每一个网格v0[0]、v0[1]、。。。v0[n]为陆地或海水。
在步骤106,计算拓扑网格链表v0中每一个网格v0[n]的海拨高度,高度值为该网格到平面p四边的距离d。
在步骤107,定制各种地貌细节的材质球库,例如雪地类材质、苔原类材质、岩石类材质、焦土类材质、植被类材质、沙漠材质、沼泽类材质、海洋类材质等。图2为根据本发明的地貌分布数学模型示例图,如图2所示,可以根据该数学模型的关键参数湿度和海拔,指定拓扑网格链表v0中每一个网格v0[n]的材质球索引。
在步骤108:定制多种植物、动物、石头等地貌资源的三维资源模型,组建模型库。例如高山草原类植物、高山灌木类植物、针叶林类植物、常绿宽叶类植物、爬行类、哺乳类、石灰类岩石、花岗类岩石、沉积类岩石、火成类岩石、大理类岩石、玉类岩石等。
图3为根据本发明的地貌资源对应表示例图,如图3所示,指定拓扑网格链表v0中每一个网格v0[n]的资源模型类型索引。
在步骤109,定制多种生态系统,每种生态系统包含不同类别动物、植物、石头等三维模型,并按照温度变化、降水量和海拔高度变化关系指定拓扑网格链表v0中每一个网格v0[n]的资源模型类型索引。例如定制热带亚热带山地生态系统、热带亚热带平原生态系统、热带沙漠系统、温带山地生态系统、温带平原生态系统、寒温带高山生态系统、干旱区山地生态系统、高原冰川生态系统等。
本领域普通技术人员可以理解:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。