cesuim 学习笔记 关于模型加载3dtile位置问题

如何自由设置3dtile模型的重要前提

3dtile模型的世界坐标要设在模型的中心,这样才能保证cesuim中的旋转矩阵在3Dtile模型中间!!!

3dtile模型的世界坐标要设在模型的中心,这样才能保证cesuim中的旋转矩阵在3Dtile模型中间!!!

3DTIie建模的时候,跟cad一样具有世界坐标,

加载一下代码来设置模型的位置

       var palaceTileset = new Cesium.Cesium3DTileset({
        url: tilesUri,//tilesUri为3dtile路径
    })
   
 palaceTileset.readyPromise.then(function (palaceTileset) {
      viewer.scene.primitives.add(palaceTileset);
           let mx = Cesium.Matrix3.fromRotationX(
            Cesium.Math.toRadians(X)//x轴的旋转
        );
        let my = Cesium.Matrix3.fromRotationY(
            Cesium.Math.toRadians(Y)//Y轴的旋转
        );
        let mz = Cesium.Matrix3.fromRotationZ(
            Cesium.Math.toRadians(Z)//Z轴的旋转
        );
        let rotationX = Cesium.Matrix4.fromRotationTranslation(mx);
        let rotationY = Cesium.Matrix4.fromRotationTranslation(my);
        let rotationZ = Cesium.Matrix4.fromRotationTranslation(mz);
        let position = Cesium.Cartesian3.fromDegrees(
            lng,lat, alt
        );
         //lng,lat, alt对应模型的经纬度坐标和高度
        let m = Cesium.Transforms.eastNorthUpToFixedFrame(position); 
        Cesium.Matrix4.multiply(m, rotationX, m);
        Cesium.Matrix4.multiply(m, rotationY, m);
        Cesium.Matrix4.multiply(m, rotationZ, m);
        //赋值给tilesetet
        palaceTileset._root.transform = m;
         });

补充内容

关于3dtile旋转矩阵的选择问题,
选择主要有两种模式:
第一种:

palaceTileset._root.transform (有人说尽量不要动这个旋转矩阵,但是好像不动又不太行)

第二种:

palaceTileset.modelMatrix 

第一种:是绕着模型设置的世界坐标位置旋转,然后找了一下加载的3Dtile模型的旋转矩阵,跟’palaceTileset._root.transform是一样的,所以cesuim加载的模型的旋转矩阵就储存在_root.transform里面的,意思是说最初加载模型的位置跟这个有关系,
第二种,我试了一下,直接飘外太空去了,这个应该是旋转中心在地球的中心,所以如果要调想要的位置,就比较麻烦,需要把模型平移在地球的旋转中心,然后调好方向在放回来

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值