• 正文概述
  • entities方式引入3D模型
    const entity = viewer.value.entities.add({
    name: “car”,
    position: Cesium.Cartesian3.fromDegrees(120.13699186126235, 30.320240186854843, 0),
    orientation: Cesium.Transforms.headingPitchRollQuaternion(
    Cesium.Cartesian3.fromDegrees(120.13699186126235, 30.320240186854843, 0),
    new Cesium.HeadingPitchRoll(
    Cesium.Math.toRadians(90), // 设置这个属性即可(顺时针旋转的角度值)
    Cesium.Math.toRadians(0),
    Cesium.Math.toRadians(0)
    )
    ),
    model: {
    uri: “/model/car.glb”, // /model/build.gltf
    scale: 10,
    runAnimations: true, // 是否显示动画
    clampAnimations: true, // 是否保持最后一针的动画
    // roll: 90, // 旋转
    // minimumPixelSize: 128, // 最小的模型像素
    // maximumScale: 20000, // 最大的模型像素
    // color: Cesium.Color.RED, // 模型加颜色
    // show: true,
    // color: this.getColor(‘Red’, 1.0), //> 模型颜色与透明度
    // colorBlendMode: this.getColorBlendMode(‘Highlight’), //> 模型颜色模式
    // colorBlendAmount: parseFloat(0.5), //> 模型混合度
    // silhouetteColor: this.getColor(‘Red’, 1.0), //> 模型轮廓颜色
    // silhouetteSize: parseFloat(2), //> 模型轮廓大小
    }
    })
    // 让摄像机视口快速定位到模型位置
    viewer.value.trackedEntity = entity;
    CZML方式引入3D模型
    const czml = [
    {
    id: “document”,
    name: “CZML Model”,
    version: “1.0”,
    },
    {
    id: “aircraft model”,
    name: “Cesium Air”,
    position: {
    cartographicDegrees: [120.13699186126235, 30.320240186854843, 10000], // 生成位置
    },
    model: {
    gltf: “/model/build.gltf”, // 文件路径
    scale: 2.0,
    minimumPixelSize: 128,
    },
    },
    ];
    const dataSourcePromise = viewer.value.dataSources.add(
    Cesium.CzmlDataSource.load(czml)
    );
    dataSourcePromise
    .then(function (dataSource) {
    viewer.value.trackedEntity = dataSource.entities.getById(
    “aircraft model”
    );
    })
    .catch(function (error) {
    window.alert(error);
    });

     

     


    完整代码

    <template>
    <div id=”cesiumContainer”></div>
    </template>

    <script setup>
    import { onMounted, ref } from “vue”;
    const viewer = ref(null);

    const initCesium = async () => {
    // 1.引入token
    Cesium.Ion.defaultAccessToken = “xxxxxxxxxxx”;
    // 2.三维地初始化
    viewer.value = new Cesium.Viewer(“cesiumContainer”, {
    animation: true, //是否创建动画小器件,左下角仪表
    shouldAnimate: true,
    fullscreenButton: false, //是否显示全屏按钮
    geocoder: false, //是否显示geocoder小器件,右上角查询按钮
    homeButton: false, //是否显示Home按钮
    infoBox: false, //是否显示信息框
    sceneModePicker: false, //是否显示3D/2D选择器
    scene3DOnly: false, //如果设置为true,则所有几何图形以3D模式绘制以节约GPU资源
    selectionIndicator: false, // 是否显示选取指示器组件
    timeline: false, // 是否显示时间轴
    navigationHelpButton: false,// 是否显示右上角的帮助按钮
    baselLayerPicker: false, // 将图层选择的控件关掉,才能添加其他影像数据
    shadows: false, // 是否显示背影
    baseLayerPicker: false, // 是否显示图层选择器
    orderIndependentTranslucency: false, //去掉大气层黑圈
    });

    // 加载3D模型
    // 1.entities方式
    // const entity = viewer.value.entities.add({
    // name: “car”,
    // position: Cesium.Cartesian3.fromDegrees(120.13699186126235, 30.320240186854843, 0),
    // orientation: Cesium.Transforms.headingPitchRollQuaternion(
    // Cesium.Cartesian3.fromDegrees(120.13699186126235, 30.320240186854843, 0),
    // new Cesium.HeadingPitchRoll(
    // Cesium.Math.toRadians(90), // 设置这个属性即可(顺时针旋转的角度值)
    // Cesium.Math.toRadians(0),
    // Cesium.Math.toRadians(0)
    // )
    // ),
    // model: {
    // uri: “/model/car.glb”,
    // scale: 10,
    // runAnimations: true, // 是否显示动画
    // clampAnimations: true, // 是否保持最后一针的动画
    // // roll: 90, // 旋转
    // // minimumPixelSize: 128, // 最小的模型像素
    // // maximumScale: 20000, // 最大的模型像素
    // // color: Cesium.Color.RED, // 模型加颜色
    // // show: true,
    // // color: this.getColor(‘Red’, 1.0), //> 模型颜色与透明度
    // // colorBlendMode: this.getColorBlendMode(‘Highlight’), //> 模型颜色模式
    // // colorBlendAmount: parseFloat(0.5), //> 模型混合度
    // // silhouetteColor: this.getColor(‘Red’, 1.0), //> 模型轮廓颜色
    // // silhouetteSize: parseFloat(2), //> 模型轮廓大小
    // }
    // })
    // // 让摄像机视口快速定位到模型位置
    // viewer.value.trackedEntity = entity;

    // 2. CZML方式
    const czml = [
    {
    id: “document”,
    name: “CZML Model”,
    version: “1.0”,
    },
    {
    id: “aircraft model”,
    name: “Cesium Air”,
    position: {
    cartographicDegrees: [120.13699186126235, 30.320240186854843, 0],
    },
    model: {
    gltf: “/model/build.gltf”,
    scale: 2.0,
    minimumPixelSize: 128,
    },
    },
    ];
    const dataSourcePromise = viewer.value.dataSources.add(
    Cesium.CzmlDataSource.load(czml)
    );
    dataSourcePromise
    .then(function (dataSource) {
    viewer.value.trackedEntity = dataSource.entities.getById(
    “aircraft model”
    );
    })
    .catch(function (error) {
    window.alert(error);
    });

    //缩放
    viewer.value.scene.screenSpaceCameraController.zoomEventTypes = [
    Cesium.CameraEventType.WHEEL,
    Cesium.CameraEventType.PINCH,
    ];
    //视图视角切换
    viewer.value.scene.screenSpaceCameraController.tiltEventTypes = [
    Cesium.CameraEventType.PINCH,
    Cesium.CameraEventType.RIGHT_DRAG,
    ];

    }

    onMounted(() => {
    initCesium();
    })
    </script>

    <style scoped>
    #cesiumContainer {
    position: relative;
    width: 100vw;
    height: 100vh;
    }
    </style>
    ————————————————

     

    1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
    2. 分享目的仅供大家学习和交流,请不要用于商业用途!
    3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入!
    4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
    5. 如有链接无法下载、失效或广告,请联系管理员处理!
    6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
    7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员!
    8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载
    声明如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性

    GLB下载网(glbxz.com)gltf文件下载-glb格式下载-模型制作 » 【CesiumJS-4】加载其他格式3D模型文件(glb、gltf等)

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载要提取码
    百度网盘提取码都是gltf。
    分享过期和重复下载怎么办
    分享过期请使用备份下载,重复下载是不另扣费的,请放心下载。
    模型和平台不兼容怎么办
    可以用网站在线编辑功能,修改模型属性,大小,方向,坐标,中心,透明等问题,然后重新导出既可https://glbxz.com/38636.html
    • 7879会员数(个)
    • 16034资源数(个)
    • 40本周更新(个)
    • 39125 今日更新(个)
    • 1139稳定运行(天)

    提供最优质的资源集合

    加入VIP
    开通VIP 享更多特权,建议使用 QQ 登录
    ×