前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >BIM模型HLoD设计文档

BIM模型HLoD设计文档

作者头像
Jean
发布2021-05-11 10:03:43
7960
发布2021-05-11 10:03:43
举报
文章被收录于专栏:Web行业观察

//作者:迷途的小书童

//微信公众号:g0415shenweri

Bim模型Hlod设计文档


Bim模型的渲染我们采用Hlod的解决方案来解决大规模的模型渲染的问题。

我们参考cesiumgs的3dtiles的设计格式进行设计。

3dtile格式

我们采用json的形式来组织Hlod数据

看下面示例:

json格式一:

代码语言:javascript
复制
{

    "asset": {

        "version": "1.0",

        "tilesetVertion": "saffaasd"

    },

    "properties": {

        "Height": {

            "minimum": 1,

            "maximum": 241.6

        }

    },

    "geometricError": 494.50961650991815,

    "root": {

        "boundingVolume": {

            "box": [

                -1766.7626953125,

                1557.97119140625,

                55.2222900390625,

                3513.43212890625,

                0,

                0,

                0,

                4087.8720703125,

                0,

                0,

                0,

                88.8742218017578

            ]

        },

        "geometricError": 268.37878244706053,

        "refine": "ADD",

        "content": {

            "uri": "0/0/0.b3dm",

            "boundingVolume": {

                "box": [

                    -1766.7626953125,

                    1557.97119140625,

                    55.2222900390625,

                    3513.43212890625,

                    0,

                    0,

                    0,

                    4087.8720703125,

                    0,

                    0,

                    0,

                    88.8742218017578

                ]

            }

        },

        "children": [

            {

                "boundingVolume": {

                    "box": [

                        -2557.12976074219,

                        1372.30395507813,

                        40.1760325431824,

                        77.1678466796875,

                        0,

                        0,

                        0,

                        77.1612548828125,

                        0,

                        0,

                        0,

                        49.0920796394348

                    ]

                },

                "content": {

                    "uri": "Tile_+000_+031/Tile_+000_+031.json"

                },

                "geometricError": 119.661055066361

            },

            {

                "boundingVolume": {

                    "box": [

                        -2560.88610839844,

                        1522.18212890625,

                        41.3433089256287,

                        77.1597900390625,

                        0,

                        0,

                        0,

                        77.15576171875,

                        0,

                        0,

                        0,

                        33.426878452301

                    ]

                },

                "geometricError": 114.122745184024,

                "content": {

                    "uri": "Tile_+000_+032/Tile_+000_+032.json"

                },



            }

        ]

    }

}
 

asset:必填字段,json的开头,version和tilesetVersion 表示格式的版本。

properties:选填字段,用来表示bim模型的最大和最小高度。

geometricError:屏幕几何误差,这里有两个geometricError是不一样的,root上一级的geometricError用来确定root的区域什么时候渲染。而

root.geometricError被用来确定下一级的tile什么时候渲染。也就是说,当geometricError的阈值达到之后,我们会渲染下一级的tile。就是每一级的geometricError都是对下级来说的。

refine:有两种值( "REPLACE" ) and ( "ADD" )。REPLAC可以直接替换掉上一级的tile。而ADD会在原先的tile的基础上进行增加。

boundingVolume:是包围盒的意思。这个参数用来做空间检索用的,我们通过这个包围盒在计算出这里面的tile是否需要渲染。这里我们暂时只准备支持AABB包围盒。即box。定义如下:

由12个数字组成,用于定义一个有方向的边界框。前三个元素定义了包围盒的中心点即(x,y,z)。接下来三个元素(索引3、4和5)定义了x轴方向的半长,再接下来的三个元素(索引6、7和8)定义了y轴方向的半长,最后三个元素(索引9、10和11)定义了Z轴方向的半长。

content:是即真实的tile的数据了,通过url来指向数据。这里我们可以直接指向一个mesh的格式,也可以再指向一个json的tile。这个json的格式和我们这个json的格式一样。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-05-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 WebHub 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Bim模型Hlod设计文档
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档