美文网首页
加载3Dtiels

加载3Dtiels

作者: panergongzi | 来源:发表于2021-02-18 12:59 被阅读0次

    学习cesium一般都要玩一下三维的,先自己加个三维模型看看效果吧

    闲话少说,上代码

    var Cesium = require('cesium/Cesium');

    export default function (viewer) {

        var tileset = new Cesium.Cesium3DTileset({

            url: './SampleData/Cesium3DTiles/Tilesets/Tileset/tileset.json'

        });

        viewer.scene.primitives.add(tileset);

        viewer.zoomTo(tileset);

    }

    自己引入js库,不多说

    数据'./SampleData/Cesium3DTiles/Tilesets/Tileset/tileset.json' 可以再cesium api里找到,如果实在找不到那就去我的仓库下吧 git@github.com:panergongzi/cesiumWork.git

    简单分析一下代码吧

    例子使用了Cesium3DTileset接口加载 json格式的tile数据,看官网Cesium3DTileset提供了一大堆属性,要弄明白每个属性的意思不太容易

    url:json切片的地址

    show:是否显示

    modelMatrix:4x4的转换矩阵,去转换tileset

    shadows:tileset是否投射或者吸收阴影来着每个光源 默认ShadowMode.ENABLED(接收和投射阴影),Cesium.ShadowMode.RECEIVE_ONLY (只接收阴影),Cesium.ShadowMode.DISABLED(不投射和接收阴影),Cesium.ShadowMode.CAST_ONLY(只接收阴影)

    maximumScreenSpaceError:用于驱动细节细化程度的最大屏幕空间错误。默认16 (哈哈,我暂时不知道有啥用)

    maximumMemoryUsage:tileset可以使用的最大内存,默认512Mb

    cullWithChildrenBounds:优化选项。是否使用子项边界体积的并集来剔除图块。默认true

    dynamicScreenSpaceError:优化选项,是否减少离相机较远的tileset屏幕空间错误 默认false

    dynamicScreenSpaceErrorFactor:增加动态屏幕错误的一个因子

    dynamicScreenSpaceErrorHeightFalloff:tileset密度下降时候,tileset高度的比例 默认0.25

    skipLevelOfDetail:可选选项,是否在遍历时候跳过详情

    baseScreenSpaceError:如果skipLevelOfDetail为true,则在跳过细节级别之前必须达到的屏幕空间错误。

    skipScreenSpaceErrorFactor:当skipLevelOfDetail为时true,乘数定义要跳过的最小屏幕空间错误。与一起使用skipLevels以确定要加载的图块。

    skipLevels:当skipLevelOfDetail为时true,此常数定义加载图块时要跳过的最小级别数。为0时,不会跳过任何级别。与一起使用skipScreenSpaceErrorFactor以确定要加载的图块。

    immediatelyLoadDesiredLevelOfDetail:如果skipLevelOfDetail是true,只有tileset满足最大屏幕空间误差都不会被下载。跳过因子将被忽略,仅加载所需的图块。

    loadSiblings:如果skipLevelOfDetail是true,确定是否可见tileset的兄弟姐妹遍历期间总是下载。

    clippingPlanes:所述ClippingPlaneCollection用于选择性地禁用渲染地形设置。

    classificationType:确定将通过此图块集对地形,3D图块或两者进行分类。

    ellipsoid:椭圆体决定了球体的大小和形状。

    pointCloudShading:用于构造PointCloudShading对象以根据几何误差和光照控制点衰减的选项。

    debugFreezeFrame:仅用于调试。确定是否仅应使用最后一帧中的图块进行渲染。

    debugColorizeTiles:仅用于调试。如果为true,则为每个图块分配随机颜色。

    debugWireframe:仅用于调试。如果为true,则将每个图块的内容渲染为线框。

    debugShowBoundingVolume:仅用于调试。为true时,渲染每个图块的边界体积。

    debugShowContentBoundingVolume:仅用于调试。为true时,渲染每个图块内容的边界体积。

    debugShowViewerRequestVolume:仅用于调试。如果为true,则为每个图块渲染查看器的请求量。

    debugShowGeometricError:仅用于调试。为true时,绘制标签以指示每个图块的几何误差。

    debugShowRenderingStatistics:仅用于调试。如果为true,则绘制标签以指示每个图块的命令,点,三角形和特征的数量。

    debugShowMemoryUsage:仅用于调试。为true时,绘制标签以指示每个图块使用的纹理和几何内存(以兆字节为单位)

    debugShowUrl:仅用于调试。为true时,绘制标签以指示每个图块的url。

    相关文章

      网友评论

          本文标题:加载3Dtiels

          本文链接:https://www.haomeiwen.com/subject/zypjahtx.html