cesium加载gltf模型
cesium加载gltf模型
一、采用vue-cesium;在项目里加载依赖包。命令如下:
npm i --save vue-cesium
在main.js中加入如下代码:
https://www.npmjs.com/package/vue-cesium
在你的相关组件里加入如下代码:
在index.html中引入相关css
<link rel="stylesheet" href="Cesium/Widgets/widgets.css" />
代码如下:
<vc-viewer>
<vc-entity :description="description" :position="position">
<vc-graphics-model :uri="uri" @ready="subReady"></vc-graphics-model>
</vc-entity>
</vc-viewer> data () {
return {
position: { lng: 39.9942785653, lat: 116.3675724221 },
uri: './data/scene.gltf',
description: '你好 姚素素'
};
}, methods: {
getJson () {
this.$axios.get("api/");
},
subReady ({ Cesium, viewer, cesiumObject }) {
viewer.zoomTo(viewer.entities)
}
}
第二种方法:
在index.html中引入相关css与cesium
在相关组件中引入如下代码,空间的隐藏自己根据需要看着办
mounted () {
let viewer = new Cesium.Viewer("cesiumContainer", {
geocoder: false,
homeButton: false,
sceneModePicker: false,
baseLayerPicker: false,
fullscreenButton: false,
scene3DOnly: true, //如果设置为true,则所有几何图形以3D模式绘制以节约GPU资源
navigationInstructionsInitiallyVisible: false,
navigationHelpButton: false,
animation: false,
timeline: false,
fulllscreenButtond: false,
vrButton: false,
infoBox: false,
// 加载谷歌卫星影像
imageryProvider: new Cesium.UrlTemplateImageryProvider({
url: "http://mt1.google.cn/vt/lyrs=s&hl=zh-CN&x={x}&y={y}&z={z}&s=Gali"
})
});
//加载gltf格式数据到cesium
var scene = viewer.scene; var position = Cesium.Cartesian3.fromDegrees(39.9942785653,116.3675724221, 0);
var heading = Cesium.Math.toRadians(135);
var pitch = 0;
var roll = 0;
var hpr = new Cesium.HeadingPitchRoll(heading, pitch, roll);
var orientation = Cesium.Transforms.headingPitchRollQuaternion(position, hpr); var entity = viewer.entities.add({
position : position,
orientation : orientation,
model : {
uri: "./data/scene.gltf",
minimumPixelSize : 128,
maximumScale : 20000
}
});
viewer.trackedEntity = entity;
},
第三种方法:
1.在index.html中引入
<link rel="stylesheet" href="Cesium/Widgets/widgets.css" />
<script src="Cesium/Cesium.js"></script>
//js最好在body底部引入
2.添加如下代码:
mounted () {
let viewer = new Cesium.Viewer("cesiumContainer", {
geocoder: false,
homeButton: false,
sceneModePicker: false,
baseLayerPicker: false,
fullscreenButton: false,
scene3DOnly: true, //如果设置为true,则所有几何图形以3D模式绘制以节约GPU资源
navigationInstructionsInitiallyVisible: false,
navigationHelpButton: false,
animation: false,
timeline: false,
fulllscreenButtond: false,
vrButton: false,
infoBox: false,
// 加载谷歌卫星影像
// imageryProvider: new Cesium.UrlTemplateImageryProvider({
// url: "http://mt1.google.cn/vt/lyrs=s&hl=zh-CN&x={x}&y={y}&z={z}&s=Gali"
// })
}); var scene = viewer.scene;
var entity = viewer.entities.add({
position: Cesium.Cartesian3.fromDegrees(
114.20574928735117,
22.321435975427892
),
model: {
uri: "./data/scene.gltf",
heightReference: Cesium.HeightReference.CLAMP_TO_GROUND,
color: Cesium.Color.GAINSBORO,
colorBlendAmount: 0.4
}
}); viewer.camera.setView({
destination: Cesium.Rectangle.fromDegrees(
114.2044562729353,
22.324313503282323,
114.20933770113695,
22.32079076841488
)
});
},
相关控件自己根据需要进行控制
如果有不懂得,可以加群讨论854184700
cesium加载gltf模型的更多相关文章
- cesium加载gltf模型点击以及列表点击定位弹窗
前言 cesium 官网的api文档介绍地址cesium官网api,里面详细的介绍 cesium 各个类的介绍,还有就是在线例子:cesium 官网在线例子,这个也是学习 cesium 的好素材. 之 ...
- Cesium 加载 gltf 模型
var viewer = new Cesium.Viewer('cesiumContainer', { /*帮助*/ navigationHelpButton: true, baseLayerPick ...
- Three.js加载gltf模型
效果图 demo import './index.css'; var stats; stats = new Stats(); document.body.appendChild( stats.dom ...
- cesium 加载倾斜摄影模型(这里有一坑)
代码如下: // Construct the default list of terrain sources. var terrainModels = Cesium.createDefaultTerr ...
- WebGL简易教程(十五):加载gltf模型
目录 1. 概述 2. 实例 2.1. 数据 2.2. 程序 2.2.1. 文件读取 2.2.2. glTF格式解析 2.2.3. 初始化顶点缓冲区 2.2.4. 其他 3. 结果 4. 参考 5. ...
- cesium 学习(五) 加载场景模型
cesium 学习(五) 加载场景模型 一.前言 现在开始实际的看看效果,目前我所接触到基本上都是使用Cesium加载模型这个内容,以及在模型上进行操作.So,现在进行一些加载模型的学习,数据的话可以 ...
- ceisum_加载倾斜摄影模型
osgb转换为3Dtiles格式(使用工具转换) 然后加载到cesium中(加载代码见下,可以控制模型高度) var offset = function(height,tileset) { conso ...
- Cesium加载三维倾斜摄影数据
具体技术来源自论文 基于Cesium的倾斜摄影三维模型Web加载与应用研究. 技术架构图 应用实例 利用一个实际实例来详细说明如何利用Cesium加载倾斜摄影数据,并进行可视化和交互操作. 首先,利用 ...
- 6_1 持久化模型与再次加载_探讨(1)_三种持久化模型加载方式以及import_meta_graph方式加载持久化模型会存在的变量管理命名混淆的问题
笔者提交到gitHub上的问题描述地址是:https://github.com/tensorflow/tensorflow/issues/20140 三种持久化模型加载方式的一个小结论 加载持久化模型 ...
随机推荐
- P2639 [USACO09OCT]Bessie的体重问题Bessie's Weight
题目传送门 这题和01背包最大的区别在于它没有价值,所以我们可以人工给它赋一个价值,由于要求体积最大,把价值赋成体积即可.顺带一提,这题数据范围很大,二维会MLE,要压缩成一维才可以AC 下面给出参考 ...
- 好书推荐---Python网络编程基础
Python网络编程基础详细的介绍了网络编程的相关知识,结合python,看起来觉得很顺畅!!!
- Robot Framework 常见问题处理方式
1.运行testcase报错error 2解决办法 打开python的scripts目录,看看是否有pybot.bat文件,没有则创建一个 pybot.bat内容: @Echo off python ...
- Capture pictures using Jpython
Becuz it is a jpython code, we can use it in Sikuli. from time import strftime, gmtime from java.awt ...
- ajax_封装函数_步骤1
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8& ...
- facenet 人脸识别(二)——创建人脸库搭建人脸识别系统
搭建人脸库 选择的方式是从百度下载明星照片 照片下载,downloadImageByBaidu.py # coding=utf-8 """ 爬取百度图片的高清原图 &qu ...
- Redis5.0集群搭建实战
安装环境: 6台 centos7.4 在各个节点下载官网release包,可以自己去官网找: wget http://download.redis.io/releases/redis-5.0.5.t ...
- mysql sqlyog提示2058错误或者用Navicat连接本机Docker的Mysql 和一些问题的解决方案
1. 下载Mysql的Docker镜像: [plain] view plain copy$ docker search mysql (搜索mysql镜像) $ docker pull mysql ( ...
- Maven仓库配置淘宝Maven镜像仓库
settings.xml文件里面配置 <mirrors> <mirror> <id>alimaven</id> <name ...
- CSS实现三级菜单[转]
头部导航条布局 html代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8"&g ...