泛光特效--制作详解

首先上个效果图:

效果图

步骤讲解:

一、处理数据/准备数据

1. 使用cesiumlab2处理数据。

处理界面

a.选取需要处理的shp文件

选取输入文件(shp文件)

b. 简单设置贴图效果

设置参数

c. 点击确定,开始处理数据。

处理数据

d. 当数据处理完之后可在分发服务的瓦片服务中看到刚才的处理之后开起的服务。

分发服务

e. 点击对应的服务路径名称,可以直接在cesiumlab2中的三维可视中打开服务预览。复制按钮可以复制服务路径的json文件。

泛光效果

(注)如果地图影像太亮可以试一下在线的百度暗系影像效果更佳

百度暗系地图泛光效果

f. 进入三维可视界面之后可以缩放界面进行查看操作泛光效果。如果需要查看实现代码可以在左侧的资源控制树中选中一级目录右键查看代码。就会在示例中打开。

查看加载代码

g. 示例中查看刚才处理效果的代码

示例编辑器中查看效果和代码

左边的代码就是编写右侧效果的代码。可以自己编写修改参数进行查看。

代码如下:

```

<!DOCTYPE html>

<html lang="zh-CN">

<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <meta http-equiv="X-UA-Compatible" content="ie=edge">

    <meta name="xbsj-labels" content="Earth起步"></meta>

    <title>3dtiles数据加载</title>

    <!-- 0 引入js文件:XbsjEarth.js和vue.min.js -->

    <script src="../../XbsjEarth/XbsjEarth.js"></script>

    <script src="scripts/vue.min.js"></script>

    <style>

        html, body {

            width: 100%;

            height: 100%;

            margin: 0px;

            padding: 0px;

        }

    </style>

</head>

<body>

    <div id="vueApp" style="width:100%; height: 100%; background: grey; position: relative;">

        <earth-comp></earth-comp>

    </div>

    <script>

        // 1 创建Earth的vue组件

        var EarthComp = {

            template: `

                <div style="width: 100%; height: 100%">

                    <div ref="earthContainer" style="width: 100%; height: 100%">

                    </div>

                </div>

            `,

            data() {

                return {

                    _earth: undefined, // 注意:Earth和Cesium的相关变量放在vue中,必须使用下划线作为前缀!

                };

            },

            // 1.1 资源加载

            mounted() {

                // 1.2.1 创建地球

                var earth = new XE.Earth(this.$refs.earthContainer);

                // 1.2.3 创建Tileset

                earth.xbsjFromJSON({

    "sceneTree": {

        "root": {

            "children": [

                {

                    "title": "新建场景",

                    "isSelected": true,

                    "children": [

                        {

                            "czmObject": {

                                "xbsjType": "Tileset",

                                "xbsjGuid": "206527cc-4611-4b77-85f8-cac3af4b0965",

                                "name": "新建建筑物轮廓服务",

                                "url": "http://localhost:9000/model/455fbd30ce1811e9a5d30b0117173168/tileset.json",

                                "lightColor": null,

                                "specularEnvironmentMaps": null,

                                "xbsjPosition": [

                                    2.119000082934181,

                                    0.5436740766788617,

                                    -2.7152485655831642e-9

                                ],

                                "xbsjClippingPlanes": {}

                            }

                        },

                        {

                            "czmObject": {

                                "xbsjType": "Imagery",

                                "xbsjGuid": "be719366-30b7-4159-bfb2-eb072d6b8ea9",

                                "name": "百度暗色风格",

                                "rectangle": null,

                                "xbsjImageryProvider": {

                                    "XbsjImageryProvider": {

                                        "url": "http://api0.map.bdimg.com/customimage/tile?=&x={x}&y={y}&z={z}&scale=1&customid=midnight",

                                        "srcCoordType": "BD09",

                                        "rectangle": null

                                    },

                                    "UrlTemplateImageryProvider": {

                                        "rectangle": null

                                    },

                                    "WebMapTileServiceImageryProvider": {

                                        "rectangle": null

                                    }

                                }

                            }

                        }

                    ]

                }

            ]

        }

    },

    "cameraViewManager": {

        "lastView": {

            "position": [

                2.1200531386907837,

                0.5454337607889492,

                427.0482324381678

            ],

            "rotation": [

                2.0976764731786357,

                -0.23562847749061233,

                0.0026431274644371783

            ],

            "fov": 1.0471975511965976,

            "near": 0.1,

            "far": 10000000000

        }

    }

});

                window.earth = earth; // only for Debug

                // 1.2.5 变量记录

                this._earth = earth;

            },

            // 1.2 资源销毁

            beforeDestroy() {

                // vue程序销毁时,需要清理相关资源

                this._disposers.forEach(d => d());

                this._disposers.length = 0;

                this._earth = this._earth && this._earth.destroy();

            },

        }

        // 2 创建vue程序

        // XE.ready()用来加载Cesium.js等相关资源

        XE.ready().then(() => {

            var app = new Vue({

                el: '#vueApp',

                components: {

                    EarthComp,

                },

            });

            // only for Debug

            window.app = app;

        });

    </script>

</body>

</html>

```

如果想了解示例编辑器如果操作,可以看下这篇文章的介绍:传送门

到此泛光特效的制作和展示就讲完了。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,015评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,262评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,727评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,986评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,363评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,610评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,871评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,582评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,297评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,551评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,053评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,385评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,035评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,079评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,841评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,648评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,550评论 2 270

推荐阅读更多精彩内容

  • "use strict";function _classCallCheck(e,t){if(!(e instanc...
    久些阅读 2,011评论 0 2
  • 33、JS中的本地存储 把一些信息存储在当前浏览器指定域下的某一个地方(存储到物理硬盘中)1、不能跨浏览器传输:在...
    萌妹撒阅读 2,014评论 0 2
  • 一. Java基础部分.................................................
    wy_sure阅读 3,731评论 0 11
  • Vue 实例 属性和方法 每个 Vue 实例都会代理其 data 对象里所有的属性:var data = { a:...
    云之外阅读 2,125评论 0 6
  • 响应式布局的理解 响应式开发目的是一套代码可以在多种终端运行,适应不同屏幕的大小,其原理是运用媒体查询,在不同屏幕...
    懒猫_6500阅读 746评论 0 0